Windows NT WIN-F6SLGVICLOP 10.0 build 17763 (Windows Server 2016) AMD64
Microsoft-IIS/10.0
Server IP : & Your IP : 18.189.186.244
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 /
elibrary /
lib /
Delete
Unzip
Name
Size
Permission
Date
Action
Zend
[ DIR ]
drwxrwxrwx
2020-02-14 07:54
contents
[ DIR ]
drwxrwxrwx
2020-02-14 07:54
flex
[ DIR ]
drwxrwxrwx
2020-02-14 07:54
lang
[ DIR ]
drwxrwxrwx
2020-02-14 07:54
marc
[ DIR ]
drwxrwxrwx
2020-02-14 07:54
minigalnano
[ DIR ]
drwxrwxrwx
2020-02-14 07:54
oaipmh
[ DIR ]
drwxrwxrwx
2020-02-14 07:54
parsedown
[ DIR ]
drwxrwxrwx
2020-02-14 07:54
phpbarcode
[ DIR ]
drwxrwxrwx
2020-02-14 07:54
phplot
[ DIR ]
drwxrwxrwx
2025-04-26 19:22
phpmailer
[ DIR ]
drwxrwxrwx
2020-02-14 07:54
recaptcha
[ DIR ]
drwxrwxrwx
2020-02-14 07:54
slide
[ DIR ]
drwxrwxrwx
2024-08-22 20:25
sphinx
[ DIR ]
drwxrwxrwx
2020-02-14 07:54
AltoRouter.php
7.18
KB
-rw-rw-rw-
2020-02-14 07:54
VideoStream.php
3.14
KB
-rw-rw-rw-
2020-02-14 07:54
admin_logon.inc.php
11.67
KB
-rw-rw-rw-
2020-02-14 07:54
api.inc.php
18.72
KB
-rw-rw-rw-
2020-02-14 07:54
biblio_list.inc.php
11.18
KB
-rw-rw-rw-
2020-02-14 07:54
biblio_list_elasticsearch.inc.php
8.42
KB
-rw-rw-rw-
2020-02-14 07:54
biblio_list_index.inc.php
9.45
KB
-rw-rw-rw-
2020-02-14 07:54
biblio_list_model.inc.php
16.45
KB
-rw-rw-rw-
2020-02-14 07:54
biblio_list_mongodb.inc.php
6.04
KB
-rw-rw-rw-
2020-02-14 07:54
biblio_list_sphinx.inc.php
10.85
KB
-rw-rw-rw-
2020-02-14 07:54
biblio_list_sqlite.inc.php
8.38
KB
-rw-rw-rw-
2020-02-14 07:54
circulation_api.inc.php
7.06
KB
-rw-rw-rw-
2020-02-14 07:54
comment.inc.php
3.02
KB
-rw-rw-rw-
2020-02-14 07:54
content.inc.php
4.66
KB
-rw-rw-rw-
2020-02-14 07:54
content_custom.inc.php
3.14
KB
-rw-rw-rw-
2020-02-14 07:54
content_list.inc.php
3.22
KB
-rw-rw-rw-
2020-02-14 07:54
detail.inc.php
48.75
KB
-rw-rw-rw-
2020-02-14 07:54
http_request.inc.php
5.96
KB
-rw-rw-rw-
2020-02-14 07:54
index.html
75
B
-rw-rw-rw-
2020-02-14 07:54
index.php
35
B
-rw-rw-rw-
2020-02-14 07:54
ip_based_access.inc.php
1.95
KB
-rw-rw-rw-
2020-02-14 07:54
marcxmlsenayan.inc.php
10.16
KB
-rw-rw-rw-
2020-02-14 07:54
member_api.inc.php
1.73
KB
-rw-rw-rw-
2020-02-14 07:54
member_logon.inc.php
9.98
KB
-rw-rw-rw-
2020-02-14 07:54
member_session.inc.php
1.42
KB
-rw-rw-rw-
2020-02-14 07:54
modsxmlsenayan.inc.php
7.59
KB
-rw-rw-rw-
2020-02-14 07:54
modsxmlslims.inc.php
5.29
KB
-rw-rw-rw-
2020-02-14 07:54
module.inc.php
6.28
KB
-rw-rw-rw-
2020-02-14 07:54
oai-pmh.inc.php
13.47
KB
-rw-rw-rw-
2020-02-14 07:54
phpwebsocket.php
26.26
KB
-rw-rw-rw-
2020-02-14 07:54
router.inc.php
4.1
KB
-rw-rw-rw-
2020-02-14 07:54
utility.inc.php
20.89
KB
-rw-rw-rw-
2020-02-14 07:54
Save
Rename
<?php class AltoRouter { /** * @var array Array of all routes (incl. named routes). */ protected $routes = array(); /** * @var array Array of all named routes. */ protected $namedRoutes = array(); /** * @var string Can be used to ignore leading part of the Request URL (if main file lives in subdirectory of host) */ protected $basePath = ''; /** * @var array Array of default match types (regex helpers) */ protected $matchTypes = array( 'i' => '[0-9]++', 'a' => '[0-9A-Za-z]++', 'h' => '[0-9A-Fa-f]++', '*' => '.+?', '**' => '.++', '' => '[^/\.]++' ); /** * Create router in one call from config. * * @param array $routes * @param string $basePath * @param array $matchTypes */ public function __construct( $routes = array(), $basePath = '', $matchTypes = array() ) { $this->addRoutes($routes); $this->setBasePath($basePath); $this->addMatchTypes($matchTypes); } /** * Retrieves all routes. * Useful if you want to process or display routes. * @return array All routes. */ public function getRoutes() { return $this->routes; } /** * Add multiple routes at once from array in the following format: * * $routes = array( * array($method, $route, $target, $name) * ); * * @param array $routes * @return void * @author Koen Punt * @throws Exception */ public function addRoutes($routes){ if(!is_array($routes) && !$routes instanceof Traversable) { throw new \Exception('Routes should be an array or an instance of Traversable'); } foreach($routes as $route) { call_user_func_array(array($this, 'map'), $route); } } /** * Set the base path. * Useful if you are running your application from a subdirectory. */ public function setBasePath($basePath) { $this->basePath = $basePath; } /** * Add named match types. It uses array_merge so keys can be overwritten. * * @param array $matchTypes The key is the name and the value is the regex. */ public function addMatchTypes($matchTypes) { $this->matchTypes = array_merge($this->matchTypes, $matchTypes); } /** * Map a route to a target * * @param string $method One of 5 HTTP Methods, or a pipe-separated list of multiple HTTP Methods (GET|POST|PATCH|PUT|DELETE) * @param string $route The route regex, custom regex must start with an @. You can use multiple pre-set regex filters, like [i:id] * @param mixed $target The target where this route should point to. Can be anything. * @param string $name Optional name of this route. Supply if you want to reverse route this url in your application. * @throws Exception */ public function map($method, $route, $target, $name = null) { $this->routes[] = array($method, $route, $target, $name); if($name) { if(isset($this->namedRoutes[$name])) { throw new \Exception("Can not redeclare route '{$name}'"); } else { $this->namedRoutes[$name] = $route; } } return; } /** * Reversed routing * * Generate the URL for a named route. Replace regexes with supplied parameters * * @param string $routeName The name of the route. * @param array @params Associative array of parameters to replace placeholders with. * @return string The URL of the route with named parameters in place. * @throws Exception */ public function generate($routeName, array $params = array()) { // Check if named route exists if(!isset($this->namedRoutes[$routeName])) { throw new \Exception("Route '{$routeName}' does not exist."); } // Replace named parameters $route = $this->namedRoutes[$routeName]; // prepend base path to route url again $url = $this->basePath . $route; if (preg_match_all('`(/|\.|)\[([^:\]]*+)(?::([^:\]]*+))?\](\?|)`', $route, $matches, PREG_SET_ORDER)) { foreach($matches as $index => $match) { list($block, $pre, $type, $param, $optional) = $match; if ($pre) { $block = substr($block, 1); } if(isset($params[$param])) { // Part is found, replace for param value $url = str_replace($block, $params[$param], $url); } elseif ($optional && $index !== 0) { // Only strip preceeding slash if it's not at the base $url = str_replace($pre . $block, '', $url); } else { // Strip match block $url = str_replace($block, '', $url); } } } return $url; } /** * Match a given Request Url against stored routes * @param string $requestUrl * @param string $requestMethod * @return array|boolean Array with route information on success, false on failure (no match). */ public function match($requestUrl = null, $requestMethod = null) { $params = array(); $match = false; // set Request Url if it isn't passed as parameter if($requestUrl === null) { $requestUrl = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/'; } // strip base path from request url $requestUrl = substr($requestUrl, strlen($this->basePath)); // Strip query string (?a=b) from Request Url if (($strpos = strpos($requestUrl, '?')) !== false) { $requestUrl = substr($requestUrl, 0, $strpos); } // set Request Method if it isn't passed as a parameter if($requestMethod === null) { $requestMethod = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET'; } foreach($this->routes as $handler) { list($methods, $route, $target, $name) = $handler; $method_match = (stripos($methods, $requestMethod) !== false); // Method did not match, continue to next route. if (!$method_match) continue; if ($route === '*') { // * wildcard (matches all) $match = true; } elseif (isset($route[0]) && $route[0] === '@') { // @ regex delimiter $pattern = '`' . substr($route, 1) . '`u'; $match = preg_match($pattern, $requestUrl, $params) === 1; } elseif (($position = strpos($route, '[')) === false) { // No params in url, do string comparison $match = strcmp($requestUrl, $route) === 0; } else { // Compare longest non-param string with url if (strncmp($requestUrl, $route, $position) !== 0) { continue; } $regex = $this->compileRoute($route); $match = preg_match($regex, $requestUrl, $params) === 1; } if ($match) { if ($params) { foreach($params as $key => $value) { if(is_numeric($key)) unset($params[$key]); } } return array( 'target' => $target, 'params' => $params, 'name' => $name ); } } return false; } /** * Compile the regex for a given route (EXPENSIVE) */ protected function compileRoute($route) { if (preg_match_all('`(/|\.|)\[([^:\]]*+)(?::([^:\]]*+))?\](\?|)`', $route, $matches, PREG_SET_ORDER)) { $matchTypes = $this->matchTypes; foreach($matches as $match) { list($block, $pre, $type, $param, $optional) = $match; if (isset($matchTypes[$type])) { $type = $matchTypes[$type]; } if ($pre === '.') { $pre = '\.'; } $optional = $optional !== '' ? '?' : null; //Older versions of PCRE require the 'P' in (?P<named>) $pattern = '(?:' . ($pre !== '' ? $pre : null) . '(' . ($param !== '' ? "?P<$param>" : null) . $type . ')' . $optional . ')' . $optional; $route = str_replace($block, $pattern, $route); } } return "`^$route$`u"; } }