Exemple #1
0
/**
 * Zjistit zakladani adresu systemu
 * V normalnich situacich se pouziva konstanta _url
 * @return string|bool false pri selhani, jinak URL vcetne koncoveho /
 */
function _getBaseUrl()
{
    // zjistit cestu z url
    $path = parse_url($_SERVER['REQUEST_URI']);
    if (!isset($path['path'])) {
        return false;
    }
    $path = $path['path'];
    // najit posledni lomitko
    $lslash = strrpos($path, '/');
    if ($lslash === false) {
        return false;
    }
    // uriznout nazev souboru
    if ($lslash + 1 !== strlen($path)) {
        $path = substr($path, 0, $lslash + 1);
    }
    return 'http://' . $_SERVER['SERVER_NAME'] . ($_SERVER['SERVER_PORT'] != 80 ? $_SERVER['SERVER_PORT'] : '') . '/' . _parsePath($path . _indexroot);
}
}
/* ----  priprava promennych  ---- */
if (!_loginright_adminfmanlimit) {
    $defdir = _upload_dir;
} else {
    $defdir_subpath = _loginname . "/";
    _extend('call', 'admin.fman.userdir', array('subpath' => &$defdir_subpath));
    $defdir = _upload_dir . $defdir_subpath;
}
// adresar
if (isset($_GET['dir'])) {
    $dir = str_replace("\\", "/", $_GET['dir']);
    if (mb_substr($dir, -1, 1) != "/") {
        $dir .= "/";
    }
    $dir = _parsePath($dir);
    if (!_loginright_adminfmanplus and mb_substr_count($dir, "..") > 2 or mb_substr_count($dir, "..") > mb_substr_count($defdir, "..")) {
        $dir = $defdir;
    }
    if (!_loginright_adminfmanplus or _loginright_adminfmanlimit) {
        if (mb_substr($dir, 0, mb_strlen($defdir)) != $defdir) {
            $dir = $defdir;
        }
    }
    if (!@file_exists($dir) or !@is_dir($dir)) {
        $dir = $defdir;
    }
} else {
    $dir = $defdir;
}
// vytvoreni vychoziho adresare
Exemple #3
0
         } else {
             $message = _formMessage(2, $_lang['admin.fman.msg.edit.failure']);
         }
     } else {
         $message = _formMessage(2, $_lang['admin.fman.msg.disallowedextension']);
     }
     break;
     // presun
 // presun
 case "move":
     $newdir = _arrayRemoveValue(explode("/", $_POST['param']), "");
     $newdir = implode("/", $newdir);
     if (mb_substr($newdir, -1, 1) != "/") {
         $newdir .= "/";
     }
     $newdir = _parsePath($dir . $newdir);
     if (_loginright_adminfmanplus or mb_substr($newdir, 0, mb_strlen($defdir)) == $defdir) {
         $done = 0;
         $total = 0;
         foreach ($_POST as $var => $val) {
             if ($var == "action" or $var == "param") {
                 continue;
             }
             $val = _admin_cparam($val);
             if (@file_exists($dir . $val) and !@file_exists($newdir . $val) and !@is_dir($dir . $val) and _admin_issafefile($val)) {
                 if (@rename($dir . $val, $newdir . $val)) {
                     $done++;
                 }
             }
             $total++;
         }