예제 #1
0
    public function getRequestUri()
    {
        if ($this->_requestUri === null)
            $this->_requestUri = DMultilangHelper::processLangInUrl(parent::getRequestUri());
 
        return $this->_requestUri;
    }
예제 #2
0
 /**
  * Parses a URL based on this rule.
  * @param CUrlManager $manager the URL manager
  * @param CHttpRequest $request the request object
  * @param string $pathInfo path info part of the URL (URL suffix is already removed based on {@link CUrlManager::urlSuffix})
  * @param string $rawPathInfo path info that contains the potential URL suffix
  * @return mixed the route that consists of the controller ID and action ID. False if this rule does not apply.
  */
 public function parseUrl($manager, $request, $pathInfo, $rawPathInfo)
 {
     $len = strlen($request->getBaseUrl());
     $page = substr($request->getRequestUri(), $len);
     // /index.php?p=123
     $tr = array();
     if (preg_match_all('/<(\\w+):?(.*?)?>/', $this->pattern, $matches)) {
         $tokens = array_combine($matches[1], $matches[2]);
         foreach ($tokens as $name => $value) {
             if ($value === '') {
                 $value = '[^\\/]+';
             }
             $tr["<{$name}>"] = "(?P<{$name}>{$value})";
         }
     }
     $this->pattern = str_replace('?', '\\?', $this->pattern);
     $p = trim(rtrim($this->pattern, '*'), '/');
     $template = preg_replace('/<(\\w+):?.*?>/', '<$1>', $p);
     $this->pattern = '/^\\/' . strtr($template, $tr) . '/';
     if (preg_match($this->pattern, $page, $matches)) {
         foreach ($_GET as $k => $v) {
             unset($_GET[$k]);
         }
         foreach ($tr as $k => $v) {
             $key = substr($k, 1, -1);
             if (isset($matches[$key])) {
                 $_GET[$key] = $matches[$key];
             }
         }
         return $this->route;
     }
     return false;
 }
예제 #3
0
파일: EHttpRequest.php 프로젝트: 44n/myEYii
	public function getRequestUri(){
		if($this->_requestUri!==null)return $this->_requestUri;
		$this->_requestUri = parent::getRequestUri();
		if(!Yii::app()->isWeb){
			if(Yii::app()->isAjax){
				$this->_requestUri = substr($this->_requestUri,5);
			}elseif(Yii::app()->isExt){
				$this->_requestUri = substr($this->_requestUri,6);
			}
		}
		return $this->_requestUri;
예제 #4
0
파일: index.php 프로젝트: Cranky4/npfs
define('YGIN_NEED_INSTALL', !file_exists($localConfig));
if (YGIN_NEED_INSTALL) {
    defined('YII_DEBUG') or define('YII_DEBUG', true);
    defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 3);
}
$local = null;
if (!(defined('YGIN_NEED_INSTALL') && YGIN_NEED_INSTALL)) {
    if (file_exists($localConfig)) {
        $local = (require $localConfig);
    }
}
require_once dirname(__FILE__) . '/ygin/yii/YiiBase.php';
$config = array();
$applicationClass = null;
$request = new CHttpRequest();
if (substr($request->getRequestUri(), 0, 6) == "/admin") {
    // система управлением
    $config = (require dirname(__FILE__) . '/ygin/modules/backend/config/mainConfig.php');
    require_once dirname(__FILE__) . '/ygin/modules/backend/components/BackendApplication.php';
    $applicationClass = 'BackendApplication';
} else {
    if (substr($request->getRequestUri(), 0, 5) == "/yiic") {
        if (!defined("YII_DEBUG") || YII_DEBUG == false) {
            echo "yiic - bad request. Enable YII_DEBUG.";
        } else {
            require dirname(__FILE__) . '/ygin/yiic.php';
        }
        return;
    } else {
        // приложение по умолчанию
        if (defined('YGIN_NEED_INSTALL') && YGIN_NEED_INSTALL) {
예제 #5
0
<?php

// ЭТОТ ФАЙЛ НЕ ДОЛЖЕН МЕНЯТЬСЯ В ПРОЕКТЕ
$adminUrl = 'admin';
// чтобы в каждом маршруте не прописывыать admin и т.о. найти нужный контроллер
$request = new CHttpRequest();
$_SERVER['HTTP_X_REWRITE_URL'] = str_replace('//', '/', str_replace('/' . $adminUrl . '/', '/', $request->getRequestUri()));
$mainConfig = array('name' => 'Engine macro', 'language' => 'ru', 'sourceLanguage' => 'ru_RU', 'defaultController' => 'ygin', 'homeUrl' => '/' . $adminUrl . '/', 'viewPath' => realpath(dirname(__FILE__) . '/../views/'), 'theme' => 'ygin', 'preload' => array('authManager', 'log', 'yii2Debug'), 'aliases' => array(), 'import' => array('application.models.*', 'application.controllers.*', 'application.widgets.*', 'application.helpers.*'), 'modules' => array('ygin.backend', 'ygin.user', 'ygin.mail', 'ygin.menu', 'ygin.viewGenerator'), 'components' => array('yii2Debug' => array('class' => 'backend.components.Yii2DebugBackend', 'allowedIPs' => array('192.168.0.*', '127.0.0.1'), 'enabled' => YII_DEBUG), 'format' => array('timeFormat' => 'H:i:s', 'dateFormat' => 'd.m.Y', 'datetimeFormat' => 'd.m.Y H:i:s'), 'user' => array('allowAutoLogin' => true, 'class' => 'user.components.DaWebUser', 'loginUrl' => array('user/user/login')), 'domain' => array('class' => 'ygin.components.DaDomain'), 'authManager' => array('class' => 'ygin.modules.user.components.DaDbAuthManager', 'connectionID' => 'db', 'itemTable' => 'da_auth_item', 'itemChildTable' => 'da_auth_item_child', 'assignmentTable' => 'da_auth_assignment', 'defaultRoles' => array('guest')), 'widgetFactory' => array('class' => 'CWidgetFactory', 'widgets' => array('BreadcrumbsWidget' => array('separator' => '', 'tagName' => 'ul', 'htmlOptions' => array('class' => 'breadcrumb'), 'encodeLabel' => false))), 'clientScript' => array('corePackages' => require dirname(__FILE__) . DIRECTORY_SEPARATOR . '../../../config/packages.php', 'class' => 'ygin.ext.ExtendedClientScript.ExtendedClientScript', 'combineCss' => true, 'compressCss' => !YII_DEBUG, 'combineJs' => true, 'compressJs' => false, 'jsMinPath' => 'ygin.ext.ExtendedClientScript.jsmin.JSMin', 'cssMinPath' => 'ygin.ext.ExtendedClientScript.cssmin.cssmin', 'autoRefresh' => YII_DEBUG), 'urlManager' => array('baseUrl' => '/' . $adminUrl, 'class' => 'backend.components.BackendUrlManager', 'urlFormat' => 'path', 'showScriptName' => false, 'urlSuffix' => '/', 'caseSensitive' => true, 'rules' => array('<controller:\\w+>/<id:\\d+>' => '<controller>/view', '<controller:\\w+>' => '<controller>/index', '<controller:\\w+>/<action:\\w+>/<id:\\d+>' => '<controller>/<action>', '<controller:\\w+>/<action:\\w+>' => '<controller>/<action>')), 'errorHandler' => array('errorAction' => 'static/error'), 'cache' => array('class' => 'system.caching.CDummyCache'), 'log' => array('class' => 'CLogRouter', 'routes' => array('DbProfileLogRoute' => array('class' => 'ygin.ext.db_profiler.DbProfileLogRoute', 'countLimit' => 2, 'slowQueryMin' => 0.2, 'enabled' => false), 'CSSlowLogRoute' => array('class' => 'ygin.ext.CSSlowLogRoute', 'logSlow' => 0.2, 'logFrequent' => 2, 'logFile' => 'query_slow.log'), 'backend' => array('class' => 'DaFileLogRoute', 'levels' => 'info', 'logFile' => 'backend.log', 'categories' => 'backend.*', 'enabled' => true), 'sql_update' => array('class' => 'ygin.components.SqlLogRoute', 'logOnlyQuery' => true, 'includedQueries' => array('~INSERT~', '~CREATE~', '~RENAME~', '~ALTER~', '~UPDATE~', '~TRUNCATE~', '~DELETE~', '~DROP~'), 'excludedQueries' => array('~SHOW CREATE TABLE~', '~^SELECT~'), 'logFile' => 'sql_update.log', 'enabled' => true), 'YiiDebugToolbarRoute' => array('class' => 'backend.components.YiiDebugToolbarRouteBackend', 'ipFilters' => array('192.168.0.*', '127.0.0.1'), 'enabled' => false)))));
$coreConfig = (require dirname(__FILE__) . '/../../../config/core.php');
$backendConfig = dirname(__FILE__) . '/../../../../protected/config/';
$projectConfig = array();
if (file_exists($backendConfig . 'backend.php')) {
    $projectConfig = (require $backendConfig . 'backend.php');
} else {
    $projectConfig = (require $backendConfig . 'project.php');
    unset($projectConfig['theme']);
}
$pluginsConfig = array();
if (file_exists(dirname(__FILE__) . '/../../../../protected/runtime/plugin-compile.dat')) {
    $pluginsConfig = unserialize(file_get_contents(dirname(__FILE__) . '/../../../../protected/runtime/plugin-compile.dat'));
}
// опция, включаяющая дополнительные возможности по управлению полями для разработчиков самой системы ygin
defined('YGIN_DEVELOP') or define('YGIN_DEVELOP', false);
return CMap::mergeArray($coreConfig, $mainConfig, $projectConfig, $pluginsConfig);
예제 #6
0
 public function getRequestUri()
 {
     return parent::getRequestUri();
 }
예제 #7
0
파일: Request.php 프로젝트: codemix/restyii
 /**
  * @inheritDoc
  */
 public function getRequestUri()
 {
     if ($this->_requestUri === null) {
         return parent::getRequestUri();
     } else {
         return $this->_requestUri;
     }
 }
예제 #8
0
파일: yiic.php 프로젝트: kot-ezhva/ygin
}
// Переопределяющий конфиг файл на локальном хосте
if (!isset($local)) {
    $localConfig = dirname(__FILE__) . '/../protected/config/local.php';
    $local = null;
    if (file_exists($localConfig)) {
        $local = (require $localConfig);
    }
}
$config = (require dirname(__FILE__) . '/config/console.php');
if ($local != null) {
    $config = CMap::mergeArray($config, $local);
}
if (!in_array(PHP_SAPI, array('cli', 'cgi', 'cgi-fcgi'))) {
    $request = new CHttpRequest();
    $arr = explode('/', substr($request->getRequestUri(), 1));
    $_SERVER['argv'] = array();
    foreach ($arr as $k => $v) {
        if (trim($v) == '') {
            continue;
        }
        $_SERVER['argv'][$k] = str_replace('%20', ' ', $v);
    }
}
if (!isset($_SERVER['SCRIPT_FILENAME'])) {
    $_SERVER['SCRIPT_FILENAME'] = __FILE__;
}
//require_once(dirname(__FILE__).'/yii/yiic.php');
// yiic.php from framework
// fix for fcgi
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r'));