示例#1
0
function chmod_test()
{
    #return array(true,"");
    $status = false;
    $no_chmod = getLanguageValue("install_chmod_no_chmod");
    $help = contend_template(installHelp("install_chmod_help"), "");
    $file_test = BASE_DIR . "test_install.txt";
    if (!isset($_POST['chmod_test']) or $_POST['chmod_test'] == "false") {
        # die mit FTP Hochgeladen Daterechte Prüfen
        if (!isFileRW(BASE_DIR) or !isFileRW(BASE_DIR . ADMIN_DIR_NAME)) {
            $html = contend_template(getLanguageValue("install_chmod_change_ftp") . '<br /><input type="submit" name="chmod_ftp_change" value="' . getLanguageValue("install_chmod_change_ftp_button") . '" />', "");
            $chmod = "false";
            # wir ermitel die Dateirechte von PHP Angelegten Dateien
        } else {
            if (!is_file($file_test)) {
                file_put_contents($file_test, "chmod test");
            }
            if (fileowner($file_test) == fileowner(BASE_DIR . "install.php")) {
                $html = contend_template(getLanguageValue("install_chmod_use", $no_chmod), true);
                $html .= '<input type="hidden" name="chmod_test" value="" />';
                if (is_file($file_test)) {
                    unlink($file_test);
                }
                return array(true, $help . $html);
            }
            # chmod um 1 erhöhen
            if (isset($_POST['chmod_testfile']) and $_POST['chmod_testfile'] == getLanguageValue("install_chmod_testfile_next_button")) {
                setInstallChmod($file_test, getNextChmod($file_test));
            }
            clearstatcache();
            $html = contend_template(array(getLanguageValue("install_chmod_testfile_rw", basename($file_test), substr(decoct(fileperms($file_test)), -3)), '<input type="submit" name="chmod_testfile" value="' . getLanguageValue("yes") . '" />' . '<input type="submit" name="chmod_testfile" value="' . getLanguageValue("install_chmod_testfile_next_button") . '" />'), "");
            $chmod = "false";
            # das ist jetzt der chmod wert den wir benutzen müssen
            if (isset($_POST['chmod_testfile']) and $_POST['chmod_testfile'] == getLanguageValue("yes")) {
                #!!!!!! chmode hier anwenden auf alle relewanten dateien??????????
                clearstatcache();
                $chmod = substr(decoct(fileperms($file_test)), -3);
                if (is_file($file_test)) {
                    unlink($file_test);
                }
                $html = contend_template(getLanguageValue("install_chmod_use", $chmod), true);
                $status = true;
            }
        }
    } else {
        if (is_file($file_test)) {
            unlink($file_test);
        }
        $chmod = $_POST['chmod_test'];
        $chmod_text = $chmod;
        $status = true;
        if ($chmod == "" or $chmod === "false") {
            $chmod_text = $no_chmod;
        }
        $html = contend_template(getLanguageValue("install_chmod_use", $chmod_text), true);
    }
    $html .= '<input type="hidden" name="chmod_test" value="' . $chmod . '" />';
    return array($status, $help . $html);
}
示例#2
0
function testUpdate($test_art = false)
{
    $update_staus = array();
    $update_staus['conf'] = "empty";
    if (is_dir(BASE_DIR . 'update')) {
        if (isFileRW(BASE_DIR . 'update')) {
            foreach (getDirAsArray(BASE_DIR . 'update', array(".conf"), "none") as $datei) {
                if (!isFileRW(BASE_DIR . 'update/' . $datei)) {
                    $update_staus['conf'] = false;
                    break;
                }
                if ($test_art === true or $test_art === "conf") {
                    return true;
                }
                $update_staus['conf'] = true;
                break;
            }
        } else {
            $update_staus['conf'] = false;
        }
    }
    $update_staus['galerien'] = "empty";
    if (is_dir(BASE_DIR . GALLERIES_DIR_NAME)) {
        foreach (getDirAsArray(BASE_DIR . GALLERIES_DIR_NAME, "dir", "none") as $datei) {
            foreach (getDirAsArray(BASE_DIR . GALLERIES_DIR_NAME . '/' . $datei, "file", "none") as $img) {
                if ($img == 'texte.conf') {
                    continue;
                }
                if (true === isUpdateFileName($img, "file")) {
                    if ($test_art === true or $test_art === "galerien") {
                        return true;
                    }
                    $update_staus['galerien'] = true;
                    break;
                }
            }
            if (isUpdateFileName($datei)) {
                $update_staus['galerien'] = true;
                break;
            }
        }
    }
    $update_staus['kategorien'] = "empty";
    if (is_dir(BASE_DIR . 'kategorien')) {
        foreach (getDirAsArray(BASE_DIR . CONTENT_DIR_NAME, "dir", "none") as $cat) {
            if (true === isUpdateFileName($cat, "catpage")) {
                if ($test_art === true or $test_art === "kategorien") {
                    return true;
                }
                $update_staus['kategorien'] = true;
                break;
            }
            foreach (getDirAsArray(BASE_DIR . CONTENT_DIR_NAME . '/' . $cat, "file", "none") as $page) {
                if (true === isUpdateFileName($page, "catpage")) {
                    if ($test_art === true or $test_art === "kategorien") {
                        return true;
                    }
                    $update_staus['kategorien'] = true;
                    break;
                }
                if (is_dir(BASE_DIR . CONTENT_DIR_NAME . '/' . $cat . '/' . CONTENT_FILES_DIR_NAME) and is_readable(BASE_DIR . CONTENT_DIR_NAME . '/' . $cat . '/' . CONTENT_FILES_DIR_NAME)) {
                    foreach (getDirAsArray(BASE_DIR . CONTENT_DIR_NAME . '/' . $cat . '/' . CONTENT_FILES_DIR_NAME, "file", "none") as $file) {
                        if (true === isUpdateFileName($file, "file")) {
                            if ($test_art === true or $test_art === "kategorien") {
                                return true;
                            }
                            $update_staus['kategorien'] = true;
                            break;
                        }
                    }
                }
            }
        }
    }
    $update_staus['plugins'] = "empty";
    if (is_dir(BASE_DIR . PLUGIN_DIR_NAME)) {
        foreach (getDirAsArray(BASE_DIR . PLUGIN_DIR_NAME, "dir", "none") as $datei) {
            if (is_file(BASE_DIR . PLUGIN_DIR_NAME . '/' . $datei . '/plugin.conf')) {
                if ($test_art === true or $test_art === "plugins") {
                    return true;
                }
                $update_staus['plugins'] = true;
                break;
            }
        }
    }
    $update_staus['layouts'] = "empty";
    if (is_dir(BASE_DIR . LAYOUT_DIR_NAME)) {
        foreach (getDirAsArray(BASE_DIR . LAYOUT_DIR_NAME, "dir", "none") as $datei) {
            if (is_file(BASE_DIR . LAYOUT_DIR_NAME . '/' . $datei . '/layoutsettings.conf') or true === isUpdateFileName($datei)) {
                if ($test_art === true or $test_art === "layouts") {
                    return true;
                }
                $update_staus['layouts'] = true;
                break;
            }
        }
    }
    if ($test_art === true) {
        return false;
    }
    return $update_staus;
}