Microweber\Providers\Modules::save PHP Method

save() public method

public save ( $data_to_save )
    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;
    }