public function install() { // check install status $installed = false; try { $qres = $this->db->_db->query("SELECT 1 FROM `auth` LIMIT 1"); if ($qres !== false) { $installed = true; } $qres->closeCursor(); } catch (Exception $ex) { } // Check docs template $this->checkStorageTemplate(); if ($installed) { return "Database detected, skipping full installation."; } // Install database $schemapath = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['APP_ROOT'] . "library/installer/schemas/install.sql"; if (!file_exists($schemapath)) { return "Schema does not exist"; } $sql = file_get_contents($schemapath); try { $result = $this->db->_db->exec($sql); if ($result !== false) { // use setup var provided in request if (isset($_REQUEST['setupvars'])) { $setupvars = json_decode($_REQUEST['setupvars']); // set admin hash and disable staff user $authMdl = new AuthModel(); $authMdl->setDisabled(2, true); $authMdl->edit(1, null, $setupvars->adminhash); // Setup general info echo "Setup variables processed.\n"; } // start node server (restart to be safe) $socket = new WposSocketControl(); $socket->restartSocketServer(['error' => 'OK']); } } catch (Exception $e) { return $e->getMessage(); } return "Setup Completed Successfully!"; }
/** * Set user disabled * @param $result * @return mixed */ public function setUserDisabled($result) { // validate input if (!is_numeric($this->data->id)) { $result['error'] = "A valid id must be supplied"; return $result; } // prevent updating of master admin username if ($this->data->id == 1 && !isset($this->data->pass)) { $result['error'] = "The master admin user cannot be disabled"; return $result; } $userMdl = new AuthModel(); if ($userMdl->setDisabled($this->data->id, boolval($this->data->disable)) === false) { $result['error'] = "Could not enable/disable the user"; } // log data Logger::write("User " . ($this->data->disable == true ? "disabled" : "enabled") . " with id:" . $this->data->id, "USER"); return $result; }