1
0
mirror of https://github.com/monstra-cms/monstra.git synced 2025-07-31 02:10:37 +02:00

Core Improvements: Next Round #79 #80

This commit is contained in:
Awilum
2013-01-08 22:16:29 +02:00
parent 0c984788c0
commit 7e71457a2e
72 changed files with 524 additions and 369 deletions

View File

@@ -1,16 +1,18 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Gelato Library
* Monstra Engine
*
* This source file is part of the Gelato Library. More information,
* documentation and tutorials can be found at http://gelato.monstra.org
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Gelato
* @package Monstra
*
* @author Romanenko Sergey / Awilum
* @copyright (c) 2013 Romanenko Sergey / Awilum
* @since 1.0.0
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Alert

View File

@@ -1,29 +1,28 @@
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Main Monstra Engine module.
* Monstra Engine
*
* Monstra - Content Management System.
* Site: mostra.org
* Copyright (C) 2012 Romanenko Sergey / Awilum [awilum@msn.com]
* Monstra - Content Management System.
* Site: www.mostra.org
* Copyright (C) 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* @package Monstra
* @author Romanenko Sergey / Awilum
* @copyright 2012 Romanenko Sergey / Awilum
* @version $Id$
* @since 1.0.0
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* Monstra is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYING.txt for copyright notices and details.
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Core
class Monstra
{
/**
* An instance of the Core class
* An instance of the Monstra class
*
* @var core
*/
@@ -47,7 +46,7 @@ class Core
*
* @var string
*/
public static $environment = Core::PRODUCTION;
public static $environment = Monstra::PRODUCTION;
/**
* Monstra environment names
@@ -55,10 +54,10 @@ class Core
* @var array
*/
public static $environment_names = array(
Core::PRODUCTION => 'production',
Core::STAGING => 'staging',
Core::TESTING => 'testing',
Core::DEVELOPMENT => 'development',
Monstra::PRODUCTION => 'production',
Monstra::STAGING => 'staging',
Monstra::TESTING => 'testing',
Monstra::DEVELOPMENT => 'development',
);
/**
@@ -79,7 +78,7 @@ class Core
/**
* Load core defines
*/
Core::loadDefines();
Monstra::loadDefines();
/**
* Compress HTML with gzip
@@ -113,7 +112,7 @@ class Core
/**
* Set Gelato Display Errors to False for Production environment.
*/
if (Core::$environment == Core::PRODUCTION) {
if (Monstra::$environment == Monstra::PRODUCTION) {
define('GELATO_DISPLAY_ERRORS', false);
}
@@ -126,7 +125,7 @@ class Core
* Map all Monstra Classes
*/
ClassLoader::mapClasses(array(
// Site Modules
'Security' => ROOT . DS .'engine'. DS .'Security.php',
'Uri' => ROOT . DS .'engine'. DS .'Uri.php',
@@ -139,16 +138,16 @@ class Core
'Table' => ROOT . DS .'engine'. DS .'Xmldb'. DS .'Table.php',
// Plugin API
'Plugin' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Plugin.php',
'Frontend' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Frontend.php',
'Backend' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Backend.php',
'Action' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Action.php',
'Filter' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Filter.php',
'View' => ROOT . DS .'engine'. DS .'Plugin'. DS .'View.php',
'I18n' => ROOT . DS .'engine'. DS .'Plugin'. DS .'I18n.php',
'Stylesheet' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Stylesheet.php',
'Javascript' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Javascript.php',
'Navigation' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Navigation.php',
'Plugin' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Plugin.php',
'Frontend' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Frontend.php',
'Backend' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Backend.php',
'Action' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Action.php',
'Filter' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Filter.php',
'View' => ROOT . DS .'engine'. DS .'Plugin'. DS .'View.php',
'I18n' => ROOT . DS .'engine'. DS .'Plugin'. DS .'I18n.php',
'Stylesheet' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Stylesheet.php',
'Javascript' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Javascript.php',
'Navigation' => ROOT . DS .'engine'. DS .'Plugin'. DS .'Navigation.php',
// Option API
'Option' => ROOT . DS .'engine'. DS .'Option.php',
@@ -175,7 +174,7 @@ class Core
/**
* Auto cleanup if MONSTRA_DEBUG is TRUE
*/
if (Core::$environment == Core::DEVELOPMENT) {
if (Monstra::$environment == Monstra::DEVELOPMENT) {
// Cleanup minify
if (count($files = File::scan(MINIFY, array('css', 'js', 'php'))) > 0) foreach ($files as $file) File::delete(MINIFY . DS . $file);
@@ -208,7 +207,7 @@ class Core
/**
* Load default
*/
Core::loadPluggable();
Monstra::loadPluggable();
/**
* Init I18n
@@ -237,7 +236,7 @@ class Core
protected static function loadDefines()
{
$root_defines = ROOT . DS . 'boot' . DS . 'defines.php';
$environment_defines = ROOT . DS . 'boot' . DS . Core::$environment_names[Core::$environment] . DS . 'defines.php';
$environment_defines = ROOT . DS . 'boot' . DS . Monstra::$environment_names[Monstra::$environment] . DS . 'defines.php';
$monstra_defines = ROOT . DS . 'engine' . DS . 'boot' . DS . 'defines.php';
if (file_exists($root_defines)) {
@@ -257,7 +256,7 @@ class Core
protected static function loadPluggable()
{
$root_pluggable = ROOT . DS . 'boot';
$environment_pluggable = ROOT . DS . 'boot' . DS . Core::$environment_names[Core::$environment];
$environment_pluggable = ROOT . DS . 'boot' . DS . Monstra::$environment_names[Monstra::$environment];
$monstra_pluggable = ROOT . DS . 'engine' . DS . 'boot';
if (file_exists($root_pluggable . DS . 'filters.php')) {
@@ -295,11 +294,11 @@ class Core
/**
* Initialize Monstra Engine
*
* @return Core
* @return Monstra
*/
public static function init()
{
if ( ! isset(self::$instance)) self::$instance = new Core();
if ( ! isset(self::$instance)) self::$instance = new Monstra();
return self::$instance;
}

View File

@@ -1,21 +1,18 @@
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Monstra Options API module
* Monstra Engine
*
* @package Monstra
* @subpackage Engine
* @author Romanenko Sergey / Awilum
* @copyright 2012 Romanenko Sergey / Awilum
* @version $Id$
* @since 1.0.0
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* Monstra is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYING.txt for copyright notices and details.
* @filesource
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Option

View File

@@ -1,9 +1,20 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Action class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Action
{
/**

View File

@@ -1,10 +1,21 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Backend class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Backend
{
public static function main() { }
}
}

View File

@@ -1,9 +1,20 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Filter class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Filter
{
/**

View File

@@ -1,8 +1,20 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Frontend class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Frontend
{
public static function main() { }
@@ -12,4 +24,4 @@ class Frontend
public static function template() { return 'index'; }
public static function content() { return ''; }
}
}

View File

@@ -1,9 +1,20 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* I18n class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class I18n
{
/**

View File

@@ -1,9 +1,20 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Javascript class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Javascript
{
/**
@@ -23,7 +34,6 @@ class Javascript
// Nothing here
}
/**
* Add javascript
*
@@ -46,7 +56,6 @@ class Javascript
);
}
/**
* Combine and load site javascript
*/
@@ -64,11 +73,9 @@ class Javascript
$frontend_buffer = '';
$frontend_regenerate = false;
// Sort javascripts by priority
$javascripts = Arr::subvalSort(Javascript::$javascripts, 'priority');
if (BACKEND) {
// Build backend site javascript
@@ -126,4 +133,4 @@ class Javascript
}
}
}
}

View File

@@ -1,9 +1,20 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Navigation class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Navigation
{
/**
@@ -13,14 +24,12 @@ class Navigation
*/
public static $items = array();
/**
* Navigation types
*/
const LEFT = 1;
const TOP = 2;
/**
* Add new item
*
@@ -51,7 +60,6 @@ class Navigation
);
}
/**
* Draw items
*

View File

@@ -1,9 +1,20 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Plugin class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Plugin
{
/**

View File

@@ -1,9 +1,20 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Stylesheet class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Stylesheet
{
/**
@@ -13,7 +24,6 @@ class Stylesheet
*/
public static $stylesheets = array();
/**
* Protected constructor since this is a static class.
*
@@ -24,7 +34,6 @@ class Stylesheet
// Nothing here
}
/**
* Add stylesheet
*
@@ -47,7 +56,6 @@ class Stylesheet
);
}
/**
* Minify, combine and load site stylesheet
*/
@@ -65,7 +73,6 @@ class Stylesheet
$frontend_buffer = '';
$frontend_regenerate = false;
// Sort stylesheets by priority
$stylesheets = Arr::subvalSort(Stylesheet::$stylesheets, 'priority');
@@ -93,7 +100,6 @@ class Stylesheet
$backend_regenerate = false;
}
} else {
// Build frontend site stylesheets
@@ -129,7 +135,6 @@ class Stylesheet
}
}
/**
* CSS Parser
*/
@@ -144,5 +149,4 @@ class Stylesheet
$frontend_buffer);
}
}
}

View File

@@ -1,8 +1,20 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* View class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class View
{
/**

View File

@@ -1,21 +1,18 @@
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Monstra Security module
* Monstra Engine
*
* @package Monstra
* @subpackage Engine
* @author Romanenko Sergey / Awilum
* @copyright 2012 Romanenko Sergey / Awilum
* @version $Id$
* @since 1.0.0
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* Monstra is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYING.txt for copyright notices and details.
* @filesource
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Security

View File

@@ -1,36 +1,18 @@
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Monstra Shortcodes API
* Monstra Engine
*
* The Shortcode API s a simple regex based parser that allows you to replace simple bbcode-like tags
* within a HTMLText or HTMLVarchar field when rendered into a content.
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* Examples of shortcode tags:
* @package Monstra
*
* {shortcode}
* {shortcode parameter="value"}
* {shortcode parameter="value"}Enclosed Content{/shortcode}
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
*
* Example of escaping shortcodes:
*
* {{shortcode}}
*
*
* @package Monstra
* @subpackage Engine
* @author Romanenko Sergey / Awilum
* @copyright 2012 Romanenko Sergey / Awilum
* @version $Id$
* @since 1.0.0
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* Monstra is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYING.txt for copyright notices and details.
* @filesource
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Shortcode

View File

@@ -1,21 +1,18 @@
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Monstra Site module
* Monstra Engine
*
* @package Monstra
* @subpackage Engine
* @author Romanenko Sergey / Awilum
* @copyright 2012 Romanenko Sergey / Awilum
* @version $Id$
* @since 1.0.0
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* Monstra is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYING.txt for copyright notices and details.
* @filesource
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Site
@@ -221,7 +218,7 @@ class Site
*/
public static function powered()
{
return __('Powered by', 'system').' <a href="http://monstra.org" target="_blank">Monstra</a> ' . Core::VERSION;
return __('Powered by', 'system').' <a href="http://monstra.org" target="_blank">Monstra</a> ' . Monstra::VERSION;
}
}

View File

@@ -1,21 +1,18 @@
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Monstra Uri module
* Monstra Engine
*
* @package Monstra
* @subpackage Engine
* @author Romanenko Sergey / Awilum
* @copyright 2012 Romanenko Sergey / Awilum
* @version $Id$
* @since 1.0.0
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* Monstra is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYING.txt for copyright notices and details.
* @filesource
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Uri

View File

@@ -1,10 +1,20 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* DB Class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class DB
{
/**

View File

@@ -1,9 +1,20 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Table class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Table
{
/**

View File

@@ -1,8 +1,20 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* XML class
* Monstra Engine
*
* This source file is part of the Monstra Engine. More information,
* documentation and tutorials can be found at http://monstra.org
*
* @package Monstra
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class XML
{
/**

View File

@@ -17,22 +17,22 @@ if (version_compare(PHP_VERSION, "5.2.0", "<")) {
}
/**
* Include Monstra Engine Core
* Include Monstra Engine
*/
include ROOT . DS .'engine'. DS .'Core.php';
include ROOT . DS .'engine'. DS .'Monstra.php';
/**
* Set Monstra Core Environment
* Set Monstra Environment
*
* Monstra has four predefined environments:
* Core::DEVELOPMENT - The development environment.
* Core::TESTING - The test environment.
* Core::STAGING - The staging environment.
* Core::PRODUCTION - The production environment.
* Monstra::DEVELOPMENT - The development environment.
* Monstra::TESTING - The test environment.
* Monstra::STAGING - The staging environment.
* Monstra::PRODUCTION - The production environment.
*/
Core::$environment = Core::DEVELOPMENT;
Monstra::$environment = Monstra::DEVELOPMENT;
/**
* Initialize Core
* Initialize Monstra
*/
Core::init();
Monstra::init();

View File

@@ -1,7 +1,7 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Set meta generator
*/
Action::add('theme_meta', 'setMetaGenerator');
function setMetaGenerator() { echo '<meta name="generator" content="Powered by Monstra '.Core::VERSION.'" />'; }
function setMetaGenerator() { echo '<meta name="generator" content="Powered by Monstra '.Monstra::VERSION.'" />'; }

View File

@@ -1,4 +1,4 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Evaluate a string as PHP code

View File

@@ -1,4 +1,4 @@
<?php
<?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/**
* Add new shortcode {siteurl}