Ejemplo n.º 1
0
function getDirAsArray($dir, $filetype = false, $sort_type = "sort")
{
    if ($filetype == "img") {
        global $ALOWED_IMG_ARRAY;
        $filetype = $ALOWED_IMG_ARRAY;
    }
    # alle ext im array in kleinschreibung wandeln
    if (is_array($filetype)) {
        $filetype = array_map('strtolower', $filetype);
    }
    $dateien = array();
    if (is_dir($dir) and false !== ($currentdir = opendir($dir))) {
        while (false !== ($file = readdir($currentdir))) {
            # keine gültige datei gleich zur nächsten datei
            if (!isValidDirOrFile($file)) {
                continue;
            }
            # nur mit ext
            if (is_array($filetype)) {
                $ext1 = strtolower(substr($file, -EXT_LENGTH));
                $ext2 = strtolower(substr($file, strrpos($file, ".")));
                if (in_array($ext2, $filetype) or in_array($ext1, $filetype)) {
                    $dateien[] = $file;
                }
                # nur dir oder file
            } elseif (filetype($dir . "/" . $file) == $filetype) {
                $dateien[] = $file;
                # alle
            } elseif (!$filetype) {
                $dateien[] = $file;
            }
        }
        closedir($currentdir);
        if ($sort_type == "sort") {
            sort($dateien);
        } elseif ($sort_type == "natcasesort") {
            natcasesort($dateien);
        } elseif ($sort_type == "sort_cat_page" and ($filetype == "file" or $filetype == "dir")) {
            $dateien = sort_cat_page($dateien, $dir, $filetype);
        }
    }
    return $dateien;
}
Ejemplo n.º 2
0
function makeUpdate()
{
    $update_page_files = array();
    if (is_file(BASE_DIR . PLUGIN_DIR_NAME . '/Galerie/plugin.conf')) {
        updateConf(BASE_DIR . PLUGIN_DIR_NAME . '/Galerie/plugin.conf');
    }
    if (is_file(BASE_DIR . PLUGIN_DIR_NAME . '/Galerie/plugin.conf.php')) {
        global $gallery_plugin;
        $gallery_plugin = new Properties(BASE_DIR . PLUGIN_DIR_NAME . '/Galerie/plugin.conf.php');
    }
    if (is_dir(BASE_DIR . 'update')) {
        $cms_confs = array("basic", "main", "passwords", "gallery", "version", "logindata", "downloads", "catpage", "syntax", "user");
        $files = getDirAsArray(BASE_DIR . 'update', array(".conf"), "none");
        if (count($files) > 0) {
            global $GALLERY, $SYNTAX;
            $SYNTAX = new Properties(BASE_DIR_CMS . CONF_DIR_NAME . '/syntax.conf.php');
            $GALLERY = new Properties(BASE_DIR_CMS . CONF_DIR_NAME . '/gallery.conf.php');
            foreach ($files as $datei) {
                if (in_array(str_replace(".conf", "", $datei), $cms_confs)) {
                    updateCMSConf($datei);
                    mo_unlink(BASE_DIR . 'update/' . $datei);
                }
            }
        }
    }
    if (is_dir(BASE_DIR . 'galerien') and is_readable(BASE_DIR . 'galerien')) {
        foreach (getDirAsArray(BASE_DIR . GALLERIES_DIR_NAME, "dir", "none") as $datei) {
            $tmp_conf = false;
            if (is_file(BASE_DIR . GALLERIES_DIR_NAME . '/' . $datei . '/texte.conf')) {
                updateConf(BASE_DIR . GALLERIES_DIR_NAME . '/' . $datei . '/texte.conf');
            } else {
                newConf(BASE_DIR . GALLERIES_DIR_NAME . '/' . $datei . "/texte.conf.php");
            }
            if (is_file(BASE_DIR . GALLERIES_DIR_NAME . '/' . $datei . '/texte.conf.php')) {
                $tmp_conf = new Properties(BASE_DIR . GALLERIES_DIR_NAME . '/' . $datei . "/texte.conf.php");
            }
            $update_text = array();
            foreach (getDirAsArray(BASE_DIR . GALLERIES_DIR_NAME . '/' . $datei, "file", "none") as $img) {
                if ($img == 'texte.conf') {
                    continue;
                }
                if (false !== ($newname = isUpdateFileName($img, "file", true))) {
                    $status = updateRename($img, $newname, BASE_DIR . GALLERIES_DIR_NAME . "/" . $datei . "/");
                    if ($status) {
                        $newname = $status;
                    }
                    if ($tmp_conf !== false and $tmp_conf->keyExists($img)) {
                        $tmp_conf->set($newname, toUtf($tmp_conf->get($img)));
                        $tmp_conf->delete($img);
                    }
                    $update_page_files[$img] = $newname;
                    if (is_file(BASE_DIR . GALLERIES_DIR_NAME . "/" . $datei . "/" . PREVIEW_DIR_NAME . "/" . $img)) {
                        updateRename($img, $newname, BASE_DIR . GALLERIES_DIR_NAME . "/" . $datei . "/" . PREVIEW_DIR_NAME . "/");
                    }
                }
            }
            unset($tmp_conf);
            if (false !== ($newname = isUpdateFileName($datei, false, true))) {
                updateRename($datei, $newname, BASE_DIR . GALLERIES_DIR_NAME . "/");
            }
        }
    }
    if (is_dir(BASE_DIR . 'kategorien')) {
        $sort_array = array();
        $cats = getDirAsArray(BASE_DIR . CONTENT_DIR_NAME, "dir", "sort");
        $cats = sort_cat_page($cats, BASE_DIR . CONTENT_DIR_NAME, "dir");
        foreach ($cats as $cat) {
            #echo $cat."<br />\n";
            if (false !== ($newname = isUpdateFileName($cat, "catpage", true))) {
                updateRename($cat, $newname, BASE_DIR . CONTENT_DIR_NAME . "/");
                $cat = $newname;
            }
            $sort_array[$cat] = "null";
            if (substr($cat, -EXT_LENGTH) == EXT_LINK) {
                continue;
            }
            $sort_array[$cat] = array();
            $pages = getDirAsArray(BASE_DIR . CONTENT_DIR_NAME . '/' . $cat, "file", "sort");
            $pages = sort_cat_page($pages, BASE_DIR . CONTENT_DIR_NAME . '/' . $cat, "file");
            foreach ($pages as $page) {
                if (false !== ($newname = isUpdateFileName($page, "catpage", true))) {
                    updateRename($page, $newname, BASE_DIR . CONTENT_DIR_NAME . "/" . $cat . "/");
                    $page = $newname;
                }
                $sort_array[$cat][$page] = "null";
            }
            if (is_dir(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 (false !== ($newname = isUpdateFileName($file, "file", true))) {
                        $status = updateRename($file, $newname, BASE_DIR . CONTENT_DIR_NAME . "/" . $cat . "/" . CONTENT_FILES_DIR_NAME . "/");
                        if ($status) {
                            $newname = $status;
                        }
                        $tmp_file = cleanUploadFile(changeMoziloOldSpecialChars($file, false));
                        $update_page_files[rawurldecode($cat)][$tmp_file] = $newname;
                    }
                }
            }
        }
        $sort_array = var_export($sort_array, true);
        file_put_contents(SORT_CAT_PAGE, "<?php if(!defined('IS_CMS')) die();\n\$cat_page_sort_array = " . $sort_array . ";\n?>", LOCK_EX);
        if (isset($_POST['update_pages']) and $_POST['update_pages'] == "true") {
            updatePages($update_page_files);
        }
    }
    if (is_dir(BASE_DIR . 'plugins')) {
        foreach (getDirAsArray(BASE_DIR . PLUGIN_DIR_NAME, "dir", "none") as $datei) {
            if (is_file(BASE_DIR . PLUGIN_DIR_NAME . '/' . $datei . '/plugin.conf')) {
                updateConf(BASE_DIR . PLUGIN_DIR_NAME . '/' . $datei . '/plugin.conf');
            }
            if ($datei == "CONTACT") {
                makeCONTACTSetings(BASE_DIR . PLUGIN_DIR_NAME . '/' . $datei . '/plugin.conf.php');
            }
        }
    }
    if (is_dir(BASE_DIR . 'layouts')) {
        foreach (getDirAsArray(BASE_DIR . LAYOUT_DIR_NAME, "dir", "none") as $datei) {
            if (is_file(BASE_DIR . LAYOUT_DIR_NAME . '/' . $datei . '/layoutsettings.conf') and is_file(BASE_DIR . LAYOUT_DIR_NAME . '/' . $datei . '/template.html')) {
                updateTemplate(BASE_DIR . LAYOUT_DIR_NAME . '/' . $datei . '/');
            }
            if (is_dir(BASE_DIR . LAYOUT_DIR_NAME . '/' . $datei . '/css')) {
                updateTemplateCSS(BASE_DIR . LAYOUT_DIR_NAME . '/' . $datei . '/');
            }
            if (false !== ($newname = isUpdateFileName($datei, false, true))) {
                updateRename($datei, $newname, BASE_DIR . LAYOUT_DIR_NAME . "/");
            }
        }
    }
}