getScriptName() public method

Returns current script name.
public getScriptName ( ) : string
return string
Example #1
0
 /**
  * Determines if redirect may be performed.
  *
  * @param Request $request
  *   The current request object.
  * @param string $route_name
  *   The current route name.
  *
  * @return bool
  *   TRUE if redirect may be performed.
  */
 public function canRedirect(Request $request, $route_name = NULL)
 {
     $can_redirect = TRUE;
     if (isset($route_name)) {
         $route = $this->routeProvider->getRouteByName($route_name);
         if ($this->config->get('access_check')) {
             // Do not redirect if is a protected page.
             $can_redirect = $this->accessManager->checkNamedRoute($route_name, [], $this->account);
         }
     } else {
         $route = $request->attributes->get(RouteObjectInterface::ROUTE_OBJECT);
     }
     if (strpos($request->getScriptName(), 'index.php') === FALSE) {
         // Do not redirect if the root script is not /index.php.
         $can_redirect = FALSE;
     } elseif (!($request->isMethod('GET') || $request->isMethod('HEAD'))) {
         // Do not redirect if this is other than GET request.
         $can_redirect = FALSE;
     } elseif ($this->state->get('system.maintenance_mode') || defined('MAINTENANCE_MODE')) {
         // Do not redirect in offline or maintenance mode.
         $can_redirect = FALSE;
     } elseif ($this->config->get('ignore_admin_path') && isset($route)) {
         // Do not redirect on admin paths.
         $can_redirect &= !(bool) $route->getOption('_admin_route');
     }
     return $can_redirect;
 }
 public function start(Request $request, AuthenticationException $authException = null)
 {
     $scheme = $request->isSecure() ? 'http' : 'https';
     if ('http' === $scheme && 80 != $this->httpPort) {
         $port = ':' . $this->httpPort;
     } elseif ('https' === $scheme && 443 != $this->httpPort) {
         $port = ':' . $this->httpsPort;
     } else {
         $port = '';
     }
     $qs = $request->getQueryString();
     if (null !== $qs) {
         $qs = '?' . $qs;
     }
     $url = $scheme . '://' . $request->getHost() . $port . $request->getScriptName() . $request->getPathInfo() . $qs;
     return new RedirectResponse($url, 301);
 }
Example #3
0
 public function testGetScriptName()
 {
     $request = new Request();
     $this->assertEquals('', $request->getScriptName());
     $server = array();
     $server['SCRIPT_NAME'] = '/index.php';
     $request->initialize(array(), array(), array(), array(), array(), $server);
     $this->assertEquals('/index.php', $request->getScriptName());
     $server = array();
     $server['ORIG_SCRIPT_NAME'] = '/frontend.php';
     $request->initialize(array(), array(), array(), array(), array(), $server);
     $this->assertEquals('/frontend.php', $request->getScriptName());
     $server = array();
     $server['SCRIPT_NAME'] = '/index.php';
     $server['ORIG_SCRIPT_NAME'] = '/frontend.php';
     $request->initialize(array(), array(), array(), array(), array(), $server);
     $this->assertEquals('/index.php', $request->getScriptName());
 }
Example #4
0
 /**
  * Request のログを出力する.
  *
  * @param Request $request
  * @return string Request のログ
  */
 protected function logRequest(Request $request)
 {
     $log = '';
     $log .= $this->logKeyValuePair('REMOTE_ADDR', $request->getClientIp());
     $log .= $this->logKeyValuePair('SCRIPT_NAME', $request->getScriptName());
     $log .= $this->logKeyValuePair('PATH_INFO', $request->getPathInfo());
     $log .= $this->logKeyValuePair('BASE_PATH', $request->getBasePath());
     $log .= $this->logKeyValuePair('BASE_URL', $request->getBaseUrl());
     $log .= $this->logKeyValuePair('SCHEME', $request->getScheme());
     $log .= $this->logKeyValuePair('REMOTE_USER', $request->getUser());
     $log .= $this->logKeyValuePair('HTTP_HOST', $request->getSchemeAndHttpHost());
     $log .= $this->logKeyValuePair('REQUEST_URI', $request->getRequestUri());
     $log .= $this->logKeyValuePair('METHOD', $request->getRealMethod());
     $log .= $this->logKeyValuePair('LOCALE', $request->getLocale());
     // $log .= $this->logArray($request->server->all(), '[server]'); // 大量にログ出力される...
     $log .= $this->logArray($request->headers->all(), '[header]');
     $log .= $this->logArray($request->query->all(), '[get]');
     $log .= $this->logArray($request->request->all(), '[post]');
     $log .= $this->logArray($request->attributes->all(), '[attributes]');
     $log .= $this->logArray($request->cookies->all(), '[cookie]');
     $log .= $this->logArray($request->files->all(), '[files]');
     return $log;
 }
Example #5
0
 /**
  * Returns whether the request is using a clean URL.
  *
  * A clean URL is one that does not include the script name. For example,
  * - http://example.com/node/1 is a clean URL.
  * - http://example.com/index.php/node/1 is not a clean URL.
  *
  * Unclean URLs are required on sites hosted by web servers that cannot be
  * configured to implicitly route URLs to index.php.
  *
  * @param \Symfony\Component\HttpFoundation\Request $request
  *   The request.
  *
  * @return bool
  *   TRUE if the request is using a clean URL.
  */
 public static function isCleanUrl(Request $request)
 {
     $base_url = $request->getBaseUrl();
     return empty($base_url) || strpos($base_url, $request->getScriptName()) === FALSE;
 }
 /**
  * Initialize CodeIgniter system paths and defines
  *
  * @param Request $request
  *
  * @throws \UnexpectedValueException
  */
 public function setCiPaths(Request $request = null)
 {
     if (!$this->isConfigValid()) {
         throw new \UnexpectedValueException('Bundle configuration is not valid. You need to specify application_path and system_path in config.yml');
     }
     if ($this->pathsInitialized === false) {
         $scriptFile = $request !== null ? '.' . $request->getBasePath() . $request->getScriptName() : __FILE__;
         $rootPath = realpath($this->kernel->getRootDir() . '/..');
         if ($rootPath === false) {
             throw new \LogicException('Nercury CI bundle was expecting to find kernel root dir in /app directory.');
         }
         $systemPath = $this->getSystemPath() . '/';
         $applicationFolder = $this->getAppPath() . '/';
         if ($scriptFile === __FILE__) {
             $scriptFile = $rootPath . '/app.php';
             $rootPath = realpath($rootPath . '/' . $systemPath) . '/';
             $applicationFolder = realpath($rootPath . '/' . $applicationFolder);
         }
         $environment = $this->kernel->getEnvironment();
         $environmentMap = array('dev' => 'development', 'test' => 'testing', 'prod' => 'production');
         if (array_key_exists($environment, $environmentMap)) {
             $environment = $environmentMap[$environment];
         }
         define('ENVIRONMENT', $environment);
         /*
          * -------------------------------------------------------------------
          *  Now that we know the path, set the main path constants
          * -------------------------------------------------------------------
          */
         // The name of THIS file
         define('SELF', pathinfo($scriptFile, PATHINFO_BASENAME));
         // The PHP file extension
         // this global constant is deprecated.
         define('EXT', '.php');
         // Path to the system folder
         define('BASEPATH', str_replace("\\", "/", $systemPath));
         // Name of the "system folder"
         define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/'));
         define('APPPATH', $applicationFolder . '/');
         // Path to the front controller (this file)
         define('FCPATH', $applicationFolder . '../');
         //            if (!defined('APPPATH')) {
         //                // The path to the "application" folder
         //                if (is_dir($application_folder)) {
         //                    define('APPPATH', $application_folder . '/');
         //                } else {
         //                    if (!is_dir(BASEPATH . $application_folder . '/')) {
         //                        exit("Your application folder path does not appear to be set correctly. Please open the following file and correct this: " . SELF);
         //                    }
         //
         //                    define('APPPATH', BASEPATH . $application_folder . '/');
         //                }
         //            }
         $this->pathsInitialized = true;
     }
 }
 /**
  * Initialize code igniter system paths and defines
  * 
  * @param Request $request
  * @throws Exception 
  */
 public function setCiPaths(Request $request = null)
 {
     if (!$this->isConfigValid()) {
         throw new \Exception('Code Igniter configuration is not valid.');
     }
     if ($this->paths_initalized === false) {
         $script_file = $request !== null ? '.' . $request->getBasePath() . $request->getScriptName() : __FILE__;
         $root_path = realpath($this->kernel->getRootDir() . '/..');
         if ($root_path === false) {
             throw new \LogicException('Nercury CI bundle was expecting to find kernel root dir in /app directory.');
         }
         $system_path = $this->getRelativePath($root_path, $this->getSystemPath()) . '/';
         $application_folder = $this->getRelativePath($root_path, $this->getAppPath());
         if ($script_file === __FILE__) {
             $script_file = $root_path . '/app.php';
             $system_path = realpath($root_path . '/' . $system_path) . '/';
             $application_folder = realpath($root_path . '/' . $application_folder);
         }
         /*
          * -------------------------------------------------------------------
          *  Now that we know the path, set the main path constants
          * -------------------------------------------------------------------
          */
         // The name of THIS file
         define('SELF', pathinfo($script_file, PATHINFO_BASENAME));
         // The PHP file extension
         // this global constant is deprecated.
         define('EXT', '.php');
         // Path to the system folder
         define('BASEPATH', str_replace("\\", "/", $system_path));
         // Path to the front controller (this file)
         define('FCPATH', str_replace(SELF, '', __FILE__));
         // Name of the "system folder"
         define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/'));
         // The path to the "application" folder
         if (is_dir($application_folder)) {
             define('APPPATH', $application_folder . '/');
         } else {
             if (!is_dir(BASEPATH . $application_folder . '/')) {
                 exit("Your application folder path does not appear to be set correctly. Please open the following file and correct this: " . SELF);
             }
             define('APPPATH', BASEPATH . $application_folder . '/');
         }
         $this->paths_initalized = true;
     }
 }
 private function addRequestInfo(Request $request, PrettyPageHandler $handler)
 {
     $handler->addDataTable('Request', array('URI' => $request->getUri(), 'Request URI' => $request->getRequestUri(), 'Path Info' => $request->getPathInfo(), 'Query String' => $request->getQueryString() ?: '<none>', 'HTTP Method' => $request->getMethod(), 'Script Name' => $request->getScriptName(), 'Base Path' => $request->getBasePath(), 'Base URL' => $request->getBaseUrl(), 'Scheme' => $request->getScheme(), 'Port' => $request->getPort(), 'Host' => $request->getHost()));
 }