mirror of
https://github.com/monstra-cms/monstra.git
synced 2025-07-31 18:30:20 +02:00
General Core Improvments
This commit is contained in:
@@ -35,9 +35,6 @@
|
||||
// Admin login
|
||||
if (Request::post('login_submit')) {
|
||||
|
||||
// Sleep MONSTRA_LOGIN_SLEEP seconds for blocking Brute Force Attacks
|
||||
sleep(MONSTRA_LOGIN_SLEEP);
|
||||
|
||||
$user = $users->select("[login='" . trim(Request::post('login')) . "']", null);
|
||||
if (count($user) !== 0) {
|
||||
if ($user['login'] == Request::post('login')) {
|
||||
|
117
boot/defines.php
Normal file
117
boot/defines.php
Normal file
@@ -0,0 +1,117 @@
|
||||
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
|
||||
|
||||
|
||||
/**
|
||||
* Monstra CMS Defines
|
||||
*/
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'monstra' folder
|
||||
*/
|
||||
define('MONSTRA', ROOT . DS . 'monstra');
|
||||
|
||||
/**
|
||||
* The filesystem path to the site 'themes' folder
|
||||
*/
|
||||
define('THEMES_SITE', ROOT . DS . 'public' . DS . 'themes');
|
||||
|
||||
/**
|
||||
* The filesystem path to the admin 'themes' folder
|
||||
*/
|
||||
define('THEMES_ADMIN', ROOT . DS . 'admin' . DS . 'themes');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'plugins' folder
|
||||
*/
|
||||
define('PLUGINS', ROOT . DS . 'plugins');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'box' folder which is contained within
|
||||
* the 'plugins' folder
|
||||
*/
|
||||
define('PLUGINS_BOX', PLUGINS . DS . 'box');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'helpers' folder which is contained within
|
||||
* the 'monstra' folder
|
||||
*/
|
||||
define('HELPERS', MONSTRA . DS . 'helpers');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'engine' folder which is contained within
|
||||
* the 'monstra' folder
|
||||
*/
|
||||
define('ENGINE', MONSTRA . DS . 'engine');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'boot' folder which is contained within
|
||||
* the 'monstra' folder
|
||||
*/
|
||||
define('BOOT', MONSTRA . DS . 'boot');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'storage' folder
|
||||
*/
|
||||
define('STORAGE', ROOT . DS . 'storage');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'xmldb' folder
|
||||
*/
|
||||
define('XMLDB', STORAGE . DS . 'database');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'cache' folder
|
||||
*/
|
||||
define('CACHE', ROOT . DS . 'tmp' . DS . 'cache');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'minify' folder
|
||||
*/
|
||||
define('MINIFY', ROOT . DS . 'tmp' . DS . 'minify');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'logs' folder
|
||||
*/
|
||||
define('LOGS', ROOT . DS . 'tmp' . DS . 'logs');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'assets' folder
|
||||
*/
|
||||
define('ASSETS', ROOT . DS . 'public' . DS . 'assets');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'uploads' folder
|
||||
*/
|
||||
define('UPLOADS', ROOT . DS . 'public' . DS . 'uploads');
|
||||
|
||||
/**
|
||||
* Set password salt
|
||||
*/
|
||||
define('MONSTRA_PASSWORD_SALT', 'YOUR_SALT_HERE');
|
||||
|
||||
/**
|
||||
* Set date format
|
||||
*/
|
||||
define('MONSTRA_DATE_FORMAT', 'Y-m-d / H:i:s');
|
||||
|
||||
/**
|
||||
* Set eval php
|
||||
*/
|
||||
define('MONSTRA_EVAL_PHP', false);
|
||||
|
||||
/**
|
||||
* Check Monstra CMS version
|
||||
*/
|
||||
define('CHECK_MONSTRA_VERSION', true);
|
||||
|
||||
/**
|
||||
* Set gzip output
|
||||
*/
|
||||
define('MONSTRA_GZIP', false);
|
||||
|
||||
/**
|
||||
* Monstra database settings
|
||||
*/
|
||||
//define('MONSTRA_DB_DSN', 'mysql:dbname=monstra;host=localhost;port=3306');
|
||||
//define('MONSTRA_DB_USER', 'root');
|
||||
//define('MONSTRA_DB_PASSWORD', 'password');
|
117
boot/development/defines.php
Normal file
117
boot/development/defines.php
Normal file
@@ -0,0 +1,117 @@
|
||||
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
|
||||
|
||||
|
||||
/**
|
||||
* Monstra CMS Defines
|
||||
*/
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'monstra' folder
|
||||
*/
|
||||
define('MONSTRA', ROOT . DS . 'monstra');
|
||||
|
||||
/**
|
||||
* The filesystem path to the site 'themes' folder
|
||||
*/
|
||||
define('THEMES_SITE', ROOT . DS . 'public' . DS . 'themes');
|
||||
|
||||
/**
|
||||
* The filesystem path to the admin 'themes' folder
|
||||
*/
|
||||
define('THEMES_ADMIN', ROOT . DS . 'admin' . DS . 'themes');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'plugins' folder
|
||||
*/
|
||||
define('PLUGINS', ROOT . DS . 'plugins');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'box' folder which is contained within
|
||||
* the 'plugins' folder
|
||||
*/
|
||||
define('PLUGINS_BOX', PLUGINS . DS . 'box');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'helpers' folder which is contained within
|
||||
* the 'monstra' folder
|
||||
*/
|
||||
define('HELPERS', MONSTRA . DS . 'helpers');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'engine' folder which is contained within
|
||||
* the 'monstra' folder
|
||||
*/
|
||||
define('ENGINE', MONSTRA . DS . 'engine');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'boot' folder which is contained within
|
||||
* the 'monstra' folder
|
||||
*/
|
||||
define('BOOT', MONSTRA . DS . 'boot');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'storage' folder
|
||||
*/
|
||||
define('STORAGE', ROOT . DS . 'storage');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'xmldb' folder
|
||||
*/
|
||||
define('XMLDB', STORAGE . DS . 'database');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'cache' folder
|
||||
*/
|
||||
define('CACHE', ROOT . DS . 'tmp' . DS . 'cache');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'minify' folder
|
||||
*/
|
||||
define('MINIFY', ROOT . DS . 'tmp' . DS . 'minify');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'logs' folder
|
||||
*/
|
||||
define('LOGS', ROOT . DS . 'tmp' . DS . 'logs');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'assets' folder
|
||||
*/
|
||||
define('ASSETS', ROOT . DS . 'public' . DS . 'assets');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'uploads' folder
|
||||
*/
|
||||
define('UPLOADS', ROOT . DS . 'public' . DS . 'uploads');
|
||||
|
||||
/**
|
||||
* Set password salt
|
||||
*/
|
||||
define('MONSTRA_PASSWORD_SALT', 'YOUR_SALT_HERE');
|
||||
|
||||
/**
|
||||
* Set date format
|
||||
*/
|
||||
define('MONSTRA_DATE_FORMAT', 'Y-m-d / H:i:s');
|
||||
|
||||
/**
|
||||
* Set eval php
|
||||
*/
|
||||
define('MONSTRA_EVAL_PHP', false);
|
||||
|
||||
/**
|
||||
* Check Monstra CMS version
|
||||
*/
|
||||
define('CHECK_MONSTRA_VERSION', true);
|
||||
|
||||
/**
|
||||
* Set gzip output
|
||||
*/
|
||||
define('MONSTRA_GZIP', false);
|
||||
|
||||
/**
|
||||
* Monstra database settings
|
||||
*/
|
||||
//define('MONSTRA_DB_DSN', 'mysql:dbname=monstra;host=localhost;port=3306');
|
||||
//define('MONSTRA_DB_USER', 'root');
|
||||
//define('MONSTRA_DB_PASSWORD', 'password');
|
117
boot/production/defines.php
Normal file
117
boot/production/defines.php
Normal file
@@ -0,0 +1,117 @@
|
||||
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
|
||||
|
||||
|
||||
/**
|
||||
* Monstra CMS Defines
|
||||
*/
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'monstra' folder
|
||||
*/
|
||||
define('MONSTRA', ROOT . DS . 'monstra');
|
||||
|
||||
/**
|
||||
* The filesystem path to the site 'themes' folder
|
||||
*/
|
||||
define('THEMES_SITE', ROOT . DS . 'public' . DS . 'themes');
|
||||
|
||||
/**
|
||||
* The filesystem path to the admin 'themes' folder
|
||||
*/
|
||||
define('THEMES_ADMIN', ROOT . DS . 'admin' . DS . 'themes');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'plugins' folder
|
||||
*/
|
||||
define('PLUGINS', ROOT . DS . 'plugins');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'box' folder which is contained within
|
||||
* the 'plugins' folder
|
||||
*/
|
||||
define('PLUGINS_BOX', PLUGINS . DS . 'box');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'helpers' folder which is contained within
|
||||
* the 'monstra' folder
|
||||
*/
|
||||
define('HELPERS', MONSTRA . DS . 'helpers');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'engine' folder which is contained within
|
||||
* the 'monstra' folder
|
||||
*/
|
||||
define('ENGINE', MONSTRA . DS . 'engine');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'boot' folder which is contained within
|
||||
* the 'monstra' folder
|
||||
*/
|
||||
define('BOOT', MONSTRA . DS . 'boot');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'storage' folder
|
||||
*/
|
||||
define('STORAGE', ROOT . DS . 'storage');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'xmldb' folder
|
||||
*/
|
||||
define('XMLDB', STORAGE . DS . 'database');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'cache' folder
|
||||
*/
|
||||
define('CACHE', ROOT . DS . 'tmp' . DS . 'cache');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'minify' folder
|
||||
*/
|
||||
define('MINIFY', ROOT . DS . 'tmp' . DS . 'minify');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'logs' folder
|
||||
*/
|
||||
define('LOGS', ROOT . DS . 'tmp' . DS . 'logs');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'assets' folder
|
||||
*/
|
||||
define('ASSETS', ROOT . DS . 'public' . DS . 'assets');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'uploads' folder
|
||||
*/
|
||||
define('UPLOADS', ROOT . DS . 'public' . DS . 'uploads');
|
||||
|
||||
/**
|
||||
* Set password salt
|
||||
*/
|
||||
define('MONSTRA_PASSWORD_SALT', 'YOUR_SALT_HERE');
|
||||
|
||||
/**
|
||||
* Set date format
|
||||
*/
|
||||
define('MONSTRA_DATE_FORMAT', 'Y-m-d / H:i:s');
|
||||
|
||||
/**
|
||||
* Set eval php
|
||||
*/
|
||||
define('MONSTRA_EVAL_PHP', false);
|
||||
|
||||
/**
|
||||
* Check Monstra CMS version
|
||||
*/
|
||||
define('CHECK_MONSTRA_VERSION', true);
|
||||
|
||||
/**
|
||||
* Set gzip output
|
||||
*/
|
||||
define('MONSTRA_GZIP', false);
|
||||
|
||||
/**
|
||||
* Monstra database settings
|
||||
*/
|
||||
//define('MONSTRA_DB_DSN', 'mysql:dbname=monstra;host=localhost;port=3306');
|
||||
//define('MONSTRA_DB_USER', 'root');
|
||||
//define('MONSTRA_DB_PASSWORD', 'password');
|
@@ -45,7 +45,7 @@
|
||||
|
||||
// Set maintenance mode for all except admin and editor
|
||||
if ((Session::exists('user_role')) and (Session::get('user_role') == 'admin' or Session::get('user_role') == 'editor')) {
|
||||
// Mosntra show this page :)
|
||||
// Monstra show this page :)
|
||||
} else {
|
||||
die (Text::toHtml(Option::get('maintenance_message')));
|
||||
}
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
// Frontend pre render
|
||||
Action::run('frontend_post_render');
|
||||
|
||||
|
||||
// Flush (send) the output buffer and turn off output buffering
|
||||
ob_end_flush();
|
||||
|
||||
|
@@ -4,4 +4,4 @@
|
||||
* Set meta generator
|
||||
*/
|
||||
Action::add('theme_header', 'setMetaGenerator');
|
||||
function setMetaGenerator() { echo '<meta name="generator" content="Powered by Monstra '.MONSTRA_VERSION.'" />'; }
|
||||
function setMetaGenerator() { echo '<meta name="generator" content="Powered by Monstra '.Core::VERSION.'" />'; }
|
@@ -5,32 +5,6 @@
|
||||
* Monstra CMS Defines
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Set gzip output
|
||||
*/
|
||||
define('MONSTRA_GZIP', false);
|
||||
|
||||
/**
|
||||
* Set gzip styles
|
||||
*/
|
||||
define('MONSTRA_GZIP_STYLES', false);
|
||||
|
||||
/**
|
||||
* Set Monstra version
|
||||
*/
|
||||
define('MONSTRA_VERSION', '2.0.1');
|
||||
|
||||
/**
|
||||
* Set Monstra version id
|
||||
*/
|
||||
define('MONSTRA_VERSION_ID', 20001);
|
||||
|
||||
/**
|
||||
* Set Monstra site url
|
||||
*/
|
||||
define('MONSTRA_SITEURL', 'http://monstra.org');
|
||||
|
||||
/**
|
||||
* The filesystem path to the 'monstra' folder
|
||||
*/
|
||||
@@ -109,11 +83,6 @@
|
||||
* The filesystem path to the 'uploads' folder
|
||||
*/
|
||||
define('UPLOADS', ROOT . DS . 'public' . DS . 'uploads');
|
||||
|
||||
/**
|
||||
* Set login sleep value
|
||||
*/
|
||||
define('MONSTRA_LOGIN_SLEEP', 1);
|
||||
|
||||
/**
|
||||
* Set password salt
|
||||
@@ -136,9 +105,9 @@
|
||||
define('CHECK_MONSTRA_VERSION', true);
|
||||
|
||||
/**
|
||||
* Monstra CMS mobile detection
|
||||
* Set gzip output
|
||||
*/
|
||||
define('MONSTRA_MOBILE', true);
|
||||
define('MONSTRA_GZIP', false);
|
||||
|
||||
/**
|
||||
* Monstra database settings
|
||||
|
8
monstra/boot/shortcodes.php
Normal file
8
monstra/boot/shortcodes.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
|
||||
/**
|
||||
* Add new shortcode {siteurl}
|
||||
*/
|
||||
Shortcode::add('siteurl', 'returnSiteUrl');
|
||||
function returnSiteUrl() { return Option::get('siteurl'); }
|
@@ -19,12 +19,6 @@
|
||||
Core::$environment = Core::PRODUCTION;
|
||||
|
||||
|
||||
/**
|
||||
* Include defines
|
||||
*/
|
||||
include ROOT . DS . 'monstra' . DS . 'boot' . DS . 'defines.php';
|
||||
|
||||
|
||||
/**
|
||||
* Monstra requires PHP 5.2.0 or greater
|
||||
*/
|
||||
@@ -43,38 +37,6 @@
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compress HTML with gzip
|
||||
*/
|
||||
if (MONSTRA_GZIP) {
|
||||
if ( ! ob_start("ob_gzhandler")) ob_start();
|
||||
} else {
|
||||
ob_start();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Send default header and set internal encoding
|
||||
*/
|
||||
header('Content-Type: text/html; charset=UTF-8');
|
||||
function_exists('mb_language') AND mb_language('uni');
|
||||
function_exists('mb_regex_encoding') AND mb_regex_encoding('UTF-8');
|
||||
function_exists('mb_internal_encoding') AND mb_internal_encoding('UTF-8');
|
||||
|
||||
|
||||
/**
|
||||
* Gets the current configuration setting of magic_quotes_gpc
|
||||
* and kill magic quotes
|
||||
*/
|
||||
if (get_magic_quotes_gpc()) {
|
||||
function stripslashesGPC(&$value) { $value = stripslashes($value); }
|
||||
array_walk_recursive($_GET, 'stripslashesGPC');
|
||||
array_walk_recursive($_POST, 'stripslashesGPC');
|
||||
array_walk_recursive($_COOKIE, 'stripslashesGPC');
|
||||
array_walk_recursive($_REQUEST, 'stripslashesGPC');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initialize core
|
||||
*/
|
||||
|
@@ -71,6 +71,38 @@
|
||||
*/
|
||||
protected function __construct() {
|
||||
|
||||
// Load core defines
|
||||
Core::loadDefines();
|
||||
|
||||
/**
|
||||
* Compress HTML with gzip
|
||||
*/
|
||||
if (MONSTRA_GZIP) {
|
||||
if ( ! ob_start("ob_gzhandler")) ob_start();
|
||||
} else {
|
||||
ob_start();
|
||||
}
|
||||
|
||||
/**
|
||||
* Send default header and set internal encoding
|
||||
*/
|
||||
header('Content-Type: text/html; charset=UTF-8');
|
||||
function_exists('mb_language') AND mb_language('uni');
|
||||
function_exists('mb_regex_encoding') AND mb_regex_encoding('UTF-8');
|
||||
function_exists('mb_internal_encoding') AND mb_internal_encoding('UTF-8');
|
||||
|
||||
/**
|
||||
* Gets the current configuration setting of magic_quotes_gpc
|
||||
* and kill magic quotes
|
||||
*/
|
||||
if (get_magic_quotes_gpc()) {
|
||||
function stripslashesGPC(&$value) { $value = stripslashes($value); }
|
||||
array_walk_recursive($_GET, 'stripslashesGPC');
|
||||
array_walk_recursive($_POST, 'stripslashesGPC');
|
||||
array_walk_recursive($_COOKIE, 'stripslashesGPC');
|
||||
array_walk_recursive($_REQUEST, 'stripslashesGPC');
|
||||
}
|
||||
|
||||
// Error handling for Developers only.
|
||||
if (Core::$environment != Core::PRODUCTION) {
|
||||
|
||||
@@ -129,11 +161,8 @@
|
||||
// Load Shortcodes API module
|
||||
require_once(ENGINE . DS . 'shortcodes.php');
|
||||
|
||||
// Load default filters
|
||||
require_once(BOOT . DS . 'filters.php');
|
||||
|
||||
// Load default hooks
|
||||
require_once(BOOT . DS . 'hooks.php');
|
||||
// Load default
|
||||
Core::loadPluggable();
|
||||
|
||||
// Init I18n
|
||||
I18n::init(Option::get('language'));
|
||||
@@ -163,6 +192,81 @@
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Load Defines
|
||||
*/
|
||||
protected static function loadDefines() {
|
||||
|
||||
$environments = array(1 => 'production',
|
||||
2 => 'staging',
|
||||
3 => 'testing',
|
||||
4 => 'development');
|
||||
|
||||
$root_defines = ROOT . DS . 'boot' . DS . 'defines.php';
|
||||
$environment_defines = ROOT . DS . 'boot' . DS . $environments[Core::$environment] . DS . 'defines.php';
|
||||
$monstra_defines = ROOT . DS . 'monstra' . DS . 'boot' . DS . 'defines.php';
|
||||
|
||||
|
||||
if (file_exists($root_defines)) {
|
||||
include $root_defines;
|
||||
} elseif(file_exists($environment_defines)) {
|
||||
include $environment_defines;
|
||||
} elseif(file_exists($monstra_defines)) {
|
||||
include $monstra_defines;
|
||||
} else {
|
||||
throw new RuntimeException("The defines file does not exist.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Load Pluggable
|
||||
*/
|
||||
protected static function loadPluggable() {
|
||||
|
||||
$environments = array(1 => 'production',
|
||||
2 => 'staging',
|
||||
3 => 'testing',
|
||||
4 => 'development');
|
||||
|
||||
$root_pluggable = ROOT . DS . 'boot';
|
||||
$environment_pluggable = ROOT . DS . 'boot' . DS . $environments[Core::$environment];
|
||||
$monstra_pluggable = ROOT . DS . 'monstra' . DS . 'boot';
|
||||
|
||||
|
||||
if (file_exists($root_pluggable . DS . 'filters.php')) {
|
||||
include $root_pluggable . DS . 'filters.php';
|
||||
} elseif(file_exists($environment_pluggable . DS . 'filters.php')) {
|
||||
include $environment_pluggable . DS . 'filters.php';
|
||||
} elseif(file_exists($monstra_pluggable . DS . 'filters.php')) {
|
||||
include $monstra_pluggable . DS . 'filters.php';
|
||||
} else {
|
||||
throw new RuntimeException("The pluggable file does not exist.");
|
||||
}
|
||||
|
||||
if (file_exists($root_pluggable . DS . 'actions.php')) {
|
||||
include $root_pluggable . DS . 'actions.php';
|
||||
} elseif(file_exists($environment_pluggable . DS . 'actions.php')) {
|
||||
include $environment_pluggable . DS . 'actions.php';
|
||||
} elseif(file_exists($monstra_pluggable . DS . 'actions.php')) {
|
||||
include $monstra_pluggable . DS . 'actions.php';
|
||||
} else {
|
||||
throw new RuntimeException("The pluggable file does not exist.");
|
||||
}
|
||||
|
||||
if (file_exists($root_pluggable . DS . 'shortcodes.php')) {
|
||||
include $root_pluggable . DS . 'shortcodes.php';
|
||||
} elseif(file_exists($environment_pluggable . DS . 'shortcodes.php')) {
|
||||
include $environment_pluggable . DS . 'shortcodes.php';
|
||||
} elseif(file_exists($monstra_pluggable . DS . 'shortcodes.php')) {
|
||||
include $monstra_pluggable . DS . 'shortcodes.php';
|
||||
} else {
|
||||
throw new RuntimeException("The pluggable file does not exist.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Exception Handler
|
||||
*
|
||||
@@ -367,6 +471,7 @@
|
||||
highlight_string('<?php ' . str_replace('/*', '#$@r4!/*', $string), true));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Convert errors not caught by the errorHandler to ErrorExceptions.
|
||||
|
@@ -221,12 +221,7 @@
|
||||
* @return string
|
||||
*/
|
||||
public static function powered() {
|
||||
return __('Powered by', 'system').' <a href="' . MONSTRA_SITEURL . '" target="_blank">Monstra</a> ' . MONSTRA_VERSION;
|
||||
return __('Powered by', 'system').' <a href="http://monstra.org" target="_blank">Monstra</a> ' . Core::VERSION;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Add new shortcode {siteurl}
|
||||
Shortcode::add('siteurl', 'returnSiteUrl');
|
||||
function returnSiteUrl() { return Option::get('siteurl'); }
|
||||
}
|
Reference in New Issue
Block a user