/** * Returns rendered markup. * * @return string */ public function render() { if (defined("OW_PROFILER_ENABLE") && OW_PROFILER_ENABLE) { $this->assign('queryLog', OW::getDbo()->getQueryLog()); $this->assign('queryCount', OW::getDbo()->getQueryCount()); $this->assign('queryExecutionTime', OW::getDbo()->getTotalQueryExecTime()); $this->assign('pageTime', UTIL_Profiler::getInstance()->getResult()); } return $this->assignedVars; }
@(include OW_DIR_ROOT . 'ow_install' . DS . 'install.php'); OW::getSession()->start(); $application = OW::getApplication(); if (OW_PROFILER_ENABLE || OW_DEV_MODE) { UTIL_Profiler::getInstance()->mark('before_app_init'); } $application->init(); if (OW_PROFILER_ENABLE || OW_DEV_MODE) { UTIL_Profiler::getInstance()->mark('after_app_init'); } $event = new OW_Event(OW_EventManager::ON_APPLICATION_INIT); OW::getEventManager()->trigger($event); $application->route(); $event = new OW_Event(OW_EventManager::ON_AFTER_ROUTE); if (OW_PROFILER_ENABLE || OW_DEV_MODE) { UTIL_Profiler::getInstance()->mark('after_route'); } OW::getEventManager()->trigger($event); //$application->handleRequest(); // //if (OW_PROFILER_ENABLE || OW_DEV_MODE) { // UTIL_Profiler::getInstance()->mark('after_controller_call'); //} $event = new OW_Event(OW_EventManager::ON_AFTER_REQUEST_HANDLE); OW::getEventManager()->trigger($event); //$application->finalize(); /** * SkadateX intialization END */ require 'Slim/Slim.php'; \Slim\Slim::registerAutoloader();
define("HAMMU_DB_PAYMENT_TYPE_KEY", "field_2de34e86b2ea038c86f2b4b5be00811e"); define("HAMMU_DB_IM_USING_HAMMU_AS_KEY", "field_8eb4e427b80ac66d870fc0a5a0cc22ba"); define("HAMMU_DB_PREFRENCES_KEY", "field_f2d8bb949d7d74a70bcb2003abc5b436"); define("HAMMU_DB_PREFRENCES_KEY", "field_f2d8bb949d7d74a70bcb2003abc5b436"); define("HAMMU_DB_SERVICES_KEY", "field_f92bbdb57510b86ba6c506c487be3aa1"); define("HAMMU_DB_MOBILE_NUMBER_KEY", "field_391797ad0e06d17d5b5cec0e48def7c2"); mb_internal_encoding('UTF-8'); if (OW_DEBUG_MODE) { ob_start(); } spl_autoload_register(array('OW_Autoload', 'autoload')); // adding standard package pointers $autoloader = OW::getAutoloader(); $autoloader->addPackagePointer('OW', OW_DIR_CORE); $autoloader->addPackagePointer('INC', OW_DIR_INC); $autoloader->addPackagePointer('UTIL', OW_DIR_UTIL); $autoloader->addPackagePointer('BOL', OW_DIR_SYSTEM_PLUGIN . 'base' . DS . 'bol'); // Force autoload of classes without package pointer $classesToAutoload = array('Form' => OW_DIR_CORE . 'form.php', 'TextField' => OW_DIR_CORE . 'form_element.php', 'HiddenField' => OW_DIR_CORE . 'form_element.php', 'FormElement' => OW_DIR_CORE . 'form_element.php', 'RequiredValidator' => OW_DIR_CORE . 'validator.php', 'StringValidator' => OW_DIR_CORE . 'validator.php', 'RegExpValidator' => OW_DIR_CORE . 'validator.php', 'EmailValidator' => OW_DIR_CORE . 'validator.php', 'UrlValidator' => OW_DIR_CORE . 'validator.php', 'AlphaNumericValidator' => OW_DIR_CORE . 'validator.php', 'IntValidator' => OW_DIR_CORE . 'validator.php', 'FloatValidator' => OW_DIR_CORE . 'validator.php', 'DateValidator' => OW_DIR_CORE . 'validator.php', 'CaptchaValidator' => OW_DIR_CORE . 'validator.php', 'RadioField' => OW_DIR_CORE . 'form_element.php', 'CheckboxField' => OW_DIR_CORE . 'form_element.php', 'Selectbox' => OW_DIR_CORE . 'form_element.php', 'CheckboxGroup' => OW_DIR_CORE . 'form_element.php', 'RadioField' => OW_DIR_CORE . 'form_element.php', 'PasswordField' => OW_DIR_CORE . 'form_element.php', 'Submit' => OW_DIR_CORE . 'form_element.php', 'Button' => OW_DIR_CORE . 'form_element.php', 'Textarea' => OW_DIR_CORE . 'form_element.php', 'FileField' => OW_DIR_CORE . 'form_element.php', 'TagsField' => OW_DIR_CORE . 'form_element.php', 'SuggestField' => OW_DIR_CORE . 'form_element.php', 'MultiFileField' => OW_DIR_CORE . 'form_element.php', 'Multiselect' => OW_DIR_CORE . 'form_element.php', 'CaptchaField' => OW_DIR_CORE . 'form_element.php', 'InvitationFormElement' => OW_DIR_CORE . 'form_element.php', 'Range' => OW_DIR_CORE . 'form_element.php'); OW::getAutoloader()->addClassArray($classesToAutoload); if (defined("OW_URL_HOME")) { OW::getRouter()->setBaseUrl(OW_URL_HOME); } if (OW_PROFILER_ENABLE) { UTIL_Profiler::getInstance(); } require_once OW_DIR_SYSTEM_PLUGIN . 'base' . DS . 'classes' . DS . 'file_log_writer.php'; require_once OW_DIR_SYSTEM_PLUGIN . 'base' . DS . 'classes' . DS . 'db_log_writer.php'; require_once OW_DIR_SYSTEM_PLUGIN . 'base' . DS . 'classes' . DS . 'err_output.php'; $errorManager = OW_ErrorManager::getInstance(OW_DEBUG_MODE); $errorManager->setErrorOutput(new BASE_CLASS_ErrOutput());
/** * Constructor. * * @param array $params */ private function __construct($params) { $port = isset($params['port']) ? (int) $params['port'] : null; $socket = isset($params['socket']) ? $params['socket'] : null; try { if ($socket === null) { $dsn = "mysql:host={$params['host']};"; if ($port !== null) { $dsn .= "port={$params['port']};"; } } else { $dsn = "mysql:unix_socket={$socket};"; } $dsn .= "dbname={$params['dbname']}"; $this->connection = new PDO($dsn, $params['username'], $params['password'], array(MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8', PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true)); if (!$this->isMysqlValidVersion()) { throw new InvalidArgumentException("Cant connect to database. Connection needs MySQL version 5.0 + !"); } if (!empty($params['profilerEnable'])) { $this->isProfilerEnabled = true; $this->profiler = UTIL_Profiler::getInstance('db'); $this->queryCount = 0; $this->queryExecTime = 0; $this->totalQueryExecTime = 0; $this->queryLog = array(); } if (!empty($params['debugMode'])) { $this->debugMode = true; } $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->useCashe = false; } catch (PDOException $e) { throw new InvalidArgumentException($e->getMessage()); } }
$errorManager->setLogger($logger); } @(include OW_DIR_ROOT . 'ow_install' . DS . 'install.php'); OW::getSession()->start(); $application = OW::getApplication(); if (OW_PROFILER_ENABLE || OW_DEV_MODE) { UTIL_Profiler::getInstance()->mark('before_app_init'); } $application->init(); if (OW_PROFILER_ENABLE || OW_DEV_MODE) { UTIL_Profiler::getInstance()->mark('after_app_init'); } $event = new OW_Event(OW_EventManager::ON_APPLICATION_INIT); OW::getEventManager()->trigger($event); $application->route(); $event = new OW_Event(OW_EventManager::ON_AFTER_ROUTE); if (OW_PROFILER_ENABLE || OW_DEV_MODE) { UTIL_Profiler::getInstance()->mark('after_route'); } OW::getEventManager()->trigger($event); $application->handleRequest(); if (OW_PROFILER_ENABLE || OW_DEV_MODE) { UTIL_Profiler::getInstance()->mark('after_controller_call'); } $event = new OW_Event(OW_EventManager::ON_AFTER_REQUEST_HANDLE); OW::getEventManager()->trigger($event); $application->finalize(); if (OW_PROFILER_ENABLE || OW_DEV_MODE) { UTIL_Profiler::getInstance()->mark('after_finalize'); } $application->returnResponse();
/** * Calls last event listener and returns it's result value. * * @param string $eventName * @param array $eventParams * @return mixed */ public function call($eventName, $eventParams = array()) { $event = new OW_Event($eventName, $eventParams); if (!empty($this->listeners[$eventName])) { ksort($this->listeners[$event->getName()]); // log triggered events for developer mode if ($this->devMode) { $startTime = UTIL_Profiler::getInstance()->getTotalTime(); $this->profiler->reset(); $handlers = reset($this->listeners[$eventName]); $result = call_user_func(end($handlers), $event); if (!in_array($event->getName(), $this->eventsToSkip) && count($this->eventsLog) < $this->maxItemsInLog) { $this->eventsLog[] = array('type' => 'call', 'start' => $startTime, 'exec' => $this->profiler->getTotalTime(), 'event' => $event, 'listeners' => $this->listeners[$event->getName()]); } } else { $handlers = reset($this->listeners[$eventName]); $result = call_user_func(end($handlers), $event); } return $result; } else { // log events with no listeners $startTime = UTIL_Profiler::getInstance()->getTotalTime(); if ($this->devMode && !in_array($event->getName(), $this->eventsToSkip) && count($this->eventsLog) < $this->maxItemsInLog) { $this->eventsLog[] = array('type' => 'call', 'start' => $startTime, 'event' => $event, 'listeners' => array(), 'exec' => 0); } } }
function base_dev_tool(BASE_CLASS_EventCollector $event) { $viewRenderer = OW_ViewRenderer::getInstance(); $prevVars = $viewRenderer->getAllAssignedVars(); $viewRenderer->assignVar('oxwall', (array) simplexml_load_file(OW_DIR_ROOT . 'ow_version.xml')); $requestHandlerData = OW::getRequestHandler()->getDispatchAttributes(); try { $ctrlPath = OW::getAutoloader()->getClassPath($requestHandlerData['controller']); } catch (Exception $e) { $ctrlPath = 'not_found'; } $requestHandlerData['ctrlPath'] = $ctrlPath; $requestHandlerData['paramsExp'] = var_export(empty($requestHandlerData['params']) ? array() : $requestHandlerData['params'], true); $viewRenderer->assignVar('requestHandler', $requestHandlerData); $viewRenderer->assignVar('profiler', UTIL_Profiler::getInstance()->getResult()); $viewRenderer->assignVar('memoryUsage', function_exists('memory_get_peak_usage') ? sprintf('%0.3f', memory_get_peak_usage(true) / 1048576) : 'No info'); if (!OW_DEV_MODE || true) { //TODO remove hardcode $viewRenderer->assignVar('clrBtnUrl', OW::getRequest()->buildUrlQueryString(OW::getRouter()->urlFor('BASE_CTRL_Base', 'turnDevModeOn'), array('back-uri' => urlencode(OW::getRouter()->getUri())))); } $rndItems = OW_Renderable::getRenderedClasses(); $rndArray = array('mp' => array(), 'cmp' => array(), 'ctrl' => array()); foreach ($rndItems as $key => $item) { try { $src = OW::getAutoloader()->getClassPath($key); } catch (Exception $e) { $src = 'not_found'; } $addItem = array('class' => $key, 'src' => $src, 'tpl' => $item); if (strstr($key, 'OW_MasterPage')) { $rndArray['mp'] = $addItem; } else { if (strstr($key, '_CTRL_')) { $rndArray['ctrl'] = $addItem; } else { $rndArray['cmp'][] = $addItem; } } } $viewRenderer->assignVar('renderedItems', array('items' => $rndArray, 'count' => count(OW_Renderable::getRenderedClasses()) - 2)); $queryLog = OW::getDbo()->getQueryLog(); foreach ($queryLog as $key => $query) { if (isset($_GET['pr_query_log_filter']) && strlen($_GET['pr_query_log_filter']) > 3) { if (!strstr($query['query'], $_GET['pr_query_log_filter'])) { unset($queryLog[$key]); continue; } } if ($query['params'] && is_array($query['params'])) { $queryLog[$key]['params'] = var_export($query['params'], true); } } $viewRenderer->assignVar('database', array('qet' => OW::getDbo()->getTotalQueryExecTime(), 'ql' => $queryLog, 'qc' => count($queryLog))); //events $eventsData = OW::getEventManager()->getLog(); $eventsDataToAssign = array('bind' => array(), 'calls' => array()); foreach ($eventsData['bind'] as $eventName => $listeners) { $listenersList = array(); foreach ($listeners as $priority) { foreach ($priority as $listener) { if (is_array($listener)) { if (is_object($listener[0])) { $listener = get_class($listener[0]) . ' -> ' . $listener[1]; } else { $listener = $listener[0] . ' :: ' . $listener[1]; } } $listenersList[] = $listener; } } $eventsDataToAssign['bind'][] = array('name' => $eventName, 'listeners' => $listenersList); } foreach ($eventsData['call'] as $eventItem) { $listenersList = array(); foreach ($eventItem['listeners'] as $priority) { foreach ($priority as $listener) { if (is_array($listener)) { if (is_object($listener[0])) { $listener = get_class($listener[0]) . ' -> ' . $listener[1]; } else { $listener = $listener[0] . ' :: ' . $listener[1]; } } $listenersList[] = $listener; } } $eventsDataToAssign['call'][] = array('type' => $eventItem['type'], 'name' => $eventItem['event']->getName(), 'listeners' => $listenersList, 'params' => var_export($eventItem['event']->getParams(), true), 'start' => sprintf('%.3f', $eventItem['start']), 'exec' => sprintf('%.3f', $eventItem['exec'])); } $eventsDataToAssign['bindsCount'] = count($eventsDataToAssign['bind']); $eventsDataToAssign['callsCount'] = count($eventsDataToAssign['call']); $viewRenderer->assignVar('events', $eventsDataToAssign); $output = $viewRenderer->renderTemplate(OW::getPluginManager()->getPlugin('base')->getCmpViewDir() . 'dev_tools_tpl.html'); $viewRenderer->clearAssignedVars(); $viewRenderer->assignVars($prevVars); $event->add($output); }
/** * The method collects all the developer info during the page handling. * * @param BASE_CLASS_EventCollector $event */ public function onAppendMarkup(BASE_CLASS_EventCollector $event) { $viewRenderer = OW_ViewRenderer::getInstance(); $viewRenderer->assignVar("oxwall", BOL_StorageService::getInstance()->getPlatformXmlInfo()); $view = new OW_View(); $view->setTemplate(OW::getPluginManager()->getPlugin("base")->getCmpViewDir() . "dev_tools_tpl.html"); // get current request attributes $requestHandlerData = OW::getRequestHandler()->getDispatchAttributes(); try { $ctrlPath = OW::getAutoloader()->getClassPath($requestHandlerData["controller"]); } catch (Exception $e) { $ctrlPath = "not_found"; } $requestHandlerData["ctrlPath"] = $ctrlPath; $requestHandlerData["paramsExp"] = var_export(empty($requestHandlerData["params"]) ? array() : $requestHandlerData["params"], true); $view->assign("requestHandler", $requestHandlerData); // get current request memory usage $memoryUsage = "No info"; if (function_exists("memory_get_peak_usage")) { $memoryUsage = UTIL_File::convertBytesToHumanReadable(memory_get_peak_usage(true)); } $view->assign("memoryUsage", $memoryUsage); // get default profiler data $view->assign("profiler", UTIL_Profiler::getInstance()->getResult()); // rendered view data $view->assign("renderedItems", $this->getViewInfo(OW_View::getDevInfo())); // sql queries data $filter = !empty($_GET["pr_query_log_filter"]) ? trim($_GET["pr_query_log_filter"]) : null; $view->assign("database", $this->getSqlInfo(OW::getDbo()->getQueryLog(), OW::getDbo()->getTotalQueryExecTime(), $filter)); // events data $view->assign("events", $this->getEventInfo(OW::getEventManager()->getLog())); $event->add($view->render()); }
/** * Sends generated response * */ public function respond() { $event = new OW_Event(OW_EventManager::ON_BEFORE_DOCUMENT_RENDER); OW::getEventManager()->trigger($event); if ($this->document !== null) { $renderedMarkup = $this->document->render(); $event = new BASE_CLASS_EventCollector('base.append_markup'); OW::getEventManager()->trigger($event); $data = $event->getData(); $this->markup = str_replace(OW_Document::APPEND_PLACEHOLDER, PHP_EOL . implode(PHP_EOL, $data), $renderedMarkup); } $event = new OW_Event(OW_EventManager::ON_AFTER_DOCUMENT_RENDER); OW::getEventManager()->trigger($event); $this->sendHeaders(); if (OW::getRequest()->isAjax()) { exit; } if (OW_PROFILER_ENABLE || OW_DEV_MODE) { UTIL_Profiler::getInstance()->mark('final'); } if (OW_DEBUG_MODE) { echo ob_get_clean(); } echo $this->markup; $event = new OW_Event('core.exit'); OW::getEventManager()->trigger($event); }
public function startSitemapGenerator() { if (!OW::getConfig()->getValue('oaseo', 'sitemap_init')) { OW::getConfig()->saveConfig('oaseo', 'sitemap_init', 1); } $prof = UTIL_Profiler::getInstance('oaseo_sitemap'); if (OW::getConfig()->getValue('oaseo', 'update_info')) { OW::getConfig()->saveConfig('oaseo', 'update_info', 0); $this->sitemapItemDao->clearTable(); $this->sitemapPageDao->clearTable(); $this->sitemapPageItemDao->clearTable(); $this->addUrlToList(UTIL_String::removeFirstAndLastSlashes(OW_URL_HOME)); } if ($this->getNextUrlToProcess() == null) { return; } while ($prof->getTotalTime() < $this->configs[self::CNF_CRAWL_TIME_LIMIT]) { $url = $this->getNextUrlToProcess(); // // if ( $url == null ) // { // // need to complete site generation + generate sitemaps in configs // OW::getConfig()->saveConfig('oaseo', 'update_maps', 1); // break; // } $pageDto = $this->sitemapPageDao->findByUrl($url, 0); if ($pageDto != null) { $pageDto->setStatus(1); $pageDto->setProcessTs(time()); $this->sitemapPageDao->save($pageDto); if ($this->isBroken($url)) { $pageDto->setBroken(true); $this->sitemapPageDao->save($pageDto); continue; } } // TODO need to check if response is ok $content = file_get_contents($url); if (!$content) { continue; $this->sitemapPageDao->deleteById($pageDto->getId()); } $data = $this->processContent($content); $urlHome = UTIL_String::removeFirstAndLastSlashes(OW_URL_HOME); //add meta info to the page entry $pageDto = $this->sitemapPageDao->findByUrl($url); $pageDto->setMeta(json_encode($data['meta'])); $pageDto->setTitle($data['title']); $this->sitemapPageDao->save($pageDto); foreach ($data['foundLinks'] as $link) { $pageItem = new OASEO_BOL_SitemapPageItem(); if (mb_strstr($link, $urlHome)) { $addedItem = $this->addUrlToList($link); if ($addedItem === null) { continue; } $pageItem->setType(OASEO_BOL_SitemapPageItemDao::TYPE_VALUE_PAGE); } else { if (mb_strstr($link, 'http://') || mb_strstr($link, 'www')) { $addedItem = $this->addExtUrl($link); if ($addedItem === null) { continue; } $pageItem->setType(OASEO_BOL_SitemapPageItemDao::TYPE_VALUE_ITEM); } else { continue; } } $pageItem->setPageId($pageDto->getId()); $pageItem->setItemId($addedItem->getId()); $this->sitemapPageItemDao->save($pageItem); } foreach ($data['foundImages'] as $image) { $pageItem = new OASEO_BOL_SitemapPageItem(); $image = $this->addImage($image); $pageItem->setPageId($pageDto->getId()); $pageItem->setItemId($image->getId()); $pageItem->setType(OASEO_BOL_SitemapPageItemDao::TYPE_VALUE_ITEM); $this->sitemapPageItemDao->save($pageItem); } if ($this->getNextUrlToProcess() == null) { // need to complete site generation + generate sitemaps in configs OW::getConfig()->saveConfig('oaseo', 'update_maps', 1); break; } } }
function profiler_mark($markKey = null) { UTIL_Profiler::getInstance()->mark($markKey); }