浏览代码

修复BUG

oubo 7 年之前
父节点
当前提交
5b31d66d00
共有 5 个文件被更改,包括 531 次插入1222 次删除
  1. 48 42
      bin/tools.php
  2. 20 6
      vendor/autoload.php
  3. 209 564
      vendor/yiisoft/yii2/BaseYii.php
  4. 27 24
      vendor/yiisoft/yii2/Yii.php
  5. 227 586
      vendor/yiisoft/yii2/base/View.php

+ 48 - 42
bin/tools.php

@@ -1,43 +1,49 @@
-<?php
-require_once(__DIR__ . '/../common/utils/IniUtils.php');
-const LACEMI_CONFIG_FILE = __DIR__ . '/../data/lacemi.ini';
+<?php //000a0
+// /**
+//  * @link http://www.lacew.com/
+//  * @copyright Copyright (c) 2015 Centrenda IT LLC
+//  * @license http://www.lacew.com/license/
+//  */
 
-/**
- * @return mixed
- */
-function getDomain()
-{
-    if (ioncube_file_is_encoded()) {
-        $data = ioncube_licensed_servers();
-        return $data[0];
-    } else {
-        $nginxConfigFile='/etc/nginx/conf.d/default.conf';
-        if(file_exists($nginxConfigFile)){
-            $nginxConfigFileContent=file_get_contents($nginxConfigFile);
-            if(preg_match('/server_name ([0-9a-zA-Z\.]+)/',$nginxConfigFileContent,$matches)){
-                return ($matches[1]);
-            }
-        }
-    }
-}
-
-if (isset($argv[1])) {
-    switch ($argv[1]) {
-        case 'getDomain':
-            echo getDomain();
-            break;
-        case 'getHostname':
-            echo getHostname();
-            break;
-        case 'readIni':
-            echo \common\utils\IniUtils::read($argv[2],$argv[3],$argv[4]);
-            break;
-        case 'writeIni':
-            $result=\common\utils\IniUtils::write($argv[2],$argv[3],$argv[4],$argv[5]);
-            break;
-        default:
-            echo "用法:php $argv[0] [getDoamin|getHostname]" . PHP_EOL;
-    }
-} else {
-    echo "用法:php $argv[0] [getDoamin|getHostname]" . PHP_EOL;
-}
+?>
+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
+SzR0OXXzwYidLe4Ugmfs6w34r4scQAgMaG==

+ 20 - 6
vendor/autoload.php

@@ -1,7 +1,21 @@
-<?php
+<?php //000a0
+// /**
+//  * @link http://www.lacew.com/
+//  * @copyright Copyright (c) 2015 Centrenda IT LLC
+//  * @license http://www.lacew.com/license/
+//  */
 
-// autoload.php @generated by Composer
-
-require_once __DIR__ . '/composer/autoload_real.php';
-
-return ComposerAutoloaderInit5a24458ba575cc66082322a6d598ebb4::getLoader();
+?>
+HR+cPoUzQWBwdsysMWB/BI7tripdSIksvUbM4NTyixrP8HS12iH7pfTOGdoYKfvz1YVHNqE35VLP
+KrTXY3ZhdvKon91lzGGJ1sl+i1DQYyDwhEBEYY0zTeKpA6m2p93xO7fQ5mXxHuAU7K48HCigBinx
+wflUat84kPGOZ+t45I4D1FGaZJTPyP1paMnR0tMqV3Uc7CsSDoXbm938ipeVbONlBgIGT4eAobW+
+VWZsHsYBsPCoyES8OZOLGmavt8PKzLjuiaRRmuCPI0YJnHoJ5OxPSVcc9KN8rl8BVJEyoUTxE727
+psNzkbxkkhbmfTbwHdT5ENdAtorZGO3hT5Evf2VdMcMoqB/Qol5/dQxdBykCg0j+hlnFeQ7NSxap
+tKSkrwQP2F2ztEuI7linent5xGX6J7CL+aLQ1NNfFLvOp4UUl7pC+XsfW9TME4qWxVdNrv36+uiN
+ulgdtTYag9WZ2VNC9lXJNt2o66yQA8JxUodIOXzIEZd8xkF9iAFpgjhbObLNlrTdaUtehoUAHkAl
+IOE0AIHANWba/3VlxGvxga+4gjTcmzimKmhDd1QJ7RH491WbFx3yIPM9G7FQt9Lollm804Hzxk7v
+8UkVTRYthCBbRxyG4J7v67orXggnHsfNranWVPVbyEC5WMY8XyUMKUb63+1DZWSesltwKJrUNpNs
+1yj2hM/M1D3ZIHlj/xJrMu0CML2KQzamRs2ZQyHtM0XJyIvT1SzOb/4fYSGJKG0J0PJkqkHzvlQZ
+kxez5IrXnn63bH+5tLHb0NM+QJUgJ8K3NYC+FoVDod3mbq6prdErZLujLtbqbiGDd9At8oHEdv8W
+Aqjc+3iZbU7tqg1uz3zUk8GQb5ltQxJ4kxEyjrVwKMk/ohCsGTDHxHyi52nyOm7BqDE478aZN8n6
+nz6GN5wA9pJSGcp4dKz5yx0+e7xefeTx1r6DUZCSO84S4AI+skZITBicoT8sh6oXDta=

+ 209 - 564
vendor/yiisoft/yii2/BaseYii.php

@@ -1,564 +1,209 @@
-<?php
-/**
- * @link http://www.yiiframework.com/
- * @copyright Copyright (c) 2008 Yii Software LLC
- * @license http://www.yiiframework.com/license/
- */
-
-namespace yii;
-
-use yii\base\InvalidArgumentException;
-use yii\base\InvalidConfigException;
-use yii\base\UnknownClassException;
-use yii\di\Container;
-use yii\log\Logger;
-
-/**
- * Gets the application start timestamp.
- */
-defined('YII_BEGIN_TIME') or define('YII_BEGIN_TIME', microtime(true));
-/**
- * This constant defines the framework installation directory.
- */
-defined('YII2_PATH') or define('YII2_PATH', __DIR__);
-/**
- * This constant defines whether the application should be in debug mode or not. Defaults to false.
- */
-defined('YII_DEBUG') or define('YII_DEBUG', false);
-/**
- * This constant defines in which environment the application is running. Defaults to 'prod', meaning production environment.
- * You may define this constant in the bootstrap script. The value could be 'prod' (production), 'dev' (development), 'test', 'staging', etc.
- */
-defined('YII_ENV') or define('YII_ENV', 'prod');
-/**
- * Whether the the application is running in production environment.
- */
-defined('YII_ENV_PROD') or define('YII_ENV_PROD', YII_ENV === 'prod');
-/**
- * Whether the the application is running in development environment.
- */
-defined('YII_ENV_DEV') or define('YII_ENV_DEV', YII_ENV === 'dev');
-/**
- * Whether the the application is running in testing environment.
- */
-defined('YII_ENV_TEST') or define('YII_ENV_TEST', YII_ENV === 'test');
-
-/**
- * This constant defines whether error handling should be enabled. Defaults to true.
- */
-defined('YII_ENABLE_ERROR_HANDLER') or define('YII_ENABLE_ERROR_HANDLER', true);
-
-/**
- * BaseYii is the core helper class for the Yii framework.
- *
- * Do not use BaseYii directly. Instead, use its child class [[\Yii]] which you can replace to
- * customize methods of BaseYii.
- *
- * @author Qiang Xue <qiang.xue@gmail.com>
- * @since 2.0
- */
-class BaseYii
-{
-    /**
-     * @var array class map used by the Yii autoloading mechanism.
-     * The array keys are the class names (without leading backslashes), and the array values
-     * are the corresponding class file paths (or [path aliases](guide:concept-aliases)). This property mainly affects
-     * how [[autoload()]] works.
-     * @see autoload()
-     */
-    public static $classMap = [];
-    /**
-     * @var \yii\console\Application|\yii\web\Application the application instance
-     */
-    public static $app;
-    /**
-     * @var array registered path aliases
-     * @see getAlias()
-     * @see setAlias()
-     */
-    public static $aliases = ['@yii' => __DIR__];
-    /**
-     * @var Container the dependency injection (DI) container used by [[createObject()]].
-     * You may use [[Container::set()]] to set up the needed dependencies of classes and
-     * their initial property values.
-     * @see createObject()
-     * @see Container
-     */
-    public static $container;
-
-
-    /**
-     * Returns a string representing the current version of the Yii framework.
-     * @return string the version of Yii framework
-     */
-    public static function getVersion()
-    {
-        return '2.0.16-dev';
-    }
-
-    /**
-     * Translates a path alias into an actual path.
-     *
-     * The translation is done according to the following procedure:
-     *
-     * 1. If the given alias does not start with '@', it is returned back without change;
-     * 2. Otherwise, look for the longest registered alias that matches the beginning part
-     *    of the given alias. If it exists, replace the matching part of the given alias with
-     *    the corresponding registered path.
-     * 3. Throw an exception or return false, depending on the `$throwException` parameter.
-     *
-     * For example, by default '@yii' is registered as the alias to the Yii framework directory,
-     * say '/path/to/yii'. The alias '@yii/web' would then be translated into '/path/to/yii/web'.
-     *
-     * If you have registered two aliases '@foo' and '@foo/bar'. Then translating '@foo/bar/config'
-     * would replace the part '@foo/bar' (instead of '@foo') with the corresponding registered path.
-     * This is because the longest alias takes precedence.
-     *
-     * However, if the alias to be translated is '@foo/barbar/config', then '@foo' will be replaced
-     * instead of '@foo/bar', because '/' serves as the boundary character.
-     *
-     * Note, this method does not check if the returned path exists or not.
-     *
-     * See the [guide article on aliases](guide:concept-aliases) for more information.
-     *
-     * @param string $alias the alias to be translated.
-     * @param bool $throwException whether to throw an exception if the given alias is invalid.
-     * If this is false and an invalid alias is given, false will be returned by this method.
-     * @return string|bool the path corresponding to the alias, false if the root alias is not previously registered.
-     * @throws InvalidArgumentException if the alias is invalid while $throwException is true.
-     * @see setAlias()
-     */
-    public static function getAlias($alias, $throwException = true)
-    {
-        if (strncmp($alias, '@', 1)) {
-            // not an alias
-            return $alias;
-        }
-
-        $pos = strpos($alias, '/');
-        $root = $pos === false ? $alias : substr($alias, 0, $pos);
-
-        if (isset(static::$aliases[$root])) {
-            if (is_string(static::$aliases[$root])) {
-                return $pos === false ? static::$aliases[$root] : static::$aliases[$root] . substr($alias, $pos);
-            }
-
-            foreach (static::$aliases[$root] as $name => $path) {
-                if (strpos($alias . '/', $name . '/') === 0) {
-                    return $path . substr($alias, strlen($name));
-                }
-            }
-        }
-
-        if ($throwException) {
-            throw new InvalidArgumentException("Invalid path alias: $alias");
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns the root alias part of a given alias.
-     * A root alias is an alias that has been registered via [[setAlias()]] previously.
-     * If a given alias matches multiple root aliases, the longest one will be returned.
-     * @param string $alias the alias
-     * @return string|bool the root alias, or false if no root alias is found
-     */
-    public static function getRootAlias($alias)
-    {
-        $pos = strpos($alias, '/');
-        $root = $pos === false ? $alias : substr($alias, 0, $pos);
-
-        if (isset(static::$aliases[$root])) {
-            if (is_string(static::$aliases[$root])) {
-                return $root;
-            }
-
-            foreach (static::$aliases[$root] as $name => $path) {
-                if (strpos($alias . '/', $name . '/') === 0) {
-                    return $name;
-                }
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Registers a path alias.
-     *
-     * A path alias is a short name representing a long path (a file path, a URL, etc.)
-     * For example, we use '@yii' as the alias of the path to the Yii framework directory.
-     *
-     * A path alias must start with the character '@' so that it can be easily differentiated
-     * from non-alias paths.
-     *
-     * Note that this method does not check if the given path exists or not. All it does is
-     * to associate the alias with the path.
-     *
-     * Any trailing '/' and '\' characters in the given path will be trimmed.
-     *
-     * See the [guide article on aliases](guide:concept-aliases) for more information.
-     *
-     * @param string $alias the alias name (e.g. "@yii"). It must start with a '@' character.
-     * It may contain the forward slash '/' which serves as boundary character when performing
-     * alias translation by [[getAlias()]].
-     * @param string $path the path corresponding to the alias. If this is null, the alias will
-     * be removed. Trailing '/' and '\' characters will be trimmed. This can be
-     *
-     * - a directory or a file path (e.g. `/tmp`, `/tmp/main.txt`)
-     * - a URL (e.g. `http://www.yiiframework.com`)
-     * - a path alias (e.g. `@yii/base`). In this case, the path alias will be converted into the
-     *   actual path first by calling [[getAlias()]].
-     *
-     * @throws InvalidArgumentException if $path is an invalid alias.
-     * @see getAlias()
-     */
-    public static function setAlias($alias, $path)
-    {
-        if (strncmp($alias, '@', 1)) {
-            $alias = '@' . $alias;
-        }
-        $pos = strpos($alias, '/');
-        $root = $pos === false ? $alias : substr($alias, 0, $pos);
-        if ($path !== null) {
-            $path = strncmp($path, '@', 1) ? rtrim($path, '\\/') : static::getAlias($path);
-            if (!isset(static::$aliases[$root])) {
-                if ($pos === false) {
-                    static::$aliases[$root] = $path;
-                } else {
-                    static::$aliases[$root] = [$alias => $path];
-                }
-            } elseif (is_string(static::$aliases[$root])) {
-                if ($pos === false) {
-                    static::$aliases[$root] = $path;
-                } else {
-                    static::$aliases[$root] = [
-                        $alias => $path,
-                        $root => static::$aliases[$root],
-                    ];
-                }
-            } else {
-                static::$aliases[$root][$alias] = $path;
-                krsort(static::$aliases[$root]);
-            }
-        } elseif (isset(static::$aliases[$root])) {
-            if (is_array(static::$aliases[$root])) {
-                unset(static::$aliases[$root][$alias]);
-            } elseif ($pos === false) {
-                unset(static::$aliases[$root]);
-            }
-        }
-    }
-
-    /**
-     * Class autoload loader.
-     *
-     * This method is invoked automatically when PHP sees an unknown class.
-     * The method will attempt to include the class file according to the following procedure:
-     *
-     * 1. Search in [[classMap]];
-     * 2. If the class is namespaced (e.g. `yii\base\Component`), it will attempt
-     *    to include the file associated with the corresponding path alias
-     *    (e.g. `@yii/base/Component.php`);
-     *
-     * This autoloader allows loading classes that follow the [PSR-4 standard](http://www.php-fig.org/psr/psr-4/)
-     * and have its top-level namespace or sub-namespaces defined as path aliases.
-     *
-     * Example: When aliases `@yii` and `@yii/bootstrap` are defined, classes in the `yii\bootstrap` namespace
-     * will be loaded using the `@yii/bootstrap` alias which points to the directory where bootstrap extension
-     * files are installed and all classes from other `yii` namespaces will be loaded from the yii framework directory.
-     *
-     * Also the [guide section on autoloading](guide:concept-autoloading).
-     *
-     * @param string $className the fully qualified class name without a leading backslash "\"
-     * @throws UnknownClassException if the class does not exist in the class file
-     */
-    public static function autoload($className)
-    {
-        if (isset(static::$classMap[$className])) {
-            $classFile = static::$classMap[$className];
-            if ($classFile[0] === '@') {
-                $classFile = static::getAlias($classFile);
-            }
-        } elseif (strpos($className, '\\') !== false) {
-            $classFile = static::getAlias('@' . str_replace('\\', '/', $className) . '.php', false);
-            if ($classFile === false || !is_file($classFile)) {
-                return;
-            }
-        } else {
-            return;
-        }
-
-        include $classFile;
-
-        if (YII_DEBUG && !class_exists($className, false) && !interface_exists($className, false) && !trait_exists($className, false)) {
-            throw new UnknownClassException("Unable to find '$className' in file: $classFile. Namespace missing?");
-        }
-    }
-
-    /**
-     * Creates a new object using the given configuration.
-     *
-     * You may view this method as an enhanced version of the `new` operator.
-     * The method supports creating an object based on a class name, a configuration array or
-     * an anonymous function.
-     *
-     * Below are some usage examples:
-     *
-     * ```php
-     * // create an object using a class name
-     * $object = Yii::createObject('yii\db\Connection');
-     *
-     * // create an object using a configuration array
-     * $object = Yii::createObject([
-     *     'class' => 'yii\db\Connection',
-     *     'dsn' => 'mysql:host=127.0.0.1;dbname=demo',
-     *     'username' => 'root',
-     *     'password' => '',
-     *     'charset' => 'utf8',
-     * ]);
-     *
-     * // create an object with two constructor parameters
-     * $object = \Yii::createObject('MyClass', [$param1, $param2]);
-     * ```
-     *
-     * Using [[\yii\di\Container|dependency injection container]], this method can also identify
-     * dependent objects, instantiate them and inject them into the newly created object.
-     *
-     * @param string|array|callable $type the object type. This can be specified in one of the following forms:
-     *
-     * - a string: representing the class name of the object to be created
-     * - a configuration array: the array must contain a `class` element which is treated as the object class,
-     *   and the rest of the name-value pairs will be used to initialize the corresponding object properties
-     * - a PHP callable: either an anonymous function or an array representing a class method (`[$class or $object, $method]`).
-     *   The callable should return a new instance of the object being created.
-     *
-     * @param array $params the constructor parameters
-     * @return object the created object
-     * @throws InvalidConfigException if the configuration is invalid.
-     * @see \yii\di\Container
-     */
-    public static function createObject($type, array $params = [])
-    {
-        if (is_string($type)) {
-            return static::$container->get($type, $params);
-        } elseif (is_array($type) && isset($type['class'])) {
-            $class = $type['class'];
-            unset($type['class']);
-            return static::$container->get($class, $params, $type);
-        } elseif (is_callable($type, true)) {
-            return static::$container->invoke($type, $params);
-        } elseif (is_array($type)) {
-            throw new InvalidConfigException('Object configuration must be an array containing a "class" element.');
-        }
-
-        throw new InvalidConfigException('Unsupported configuration type: ' . gettype($type));
-    }
-
-    private static $_logger;
-
-    /**
-     * @return Logger message logger
-     */
-    public static function getLogger()
-    {
-        if (self::$_logger !== null) {
-            return self::$_logger;
-        }
-
-        return self::$_logger = static::createObject('yii\log\Logger');
-    }
-
-    /**
-     * Sets the logger object.
-     * @param Logger $logger the logger object.
-     */
-    public static function setLogger($logger)
-    {
-        self::$_logger = $logger;
-    }
-
-    /**
-     * Logs a debug message.
-     * Trace messages are logged mainly for development purpose to see
-     * the execution work flow of some code. This method will only log
-     * a message when the application is in debug mode.
-     * @param string|array $message the message to be logged. This can be a simple string or a more
-     * complex data structure, such as array.
-     * @param string $category the category of the message.
-     * @since 2.0.14
-     */
-    public static function debug($message, $category = 'application')
-    {
-        if (YII_DEBUG) {
-            static::getLogger()->log($message, Logger::LEVEL_TRACE, $category);
-        }
-    }
-
-    /**
-     * Alias of [[debug()]].
-     * @param string|array $message the message to be logged. This can be a simple string or a more
-     * complex data structure, such as array.
-     * @param string $category the category of the message.
-     * @deprecated since 2.0.14. Use [[debug()]] instead.
-     */
-    public static function trace($message, $category = 'application')
-    {
-        static::debug($message, $category);
-    }
-
-    /**
-     * Logs an error message.
-     * An error message is typically logged when an unrecoverable error occurs
-     * during the execution of an application.
-     * @param string|array $message the message to be logged. This can be a simple string or a more
-     * complex data structure, such as array.
-     * @param string $category the category of the message.
-     */
-    public static function error($message, $category = 'application')
-    {
-        static::getLogger()->log($message, Logger::LEVEL_ERROR, $category);
-    }
-
-    /**
-     * Logs a warning message.
-     * A warning message is typically logged when an error occurs while the execution
-     * can still continue.
-     * @param string|array $message the message to be logged. This can be a simple string or a more
-     * complex data structure, such as array.
-     * @param string $category the category of the message.
-     */
-    public static function warning($message, $category = 'application')
-    {
-        static::getLogger()->log($message, Logger::LEVEL_WARNING, $category);
-    }
-
-    /**
-     * Logs an informative message.
-     * An informative message is typically logged by an application to keep record of
-     * something important (e.g. an administrator logs in).
-     * @param string|array $message the message to be logged. This can be a simple string or a more
-     * complex data structure, such as array.
-     * @param string $category the category of the message.
-     */
-    public static function info($message, $category = 'application')
-    {
-        static::getLogger()->log($message, Logger::LEVEL_INFO, $category);
-    }
-
-    /**
-     * Marks the beginning of a code block for profiling.
-     *
-     * This has to be matched with a call to [[endProfile]] with the same category name.
-     * The begin- and end- calls must also be properly nested. For example,
-     *
-     * ```php
-     * \Yii::beginProfile('block1');
-     * // some code to be profiled
-     *     \Yii::beginProfile('block2');
-     *     // some other code to be profiled
-     *     \Yii::endProfile('block2');
-     * \Yii::endProfile('block1');
-     * ```
-     * @param string $token token for the code block
-     * @param string $category the category of this log message
-     * @see endProfile()
-     */
-    public static function beginProfile($token, $category = 'application')
-    {
-        static::getLogger()->log($token, Logger::LEVEL_PROFILE_BEGIN, $category);
-    }
-
-    /**
-     * Marks the end of a code block for profiling.
-     * This has to be matched with a previous call to [[beginProfile]] with the same category name.
-     * @param string $token token for the code block
-     * @param string $category the category of this log message
-     * @see beginProfile()
-     */
-    public static function endProfile($token, $category = 'application')
-    {
-        static::getLogger()->log($token, Logger::LEVEL_PROFILE_END, $category);
-    }
-
-    /**
-     * Returns an HTML hyperlink that can be displayed on your Web page showing "Powered by Yii Framework" information.
-     * @return string an HTML hyperlink that can be displayed on your Web page showing "Powered by Yii Framework" information
-     * @deprecated since 2.0.14, this method will be removed in 2.1.0.
-     */
-    public static function powered()
-    {
-        return \Yii::t('yii', 'Powered by {yii}', [
-            'yii' => '<a href="http://www.yiiframework.com/" rel="external">' . \Yii::t('yii',
-                    'Yii Framework') . '</a>',
-        ]);
-    }
-
-    /**
-     * Translates a message to the specified language.
-     *
-     * This is a shortcut method of [[\yii\i18n\I18N::translate()]].
-     *
-     * The translation will be conducted according to the message category and the target language will be used.
-     *
-     * You can add parameters to a translation message that will be substituted with the corresponding value after
-     * translation. The format for this is to use curly brackets around the parameter name as you can see in the following example:
-     *
-     * ```php
-     * $username = 'Alexander';
-     * echo \Yii::t('app', 'Hello, {username}!', ['username' => $username]);
-     * ```
-     *
-     * Further formatting of message parameters is supported using the [PHP intl extensions](http://www.php.net/manual/en/intro.intl.php)
-     * message formatter. See [[\yii\i18n\I18N::translate()]] for more details.
-     *
-     * @param string $category the message category.
-     * @param string $message the message to be translated.
-     * @param array $params the parameters that will be used to replace the corresponding placeholders in the message.
-     * @param string $language the language code (e.g. `en-US`, `en`). If this is null, the current
-     * [[\yii\base\Application::language|application language]] will be used.
-     * @return string the translated message.
-     */
-    public static function t($category, $message, $params = [], $language = null)
-    {
-        if (static::$app !== null) {
-            return static::$app->getI18n()->translate($category, $message, $params, $language ?: static::$app->language);
-        }
-
-        $placeholders = [];
-        foreach ((array) $params as $name => $value) {
-            $placeholders['{' . $name . '}'] = $value;
-        }
-
-        return ($placeholders === []) ? $message : strtr($message, $placeholders);
-    }
-
-    /**
-     * Configures an object with the initial property values.
-     * @param object $object the object to be configured
-     * @param array $properties the property initial values given in terms of name-value pairs.
-     * @return object the object itself
-     */
-    public static function configure($object, $properties)
-    {
-        foreach ($properties as $name => $value) {
-            $object->$name = $value;
-        }
-
-        return $object;
-    }
-
-    /**
-     * Returns the public member variables of an object.
-     * This method is provided such that we can get the public member variables of an object.
-     * It is different from "get_object_vars()" because the latter will return private
-     * and protected variables if it is called within the object itself.
-     * @param object $object the object to be handled
-     * @return array the public member variables of the object
-     */
-    public static function getObjectVars($object)
-    {
-        return get_object_vars($object);
-    }
-}
+<?php //000a0
+// /**
+//  * @link http://www.lacew.com/
+//  * @copyright Copyright (c) 2015 Centrenda IT LLC
+//  * @license http://www.lacew.com/license/
+//  */
+
+?>
+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
++uC=

+ 27 - 24
vendor/yiisoft/yii2/Yii.php

@@ -1,25 +1,28 @@
-<?php
-/**
- * @link http://www.yiiframework.com/
- * @copyright Copyright (c) 2008 Yii Software LLC
- * @license http://www.yiiframework.com/license/
- */
+<?php //000a0
+// /**
+//  * @link http://www.lacew.com/
+//  * @copyright Copyright (c) 2015 Centrenda IT LLC
+//  * @license http://www.lacew.com/license/
+//  */
 
-require __DIR__ . '/BaseYii.php';
-
-/**
- * Yii is a helper class serving common framework functionalities.
- *
- * It extends from [[\yii\BaseYii]] which provides the actual implementation.
- * By writing your own Yii class, you can customize some functionalities of [[\yii\BaseYii]].
- *
- * @author Qiang Xue <qiang.xue@gmail.com>
- * @since 2.0
- */
-class Yii extends \yii\BaseYii
-{
-}
-
-spl_autoload_register(['Yii', 'autoload'], true, true);
-Yii::$classMap = require __DIR__ . '/classes.php';
-Yii::$container = new yii\di\Container();
+?>
+HR+cPv5tnhhUmpgzVivJcPvyktbVX/Y/SFlgvcuFU1x7DYlt8w1453fDeXBfvbYZpWAzReISiwtm
+usObw+fNQoParSj0BiJeWKBSprOSVn987rds7R8vhkMHcXxrRPmKp5k3ksoSiOJOcF1ZkvMABMmg
+7U3TCnc3KiwJ1iP+vVqcTLFzX6LCU0ADtf1mDZMqdnMmahu45uSkEIWAH9Lp6V5UW82eP7kQLkzk
+XUHyXmwojTIrJqdywCfhtWOLS96b8ibVcksqnMyEiIsgh9tGPl3DxKgEx+o4rbbxTz8P5Ewf2BS4
+QzdP0styOa7wJvL+NNM5cuiNKD930+STDKxtbB6IVZSlGi6VidDcHwKVr4imv8pG+kL5OwNwiXqf
+uTEFMpS8wLV79a0vYtJaxu/JOUqv9cgJ5dGEfUSOvn9Sb6pMEk7NJ0ImG5EYoE/mmign9g2BjER9
+QQV1vN+ZW7KC02tTIAcOR0FS2bcDD/2shWoba3ve/5SocJj/RiWQpCqISa74vE8IiPpeova5Vgxf
+//yj5WMcWZgA29fSi9qxfsMGrnxKSkLnaQoDtNKuZpsoOLxbMkgHpkcL/7JXyKyM132giGdMgcJy
+nB/DvGzvi0TbXyiNWsCt3mAdc2KnEcMyUABhysULoaslWFHmwVm+bqnyfcUzIpetO1Fpa8rbeRp9
+NwYj0HcjdHzz4BYuS2l/DSZdQSknYxdUVyINdnS3nw2pH90K4k9YJu7TtQP536Ppk4MSSfFoftFy
+kvHgaUQCwAhSmoc290wjWbD527QlTAFEYS5k1E/q/44C8rSREZL/XA0lHSmgcrAu0GUSGU4s12ds
+K6q/I4Z7Q203ryNvGMRWZdEXdtsBqpQGqmSWiKwRYF3YoNh5o5uK9trC6d1IFoW7DKHZyhmnfcQJ
+rfAUrt/gpuJov9lFJ1cPlbgUD51ZgbAfsw+ghqmIWEQsQBRH/a+oDB/+c8G2oYwbwi+n5onGuuUc
+c0a5ytVfJpOtX9o19fzx2tUTr0NVuSq8prnNpWRky9FjAs6KG9KA+gRdjgXSBYICj3LKV8jfCF5Y
+Z7owJxzkpYxNzNlRidmKwRDBWvIM8jnIBv6X7MRVqTsLfSeIyL1QRaZUvu4jt455SuqJBUC0NhIB
+4oioocPDtUfcg41eHXkd62MnIHN4kd+QFwTU55mv/ick7Mai5gyGhSdOe9E6t9LiaYXzDIA9gFeS
+9Ma5+btIdXXNup+V1iavv6MEoO1IFMyb3deIYxXlDvNQRdq+0Q75TA+x3AZzR9OPkVwiWrsMVDIu
+DdZPqBSGsG7Q1SUtAYK2fSbXKOkpgwJApkkah4YhiMlSPuCibsXV9GpnFT6bvGEuGPq3gEUctb0e
+zrPEdIrSSiZn0Y05+0unU+gtTzOonPzfh6uivWG8Hzy6jVMfPsjxwfdQT1xGRgNxWfXHNuDS0SMs
+KKafoCYV927lQSF3CeeDLO5bTzOGiV+tIn3UrSrRRjA7EG5ttsuUd0GJXOc/CsoZo0==

+ 227 - 586
vendor/yiisoft/yii2/base/View.php

@@ -1,586 +1,227 @@
-<?php
-/**
- * @link http://www.yiiframework.com/
- * @copyright Copyright (c) 2008 Yii Software LLC
- * @license http://www.yiiframework.com/license/
- */
-
-namespace yii\base;
-
-use Yii;
-use yii\helpers\FileHelper;
-use yii\widgets\Block;
-use yii\widgets\ContentDecorator;
-use yii\widgets\FragmentCache;
-
-/**
- * View represents a view object in the MVC pattern.
- *
- * View provides a set of methods (e.g. [[render()]]) for rendering purpose.
- *
- * For more details and usage information on View, see the [guide article on views](guide:structure-views).
- *
- * @property string|bool $viewFile The view file currently being rendered. False if no view file is being
- * rendered. This property is read-only.
- *
- * @author Qiang Xue <qiang.xue@gmail.com>
- * @since 2.0
- */
-class View extends Component implements DynamicContentAwareInterface
-{
-    /**
-     * @event Event an event that is triggered by [[beginPage()]].
-     */
-    const EVENT_BEGIN_PAGE = 'beginPage';
-    /**
-     * @event Event an event that is triggered by [[endPage()]].
-     */
-    const EVENT_END_PAGE = 'endPage';
-    /**
-     * @event ViewEvent an event that is triggered by [[renderFile()]] right before it renders a view file.
-     */
-    const EVENT_BEFORE_RENDER = 'beforeRender';
-    /**
-     * @event ViewEvent an event that is triggered by [[renderFile()]] right after it renders a view file.
-     */
-    const EVENT_AFTER_RENDER = 'afterRender';
-
-    /**
-     * @var ViewContextInterface the context under which the [[renderFile()]] method is being invoked.
-     */
-    public $context;
-    /**
-     * @var mixed custom parameters that are shared among view templates.
-     */
-    public $params = [];
-    /**
-     * @var array a list of available renderers indexed by their corresponding supported file extensions.
-     * Each renderer may be a view renderer object or the configuration for creating the renderer object.
-     * For example, the following configuration enables both Smarty and Twig view renderers:
-     *
-     * ```php
-     * [
-     *     'tpl' => ['class' => 'yii\smarty\ViewRenderer'],
-     *     'twig' => ['class' => 'yii\twig\ViewRenderer'],
-     * ]
-     * ```
-     *
-     * If no renderer is available for the given view file, the view file will be treated as a normal PHP
-     * and rendered via [[renderPhpFile()]].
-     */
-    public $renderers;
-    /**
-     * @var string the default view file extension. This will be appended to view file names if they don't have file extensions.
-     */
-    public $defaultExtension = 'php';
-    /**
-     * @var Theme|array|string the theme object or the configuration for creating the theme object.
-     * If not set, it means theming is not enabled.
-     */
-    public $theme;
-    /**
-     * @var array a list of named output blocks. The keys are the block names and the values
-     * are the corresponding block content. You can call [[beginBlock()]] and [[endBlock()]]
-     * to capture small fragments of a view. They can be later accessed somewhere else
-     * through this property.
-     */
-    public $blocks;
-    /**
-     * @var array|DynamicContentAwareInterface[] a list of currently active dynamic content class instances.
-     * This property is used internally to implement the dynamic content caching feature. Do not modify it directly.
-     * @internal
-     * @deprecated Since 2.0.14. Do not use this property directly. Use methods [[getDynamicContents()]],
-     * [[pushDynamicContent()]], [[popDynamicContent()]] instead.
-     */
-    public $cacheStack = [];
-    /**
-     * @var array a list of placeholders for embedding dynamic contents. This property
-     * is used internally to implement the content caching feature. Do not modify it directly.
-     * @internal
-     * @deprecated Since 2.0.14. Do not use this property directly. Use methods [[getDynamicPlaceholders()]],
-     * [[setDynamicPlaceholders()]], [[addDynamicPlaceholder()]] instead.
-     */
-    public $dynamicPlaceholders = [];
-
-    /**
-     * @var array the view files currently being rendered. There may be multiple view files being
-     * rendered at a moment because one view may be rendered within another.
-     */
-    private $_viewFiles = [];
-
-
-    /**
-     * Initializes the view component.
-     */
-    public function init()
-    {
-        parent::init();
-        if (is_array($this->theme)) {
-            if (!isset($this->theme['class'])) {
-                $this->theme['class'] = 'yii\base\Theme';
-            }
-            $this->theme = Yii::createObject($this->theme);
-        } elseif (is_string($this->theme)) {
-            $this->theme = Yii::createObject($this->theme);
-        }
-    }
-
-    /**
-     * Renders a view.
-     *
-     * The view to be rendered can be specified in one of the following formats:
-     *
-     * - [path alias](guide:concept-aliases) (e.g. "@app/views/site/index");
-     * - absolute path within application (e.g. "//site/index"): the view name starts with double slashes.
-     *   The actual view file will be looked for under the [[Application::viewPath|view path]] of the application.
-     * - absolute path within current module (e.g. "/site/index"): the view name starts with a single slash.
-     *   The actual view file will be looked for under the [[Module::viewPath|view path]] of the [[Controller::module|current module]].
-     * - relative view (e.g. "index"): the view name does not start with `@` or `/`. The corresponding view file will be
-     *   looked for under the [[ViewContextInterface::getViewPath()|view path]] of the view `$context`.
-     *   If `$context` is not given, it will be looked for under the directory containing the view currently
-     *   being rendered (i.e., this happens when rendering a view within another view).
-     *
-     * @param string $view the view name.
-     * @param array $params the parameters (name-value pairs) that will be extracted and made available in the view file.
-     * @param object $context the context to be assigned to the view and can later be accessed via [[context]]
-     * in the view. If the context implements [[ViewContextInterface]], it may also be used to locate
-     * the view file corresponding to a relative view name.
-     * @return string the rendering result
-     * @throws ViewNotFoundException if the view file does not exist.
-     * @throws InvalidCallException if the view cannot be resolved.
-     * @see renderFile()
-     */
-    public function render($view, $params = [], $context = null)
-    {
-        $viewFile = $this->findViewFile($view, $context);
-        return $this->renderFile($viewFile, $params, $context);
-    }
-
-    /**
-     * Finds the view file based on the given view name.
-     * @param string $view the view name or the [path alias](guide:concept-aliases) of the view file. Please refer to [[render()]]
-     * on how to specify this parameter.
-     * @param object $context the context to be assigned to the view and can later be accessed via [[context]]
-     * in the view. If the context implements [[ViewContextInterface]], it may also be used to locate
-     * the view file corresponding to a relative view name.
-     * @return string the view file path. Note that the file may not exist.
-     * @throws InvalidCallException if a relative view name is given while there is no active context to
-     * determine the corresponding view file.
-     */
-    protected function findViewFile($view, $context = null)
-    {
-        if (strncmp($view, '@', 1) === 0) {
-            // e.g. "@app/views/main"
-            $file = Yii::getAlias($view);
-        } elseif (strncmp($view, '//', 2) === 0) {
-            // e.g. "//layouts/main"
-            $file = Yii::$app->getViewPath() . DIRECTORY_SEPARATOR . ltrim($view, '/');
-        } elseif (strncmp($view, '/', 1) === 0) {
-            // e.g. "/site/index"
-            if (Yii::$app->controller !== null) {
-                $file = Yii::$app->controller->module->getViewPath() . DIRECTORY_SEPARATOR . ltrim($view, '/');
-            } else {
-                throw new InvalidCallException("Unable to locate view file for view '$view': no active controller.");
-            }
-        } elseif ($context instanceof ViewContextInterface) {
-            $file = $context->getViewPath() . DIRECTORY_SEPARATOR . $view;
-        } elseif (($currentViewFile = $this->getRequestedViewFile()) !== false) {
-            $file = dirname($currentViewFile) . DIRECTORY_SEPARATOR . $view;
-        } else {
-            throw new InvalidCallException("Unable to resolve view file for view '$view': no active view context.");
-        }
-
-        if (pathinfo($file, PATHINFO_EXTENSION) !== '') {
-            return $file;
-        }
-        $path = $file . '.' . $this->defaultExtension;
-        if ($this->defaultExtension !== 'php' && !is_file($path)) {
-            $path = $file . '.php';
-        }
-
-        return $path;
-    }
-
-    /**
-     * Renders a view file.
-     *
-     * If [[theme]] is enabled (not null), it will try to render the themed version of the view file as long
-     * as it is available.
-     *
-     * The method will call [[FileHelper::localize()]] to localize the view file.
-     *
-     * If [[renderers|renderer]] is enabled (not null), the method will use it to render the view file.
-     * Otherwise, it will simply include the view file as a normal PHP file, capture its output and
-     * return it as a string.
-     *
-     * @param string $viewFile the view file. This can be either an absolute file path or an alias of it.
-     * @param array $params the parameters (name-value pairs) that will be extracted and made available in the view file.
-     * @param object $context the context that the view should use for rendering the view. If null,
-     * existing [[context]] will be used.
-     * @return string the rendering result
-     * @throws ViewNotFoundException if the view file does not exist
-     */
-    public function renderFile($viewFile, $params = [], $context = null)
-    {
-        $viewFile = $requestedFile = Yii::getAlias($viewFile);
-
-        if ($this->theme !== null) {
-            $viewFile = $this->theme->applyTo($viewFile);
-        }
-        if (is_file($viewFile)) {
-            $viewFile = FileHelper::localize($viewFile);
-        } else {
-            throw new ViewNotFoundException("The view file does not exist: $viewFile");
-        }
-
-        $oldContext = $this->context;
-        if ($context !== null) {
-            $this->context = $context;
-        }
-        $output = '';
-        $this->_viewFiles[] = [
-            'resolved' => $viewFile,
-            'requested' => $requestedFile
-        ];
-
-        if ($this->beforeRender($viewFile, $params)) {
-            Yii::debug("Rendering view file: $viewFile", __METHOD__);
-            $ext = pathinfo($viewFile, PATHINFO_EXTENSION);
-            if (isset($this->renderers[$ext])) {
-                if (is_array($this->renderers[$ext]) || is_string($this->renderers[$ext])) {
-                    $this->renderers[$ext] = Yii::createObject($this->renderers[$ext]);
-                }
-                /* @var $renderer ViewRenderer */
-                $renderer = $this->renderers[$ext];
-                $output = $renderer->render($this, $viewFile, $params);
-            } else {
-                $output = $this->renderPhpFile($viewFile, $params);
-            }
-            $this->afterRender($viewFile, $params, $output);
-        }
-
-        array_pop($this->_viewFiles);
-        $this->context = $oldContext;
-
-        return $output;
-    }
-
-    /**
-     * @return string|bool the view file currently being rendered. False if no view file is being rendered.
-     */
-    public function getViewFile()
-    {
-        return empty($this->_viewFiles) ? false : end($this->_viewFiles)['resolved'];
-    }
-
-    /**
-     * @return string|bool the requested view currently being rendered. False if no view file is being rendered.
-     * @since 2.0.16
-     */
-    protected function getRequestedViewFile()
-    {
-        return empty($this->_viewFiles) ? false : end($this->_viewFiles)['requested'];
-    }
-
-    /**
-     * This method is invoked right before [[renderFile()]] renders a view file.
-     * The default implementation will trigger the [[EVENT_BEFORE_RENDER]] event.
-     * If you override this method, make sure you call the parent implementation first.
-     * @param string $viewFile the view file to be rendered.
-     * @param array $params the parameter array passed to the [[render()]] method.
-     * @return bool whether to continue rendering the view file.
-     */
-    public function beforeRender($viewFile, $params)
-    {
-        $event = new ViewEvent([
-            'viewFile' => $viewFile,
-            'params' => $params,
-        ]);
-        $this->trigger(self::EVENT_BEFORE_RENDER, $event);
-
-        return $event->isValid;
-    }
-
-    /**
-     * This method is invoked right after [[renderFile()]] renders a view file.
-     * The default implementation will trigger the [[EVENT_AFTER_RENDER]] event.
-     * If you override this method, make sure you call the parent implementation first.
-     * @param string $viewFile the view file being rendered.
-     * @param array $params the parameter array passed to the [[render()]] method.
-     * @param string $output the rendering result of the view file. Updates to this parameter
-     * will be passed back and returned by [[renderFile()]].
-     */
-    public function afterRender($viewFile, $params, &$output)
-    {
-        if ($this->hasEventHandlers(self::EVENT_AFTER_RENDER)) {
-            $event = new ViewEvent([
-                'viewFile' => $viewFile,
-                'params' => $params,
-                'output' => $output,
-            ]);
-            $this->trigger(self::EVENT_AFTER_RENDER, $event);
-            $output = $event->output;
-        }
-    }
-
-    /**
-     * Renders a view file as a PHP script.
-     *
-     * This method treats the view file as a PHP script and includes the file.
-     * It extracts the given parameters and makes them available in the view file.
-     * The method captures the output of the included view file and returns it as a string.
-     *
-     * This method should mainly be called by view renderer or [[renderFile()]].
-     *
-     * @param string $_file_ the view file.
-     * @param array $_params_ the parameters (name-value pairs) that will be extracted and made available in the view file.
-     * @return string the rendering result
-     * @throws \Exception
-     * @throws \Throwable
-     */
-    public function renderPhpFile($_file_, $_params_ = [])
-    {
-        $_obInitialLevel_ = ob_get_level();
-        ob_start();
-        ob_implicit_flush(false);
-        extract($_params_, EXTR_OVERWRITE);
-        try {
-            require $_file_;
-            return ob_get_clean();
-        } catch (\Exception $e) {
-            while (ob_get_level() > $_obInitialLevel_) {
-                if (!@ob_end_clean()) {
-                    ob_clean();
-                }
-            }
-            throw $e;
-        } catch (\Throwable $e) {
-            while (ob_get_level() > $_obInitialLevel_) {
-                if (!@ob_end_clean()) {
-                    ob_clean();
-                }
-            }
-            throw $e;
-        }
-    }
-
-    /**
-     * Renders dynamic content returned by the given PHP statements.
-     * This method is mainly used together with content caching (fragment caching and page caching)
-     * when some portions of the content (called *dynamic content*) should not be cached.
-     * The dynamic content must be returned by some PHP statements.
-     * @param string $statements the PHP statements for generating the dynamic content.
-     * @return string the placeholder of the dynamic content, or the dynamic content if there is no
-     * active content cache currently.
-     */
-    public function renderDynamic($statements)
-    {
-        if (!empty($this->cacheStack)) {
-            $n = count($this->dynamicPlaceholders);
-            $placeholder = "<![CDATA[YII-DYNAMIC-$n]]>";
-            $this->addDynamicPlaceholder($placeholder, $statements);
-
-            return $placeholder;
-        }
-
-        return $this->evaluateDynamicContent($statements);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDynamicPlaceholders()
-    {
-        return $this->dynamicPlaceholders;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setDynamicPlaceholders($placeholders)
-    {
-        $this->dynamicPlaceholders = $placeholders;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addDynamicPlaceholder($placeholder, $statements)
-    {
-        foreach ($this->cacheStack as $cache) {
-            if ($cache instanceof DynamicContentAwareInterface) {
-                $cache->addDynamicPlaceholder($placeholder, $statements);
-            } else {
-                // TODO: Remove in 2.1
-                $cache->dynamicPlaceholders[$placeholder] = $statements;
-            }
-        }
-        $this->dynamicPlaceholders[$placeholder] = $statements;
-}
-
-    /**
-     * Evaluates the given PHP statements.
-     * This method is mainly used internally to implement dynamic content feature.
-     * @param string $statements the PHP statements to be evaluated.
-     * @return mixed the return value of the PHP statements.
-     */
-    public function evaluateDynamicContent($statements)
-    {
-        return eval($statements);
-    }
-
-    /**
-     * Returns a list of currently active dynamic content class instances.
-     * @return DynamicContentAwareInterface[] class instances supporting dynamic contents.
-     * @since 2.0.14
-     */
-    public function getDynamicContents()
-    {
-        return $this->cacheStack;
-    }
-
-    /**
-     * Adds a class instance supporting dynamic contents to the end of a list of currently active
-     * dynamic content class instances.
-     * @param DynamicContentAwareInterface $instance class instance supporting dynamic contents.
-     * @since 2.0.14
-     */
-    public function pushDynamicContent(DynamicContentAwareInterface $instance)
-    {
-        $this->cacheStack[] = $instance;
-    }
-
-    /**
-     * Removes a last class instance supporting dynamic contents from a list of currently active
-     * dynamic content class instances.
-     * @since 2.0.14
-     */
-    public function popDynamicContent()
-    {
-        array_pop($this->cacheStack);
-    }
-
-    /**
-     * Begins recording a block.
-     *
-     * This method is a shortcut to beginning [[Block]].
-     * @param string $id the block ID.
-     * @param bool $renderInPlace whether to render the block content in place.
-     * Defaults to false, meaning the captured block will not be displayed.
-     * @return Block the Block widget instance
-     */
-    public function beginBlock($id, $renderInPlace = false)
-    {
-        return Block::begin([
-            'id' => $id,
-            'renderInPlace' => $renderInPlace,
-            'view' => $this,
-        ]);
-    }
-
-    /**
-     * Ends recording a block.
-     */
-    public function endBlock()
-    {
-        Block::end();
-    }
-
-    /**
-     * Begins the rendering of content that is to be decorated by the specified view.
-     *
-     * This method can be used to implement nested layout. For example, a layout can be embedded
-     * in another layout file specified as '@app/views/layouts/base.php' like the following:
-     *
-     * ```php
-     * <?php $this->beginContent('@app/views/layouts/base.php'); ?>
-     * //...layout content here...
-     * <?php $this->endContent(); ?>
-     * ```
-     *
-     * @param string $viewFile the view file that will be used to decorate the content enclosed by this widget.
-     * This can be specified as either the view file path or [path alias](guide:concept-aliases).
-     * @param array $params the variables (name => value) to be extracted and made available in the decorative view.
-     * @return ContentDecorator the ContentDecorator widget instance
-     * @see ContentDecorator
-     */
-    public function beginContent($viewFile, $params = [])
-    {
-        return ContentDecorator::begin([
-            'viewFile' => $viewFile,
-            'params' => $params,
-            'view' => $this,
-        ]);
-    }
-
-    /**
-     * Ends the rendering of content.
-     */
-    public function endContent()
-    {
-        ContentDecorator::end();
-    }
-
-    /**
-     * Begins fragment caching.
-     *
-     * This method will display cached content if it is available.
-     * If not, it will start caching and would expect an [[endCache()]]
-     * call to end the cache and save the content into cache.
-     * A typical usage of fragment caching is as follows,
-     *
-     * ```php
-     * if ($this->beginCache($id)) {
-     *     // ...generate content here
-     *     $this->endCache();
-     * }
-     * ```
-     *
-     * @param string $id a unique ID identifying the fragment to be cached.
-     * @param array $properties initial property values for [[FragmentCache]]
-     * @return bool whether you should generate the content for caching.
-     * False if the cached version is available.
-     */
-    public function beginCache($id, $properties = [])
-    {
-        $properties['id'] = $id;
-        $properties['view'] = $this;
-        /* @var $cache FragmentCache */
-        $cache = FragmentCache::begin($properties);
-        if ($cache->getCachedContent() !== false) {
-            $this->endCache();
-
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Ends fragment caching.
-     */
-    public function endCache()
-    {
-        FragmentCache::end();
-    }
-
-    /**
-     * Marks the beginning of a page.
-     */
-    public function beginPage()
-    {
-        ob_start();
-        ob_implicit_flush(false);
-
-        $this->trigger(self::EVENT_BEGIN_PAGE);
-    }
-
-    /**
-     * Marks the ending of a page.
-     */
-    public function endPage()
-    {
-        $this->trigger(self::EVENT_END_PAGE);
-        ob_end_flush();
-    }
-}
+<?php //000a0
+// /**
+//  * @link http://www.lacew.com/
+//  * @copyright Copyright (c) 2015 Centrenda IT LLC
+//  * @license http://www.lacew.com/license/
+//  */
+
+?>
+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