Exemplo n.º 1
0
 static function findOneModule($classname)
 {
     global $domain, $site_domains;
     $inc = getIncludePaths();
     $dir = getcwd();
     // узнаем имя модуля
     if (substr(strtolower($classname), 0, 1) == "t") {
         $filename = substr(strtolower($classname), 1);
     }
     $modulename = $filename;
     $filename = $filename . ".class.php";
     foreach ($inc as $v) {
         $path = path($v) . "/";
         if (isset($site_domains) && in_array($domain, array_keys($site_domains))) {
             // Сначала ищем в директории с названием $site_domains[$domain]['modules']
             $search_pattern = $path == './' ? $dir . '/modules/' . $site_domains[$domain]['modules'] : $path . PATH . '/modules/' . $site_domains[$domain]['modules'];
             $search_pattern = realpath($search_pattern) . '/' . $modulename . '/';
             if (is_file($search_pattern . $filename)) {
                 break;
             }
         }
         // Теперь ищем в общей папке с модулями
         $search_pattern = $path == './' ? $dir . '/modules/' : $path . ENGINE_VERSION . '/' . ENGINE_TYPE . '/modules/';
         $search_pattern = $search_pattern . $modulename . '/';
         if (is_file($search_pattern . $filename)) {
             break;
         }
     }
     if (is_file($search_pattern . $filename)) {
         return $search_pattern . $filename;
     } else {
         return false;
     }
 }
Exemplo n.º 2
0
Arquivo: gz.php Projeto: romlg/cms36
function find_file($name, $dr = ".")
{
    // 1. узнаем это новая версия
    // 1.1 если да  - ищем ее в папке уровнем выше чем вызвающий файл; после перенесения в папку scripts
    // 1.2 если нет - ищем ее в папке вызвавшего файла
    // 2 ищем в папках алиасов
    if (is_file($dr . $name)) {
        return $dr . $name;
    }
    $inc = getIncludePaths();
    foreach ($inc as $pref) {
        if ($pref == "./") {
            continue;
        }
        if (is_file($pref . 'sms3.6/project' . $name)) {
            return $pref . 'sms3.6/project' . $name;
        }
    }
    return false;
}
Exemplo n.º 3
0
function getProjectDir($core = false)
{
    $core = $core === false ? constant('PATH') . '../' : $core;
    $inc = getIncludePaths();
    foreach ($inc as $pref) {
        if (substr($pref, -1) != '/') {
            $pref .= '/';
        }
        if (substr($pref, 0, 1) != '.') {
            $pref .= $core;
        }
        $pathname = $pref . 'project/admin/';
        if (!is_dir($pathname)) {
            continue;
        }
        return $pathname;
    }
    return './';
}