Add module order for modules that are already in the database without an order set.

This commit is contained in:
markjcrane 2016-05-26 12:46:07 -06:00
parent 24b7b93988
commit 3211c0b44a
2 changed files with 32 additions and 14 deletions

View File

@ -32,10 +32,31 @@
$obj->settings(); $obj->settings();
unset($obj); unset($obj);
//use the module class to get the list of modules from the db and add any missing modules //add the module object
if (isset($_SESSION['switch']['mod']['dir'])) {
$module = new modules; $module = new modules;
$module->db = $db; $module->db = $db;
//add the access control list to the database
$sql = "select * from v_modules ";
$sql .= "where module_order is null ";
$prep_statement = $db->prepare($sql);
if ($prep_statement) {
$prep_statement->execute();
$modules = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($modules as &$row) {
//get the module details
$mod = $module->info($row['module_name']);
//update the module order
$sql = "update v_modules set ";
$sql .= "module_order = '".$mod['module_order']."', ";
$sql .= "where module_uuid = '".$row['module_uuid']."' ";
$db->exec(check_sql($sql));
unset($sql);
}
}
//use the module class to get the list of modules from the db and add any missing modules
if (isset($_SESSION['switch']['mod']['dir'])) {
$module->dir = $_SESSION['switch']['mod']['dir']; $module->dir = $_SESSION['switch']['mod']['dir'];
$module->get_modules(); $module->get_modules();
$module->synch(); $module->synch();

View File

@ -27,18 +27,20 @@ include "root.php";
//define the directory class //define the directory class
class modules { class modules {
//define the variables
public $db; public $db;
public $dir; public $dir;
public $fp; public $fp;
public $modules; public $modules;
public $msg; public $msg;
// get the additional information about a specific module //get the additional information about a specific module
public function info($name) { public function info($name) {
$module_label = substr($name, 4); $module_label = substr($name, 4);
$module_label = ucwords(str_replace("_", " ", $module_label)); $module_label = ucwords(str_replace("_", " ", $module_label));
$mod['module_label'] = $module_label; $mod['module_label'] = $module_label;
$mod['module_name'] = $name; $mod['module_name'] = $name;
$mod['module_order'] = '800';
$mod['module_enabled'] = 'false'; $mod['module_enabled'] = 'false';
$mod['module_default_enabled'] = 'false'; $mod['module_default_enabled'] = 'false';
$mod['module_description'] = ''; $mod['module_description'] = '';
@ -698,12 +700,7 @@ include "root.php";
//append the module label //append the module label
$modules_new .= "<li>".$mod['module_label']."</li>\n"; $modules_new .= "<li>".$mod['module_label']."</li>\n";
//set the order //set the order
if (isset($mod['module_order'])) {
$order = $mod['module_order']; $order = $mod['module_order'];
}
else {
$order = 800;
}
//insert the data //insert the data
$module_uuid = uuid(); $module_uuid = uuid();
$sql = "insert into v_modules "; $sql = "insert into v_modules ";