public static function getInstance() { if (!isset(self::$instance)) { self::$instance = new self(); } return self::$instance; }
public static function newInstance() { if (!self::$instance instanceof self) { self::$instance = new self(); } return self::$instance; }
public static function getInstance() { if (self::$instance === NULL) { return self::$instance = new self(); } else { return self::$instance; } }
public static function load() { if (self::$instance !== NULL) { delete(self::$instance); self::$instance = NULL; } $request_url = get_request_url(); $parts = parse_url($request_url); $request_uri = strtolower($parts['path']); /* Normalize Path */ $path = remove_ext($request_uri); if (empty($path) || $path == "/" || $path == "/index" || $path == "/home") { $path = "/start"; //later: do landing Page } else { //remove index from right $rm = "/index"; $len = strlen($rm); if (substr($path, $len * -1) == $rm) { $path = substr($path, 0, strlen($path) - $len); } } $request_cmd = $path; //create the commando $dir = 'pages' . $path; $cmd = array(); //default to read index.html $error = !(path2cmd($dir . '.php', $cmd) || path2cmd($dir . '.html', $cmd) || path2cmd($dir . '/index.php', $cmd) || path2cmd($dir . '/index.html', $cmd)); $data = array("request_url" => $request_url, "request_uri" => $request_uri, "request_cmd" => $request_cmd, "cmd" => $cmd); $classname = "StaticPage"; $classfile = "php/static.php"; /*check if a *.php page is requested and exists*/ if (!$error) { $path = $cmd["path"]; if (!$error && preg_match("/^(.*)\\.(php)\$/i", $path)) { $classname = ucfirst($cmd["filename"]) . "Page"; $classfile = $path; $data["modified"] = filemtime($classfile); } } require_once $classfile; $page = new $classname($data, $error); self::$instance = $page; return self::$instance; }
<?php /** * @package CleverStyle CMS * @subpackage System module * @category modules * @author Nazar Mokrynskyi <*****@*****.**> * @copyright Copyright (c) 2011-2014, Nazar Mokrynskyi * @license MIT License, see license.txt */ namespace cs; $Config = Config::instance(); $L = Language::instance(); $Page = Page::instance(); $User = User::instance(); /** * If AJAX request from local referer, user is registered - change password, otherwise - show error */ if (!$Config->server['referer']['local'] || !$Config->server['ajax'] || !isset($_POST['verify_hash'], $_POST['new_password']) || !$User->user()) { sleep(1); error_code(403); return; } elseif (!$_POST['new_password']) { error_code(400); $Page->error($L->please_type_new_password); return; } elseif (hash('sha224', $User->password_hash . $User->get_session()) != $_POST['verify_hash']) { error_code(400); $Page->error($L->wrong_current_password); return;
<?php /** * @package Versions * @category modules * @author Nazar Mokrynskyi <*****@*****.**> * @copyright Copyright (c) 2014, Nazar Mokrynskyi * @license MIT License, see license.txt */ namespace cs; Page::instance()->json(5);
<?php /** * @package Streams * @category modules * @author Nazar Mokrynskyi <*****@*****.**> * @copyright Copyright (c) 2014, Nazar Mokrynskyi * @license MIT License, see license.txt */ namespace cs; Page::instance()->post_Body .= "<script src=\"//api-maps.yandex.ru/2.1-dev/?load=package.full&lang=uk-UA\"></script>\n" . "<script type=\"text/javascript\" src=\"//yandex.st/share/share.js\"></script>\n";
<?php /** * @package Metrics * @category plugins * @author Nazar Mokrynskyi <*****@*****.**> * @copyright Copyright (c) 2011-2013, Nazar Mokrynskyi * @license MIT License, see license.txt */ namespace cs; Trigger::instance()->register('System/Page/pre_display', function () { if (User::instance()->user() || !in_array('Metrics', Config::instance()->components['plugins'])) { return; } //Yandex Page::instance()->post_Body .= '<!-- Yandex.Metrika counter --><script type="text/javascript">(function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter24106597 = new Ya.Metrika({id:24106597, ut:"noindex"}); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks");</script><noscript><div><img src="//mc.yandex.ru/watch/24106597?ut=noindex" style="position:absolute; left:-9999px;" alt="" /></div></noscript><!-- /Yandex.Metrika counter -->'; });
<?php /* Created by ANDRAS Zoltan Gyarfas azolee@gmail.com in 2015 */ include_once './core/init.php'; global $header; global $page; $page = array("title" => "", "header" => "", "nav" => "", "content" => ""); $contentManager = Page::instance(); $urlPath = trim(filter_input(INPUT_GET, "path", FILTER_SANITIZE_STRING), "/"); global $url; $url = $contentManager->getUrlDetails($urlPath); $contentManager->generatePage($url); $page['content'] = $contentManager->getPageContent(); $page['title'] = $contentManager->getPageTitle(); $m = $contentManager->loadNav(); if (!empty($m)) { $page = array_merge($m, $page); } if (file_exists(TEMPLATES . DS . $contentManager->getPageTemplate())) { echo tpl::display($page, TEMPLATES . DS . $contentManager->getPageTemplate()); }
<?php /** * @package CleverStyle CMS * @subpackage System module * @category modules * @author Nazar Mokrynskyi <*****@*****.**> * @copyright Copyright (c) 2011-2014, Nazar Mokrynskyi * @license MIT License, see license.txt */ namespace cs; $User = User::instance(); if ($User->guest()) { error_code(403); return; } Page::instance()->json($User->get_contacts());
<?php /** * @package CleverStyle CMS * @subpackage System module * @category modules * @author Nazar Mokrynskyi <*****@*****.**> * @copyright Copyright (c) 2011-2014, Nazar Mokrynskyi * @license MIT License, see license.txt */ namespace cs; $User = User::instance(); if ($User->guest()) { Page::instance()->json(1); return; } if (isset($_POST['sign_out'])) { $User->del_session(); _setcookie('sign_out', 1, 0, true, true); Page::instance()->json(1); }
/** * Displaying of errors */ function display() { if (User::instance()->admin() || DEBUG) { if (!empty($this->errors_list_all)) { foreach ($this->errors_list as $error) { Page::instance()->warning($error); } } } }
<?php /** * @package ClevereStyle CMS * @subpackage CleverStyle theme * @author Nazar Mokrynskyi <*****@*****.**> * @copyright Copyright (c) 2013-2014, Nazar Mokrynskyi * @license MIT License, see license.txt */ namespace cs; if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match('/msie|trident/i', $_SERVER['HTTP_USER_AGENT'])) { Page::instance()->Head .= '<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">'; }
<?php /** * @package Admin default theme * @category plugins * @author Nazar Mokrynskyi <*****@*****.**> * @copyright Copyright (c) 2011-2014, Nazar Mokrynskyi * @license MIT License, see license.txt */ namespace cs; Trigger::instance()->register('System/Page/pre_display', function () { if (ADMIN && in_array('Admin_default_theme', Config::instance()->components['plugins'])) { Page::instance()->set_theme('CleverStyle')->set_color_scheme('Default'); } });
/** * 显示分页 * @param array $page_info * @return void|Ambigous <string, mixed> */ public static function show(array $page_info) { if (self::$instance == null) { self::$instance = new self(); } self::$instance->init($page_info); $page = self::$instance->page; $last_page = self::$instance->last_page; //总页数为1不显示分页 if ($last_page <= 1) { return; } $average = self::$instance->average(); $show_page_start = $page - $average; $show_page_end = $page + $average; if ($show_page_start > 0 || $show_page_end <= self::$instance->last_page) { if ($show_page_start < 0 && $show_page_end < self::$instance->last_page) { $show_page_end = 1 - $show_page_start + $show_page_end; $show_page_start = 1; } if ($show_page_end > self::$instance->last_page && $show_page_start > 0) { $show_page_start = $show_page_start - ($show_page_end - self::$instance->last_page); $show_page_end = self::$instance->last_page; } } $show_page_start = $show_page_start < 1 ? 1 : $show_page_start; $show_page_end = $show_page_end > self::$instance->last_page ? self::$instance->last_page : $show_page_end; $result = self::$instance->getFirstPage(); $result .= self::$instance->getPrePage(); for ($i = $show_page_start; $i <= $show_page_end; $i++) { $result .= self::produceLink($i, $i); } $result .= self::$instance->getNextPage(); $result .= self::$instance->getLastPage(); return $result; }
<?php /** * @package CleverStyle CMS * @subpackage System module * @category modules * @author Nazar Mokrynskyi <*****@*****.**> * @copyright Copyright (c) 2011-2014, Nazar Mokrynskyi * @license MIT License, see license.txt */ /** * Provides next triggers:<br> * System/robots.txt<br> * ['text' => <i>&$text</i>]<br> */ namespace cs; Index::instance()->stop = true; interface_off(); $text = file_get_contents(MFOLDER . '/robots.txt'); Trigger::instance()->run('System/robots.txt', ['text' => &$text]); $text .= 'Host: ' . explode('/', explode('//', Config::instance()->core_url(), 2)[1], 2)[0]; Page::instance()->Content = $text;