public function authApiKey($user, $key) { global $postgisdb; $postgisdb = $user; $settings_viewer = new \app\models\Setting(); $res = $settings_viewer->get(); $apiKey = $res['data']['api_key']; if ($apiKey == $key && $key != false) { return true; } else { return false; } }
public function get_index() { include_once 'Cache_Lite/Lite.php'; if (Input::get('base64') === "true") { $this->q = base64_decode(Input::get('q')); } else { $this->q = urldecode(Input::get('q')); } $settings_viewer = new \app\models\Setting(); $res = $settings_viewer->get(); $this->apiKey = $res['data']['api_key']; $this->response = $this->transaction($this->q, Input::get('client_encoding')); // Check if $this->data is set in SELECT section if (!$this->data) { $this->data = $this->response; } return unserialize($this->data); }
<?php use app\inc\Input; $db = \app\inc\Input::getPath()->part(2); $dbSplit = explode("@", $db); include "http_basic_authen_subuser.php"; if (!$_SESSION['auth'] || $_SESSION['screen_name'] != $db) { $settings_viewer = new \app\models\Setting(); $response = $settings_viewer->get(); \app\inc\Log::write("Auth"); // mod_php if (isset($_SERVER['PHP_AUTH_USER'])) { $username = $_SERVER['PHP_AUTH_USER']; $password = $_SERVER['PHP_AUTH_PW']; // most other servers } elseif (isset($_SERVER['HTTP_AUTHENTICATION'])) { if (strpos(strtolower($_SERVER['HTTP_AUTHENTICATION']), 'basic') === 0) { list($username, $password) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6))); } } if (is_null($username)) { header('WWW-Authenticate: Basic realm="' . Input::getPath()->part(2) . '"'); header('HTTP/1.0 401 Unauthorized'); header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past // Text to send if user hits Cancel button die("Could not authenticate you 1"); } elseif ($username != Input::getPath()->part(2)) { header('WWW-Authenticate: Basic realm="' . Input::getPath()->part(2) . '"');
public function renameSchema($schema, $name) { if ($schema == "public") { $response['success'] = false; $response['message'] = "You can't rename 'public'"; $response['code'] = 401; return $response; } $newName = Model::toAscii($name, array(), "_"); $this->connect(); $this->begin(); $whereClauseG = "f_table_schema=''{$schema}''"; $whereClauseR = "******"; $query = "SELECT * FROM settings.getColumns('{$whereClauseG}','{$whereClauseR}') ORDER BY sort_id"; $res = $this->prepare($query); try { $res->execute(); } catch (\PDOException $e) { $this->rollback(); $response['success'] = false; $response['message'] = $e->getMessage(); $response['code'] = 401; return $response; } while ($row = $this->fetchRow($res)) { $query = "UPDATE settings.geometry_columns_join SET _key_ = '{$newName}.{$row['f_table_name']}.{$row['f_geometry_column']}' WHERE _key_ ='{$row['f_table_schema']}.{$row['f_table_name']}.{$row['f_geometry_column']}'"; $resUpdate = $this->prepare($query); try { $resUpdate->execute(); } catch (\PDOException $e) { $this->rollback(); $response['success'] = false; $response['message'] = $e->getMessage(); $response['code'] = 400; return $response; } } $query = "ALTER SCHEMA {$schema} RENAME TO {$newName}"; $res = $this->prepare($query); try { $res->execute(); } catch (\PDOException $e) { $this->rollback(); $response['success'] = false; $response['message'] = $e->getMessage(); $response['code'] = 401; return $response; } $setObj = new \app\models\Setting(); $settings = $setObj->getArray(); $extents = $settings['extents']->{$schema}; $center = $settings['center']->{$schema}; $zoom = $settings['zoom']->{$schema}; if ($extents) { $settings['extents']->{$newName} = $extents; $settings['center']->{$newName} = $center; $settings['zoom']->{$newName} = $zoom; if (\app\conf\App::$param["encryptSettings"]) { $pubKey = file_get_contents(\app\conf\App::$param["path"] . "app/conf/public.key"); $sql = "UPDATE settings.viewer SET viewer=pgp_pub_encrypt('" . json_encode($settings) . "', dearmor('{$pubKey}'))"; } else { $sql = "UPDATE settings.viewer SET viewer='" . json_encode($settings) . "'"; } $res = $this->prepare($sql); try { $res->execute(); } catch (\PDOException $e) { $this->rollback(); $response['success'] = false; $response['message'] = $e->getMessage(); $response['code'] = 401; return $response; } } $this->commit(); $response['success'] = true; $response['message'] = "{$schema} renamed to {$newName}"; $response['data']['name'] = $newName; return $response; }