public function __construct() { parent::__construct(); $this->service = BOL_ComponentAdminService::getInstance(); $this->fetchFromCache(); OW_ViewRenderer::getInstance()->registerFunction('sb_component', array($this, 'tplComponent')); }
/** * Smarty form block function. * * @author Sardar Madumarov <*****@*****.**> * @package ow.ow_smarty.plugin * @since 1.0 */ function smarty_block_form($params, $content) { if (!isset($params['name'])) { throw new InvalidArgumentException('Empty form name!'); } $vr = OW_ViewRenderer::getInstance(); $assignedForms = $vr->getAssignedVar('_owForms_'); if (!isset($assignedForms[$params['name']])) { throw new InvalidArgumentException('There is no form with name `' . $params['name'] . '` !'); } // mark active form if ($content === null) { $vr->assignVar('_owActiveForm_', $assignedForms[$params['name']]); return; } /* @var $form OW_Form */ $form = $vr->getAssignedVar('_owActiveForm_'); if (isset($params['decorator'])) { $viewRenderer = OW_ViewRenderer::getInstance(); $viewRenderer->assignVar('formInfo', $form->getElementsInfo()); $content = $viewRenderer->renderTemplate(OW::getThemeManager()->getDecorator($params['decorator'])); } unset($params['decorator']); unset($params['name']); return $form->render($content, $params); }
/** * Returns an instance of class (singleton pattern implementation). * * @return OW_ViewRenderer */ public static function getInstance() { if (self::$classInstance === null) { self::$classInstance = new self(); } return self::$classInstance; }
public function processCleanUp() { $configs = OW::getConfig()->getValues('cacheextreme'); //clean template cache if ($configs['template_cache']) { OW_ViewRenderer::getInstance()->clearCompiledTpl(); } //clean db backend cache if ($configs['backend_cache']) { OW::getCacheManager()->clean(array(), OW_CacheManager::CLEAN_ALL); } //clean themes static contents cache if ($configs['theme_static']) { OW::getThemeManager()->getThemeService()->processAllThemes(); } //clean plugins static contents cache if ($configs['plugin_static']) { $pluginService = BOL_PluginService::getInstance(); $activePlugins = $pluginService->findActivePlugins(); /* @var $pluginDto BOL_Plugin */ foreach ($activePlugins as $pluginDto) { $pluginStaticDir = OW_DIR_PLUGIN . $pluginDto->getModule() . DS . 'static' . DS; if (file_exists($pluginStaticDir)) { $staticDir = OW_DIR_STATIC_PLUGIN . $pluginDto->getModule() . DS; if (file_exists($staticDir)) { UTIL_File::removeDir($staticDir); } mkdir($staticDir); chmod($staticDir, 0777); UTIL_File::copyDir($pluginStaticDir, $staticDir); } } } }
public function __construct($placeName, array $componentList, $customizeMode, $componentTemplate) { parent::__construct($placeName, $componentList, $componentTemplate); $this->customizeMode = (bool) $customizeMode; OW_ViewRenderer::getInstance()->registerFunction('dd_component', array($this, 'tplComponent')); $this->assign('customizeMode', $this->customizeMode); $this->assign('allowCustomize', $this->allowCustomize); $this->assign('placeName', $placeName); }
public function __construct($placeName, $entityId, array $componentList, $customizeMode, $componentTemplate, $responderController = null) { parent::__construct($placeName, $componentList, $componentTemplate); $this->entityId = (int) $entityId; if (!empty($responderController)) { $this->responderController = $responderController; } $this->customizeMode = (bool) $customizeMode; OW_ViewRenderer::getInstance()->registerFunction('dd_component', array($this, 'tplComponent')); $this->assign('customizeMode', $this->customizeMode); $this->assign('allowCustomize', $this->allowCustomize); $this->assign('placeName', $placeName); $this->assign('entityId', $this->entityId); $this->sharedData['entity'] = $this->entityId; }
/** * Smarty form submit function. * * @author Sardar Madumarov <*****@*****.**> * @package ow.ow_smarty.plugin * @since 1.0 */ function smarty_function_submit($params) { $vr = OW_ViewRenderer::getInstance(); /* @var $form Form */ $form = $vr->getAssignedVar('_owActiveForm_'); if (!$form) { throw new InvalidArgumentException('Cant find form for input `' . $params['name'] . '` !'); } $name = $params['name'] ? trim($params['name']) : null; $input = $form->getSubmitElement($name); if ($input === null) { throw new WarningException('No input named `' . $params['name'] . '` in form !'); } return $input->renderInput($params); }
/** * Smarty form label function. * * @author Sardar Madumarov <*****@*****.**> * @package ow.ow_smarty.plugin * @since 1.0 */ function smarty_function_label($params) { if (!isset($params['name'])) { throw new InvalidArgumentException('Empty input name!'); } $vr = OW_ViewRenderer::getInstance(); /* @var $form Form */ $form = $vr->getAssignedVar('_owActiveForm_'); if (!$form) { throw new InvalidArgumentException('There is no form for input `' . $params['name'] . '` !'); } $input = $form->getElement(trim($params['name'])); if ($input === null) { throw new LogicException('No input named `' . $params['name'] . '` in form !'); } return $input->renderLabel(); }
/** * Smarty form error function. * * @author Sardar Madumarov <*****@*****.**> * @package ow.ow_smarty.plugin * @since 1.0 */ function smarty_function_error($params) { if (!isset($params['name'])) { throw new InvalidArgumentException('Empty input name!'); } $vr = OW_ViewRenderer::getInstance(); /* @var $form Form */ $form = $vr->getAssignedVar('_owActiveForm_'); if (!$form) { throw new InvalidArgumentException('There is no form for input `' . $params['name'] . '` !'); } $input = $form->getElement(trim($params['name'])); if ($input === null) { throw new WarningException('No input named `' . $params['name'] . '` in form !'); } $errors = $input->renderErrors(); return UTIL_HtmlTag::generateTag('span', array('id' => $input->getId() . '_error', 'style' => $errors ? 'display:block;' : 'display:none;', 'class' => 'error'), true, $errors); }
function skadate_after_route_handler() { OW_ViewRenderer::getInstance()->assignVar('adminDashboardIframeUrl', "//static.oxwall.org/spotlight/?platform=skadate&platform-version=" . OW::getConfig()->getValue('base', 'soft_version') . "&platform-build=" . OW::getConfig()->getValue('base', 'soft_build')); $config = OW::getConfig(); if (!$config->configExists('skadate', 'installInit')) { return; } $installDir = dirname(__FILE__) . DS . "files" . DS; $installPluginfiles = $installDir . 'ow_pluginfiles' . DS; $installUserfiles = $installDir . 'ow_userfiles' . DS; /* read all plugins from DB */ $plugins = BOL_PluginService::getInstance()->findActivePlugins(); $pluginList = array(); /* @var $value BOL_Plugin */ foreach ($plugins as $value) { $pluginList[$value->getKey()] = $value->isSystem ? new OW_SystemPlugin(array('dir_name' => $value->getModule(), 'key' => $value->getKey(), 'active' => $value->isActive(), 'dto' => $value)) : new OW_Plugin(array('dir_name' => $value->getModule(), 'key' => $value->getKey(), 'active' => $value->isActive(), 'dto' => $value)); } /* @var $plugin OW_Plugin */ foreach ($pluginList as $plugin) { if (!file_exists($plugin->getPluginFilesDir())) { mkdir($plugin->getPluginFilesDir()); } chmod($plugin->getPluginFilesDir(), 0777); if (file_exists($installPluginfiles . $plugin->getModuleName())) { UTIL_File::copyDir($installPluginfiles . $plugin->getModuleName(), $plugin->getPluginFilesDir()); } if (!file_exists($plugin->getUserFilesDir())) { mkdir($plugin->getUserFilesDir()); } chmod($plugin->getUserFilesDir(), 0777); if (file_exists($installUserfiles . $plugin->getModuleName())) { UTIL_File::copyDir($installUserfiles . $plugin->getModuleName(), $plugin->getUserFilesDir()); } } $config->deleteConfig('skadate', 'installInit'); }
/** * Renders block decorator and returns result markup. * * @param string $name * @param array $params * @return string */ public function processBlockDecorator($name, array $params, $content = '') { $viewRenderer = OW_ViewRenderer::getInstance(); $prevVars = $viewRenderer->getAllAssignedVars(); $viewRenderer->clearAssignedVars(); // TODO remove hardcode switch ($name) { case 'box': if (!empty($params['langLabel'])) { $tmpArr = explode('+', $params['langLabel']); $params['label'] = OW::getLanguage()->text($tmpArr[0], $tmpArr[1]); } if (isset($params['href'])) { $params['label'] = '<a href="' . $params['href'] . '"' . (isset($params['extraString']) ? ' ' . $params['extraString'] : '') . '>' . $params['label'] . '</a>'; } if (!isset($params['capEnabled'])) { $params['capEnabled'] = isset($params['label']) || isset($params['capContent']) || isset($params['capAddClass']); } if (empty($params['iconClass'])) { $params['iconClass'] = 'ow_ic_file'; } $params['type'] = empty($params['type']) ? '' : '_' . trim($params['type']); $params['capAddClass'] = $params['type'] . (empty($params['capAddClass']) ? '' : ' ' . $params['capAddClass']); $params['addClass'] = $params['type'] . (empty($params['addClass']) ? '' : ' ' . $params['addClass']) . ($params['capEnabled'] ? '' : ' ow_no_cap'); $params['capContent'] = empty($params['capContent']) ? '' : $params['capContent']; $params['style'] = empty($params['style']) ? '' : $params['style']; break; } $params['content'] = $content; $params['decoratorName'] = $name; $event = new BASE_CLASS_PropertyEvent('base.before_decorator', $params); OW::getEventManager()->trigger($event); $params = $event->getProperties(); $viewRenderer->assignVar('data', $params); $markup = $viewRenderer->renderTemplate(OW::getThemeManager()->getDecorator($name)); $viewRenderer->clearAssignedVars(); $viewRenderer->assignVars($prevVars); return $markup; }
<?php /** * Copyright (c) 2009, Skalfa LLC * All rights reserved. * ATTENTION: This commercial software is intended for use with Oxwall Free Community Software http://www.oxwall.org/ * and is licensed under Oxwall Store Commercial License. * Full text of this license can be found at http://www.oxwall.org/store/oscl */ OW::getRouter()->addRoute(new OW_Route('membership_admin', 'admin/membership', 'MEMBERSHIP_CTRL_Admin', 'index')); OW::getRouter()->addRoute(new OW_Route('membership_admin_subscribe', 'admin/membership/subscribe', 'MEMBERSHIP_CTRL_Admin', 'subscribe')); OW::getRouter()->addRoute(new OW_Route('membership_admin_browse_users_st', 'admin/membership/users', 'MEMBERSHIP_CTRL_Admin', 'users')); OW::getRouter()->addRoute(new OW_Route('membership_admin_browse_users', 'admin/membership/users/role/:roleId', 'MEMBERSHIP_CTRL_Admin', 'users')); OW::getRouter()->addRoute(new OW_Route('membership_admin_settings', 'admin/membership/settings', 'MEMBERSHIP_CTRL_Admin', 'settings')); OW::getRouter()->addRoute(new OW_Route('membership_admin_add', 'admin/membership/add', 'MEMBERSHIP_CTRL_Admin', 'add')); OW::getRouter()->addRoute(new OW_Route('membership_admin_edit_plans', 'admin/membership/edit-plans', 'MEMBERSHIP_CTRL_Admin', 'editPlans')); OW::getRouter()->addRoute(new OW_Route('membership_delete_plans', 'admin/membership/ajax/delete-plans', 'MEMBERSHIP_CTRL_Ajax', 'deletePlans')); OW::getRouter()->addRoute(new OW_Route('membership_delete_type', 'admin/membership/ajax/delete', 'MEMBERSHIP_CTRL_Ajax', 'deleteType')); OW::getRouter()->addRoute(new OW_Route('membership_subscribe', 'membership/subscribe', 'MEMBERSHIP_CTRL_Subscribe', 'index')); OW::getRouter()->addRoute(new OW_Route('membership_set', 'membership/ajax/set', 'MEMBERSHIP_CTRL_Ajax', 'set')); $plugin = OW::getPluginManager()->getPlugin('membership'); $classesToAutoload = array('RadioGroupItemField' => $plugin->getRootDir() . 'classes' . DS . 'radio_group_item_field.php'); OW::getAutoloader()->addClassArray($classesToAutoload); OW_ViewRenderer::getInstance()->registerFunction('membership_format_date', array('MEMBERSHIP_BOL_MembershipService', 'formatDate')); MEMBERSHIP_CLASS_EventHandler::getInstance()->init();
/** * 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()); }
/** * Returns rendered markup * * @return string */ public function render() { $this->onBeforeRender(); if (!$this->visible) { return ""; } $className = get_class($this); if ($this->template === null) { throw new LogicException("No template provided for class `{$className}`"); } $viewRenderer = OW_ViewRenderer::getInstance(); $prevVars = $viewRenderer->getAllAssignedVars(); $this->onRender(); $viewRenderer->assignVars($this->assignedVars); $renderedMarkup = $viewRenderer->renderTemplate($this->template); $viewRenderer->clearAssignedVars(); $viewRenderer->assignVars($prevVars); // TODO refactor - dirty data collect for dev tool if (self::$collectDevInfo) { self::$devInfo[$className] = $this->template; } return $renderedMarkup; }
/** * Returns rendered markup. * * @return string */ public function render() { $this->onBeforeRender(); if (!$this->visible) { return ''; } // TODO additional check if ($this->template === null) { throw new LogicException('No template was provided for render! Class `' . get_class($this) . '`.'); } $className = get_class($this); OW::getEventManager()->trigger(new OW_Event("core.performance_test", array("key" => "renderable_render.start", "params" => array("class" => $className)))); $viewRenderer = OW_ViewRenderer::getInstance(); $prevVars = $viewRenderer->getAllAssignedVars(); if (!empty($this->components)) { $renderedCmps = array(); foreach ($this->components as $key => $value) { $renderedCmps[$key] = $value->isVisible() ? $value->render() : ''; } $viewRenderer->assignVars($renderedCmps); } if (!empty($this->forms)) { $viewRenderer->assignVar('_owForms_', $this->forms); } $viewRenderer->assignVars($this->assignedVars); $renderedMarkup = $viewRenderer->renderTemplate($this->template); $viewRenderer->clearAssignedVars(); $viewRenderer->assignVars($prevVars); // temp dirty data collect for dev tool if (self::$devMode) { self::$renderedClasses[$className] = $this->template; } OW::getEventManager()->trigger(new OW_Event("core.performance_test", array("key" => "renderable_render.end", "params" => array("class" => $className)))); return $renderedMarkup; }
public function __construct() { parent::__construct(); OW_ViewRenderer::getInstance()->registerFunction('dnd_item', array($this, 'tplItem')); }
/** * @return string */ public function render() { if ($this->getTemplate() === null) { $this->setTemplate(OW::getThemeManager()->getMasterPageTemplate('html_document')); } $this->addMetaInfo(self::META_CONTENT_TYPE, $this->getMime() . '; charset=' . $this->getCharset(), 'http-equiv'); $this->addMetaInfo(self::META_CONTENT_LANGUAGE, $this->getLanguage(), 'http-equiv'); if ($this->getKeywords()) { $this->addMetaInfo('keywords', $this->getKeywords()); } if ($this->getDescription()) { $this->addMetaInfo('description', $this->getDescription()); } // echo "<pre>"; // print_r($_SERVER); // die; //home page changes Mehul $this->getMasterPage()->assign('userfiles_url', OW_URL_USERFILES); $this->getMasterPage()->assign('theme_css_url', OW_URL_STATIC . "themes/morning/"); $this->getMasterPage()->assign('site_url', OW_URL_HOME); $is_login_id = $_SESSION['userId']; //echo $is_login_id; die; $this->getMasterPage()->assign('is_login_id', $is_login_id); $page_url = $_SERVER['REQUEST_URI']; $split = explode("/", $page_url); $page_name = $split[count($split) - 1]; $this->getMasterPage()->assign('page_name', $page_name); //echo $page_name; die; if (!empty($is_login_id)) { $page_url = $_SERVER['REQUEST_URI']; $substr = substr(strstr($page_url, "/"), 1); $is_page = substr(strstr($substr, "/"), 1); $uname = BOL_UserService::getInstance()->findUserById($is_login_id); $user_name = $uname->username; $this->getMasterPage()->assign('uname', $user_name); $is_status = BOL_UserService::getInstance()->isApproved($is_login_id); if ($is_status == 1) { $profile_status = 'Active'; } else { $profile_status = 'Suspended'; } $this->getMasterPage()->assign('profile_status', $profile_status); // $userRoles = BOL_AuthorizationService::getInstance()->findUserRoleList($is_login_id); // $membership = OW::getLanguage()->text('base', 'authorization_role_' . $userRoles[0]->getName()); // $this->getMasterPage()->assign('membership', $membership); } //home page over if (!empty($is_login_id)) { if ($is_page == 'my-profile' || $is_page == 'profile/edit' || $is_page == '') { $this->getMasterPage()->assign('heading', $user_name); } else { $this->getMasterPage()->assign('heading', $this->getHeading()); } } $this->getMasterPage()->assign('content', $this->body); //$this->getMasterPage()->assign('heading', $this->getHeading()); $this->getMasterPage()->assign('heading_icon_class', $this->getHeadingIconClass()); $this->throwEvent("core.before_master_page_render"); $masterPageOutput = $this->getMasterPage()->render(); $this->throwEvent("core.after_master_page_render"); $headData = ''; $jsData = ''; // META INFO foreach ($this->meta as $key => $value) { if (in_array($key, $this->availableMetaAttrs) && !empty($value)) { foreach ($value as $name => $content) { $attrs = array($key => $name, 'content' => $content); $headData .= UTIL_HtmlTag::generateTag('meta', $attrs) . PHP_EOL; } } } // CSS FILE INCLUDES ksort($this->styleSheets['items']); foreach ($this->styleSheets['items'] as $priority => $scipts) { foreach ($scipts as $media => $urls) { foreach ($urls as $url) { $attrs = array('rel' => 'stylesheet', 'type' => 'text/css', 'href' => $url, 'media' => $media); $headData .= UTIL_HtmlTag::generateTag('link', $attrs) . PHP_EOL; } } } // JS PRE INCLUDES HEAD DECLARATIONS ksort($this->preIncludeJavaScriptDeclarations); foreach ($this->preIncludeJavaScriptDeclarations as $priority => $types) { foreach ($types as $type => $declarations) { foreach ($declarations as $declaration) { $attrs = array('type' => $type); $jsData .= UTIL_HtmlTag::generateTag('script', $attrs, true, PHP_EOL . $declaration . PHP_EOL) . PHP_EOL; } } } // JS FILE INCLUDES ksort($this->javaScripts['items']); $headJsInclude = ''; foreach ($this->javaScripts['items'] as $priority => $types) { foreach ($types as $type => $urls) { foreach ($urls as $url) { $attrs = array('type' => $type, 'src' => $url); //TODO remake temp fix - get JQUERY lib to the head area if ($priority == -100) { $headJsInclude .= UTIL_HtmlTag::generateTag('script', $attrs, true) . PHP_EOL; } else { $jsData .= UTIL_HtmlTag::generateTag('script', $attrs, true) . PHP_EOL; } } } } // CSS HEAD DECLARATIONS ksort($this->styleDeclarations['items']); foreach ($this->styleDeclarations['items'] as $priority => $mediaTypes) { foreach ($mediaTypes as $media => $declarations) { $attrs = array('media' => $media); $headData .= UTIL_HtmlTag::generateTag('style', $attrs, true, implode(' ', $declarations)); } } // JS HEAD DECLARATIONS ksort($this->javaScriptDeclarations['items']); foreach ($this->javaScriptDeclarations['items'] as $priority => $types) { foreach ($types as $type => $declarations) { foreach ($declarations as $declaration) { $attrs = array('type' => $type); $jsData .= UTIL_HtmlTag::generateTag('script', $attrs, true, PHP_EOL . '(function() {' . $declaration . '})();' . PHP_EOL) . PHP_EOL; } } } // ONLOAD JS $jsData .= '<script type="text/javascript">' . PHP_EOL . '$(function () {' . PHP_EOL; ksort($this->onloadJavaScript['items']); foreach ($this->onloadJavaScript['items'] as $priority => $scripts) { foreach ($scripts as $script) { $jsData .= '(function(_scope) {' . $script . '})(window);' . PHP_EOL; } } $jsData .= PHP_EOL . '});' . PHP_EOL . '</script>'; // LINKS foreach ($this->links as $linkInfo) { $headData .= UTIL_HtmlTag::generateTag('link', $linkInfo) . PHP_EOL; } $customHeadData = implode('', $this->customHeadInfo); $assignArray = array('title' => $this->getTitle(), 'headData' => $headData . $headJsInclude . $customHeadData, 'language' => $this->language, 'direction' => $this->direction, 'pageBody' => $this->prependCode . $masterPageOutput . $this->appendCode . $jsData . OW_Document::APPEND_PLACEHOLDER, 'bodyClass' => !empty($this->bodyClass) ? ' ' . $this->bodyClass : ''); $renderer = OW_ViewRenderer::getInstance(); $renderer->clearAssignedVars(); $renderer->assignVars($assignArray); return $renderer->renderTemplate($this->getTemplate()); }
* ATTENTION: This commercial software is intended for use with Oxwall Free Community Software http://www.oxwall.org/ * and is licensed under Oxwall Store Commercial License. * Full text of this license can be found at http://www.oxwall.org/store/oscl */ OW::getPluginManager()->addPluginSettingsRouteName('profileprogressbar', 'profileprogressbar.admin'); $config = OW::getConfig(); if (!$config->configExists('profileprogressbar', 'theme')) { $config->addConfig('profileprogressbar', 'theme', 'standart'); } if (!$config->configExists('profileprogressbar', 'features')) { $config->addConfig('profileprogressbar', 'features', '{"friends":1,"photo":1,"video":1}'); } if (!$config->configExists('profileprogressbar', 'per_day')) { $config->addConfig('profileprogressbar', 'per_day', 7); } if (!$config->configExists('profileprogressbar', 'show_hint')) { $config->addConfig('profileprogressbar', 'show_hint', 1); } OW::getDbo()->query('DROP TABLE IF EXISTS `' . OW_DB_PREFIX . 'profileprogressbar_activity_log`; CREATE TABLE `' . OW_DB_PREFIX . 'profileprogressbar_activity_log` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `userId` int(10) unsigned NOT NULL, `entityType` enum("blog-post", "event", "forum-topic", "friend_add", "group", "link", "photo_comments", "video_comments", "user_gift") NOT NULL, `timeStamp` int(10) unsigned NOT NULL, `entityId` int(10) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `indexAll` (`userId`,`entityType`,`timeStamp`, `entityId`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;'); OW::getLanguage()->importPluginLangs(OW::getPluginManager()->getPlugin('profileprogressbar')->getRootDir() . 'langs.zip', 'profileprogressbar'); OW_ViewRenderer::getInstance()->clearCompiledTpl();
protected function onRender() { parent::onRender(); $viewRenderer = OW_ViewRenderer::getInstance(); if (!empty($this->components)) { $renderedCmps = array(); foreach ($this->components as $key => $value) { $renderedCmps[$key] = $value->isVisible() ? $value->render() : ''; } $viewRenderer->assignVars($renderedCmps); } if (!empty($this->forms)) { $viewRenderer->assignVar("_owForms_", $this->forms); } }
/** * Application init actions. */ public function init() { // router init - need to set current page uri and base url $router = OW::getRouter(); $router->setBaseUrl(OW_URL_HOME); $this->urlHostRedirect(); OW_Auth::getInstance()->setAuthenticator(new OW_SessionAuthenticator()); $this->userAutoLogin(); // setting default time zone date_default_timezone_set(OW::getConfig()->getValue('base', 'site_timezone')); // synchronize the db's time zone OW::getDbo()->setTimezone(); // OW::getRequestHandler()->setIndexPageAttributes('BASE_CTRL_ComponentPanel'); OW::getRequestHandler()->setStaticPageAttributes('BASE_MCTRL_BaseDocument', 'staticDocument'); $uri = OW::getRequest()->getRequestUri(); // before setting in router need to remove get params if (strstr($uri, '?')) { $uri = substr($uri, 0, strpos($uri, '?')); } $router->setUri($uri); $defaultRoute = new OW_DefaultRoute(); //$defaultRoute->setControllerNamePrefix('MCTRL'); $router->setDefaultRoute($defaultRoute); $navService = BOL_NavigationService::getInstance(); // // // try to find static document with current uri // $document = $navService->findStaticDocument($uri); // // if ( $document !== null ) // { // $this->documentKey = $document->getKey(); // } OW::getPluginManager()->initPlugins(); $event = new OW_Event(OW_EventManager::ON_PLUGINS_INIT); OW::getEventManager()->trigger($event); $beckend = OW::getEventManager()->call('base.cache_backend_init'); if ($beckend !== null) { OW::getCacheManager()->setCacheBackend($beckend); OW::getCacheManager()->setLifetime(3600); OW::getDbo()->setUseCashe(true); } $this->devActions(); OW::getThemeManager()->initDefaultTheme(true); // setting current theme $activeThemeName = OW::getEventManager()->call('base.get_active_theme_name'); $activeThemeName = $activeThemeName ? $activeThemeName : OW::getConfig()->getValue('base', 'selectedTheme'); if ($activeThemeName !== BOL_ThemeService::DEFAULT_THEME && OW::getThemeManager()->getThemeService()->themeExists($activeThemeName)) { OW_ThemeManager::getInstance()->setCurrentTheme(BOL_ThemeService::getInstance()->getThemeObjectByName(trim($activeThemeName), true)); } // adding static document routes $staticDocs = $navService->findAllMobileStaticDocuments(); $staticPageDispatchAttrs = OW::getRequestHandler()->getStaticPageAttributes(); /* @var $value BOL_Document */ foreach ($staticDocs as $value) { OW::getRouter()->addRoute(new OW_Route($value->getKey(), $value->getUri(), $staticPageDispatchAttrs['controller'], $staticPageDispatchAttrs['action'], array('documentKey' => array(OW_Route::PARAM_OPTION_HIDDEN_VAR => $value->getKey())))); // TODO refactor - hotfix for TOS page if (UTIL_String::removeFirstAndLastSlashes($value->getUri()) == 'terms-of-use') { OW::getRequestHandler()->addCatchAllRequestsExclude('base.members_only', $staticPageDispatchAttrs['controller'], $staticPageDispatchAttrs['action'], array('documentKey' => $value->getKey())); } } //adding index page route $item = BOL_NavigationService::getInstance()->findFirstLocal(OW::getUser()->isAuthenticated() ? BOL_NavigationService::VISIBLE_FOR_MEMBER : BOL_NavigationService::VISIBLE_FOR_GUEST, OW_Navigation::MOBILE_TOP); if ($item !== null) { if ($item->getRoutePath()) { $route = OW::getRouter()->getRoute($item->getRoutePath()); $ddispatchAttrs = $route->getDispatchAttrs(); } else { $ddispatchAttrs = OW::getRequestHandler()->getStaticPageAttributes(); } $router->addRoute(new OW_Route('base_default_index', '/', $ddispatchAttrs['controller'], $ddispatchAttrs['action'], array('documentKey' => array(OW_Route::PARAM_OPTION_HIDDEN_VAR => $item->getDocumentKey())))); $this->indexMenuItem = $item; OW::getEventManager()->bind(OW_EventManager::ON_AFTER_REQUEST_HANDLE, array($this, 'activateMenuItem')); } else { $router->addRoute(new OW_Route('base_default_index', '/', 'BASE_MCTRL_WidgetPanel', 'index')); } if (!OW::getRequest()->isAjax()) { OW::getResponse()->setDocument($this->newDocument()); OW::getDocument()->setMasterPage(new OW_MobileMasterPage()); OW::getResponse()->setHeader(OW_Response::HD_CNT_TYPE, OW::getDocument()->getMime() . '; charset=' . OW::getDocument()->getCharset()); } else { OW::getResponse()->setDocument(new OW_AjaxDocument()); } /* additional actions */ if (OW::getUser()->isAuthenticated()) { BOL_UserService::getInstance()->updateActivityStamp(OW::getUser()->getId(), $this->getContext()); } // adding global template vars $currentThemeImagesDir = OW::getThemeManager()->getCurrentTheme()->getStaticImagesUrl(); $viewRenderer = OW_ViewRenderer::getInstance(); $viewRenderer->assignVar('themeImagesUrl', $currentThemeImagesDir); $viewRenderer->assignVar('siteName', OW::getConfig()->getValue('base', 'site_name')); $viewRenderer->assignVar('siteTagline', OW::getConfig()->getValue('base', 'site_tagline')); $viewRenderer->assignVar('siteUrl', OW_URL_HOME); $viewRenderer->assignVar('isAuthenticated', OW::getUser()->isAuthenticated()); $viewRenderer->assignVar('bottomPoweredByLink', '<a href="http://www.oxwall.org/" target="_blank" title="Powered by Oxwall Community Software"><img src="' . $currentThemeImagesDir . 'powered-by-oxwall.png" alt="Oxwall Community Software" /></a>'); $viewRenderer->assignVar('adminDashboardIframeUrl', "http://static.oxwall.org/spotlight/?platform=oxwall&platform-version=" . OW::getConfig()->getValue('base', 'soft_version') . "&platform-build=" . OW::getConfig()->getValue('base', 'soft_build')); if (function_exists('ow_service_actions')) { call_user_func('ow_service_actions'); } $this->handleHttps(); }
/** * Returns rendered markup. * * @return string */ public function render() { $this->onBeforeRender(); if (!$this->visible) { return ''; } // TODO additional check if ($this->template === null) { throw new LogicException('No template was provided for render! Class `' . get_class($this) . '`.'); } $viewRenderer = OW_ViewRenderer::getInstance(); $prevVars = $viewRenderer->getAllAssignedVars(); if (!empty($this->components)) { $renderedCmps = array(); foreach ($this->components as $key => $value) { $renderedCmps[$key] = $value->isVisible() ? $value->render() : ''; } $viewRenderer->assignVars($renderedCmps); } if (!empty($this->forms)) { $viewRenderer->assignVar('_owForms_', $this->forms); } $viewRenderer->assignVars($this->assignedVars); $renderedMarkup = $viewRenderer->renderTemplate($this->template); $viewRenderer->clearAssignedVars(); $viewRenderer->assignVars($prevVars); // temp dirty data collect for dev tool if (self::$devMode) { self::$renderedClasses[get_class($this)] = $this->template; } return $renderedMarkup; }
/** * @return string */ public function render() { if ($this->getTemplate() === null) { $this->setTemplate(OW::getThemeManager()->getMasterPageTemplate('html_document')); } $this->addMetaInfo(self::META_CONTENT_TYPE, $this->getMime() . '; charset=' . $this->getCharset(), 'http-equiv'); $this->addMetaInfo(self::META_CONTENT_LANGUAGE, $this->getLanguage(), 'http-equiv'); if ($this->getKeywords()) { $this->addMetaInfo('keywords', $this->getKeywords()); } if ($this->getDescription()) { $this->addMetaInfo('description', $this->getDescription()); } $this->getMasterPage()->assign('content', $this->body); $this->getMasterPage()->assign('heading', $this->getHeading()); $this->getMasterPage()->assign('heading_icon_class', $this->getHeadingIconClass()); $this->throwEvent("core.before_master_page_render"); $masterPageOutput = $this->getMasterPage()->render(); $this->throwEvent("core.after_master_page_render"); $headData = ''; $jsData = ''; // META INFO foreach ($this->meta as $key => $value) { if (in_array($key, $this->availableMetaAttrs) && !empty($value)) { foreach ($value as $name => $content) { $attrs = array($key => $name, 'content' => $content); $headData .= UTIL_HtmlTag::generateTag('meta', $attrs) . PHP_EOL; } } } // CSS FILE INCLUDES ksort($this->styleSheets['items']); foreach ($this->styleSheets['items'] as $priority => $scipts) { foreach ($scipts as $media => $urls) { foreach ($urls as $url) { $attrs = array('rel' => 'stylesheet', 'type' => 'text/css', 'href' => $url, 'media' => $media); $headData .= UTIL_HtmlTag::generateTag('link', $attrs) . PHP_EOL; } } } // JS PRE INCLUDES HEAD DECLARATIONS ksort($this->preIncludeJavaScriptDeclarations); foreach ($this->preIncludeJavaScriptDeclarations as $priority => $types) { foreach ($types as $type => $declarations) { foreach ($declarations as $declaration) { $attrs = array('type' => $type); $jsData .= UTIL_HtmlTag::generateTag('script', $attrs, true, PHP_EOL . $declaration . PHP_EOL) . PHP_EOL; } } } // JS FILE INCLUDES ksort($this->javaScripts['items']); $headJsInclude = ''; foreach ($this->javaScripts['items'] as $priority => $types) { foreach ($types as $type => $urls) { foreach ($urls as $url) { $attrs = array('type' => $type, 'src' => $url); //TODO remake temp fix - get JQUERY lib to the head area if ($priority == -100) { $headJsInclude .= UTIL_HtmlTag::generateTag('script', $attrs, true) . PHP_EOL; } else { $jsData .= UTIL_HtmlTag::generateTag('script', $attrs, true) . PHP_EOL; } } } } // CSS HEAD DECLARATIONS ksort($this->styleDeclarations['items']); foreach ($this->styleDeclarations['items'] as $priority => $mediaTypes) { foreach ($mediaTypes as $media => $declarations) { $attrs = array('media' => $media); $headData .= UTIL_HtmlTag::generateTag('style', $attrs, true, implode(' ', $declarations)); } } // JS HEAD DECLARATIONS ksort($this->javaScriptDeclarations['items']); foreach ($this->javaScriptDeclarations['items'] as $priority => $types) { foreach ($types as $type => $declarations) { foreach ($declarations as $declaration) { $attrs = array('type' => $type); $jsData .= UTIL_HtmlTag::generateTag('script', $attrs, true, PHP_EOL . '(function() {' . $declaration . '})();' . PHP_EOL) . PHP_EOL; } } } // ONLOAD JS $jsData .= '<script type="text/javascript">' . PHP_EOL . '$(function () {' . PHP_EOL; ksort($this->onloadJavaScript['items']); foreach ($this->onloadJavaScript['items'] as $priority => $scripts) { foreach ($scripts as $script) { $jsData .= '(function(_scope) {' . $script . '})(window);' . PHP_EOL; } } $jsData .= PHP_EOL . '});' . PHP_EOL . '</script>'; // LINKS foreach ($this->links as $linkInfo) { $headData .= UTIL_HtmlTag::generateTag('link', $linkInfo) . PHP_EOL; } $customHeadData = implode('', $this->customHeadInfo); $assignArray = array('title' => $this->getTitle(), 'headData' => $headData . $headJsInclude . $customHeadData, 'language' => $this->language, 'direction' => $this->direction, 'pageBody' => $this->prependCode . $masterPageOutput . $this->appendCode . $jsData . OW_Document::APPEND_PLACEHOLDER, 'bodyClass' => !empty($this->bodyClass) ? ' ' . $this->bodyClass : ''); $renderer = OW_ViewRenderer::getInstance(); $renderer->clearAssignedVars(); $renderer->assignVars($assignArray); return $renderer->renderTemplate($this->getTemplate()); }
$router->addRoute(new OW_Route('base_page_404', '404', 'BASE_CTRL_BaseDocument', 'page404')); $router->addRoute(new OW_Route('base_page_403', '403', 'BASE_CTRL_BaseDocument', 'page403')); $router->addRoute(new OW_Route('base_page_auth_failed', 'authorization-failed', 'BASE_CTRL_BaseDocument', 'authorizationFailed')); $router->addRoute(new OW_Route('base_page_splash_screen', 'splash-screen', 'BASE_CTRL_BaseDocument', 'splashScreen')); $router->addRoute(new OW_Route('base_page_alert', 'alert-page', 'BASE_CTRL_BaseDocument', 'alertPage')); $router->addRoute(new OW_Route('base_page_confirm', 'confirm-page', 'BASE_CTRL_BaseDocument', 'confirmPage')); $router->addRoute(new OW_Route('base_page_install_completed', 'install/completed', 'BASE_CTRL_BaseDocument', 'installCompleted')); $router->addRoute(new OW_Route('base_delete_user', 'profile/delete', 'BASE_CTRL_DeleteUser', 'index')); $router->addRoute(new OW_Route('base.reset_user_password', 'reset-password/:code', 'BASE_CTRL_User', 'resetPassword')); $router->addRoute(new OW_Route('base.reset_user_password_request', 'reset-password-request', 'BASE_CTRL_User', 'resetPasswordRequest')); $router->addRoute(new OW_Route('base.reset_user_password_expired_code', 'reset-password-code-expired', 'BASE_CTRL_User', 'resetPasswordCodeExpired')); $router->addRoute(new OW_Route('base_billing_completed', 'order/:hash/completed', 'BASE_CTRL_Billing', 'completed')); $router->addRoute(new OW_Route('base_billing_completed_st', 'order/completed', 'BASE_CTRL_Billing', 'completed')); $router->addRoute(new OW_Route('base_billing_canceled', 'order/:hash/canceled', 'BASE_CTRL_Billing', 'canceled')); $router->addRoute(new OW_Route('base_billing_canceled_st', 'order/canceled', 'BASE_CTRL_Billing', 'canceled')); $router->addRoute(new OW_Route('base_billing_error', 'order/incomplete', 'BASE_CTRL_Billing', 'error')); $router->addRoute(new OW_Route('base_preference_index', 'profile/preference', 'BASE_CTRL_Preference', 'index')); $router->addRoute(new OW_Route('base_user_privacy_no_permission', 'profile/:username/no-permission', 'BASE_CTRL_ComponentPanel', 'privacyMyProfileNoPermission')); $router->addRoute(new OW_Route('base-api-server', 'api-server', 'BASE_CTRL_ApiServer', 'request')); $router->addRoute(new OW_Route('base.robots_txt', 'robots.txt', 'BASE_CTRL_Base', 'robotsTxt')); $router->addRoute(new OW_Route('base.complete_account_type', 'fill/account_type', 'BASE_CTRL_CompleteProfile', 'fillAccountType')); $router->addRoute(new OW_Route('base.complete_required_questions', 'fill/profile_questions', 'BASE_CTRL_CompleteProfile', 'fillRequiredQuestions')); $router->addRoute(new OW_Route('base.moderation_flags', 'moderation/flags/:group', 'BASE_CTRL_Moderation', 'flags')); $router->addRoute(new OW_Route('base.moderation_flags_index', 'moderation/flags', 'BASE_CTRL_Moderation', 'flags')); $router->addRoute(new OW_Route('base.moderation_tools', 'moderation', 'BASE_CTRL_Moderation', 'index')); OW_ViewRenderer::getInstance()->registerFunction('display_rate', array('BASE_CTRL_Rate', 'displayRate')); $eventHandler = new BASE_CLASS_EventHandler(); $eventHandler->init(); //OW::getRegistry()->setArray('users_page_data', array()); BASE_CLASS_ConsoleEventHandler::getInstance()->init(); BASE_CLASS_InvitationEventHandler::getInstance()->init();
public function addContent(BASE_CLASS_EventCollector $event) { $photo = OW_ViewRenderer::getInstance()->getAssignedVar("photo"); $tags = array(); $tagsCmp = null; if (!empty($photo)) { $tags = UTAGS_BOL_Service::getInstance()->getTagsByPhotoId($photo->id, UTAGS_BOL_Service::ENTITY_TYPE_USER); } if (!empty($tags)) { $tagsCmp = new UTAGS_CMP_TagList($tags); } $tagList = new UTAGS_CMP_TagListContainer($tagsCmp); $event->add($tagList->render()); // Trick: dom elements reposition OW::getDocument()->addOnloadScript('$(".ow_photo_info .ow_right div:first", "#ow-photo-view").after($(".ow_photo_info .ow_right .ow_box_empty:eq(2)", "#ow-photo-view").addClass("ut-custom-tags-wrap")); $(".ow_photo_info .ow_right div:first", "#ow-photo-view").after($(".ut-tag-list-wrap", "#ow-photo-view"));'); $closeUrl = OW::getThemeManager()->getCurrentTheme()->getStaticImagesUrl() . "chat_btn_close_search.png"; OW::getDocument()->addStyleDeclaration(".ut-ic-close { background-image: url({$closeUrl}) };"); }
protected function updateCachedEntities($options) { $options = intval($options); if ($options === 1 || $options & 1 << 1) { OW_ViewRenderer::getInstance()->clearCompiledTpl(); } if ($options === 1 || $options & 1 << 2) { BOL_ThemeService::getInstance()->updateThemeList(); BOL_ThemeService::getInstance()->processAllThemes(); if (OW::getConfig()->configExists('base', 'cachedEntitiesPostfix')) { OW::getConfig()->saveConfig('base', 'cachedEntitiesPostfix', uniqid()); } $event = new OW_Event('base.update_cache_entities'); OW::getEventManager()->trigger($event); } if ($options === 1 || $options & 1 << 3) { BOL_LanguageService::getInstance()->generateCacheForAllActiveLanguages(); } if ($options === 1 || $options & 1 << 4) { OW::getCacheManager()->clean(array(), OW_CacheManager::CLEAN_ALL); } if (($options === 1 || $options & 1 << 5) && !defined('OW_PLUGIN_XP')) { $pluginService = BOL_PluginService::getInstance(); $activePlugins = $pluginService->findActivePlugins(); /* @var $pluginDto BOL_Plugin */ foreach ($activePlugins as $pluginDto) { $pluginStaticDir = OW_DIR_PLUGIN . $pluginDto->getModule() . DS . 'static' . DS; if (file_exists($pluginStaticDir)) { $staticDir = OW_DIR_STATIC_PLUGIN . $pluginDto->getModule() . DS; if (!file_exists($staticDir)) { mkdir($staticDir); chmod($staticDir, 0777); } UTIL_File::copyDir($pluginStaticDir, $staticDir); } } } }
public function __construct($placeName, array $componentList, $template = null) { parent::__construct(); if ($template !== null) { $plugin = OW::getPluginManager()->getPlugin(OW::getAutoloader()->getPluginKey(get_class($this))); $this->setTemplate($plugin->getCmpViewDir() . $template . '.html'); } $this->placeName = $placeName; $this->componentList = $componentList; foreach ($this->componentList as $widget) { $this->standartSettings[$widget['className']] = call_user_func(array($widget['className'], 'getStandardSettingValueList')); } OW_ViewRenderer::getInstance()->registerFunction('dd_component', array($this, 'tplComponent')); $this->assign('disableJs', !empty($_GET['disable-js'])); $this->assign('placeName', $placeName); $this->sharedData = array('additionalSettings' => &$this->additionalSettingList, 'place' => $this->placeName); }