Changeset 282


Ignore:
Timestamp:
Jun 17, 2013, 2:15:14 PM (8 years ago)
Author:
david.vanenckevort@…
Message:
  • Initialize the list of modules in the database.
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/main/src/html/admin/index.php

    r266 r282  
    1212$InitDb->init(true); // force a drop first
    1313echo $InitDb->dbTablesExists() ? 'yes' : 'no';
     14$InitDb->createModules(dirname(__DIR__));
    1415
    1516$InitDb->dbCreateDefaultUsers();
  • trunk/php-lib/src/FGWeb/InitDb.php

    r279 r282  
    9292
    9393
    94         try {
     94        try {           
    9595            $AnyModule = new Module();
    9696            $AnyModule->set_name('*');
    9797            $this->DAO->create_module($AnyModule) ? $AnyModule = $this->DAO->get_module($AnyModule) : $this->LOG-err("was unable to create the module: $AnyModule");
    9898
     99
    99100            $UserModule = new Module();
    100101            $UserModule->set_name('example1');
    101             $this->DAO->create_module($UserModule) ? $UserModule = $this->DAO->get_module($UserModule) : $this->LOG-err("was unable to create the module: $UserModule");
     102            $UserModule = $this->DAO->get_module($UserModule);
    102103
    103104            $AdminModule = new Module();
    104105            $AdminModule->set_name('sysadmin');
    105             $this->DAO->create_module($AdminModule) ? $AdminModule = $this->DAO->get_module($AdminModule) : $this->LOG-err("was unable to create the module: $AdminModule");
     106            $AdminModule = $this->DAO->get_module($AdminModule);
    106107
    107108            // create role(s)
     
    180181        return true;
    181182    }
     183
     184    /**
     185     * Create module entries in the database for all the modules found in the given directory.
     186     * @param type $directory
     187     */
     188    public function createModules($directory) {
     189        $d = dir($directory);
     190        echo '<pre>';
     191        while (false !== ($entry = $d->read())) {
     192            $file = $directory.'/'.$entry.'/info.inc.php';
     193            if (is_file($file) && $entry[0] !== '.') {
     194                $this->createModule(basename($entry));
     195            }
     196        }
     197        echo '</pre>';
     198        $d->close();
     199    }
     200
     201    /**
     202     * Create a module entry in the database.
     203     * @param string $moduleName the name of the module
     204     * @return Module the instance of the Module class for this module
     205     */
     206    private function createModule($moduleName) {
     207        $module = new Module();
     208        $module->set_name($moduleName);
     209        $this->DAO->create_module($module) ? $module = $this->DAO->get_module($module) : print_r("was unable to create the module: $moduleName");
     210        return $module;
     211    }
    182212}
    183213
Note: See TracChangeset for help on using the changeset viewer.