示例#1
0
 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!";
 }
示例#2
0
 /**
  * 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;
 }