本文整理汇总了PHP中router::set_storage方法的典型用法代码示例。如果您正苦于以下问题:PHP router::set_storage方法的具体用法?PHP router::set_storage怎么用?PHP router::set_storage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类router
的用法示例。
在下文中一共展示了router::set_storage方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
public function __construct($_clean_url = null)
{
self::$repository = repository;
$path = preg_replace("/^\\.\\//", "/", '/');
$clean_url = $_clean_url !== null ? $_clean_url : $_SERVER['REQUEST_URI'];
if (preg_match("#0x#", $clean_url)) {
// error
}
$clean_url = preg_replace("#0x#Ui", "", $clean_url);
$clean_url = preg_replace("#^https?://{$_SERVER['HTTP_HOST']}\\/#", '', $clean_url);
$clean_url = preg_replace("#^{$path}#", '', $clean_url);
$clean_url = urldecode($clean_url);
preg_match("/^([^?]*)(\\?.*)?\$/", $clean_url, $url);
self::$real_url_string = self::$url_string = $url[1];
self::$real_url_array = self::$url_array = preg_split("[\\/]", preg_replace("/^\\/|\\/\$/", '', $url[1]), -1, PREG_SPLIT_NO_EMPTY);
// HTTP_HOST is not secure and attacker can change it
$domain = $_SERVER['HTTP_HOST'];
self::$domain = preg_split("[\\.]", $domain);
self::$sub_domain = self::$domain;
array_pop(self::$sub_domain);
array_pop(self::$sub_domain);
if (isset(self::$real_url_array[0]) && self::$real_url_array[0] == 'home' || isset(self::$real_url_array[1]) && self::$real_url_array[1] == 'home') {
\lib\error::page("home");
}
/**
* user want control panel or CMS
*/
if (defined('CMS') && constant('CMS')) {
$myCP = constant('CMS') === true ? 'cp' : constant('CMS');
router::set_storage('CMS', $myCP);
} else {
router::set_storage('CMS', 'cp');
}
/**
* before router
*/
if (self::$auto_repository) {
// first get subdomain and if not exist get first url part as mysub
$mysub = router::get_sub_domain();
if (!$mysub) {
$mysub = router::get_url(0);
router::$sub_is_fake = true;
// router::$sub_is_fake = $mysub? true: false;
// router::set_storage('language', router::get_storage('defaultLanguage') );
}
if ($mysub) {
// automatically set repository if folder of it exist
$myaddons = array();
$mysub_real = $mysub;
$myloc = null;
$mysub_valid = null;
// check for account with specefic name
if (\lib\router::get_storage('CMS')) {
$myaddons[\lib\router::get_storage('CMS')] = 'cp';
$myaddons['account'] = 'account';
}
// check this sub is exist in our data or not
if (array_key_exists($mysub, $myaddons)) {
$mysub = $myaddons[$mysub];
$mysub_valid = true;
}
// set repository name
$myrep = 'content_' . $mysub;
// check content_aaa folder is exist in project or saloos addons folder
if (is_dir(root . $myrep)) {
$myloc = false;
} elseif ($mysub_valid && is_dir(addons . $myrep)) {
$myloc = addons;
}
// if folder exist
if (!is_null($myloc)) {
// if url is fake, show it like subdomain and remove from url
if (router::$sub_is_fake) {
router::remove_url($mysub_real);
router::set_sub_domain($mysub_real);
}
// set repository to this folder
$myparam = array($myrep);
if ($myloc) {
array_push($myparam, $myloc);
}
// call function and pass param value to it
router::set_repository(...$myparam);
}
}
}
if (self::$auto_api) {
// automatically allow api, if you wan't to desable it, only set a value
$route = new router\route("/^api([^\\/]*)/", function ($reg) {
router::remove_url($reg->url);
router::set_storage('api', true);
});
}
if (class_exists('\\cls\\route')) {
$router = new \cls\route();
$router->main = $this;
if (method_exists($router, "_before")) {
$router->_before();
}
}
//.........这里部分代码省略.........
示例2: __construct
public function __construct()
{
// check php version to upper than 5.6
if (version_compare(phpversion(), '5.6', '<')) {
die("<p>For using Saloos you must update php version to 5.6 or higher!</p>");
}
/**
* in coming soon period show public_html/pages/coming/ folder
* developer must set get parameter like site.com/dev=anyvalue
* for disable this attribute turn off it from config.php in project root
*/
if (defined('CommingSoon') && CommingSoon && isset($_GET['dev'])) {
setcookie('preview', 'yes', time() + 30 * 24 * 60 * 60, '/', '.' . Service);
} elseif (defined("CommingSoon") && CommingSoon && !isset($_COOKIE["preview"])) {
header('Location: http://' . AccountService . MainTld . '/static/page/coming/', true, 302);
exit;
}
/**
* Localized Language, defaults to English.
*
* Change this to localize Saloos. A corresponding MO file for the chosen
* language must be installed to content/languages. For example, install
* fa_IR.mo to content/languages and set LANGUAGE to 'fa_IR' to enable Persian
* language support.
*/
if (router::get_storage('language')) {
switch (Tld) {
case 'ir':
router::set_storage('language', "fa_IR");
break;
default:
break;
}
// do nothing
} elseif (isset($_GET["lang"]) && router::get_repository_name() !== 'content') {
router::set_storage('language', $_GET["lang"]);
} elseif (isset($_COOKIE["lang"])) {
router::set_storage('language', $_COOKIE["lang"]);
} else {
router::set_storage('language', router::get_storage('defaultLanguage'));
}
// save language preference for future page requests
setcookie('lang', router::get_storage('language'), time() + 30 * 24 * 60 * 60, '/', '.' . Service);
// use saloos php gettext function
require_once lib . 'utility/gettext/gettext.inc';
// gettext setup
T_setlocale(LC_MESSAGES, router::get_storage('language'));
// Set the text domain as 'messages'
T_bindtextdomain('messages', root . 'includes/languages');
T_bind_textdomain_codeset('messages', 'UTF-8');
T_textdomain('messages');
// check direction of language and set for rtl languages
switch (router::get_storage('language')) {
case 'fa_IR':
case 'ar_SU':
router::set_storage('direction', 'rtl');
break;
default:
router::set_storage('direction', 'ltr');
break;
}
/**
* If DEBUG is TRUE you can see the full error description, If set to FALSE show userfriendly messages
* change it from project config.php
*/
if (!defined('DEBUG')) {
define('DEBUG', false);
}
if (DEBUG) {
ini_set('display_errors', 'On');
ini_set('display_startup_errors', 'On');
ini_set('error_reporting', 'E_ALL | E_STRICT');
ini_set('track_errors', 'On');
ini_set('display_errors', 1);
error_reporting(E_ALL);
//Setting for the PHP Error Handler
// set_error_handler('\lib\error::myErrorHandler');
//Setting for the PHP Exceptions Error Handler
// set_exception_handler('\lib\error::myErrorHandler');
//Setting for the PHP Fatal Error
// register_shutdown_function('\lib\error::myErrorHandler');
} else {
error_reporting(0);
ini_set('display_errors', 0);
}
// change header and remove php from it
header("X-Powered-By: Saloos!");
/**
* A session is a way to store information (in variables) to be used across multiple pages.
* Unlike a cookie, the information is not stored on the users computer.
* access to session with this code: $_SESSION["test"]
*/
if (is_string(Domain)) {
session_name(Domain);
}
session_set_cookie_params(0, '/', '.' . Service, false, true);
session_start();
}