/** * Log a message to the logger * * @param string $message The message to log * @param string $category [optional] The message category (default "main") * @param integer $level [optional] The loglevel */ public static function log($message, $category = 'main', $level = 1) { if (!self::$_logging_enabled) { return false; } if (self::$_loglevel > $level) { return false; } if (self::$_cli_log_to_screen_in_debug_mode && Context::isCLI() && Context::isDebugMode() && class_exists('\\thebuggenie\\core\\framework\\cli\\Command')) { \thebuggenie\core\framework\cli\Command::cli_echo(mb_strtoupper(self::getLevelName($level)), 'white', 'bold'); \thebuggenie\core\framework\cli\Command::cli_echo(" [{$category}] ", 'green', 'bold'); \thebuggenie\core\framework\cli\Command::cli_echo("{$message}\n"); } if (self::$_logonajaxcalls || Context::getRequest()->isAjaxCall()) { if (self::$_logfile !== null) { file_put_contents(self::$_logfile, mb_strtoupper(self::getLevelName($level)) . " [{$category}] {$message}\n", FILE_APPEND); } $time_msg = Context::isDebugMode() ? ($load_time = Context::getLoadtime()) >= 1 ? round($load_time, 2) . ' seconds' : round($load_time * 1000, 3) . ' ms' : ''; self::$_entries[] = array('category' => $category, 'time' => $time_msg, 'message' => $message, 'level' => $level); self::$_categorized_entries[$category][] = array('time' => $time_msg, 'message' => $message, 'level' => $level); } }
public function loadArticles($namespace = '', $overwrite = true, $scope = null) { $scope = framework\Context::getScope()->getID(); $namespace = mb_strtolower($namespace); $_path_handle = opendir(THEBUGGENIE_MODULES_PATH . 'publish' . DS . 'fixtures' . DS); while ($original_article_name = readdir($_path_handle)) { if (mb_strpos($original_article_name, '.') === false) { $article_name = mb_strtolower($original_article_name); $imported = false; $import = false; if ($namespace) { if (mb_strpos(urldecode($article_name), "{$namespace}:") === 0 || mb_strpos(urldecode($article_name), "category:") === 0 && mb_strpos(urldecode($article_name), "{$namespace}:") === 9) { $import = true; } } else { if (mb_strpos(urldecode($article_name), "category:help:") === 0) { $name_test = mb_substr(urldecode($article_name), 14); } elseif (mb_strpos(urldecode($article_name), "category:") === 0) { $name_test = mb_substr(urldecode($article_name), 9); } else { $name_test = urldecode($article_name); } if (mb_strpos($name_test, ':') === false) { $import = true; } } if ($import) { if (framework\Context::isCLI()) { \thebuggenie\core\framework\cli\Command::cli_echo('Saving ' . urldecode($original_article_name) . "\n"); } if ($overwrite) { Articles::getTable()->deleteArticleByName(urldecode($original_article_name)); } if (Articles::getTable()->getArticleByName(urldecode($original_article_name)) === null) { $content = file_get_contents(THEBUGGENIE_MODULES_PATH . 'publish' . DS . 'fixtures' . DS . $original_article_name); Article::createNew(urldecode($original_article_name), $content, $scope, array('overwrite' => $overwrite, 'noauthor' => true)); $imported = true; } framework\Event::createNew('publish', 'fixture_article_loaded', urldecode($original_article_name), array('imported' => $imported))->trigger(); } } } }