Example #1
0
 public static function install_module($moduleName, $path)
 {
     require_once $path;
     $m = new $moduleName();
     $info = $m->info();
     if (isset($info['dependencies'])) {
         foreach ($info['dependencies'] as $d) {
             if (!self::is_enabled($d)) {
                 return false;
             }
         }
     }
     if (!self::is_installed($moduleName)) {
         $schema = method_invoke($moduleName, "schema");
         try {
             Database::schema_installer($schema);
             $res = method_invoke($moduleName, "install");
             $t = $res == null ? true : $res;
             if ($t) {
                 method_invoke_all("hook_module_install", $moduleName);
                 self::cache_i($moduleName);
             }
             return $t;
         } catch (Exception_Database $e) {
             return false;
         }
     }
     return false;
 }