Example #1
0
 /**
  * Force compilation for all stored definitions
  *
  * @return void
  * @access public
  */
 function compileDefinitions()
 {
     //foreach definition, plugin and rss, recompile stored values if exists
     $modules = CMS_modulesCatalog::getAll("id", true);
     $hasPolyModule = false;
     foreach ($modules as $module) {
         if ($module->isPolymod()) {
             $hasPolyModule = true;
             //get objects definition for module
             $objects = CMS_poly_object_catalog::getObjectsForModule($module->getCodename());
             foreach ($objects as $object) {
                 if ($object->getValue('indexURL')) {
                     $object->compileDefinition();
                     $object->writeToPersistence();
                 }
             }
             //get plugins for module
             $plugins = CMS_poly_object_catalog::getAllPluginDefIDForModule($module->getCodename());
             foreach ($plugins as $pluginID) {
                 $plugin = new CMS_poly_plugin_definitions($pluginID);
                 if ($plugin->getValue('definition') && method_exists($plugin, 'compileDefinition')) {
                     $plugin->compileDefinition();
                     $plugin->writeToPersistence();
                 }
             }
         }
     }
     if ($hasPolyModule) {
         //get all RSS definition
         $rssDefinitions = CMS_poly_object_catalog::getAllRSSDefinitionsForObject();
         foreach ($rssDefinitions as $rssDefinition) {
             if ($rssDefinition->getValue('definition')) {
                 $rssDefinition->compileDefinition();
                 $rssDefinition->writeToPersistence();
             }
         }
     }
 }