function action()
 {
     $path = OWA_BASE_CLASSES_DIR . 'modules/';
     $dirs = array();
     if ($handle = opendir($path)) {
         while (($file = readdir($handle)) !== false) {
             // test for '.' in dir name
             if (strpos($file, '.') === false) {
                 // test for whether file is a dir
                 if (is_dir($path . $file)) {
                     $mod = owa_coreAPI::moduleClassFactory($file);
                     $dirs[$file]['name'] = $mod->name;
                     $dirs[$file]['display_name'] = $mod->display_name;
                     $dirs[$file]['author'] = $mod->author;
                     $dirs[$file]['group'] = $mod->group;
                     $dirs[$file]['version'] = $mod->version;
                     $dirs[$file]['description'] = $mod->description;
                     $dirs[$file]['config_required'] = $mod->config_required;
                     $dirs[$file]['current_schema_version'] = $mod->getSchemaVersion();
                     $dirs[$file]['required_schema_version'] = $mod->getRequiredSchemaVersion();
                     $dirs[$file]['schema_uptodate'] = $mod->isSchemaCurrent();
                     //$dirs['stats'] = lstat($path.$file);
                 }
             }
         }
     }
     closedir($handle);
     ksort($dirs);
     // remove base module so it can't be deactivated
     // unset($dirs['base']);
     $active_modules = owa_coreAPI::getActiveModules();
     foreach ($active_modules as $module) {
         if (!empty($dirs[$module])) {
             $dirs[$module]['status'] = 'active';
         }
     }
     // add data to container
     $this->setView('base.options');
     $this->setSubview('base.optionsModules');
     $this->set('modules', $dirs);
     return;
 }
Пример #2
0
 function _loadModules()
 {
     $am = owa_coreAPI::getActiveModules();
     foreach ($am as $k => $v) {
         $m = owa_coreAPI::moduleClassFactory($v);
         $this->addModule($m);
         // check for schema updates
         $check = $m->isSchemaCurrent();
         if ($check != true) {
             $this->markModuleAsNeedingUpdate($m->name);
         }
     }
     // set schema update flag
     if (!empty($this->modules_needing_updates)) {
         $this->setUpdateRequired();
     }
     return;
 }
 public static function installModule($module_name)
 {
     if ($module_name) {
         $m = owa_coreAPI::moduleClassFactory($module_name);
         $status = $m->install();
         return $status;
     }
 }