Exemple #1
0
 public function resolvePath($scopeName, $path, $rootVariable = '__ROOT__', $secure = true, $merge = true)
 {
     xapp_import('xapp.Path.Utils');
     $scope = $this->getScope($scopeName);
     $rootVariable = $rootVariable ?: '__ROOT__';
     $path = XApp_Path_Utils::securePath($path);
     if ($scope) {
         $root = $scope->resolveAbsolute($rootVariable) . DIRECTORY_SEPARATOR;
         if ($secure === true) {
             if ($merge == true) {
                 return XApp_Path_Utils::securePath(XApp_Path_Utils::merge($root, XApp_Path_Utils::normalizePath($path)));
             } else {
                 return XApp_Path_Utils::securePath($root . XApp_Path_Utils::normalizePath($path, false, false));
             }
         } else {
             return XApp_Path_Utils::merge($root, XApp_Path_Utils::normalizePath($path, false, false));
         }
     } else {
         throw new ErrorException("scope:" . $scopeName . "does not exist", 1390101);
     }
 }