Exemplo n.º 1
0
 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;
     }
 }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
<?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) . '"');
Exemplo n.º 4
0
 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;
 }