Пример #1
0
function designDashboard()
{
    global $manager;
    $siteTheme = $manager->clerk->getSetting("site_theme", 1);
    $total = 0;
    $scan = scanFolder(BASE_PATH . "site/themes", 1);
    foreach ($scan as $themeFolder) {
        $total++;
        $folderName = str_replace(BASE_PATH . "site/themes/", "", $themeFolder);
        if ($folderName == $siteTheme) {
            include_once $themeFolder . '/info.php';
            $currentTheme = $info['name'];
        }
    }
    $plural = $total != 1 ? "s" : "";
    $html = <<<HTML
\t\t\t<div class="col-1">
\t\t\t\t<h1>Design</h1>
\t\t\t\t<div class="menu">
\t\t\t\t\t<a href="?cubicle=design-edit">Manage Themes</a>
\t\t\t\t</div>
\t\t\t\t<ul class="stats">
\t\t\t\t\t<li>{$total} beautiful theme{$plural} installed</li>
\t\t\t\t\t<li>Your site is currently using <strong>{$currentTheme}</strong></li>
\t\t\t\t</ul>
\t\t\t</div>
HTML;
    echo $html;
}
Пример #2
0
function scanFolder(&$array, $path, $filter)
{
    $files = scandir($path);
    foreach ($files as $file) {
        if ($file == '.' || $file == '..') {
            continue;
        }
        $file = $path . '/' . $file;
        if (preg_match($filter, $file)) {
            $array[] = substr($file, 7);
        }
        if (is_dir($file)) {
            scanFolder($array, $file, $filter);
        }
    }
}
Пример #3
0
function runTest(array $folders)
{
    ?>
<!DOCTYPE html>
	<html lang="fr">
		<head>
			<meta charset="utf-8" />
			<title> Test Suite </title>
			<style>
				body{
					font-family: sans-serif;
					font-size: 100%
				}
				*>.hiddable{
					display: none;
				}
				*:hover>.hiddable{
					display: block;
				}
				*>.ihiddable{
					display: block;
				}
				*:hover>.ihiddable{
					display: none;
				}
				.section{
					border-radius: 10px;
					border: 1px solid #000;
					background-color: #ddd;
					max-width: 1024px;
					margin: 10px auto;
					padding: 5px;
				}
				.fichiers{}
				.fichiers .fichiers_liste{}
				.tests{}
				.tests .tests_liste{}
				.tests .class_name{
					font-weight: bold;
				}
				.tests .methode_name{}
				.tests .test_methode{}
				.tests .test_methode p{
					line-height: 20px;
				}
				.ok{
					background-color: rgba(0,255,0,0.1);
				}
				.ko{
					background-color: rgba(255,0,0,0.1);
				}
				.tests .test_methode_comment{}
				.tests .test_methode_resume{
					float:right;
				}
				.tests .test_class{}
				.tests .test_class_resume{}
			</style>
		</head>
		<body>
			<h1>Test suite</h1>
			<div class="section fichiers">
				<h2>Fichiers chargés</h2>
				<div class="hiddable fichiers_liste">
					<?php 
    // charge tous les fichiers de test
    foreach ($folders as $folder) {
        $folder = __DIR__ . DS . $folder;
        if (is_dir($folder)) {
            scanFolder($folder);
        }
    }
    ?>
				</div>
			</div>
			<div class="section tests">
				<h2>Résultats des test</h2>
				<div class="tests_liste">
					<?php 
    // recherche des class de test
    $liste_class_chargee = get_declared_classes();
    foreach ($liste_class_chargee as $class) {
        if (is_subclass_of($class, 'Core\\Test')) {
            $test = new $class();
            $test->run();
        }
    }
    ?>
				</div>
			</div>
		</body>
	</html>
	<?php 
}
Пример #4
0
function registerThemes()
{
    global $manager, $themes;
    $scan = scanFolder(BASE_PATH . "site/themes", 1);
    foreach ($scan as $themeFolder) {
        $name = str_replace(BASE_PATH . "site/themes/", "", $themeFolder);
        $theme = scanFolder($themeFolder, 1);
        foreach ($theme as $file) {
            if (strstr($file, "info.php")) {
                include_once $file;
                $themes[$name] = $info;
            }
        }
    }
}
Пример #5
0
define("SYSTEM_URL", HQ_URL . "system/");
define("FRONTEND", "true");
// Required files
require_once SYSTEM . "assistants/utf8.php";
require_once SYSTEM . "assistants/config.inc.php";
require_once SYSTEM . "assistants/clerk.php";
require_once "display_functions.php";
// Initialize
$clerk = new Clerk();
$clerk->dbConnect();
$clerk->loadSettings();
// Load plugins
loadPlugins();
// Include all modules
$defaultModules = array("global", "design", "pages");
$modules = scanFolder(SYSTEM . "modules", 1);
foreach ($defaultModules as $key) {
    $viewFile = SYSTEM . "modules/" . $key . "/view.php";
    if (file_exists($viewFile)) {
        include_once $viewFile;
    }
}
foreach ($modules as $key => $val) {
    $viewFile = SYSTEM . "modules/" . $key . "/view.php";
    if (file_exists($viewFile)) {
        include_once $viewFile;
    }
}
// Clean URL switching, if requested
// for debugging purposes
if (isset($_GET['clean_urls'])) {
Пример #6
0
 public function head_tags()
 {
     global $manager;
     $skin = $manager->clerk->config('SKIN');
     if (empty($skin)) {
         $skin = "starling";
     }
     // Grab common and SKIN CSS
     $css = scanFolder(SYSTEM . "gui/common_css", 1);
     sort($css);
     foreach ($css as $file) {
         if (strstr($file, ".css")) {
             echo $this->style(SYSTEM_URL . "gui/common_css" . basename($file));
         }
     }
     $css = scanFolder(SYSTEM . "gui/" . $skin, 1);
     sort($css);
     foreach ($css as $file) {
         if (strstr($file, ".css")) {
             echo $this->style(SYSTEM_URL . "gui/" . $skin . "/" . basename($file));
         }
     }
     $js = scanFolder(SYSTEM . "gui/common_js", 1);
     sort($js);
     foreach ($js as $file) {
         if (strstr($file, ".js")) {
             echo $this->jsfile(SYSTEM_URL . "gui/common_js/" . basename($file));
         }
     }
     $js = scanFolder(SYSTEM . "gui/" . $skin . "/js", 1);
     sort($js);
     foreach ($js as $file) {
         if (strstr($file, ".js")) {
             echo $this->jsfile(SYSTEM_URL . "gui/" . $skin . "/js/" . basename($file));
         }
     }
     // Include module JS and CSS assets (actions.js and styles.css)
     $styles = "modules/" . $this->cubicle['BRANCH'] . "/assets/styles.css";
     $actions = "modules/" . $this->cubicle['BRANCH'] . "/assets/actions.js";
     if (file_exists(SYSTEM . $styles)) {
         echo $this->style(SYSTEM_URL . $styles);
     }
     if (file_exists(SYSTEM . $actions)) {
         echo $this->jsfile(SYSTEM_URL . $actions);
     }
 }
Пример #7
0
function scanFolder($dir = "", $maxLevel = 0, $filter = "", $callback = "", $level = 0, $root = true)
{
    static $tree;
    static $base_dir_length;
    $filters = explode(",", $filter);
    if ($level == $maxLevel && $maxLevel > 0) {
        return;
    }
    if ($root) {
        $tree = array();
        $base_dir_length = strlen($dir) + 1;
    }
    $ext = substr($dir, strrpos($dir, '.'));
    if (is_file($dir)) {
        if (!empty($filter) && in_array($ext, $filters) || empty($filter)) {
            $tree[substr($dir, $base_dir_length)] = $dir;
        }
    } elseif (is_dir($dir) && ($di = dir($dir))) {
        $level = !$root ? $level + 1 : $level;
        $folderName = basename($dir);
        if (!empty($filter) && in_array($folderName, $filters)) {
            $tree[substr($dir, $base_dir_length)] = $dir;
        } elseif (!$root && empty($filter)) {
            $tree[substr($dir, $base_dir_length)] = $dir;
        }
        while (($file = $di->read()) !== false) {
            if ($file != "." && $file != "..") {
                scanFolder($dir . "/" . $file, $maxLevel, $filter, $callback, $level, false);
            }
        }
        $di->close();
    }
    if ($root) {
        return $tree;
    }
}
Пример #8
0
function fullRefresh() {
  global $client, $folder, $values, $valueskv;

  refreshFolder();
  $values = scanFolder($folder);
  $valueskv = $client->array2kv($values);
}
function mmInsert()
{
    global $manager;
    $files = scanFolder(MMPATH, 1);
    sort($files);
    if (count($files) == 0) {
        echo $manager->form->message("There are no files in your File Cabinet!");
    }
    $BASE_URL = BASE_URL;
    $target = $_GET['target'];
    // List images...
    $html = '<table>';
    $count = 0;
    foreach ($files as $file) {
        $isImage = @getimagesize($file);
        if ($isImage == false) {
            continue;
        }
        $count++;
        $file = str_replace("//", "/", $file);
        $fileName = basename($file);
        $thumbnail = '<img src="' . BASE_URL . 'index.php?cubicle=mediamanager&amp;mmfile=' . $file . '" alt= ""/>';
        $html .= <<<HTML
\t\t\t\t<tr id="file{$count}">
\t\t\t\t\t<td class="thumbnail">
\t\t\t\t\t\t{$thumbnail}
\t\t\t\t\t</td>
\t\t\t\t\t<td>
\t\t\t\t\t\t<span class="fileName">{$fileName}</span>
\t\t\t\t\t\t<div class="controls floating">
\t\t\t\t\t\t\t<ul>
\t\t\t\t\t\t\t\t<li class="misc"><a href="#" onclick="insertFile('image:{$fileName}', '{$target}'); return false;">Insert</a></li>
\t\t\t\t\t\t\t\t<li class="misc"><a href="#" onclick="insertFile('thumb:{$fileName}', '{$target}'); return false;">Insert Thumbnail</a></li>
\t\t\t\t\t\t\t\t<li class="delete"><a href="#" onclick="deleteFile('{$fileName}', 'file{$count}'); return false;">Delete</a></li>
\t\t\t\t\t\t\t</ul>
\t\t\t\t\t\t</div>
\t\t\t\t\t</td>
\t\t\t\t</tr>
HTML;
    }
    $html .= '</table>';
    if ($count > 0) {
        $manager->form->add_fieldset("Images", "images");
        $manager->form->add_to_form($html);
        $manager->form->close_fieldset();
    }
    // Now files
    $count = 0;
    $html = '<table>';
    foreach ($files as $file) {
        $isImage = @getimagesize($file);
        if ($isImage == true) {
            continue;
        }
        $count++;
        $file = str_replace("//", "/", $file);
        $fileName = basename($file);
        $html .= <<<HTML
\t\t\t\t<tr id="file{$count}">
\t\t\t\t\t<td>
\t\t\t\t\t\t<span class="fileName">{$fileName}</span>
\t\t\t\t\t\t<div class="controls floating">
\t\t\t\t\t\t\t<ul>
\t\t\t\t\t\t\t\t<li class="misc"><a href="#" onclick="insertFile('file:{$fileName}', '{$target}'); return false;">Insert</a></li>
\t\t\t\t\t\t\t\t<li class="misc"><a href="#" onclick="insertFile('file:YourText:{$fileName}', '{$target}'); return false;">Insert with custom text</a></li>
\t\t\t\t\t\t\t\t<li class="delete"><a href="#" onclick="deleteFile('{$fileName}', 'file{$count}'); return false;">Delete</a></li>
\t\t\t\t\t\t\t</ul>
\t\t\t\t\t\t</div>
\t\t\t\t\t</td>
\t\t\t\t</tr>
HTML;
    }
    $html .= '</table>';
    if ($count > 0) {
        $manager->form->add_fieldset("Files", "files");
        $manager->form->add_to_form($html);
        $manager->form->close_fieldset();
    }
}