示例#1
0
 /**
  * Returns an array of all module classes as string found in the modules folder.
  * 
  * This function does not check the module isAvailable function. So pro modules
  * will be returned even if they can't be decoded. Check the availability manually
  * if needed.
  * 
  * @return array Module class names eg. \GO\Calendar\Module
  */
 public function getAvailableModules($returnInstalled = false)
 {
     $folder = new Fs\Folder(\GO::config()->root_path . 'modules');
     $folders = $folder->ls();
     $modules = array();
     foreach ($folders as $folder) {
         if ($folder->isFolder()) {
             $ucfirst = ucfirst($folder->name());
             //				$moduleClass = $folder->path().'/'.$ucfirst.'Module.php';
             if ($this->isAvailable($folder->name(), false) && ($returnInstalled || !Model\Module::model()->findByPk($folder->name(), false, true))) {
                 $modules[] = 'GO\\' . $ucfirst . '\\' . $ucfirst . 'Module';
             }
         }
     }
     return $modules;
 }
示例#2
0
 public function getAllLanguage()
 {
     $folder = new Fs\Folder(\GO::config()->root_path . 'language');
     $items = $folder->ls();
     foreach ($items as $folder) {
         if ($folder instanceof Fs\Folder) {
             $this->_loadSection('base', $folder->name());
         }
     }
     //always load users lang for settings panels
     $this->_loadSection('users');
     $modules = \GO::modules()->getAllModules();
     while ($module = array_shift($modules)) {
         $this->_loadSection($module->id);
     }
     return $this->_lang;
 }