Example #1
0
 public function getUrl($mixedId)
 {
     $oPageQuery = new BxDolPageQuery(array());
     $sContent = $oPageQuery->getPageBlockContent($mixedId);
     if (!$sContent) {
         return false;
     }
     list($sUrl) = explode('#', $sContent);
     if (!$sUrl) {
         return false;
     }
     return $sUrl;
 }
Example #2
0
 /**
  * Process page triggers.
  * Page triggers allow to automatically add page blocks to modules with no different if dependant module was install before or after the module page block belongs to.
  * For example module "Notes" adds page blocks to all profiles modules (Persons, Organizations, etc)
  * with no difference if persons module was installed before or after "Notes" module was installed.
  * @param $sPageTriggerName trigger name to process, usually specified in module installer class - @see BxBaseModGeneralInstaller
  * @return always true, always success
  */
 public static function processPageTrigger($sPageTriggerName)
 {
     // get list of active modules
     $aModules = BxDolModuleQuery::getInstance()->getModulesBy(array('type' => 'modules', 'active' => 1));
     // get list of page block triggers
     $aPageBlocks = BxDolPageQuery::getPageTriggers($sPageTriggerName);
     // check each page block trigger for all modules
     foreach ($aPageBlocks as $aPageBlock) {
         foreach ($aModules as $aModule) {
             if (!BxDolRequest::serviceExists($aModule['name'], 'get_page_object_for_page_trigger')) {
                 continue;
             }
             $sPageObject = BxDolService::call($aModule['name'], 'get_page_object_for_page_trigger', array($sPageTriggerName));
             if (!$sPageObject) {
                 continue;
             }
             $aPageBlock['object'] = $sPageObject;
             BxDolPageQuery::addPageBlockToPage($aPageBlock);
         }
     }
     return true;
 }
Example #3
0
 /**
  * Get page object instance by object name
  * @param $sObject object name
  * @return object instance or false on error
  */
 public static function getObjectInstance($sObject)
 {
     if (isset($GLOBALS['bxDolClasses']['BxDolPage!' . $sObject])) {
         return $GLOBALS['bxDolClasses']['BxDolPage!' . $sObject];
     }
     $aObject = BxDolPageQuery::getPageObject($sObject);
     if (!$aObject || !is_array($aObject)) {
         return false;
     }
     bx_import('BxTemplPage');
     $sClass = 'BxTemplPage';
     if (!empty($aObject['override_class_name'])) {
         $sClass = $aObject['override_class_name'];
         if (!empty($aObject['override_class_file'])) {
             require_once BX_DIRECTORY_PATH_ROOT . $aObject['override_class_file'];
         } else {
             bx_import($sClass);
         }
     }
     $o = new $sClass($aObject);
     return $GLOBALS['bxDolClasses']['BxDolPage!' . $sObject] = $o;
 }