Skip to content
Snippets Groups Projects
Select Git revision
  • issue-525
  • develop default
  • topics/add-contribution-info
  • master
  • master-no-logins
  • issue-424
  • svn-trunk
  • svn-staging
  • svn-testing
  • 7.6.1
  • 7.6
  • 7.5.1
  • 7.5
  • 7.4
  • 7.3.1
  • 7.3
  • 7.2
  • 7.1
  • 2012-04-18
  • 2012-04-03
  • 2012-04-02
  • 2012-03-01
  • 2012-02-07
  • 20120207
  • 2012-01-13
  • 2012-01-12
  • 2011-12-16
  • 2011-12-05
  • 2011-11-17
29 results

unl_bootstrap.inc

Blame
  • Forked from UNL Information Services / UNL-CMS
    915 commits behind the upstream repository.
    unl_bootstrap.inc 1016 B
    <?php
    
    function unl_bootstrap() {
      $original_script_name = $_SERVER['SCRIPT_NAME'];
      
      $request_uri = parse_url($_SERVER['REQUEST_URI']);
      $path_parts = explode('/', $request_uri['path']);
      foreach ($path_parts as $path_index => $path_part) {
        if (!$path_part) {
          unset($path_parts[$path_index]);
        }
      }
      
      $previous_conf_path = '';
      $previous_script_name = '';
      for ($i = count($path_parts); $i >= 0; $i--) {
        if ($i == 0) {
          $_SERVER['SCRIPT_NAME'] = '/index.php';
        }
        else {
          $_SERVER['SCRIPT_NAME'] = '/' . implode('/', array_slice($path_parts, 0, $i)) . '/index.php';
        }
        $conf_path = conf_path(TRUE, TRUE);
        
        if ($previous_conf_path && ($conf_path != $previous_conf_path)) {
          $_SERVER['SCRIPT_NAME'] = $previous_script_name;
          break;
        }
        
        if ($_SERVER['SCRIPT_NAME'] == $original_script_name) {
          break;
        }
        $previous_conf_path = $conf_path;
        $previous_script_name = $_SERVER['SCRIPT_NAME'];
      }
      
      conf_path(TRUE, TRUE);
    }