コード例 #1
0
ファイル: ezini.php プロジェクト: runelangseid/ezpublish
 /**
  * Appends the override directory $dir to the override directory list.
  * Appends override dir to 'override' scope if scope is not defined, meaning above anything else.
  * See {@link eZINI::defaultOverrideDirs()} for how these parameters are used.
  *
  * @param string $dir
  * @param bool $globalDir
  * @param string|false $identifier Will overwrite existing directory with same identifier if set
  * @param string|null $scope
  * @return bool True if new dir was appended, false if there was a $identifier match and a overwrite
  */
 function appendOverrideDir($dir, $globalDir = false, $identifier = false, $scope = null)
 {
     if (eZINI::isDebugEnabled()) {
         eZDebug::writeNotice("Appending override dir '{$dir}'", __METHOD__);
     }
     if ($this->UseLocalOverrides == true) {
         $dirs =& $this->LocalOverrideDirArray;
     } else {
         $dirs =& self::$GlobalOverrideDirArray;
     }
     $scope = self::selectOverrideScope($scope, $identifier, $dir, 'override');
     // Check if the override with the current identifier already exists
     $overrideOverwritten = false;
     if ($identifier && isset($dirs[$scope][$identifier])) {
         $dirs[$scope][$identifier] = array($dir, $globalDir);
         $overrideOverwritten = true;
     } else {
         if ($identifier) {
             $dirs[$scope][$identifier] = array($dir, $globalDir);
         } else {
             $dirs[$scope][] = array($dir, $globalDir);
         }
     }
     $this->CacheFile = false;
     return $overrideOverwritten === false;
 }