public function save($data_to_save)
{
if (mw()->user_manager->is_admin() == false and $this->_install_mode == false) {
return false;
}
if (isset($data_to_save['is_element']) and $data_to_save['is_element'] == true) {
}
$table = $this->tables['modules'];
$save = false;
if (!empty($data_to_save)) {
$s = $data_to_save;
if (!isset($s['parent_id'])) {
$s['parent_id'] = 0;
}
if (!isset($s['installed']) or $s['installed'] == 'auto') {
$s['installed'] = 1;
}
if (isset($s['settings']) and is_array($s['settings'])) {
$s['settings'] = json_encode($s['settings']);
}
$s['allow_html'] = true;
if (!isset($s['id']) and isset($s['module'])) {
$s['module'] = $data_to_save['module'];
if (!isset($s['module_id'])) {
$save = $this->get_modules('ui=any&limit=1&module=' . $s['module']);
if ($save != false and isset($save[0]) and is_array($save[0])) {
$s['id'] = intval($save[0]['id']);
$s['position'] = intval($save[0]['position']);
$s['installed'] = intval($save[0]['installed']);
$save = mw()->database_manager->save($table, $s);
$mname_clen = str_replace('\\', '/', $s['module']);
if ($s['id'] > 0) {
//$delid = $s["id"];
//DB::table($table)->where('id', '!=', $delid)->delete();
// $del = "DELETE FROM {$table} WHERE module='{$mname_clen}' AND id!={$delid} ";
//mw()->database_manager->q($del);
}
} else {
$save = mw()->database_manager->save($table, $s);
}
}
} else {
$save = mw()->database_manager->save($table, $s);
}
}
return $save;
}