Exemplo n.º 1
0
 function __construct()
 {
     // Prevent unauthorized use of gc2scheduler
     if (!\app\conf\App::$param["gc2scheduler"][$_SESSION["screen_name"]]) {
         $code = "401";
         header("HTTP/1.0 {$code} " . \app\inc\Util::httpCodeText($code));
         die(\app\inc\Response::toJson(array("success" => false, "message" => "Not allowed")));
     }
     $this->job = new \app\models\Job();
 }
Exemplo n.º 2
0
 private function get_file($type)
 {
     include_once 'Cache_Lite/Lite.php';
     $db = Input::getPath()->part(5);
     $baseLayer = Input::get("baselayer");
     $layers = Input::get("layers");
     $center = Input::get("center");
     $zoom = Input::get("zoom");
     $size = Input::get("size");
     $sizeArr = explode("x", Input::get("size"));
     $bbox = Input::get("bbox");
     $sql = Input::get("sql");
     $id = $db . "_" . $baseLayer . "_" . $layers . "_" . $center . "_" . $zoom . "_" . $size . "_" . $bbox . "_" . $sql;
     $lifetime = Input::get('lifetime') ?: 0;
     $options = array('cacheDir' => \app\conf\App::$param['path'] . "app/tmp/", 'lifeTime' => $lifetime);
     $Cache_Lite = new \Cache_Lite($options);
     if ($data = $Cache_Lite->get($id)) {
         //echo "Cached";
     } else {
         ob_start();
         $fileName = md5(time() . rand(10000, 99999) . microtime());
         $file = \app\conf\App::$param["path"] . "/app/tmp/_" . $fileName . "." . $type;
         $cmd = "wkhtmltoimage " . "--height {$sizeArr[1]} --disable-smart-width --width {$sizeArr[0]} --quality 90 --javascript-delay 1000 " . "\"" . "http://127.0.0.1" . "/api/v1/staticmap/html/{$db}?baselayer={$baseLayer}&layers={$layers}&center={$center}&zoom={$zoom}&size={$size}&bbox={$bbox}&sql={$sql}\" " . $file;
         //die($cmd);
         exec($cmd);
         switch ($type) {
             case "png":
                 $res = imagecreatefrompng($file);
                 break;
             case "jpg":
                 $res = imagecreatefromjpeg($file);
                 break;
         }
         if (!$res) {
             $response['success'] = false;
             $response['message'] = "Could not create image";
             $response['code'] = 406;
             header("HTTP/1.0 {$response['code']} " . \app\inc\Util::httpCodeText($response['code']));
             echo \app\inc\Response::toJson($response);
             exit;
         }
         header('Content-type: image/png');
         imageAlphaBlending($res, true);
         imageSaveAlpha($res, true);
         imagepng($res);
         // Cache script
         $data = ob_get_contents();
         $Cache_Lite->save($data, $id);
         ob_get_clean();
     }
     header("Content-type: image/png");
     echo $data;
     exit;
 }
Exemplo n.º 3
0
 static function add($uri, $func = "", $silent = false)
 {
     $time_start = Util::microtime_float();
     $requestUri = strtok($_SERVER["REQUEST_URI"], '?');
     if (strpos($requestUri, $uri) !== false) {
         if ($func) {
             $func();
         }
         $uri = trim($uri, "/");
         $e = explode("/", $uri);
         $e[count($e) - 1] = ucfirst($e[count($e) - 1]);
         $uri = implode($e, "/");
         $n = sizeof($e);
         $className = strtr($uri, '/', '\\');
         $class = "app\\{$className}";
         $action = Input::getMethod() . "_" . Input::getPath()->part($n + 1);
         if (class_exists($class)) {
             $controller = new $class();
             if (method_exists($controller, $action)) {
                 $response = $controller->{$action}();
             } else {
                 $action = Input::getMethod() . "_index";
                 if (method_exists($controller, $action)) {
                     $response = $controller->{$action}();
                 } else {
                     header('HTTP/1.0 404 Not Found');
                     echo "<h1>404 Not Found</h1>";
                     exit;
                 }
             }
         }
         //header('charset=utf-8');
         //header('Content-Type: text/plain; charset=utf-8');
         $code = isset($response["code"]) ? $response["code"] : "200";
         header("HTTP/1.0 {$code} " . Util::httpCodeText($code));
         if (isset($response["json"])) {
             echo Response::passthru($response["json"]);
         } else {
             if (!$silent) {
                 $response["_execution_time"] = round(Util::microtime_float() - $time_start, 3);
                 echo Response::toJson($response);
             }
         }
         exit;
     }
 }
Exemplo n.º 4
0
 public function get_tms()
 {
     $parts = explode("/", $_SERVER['REQUEST_URI']);
     $url = "http://127.0.0.1/cgi/tilecache.py/{$parts[3]}/{$parts[4]}/{$parts[5]}/{$parts[6]}/{$parts[7]}?cfg={$this->db}";
     $res = imagecreatefrompng($url);
     if (!$res) {
         $response['success'] = false;
         $response['message'] = "Could create tile";
         $response['code'] = 406;
         header("HTTP/1.0 {$response['code']} " . \app\inc\Util::httpCodeText($response['code']));
         echo \app\inc\Response::toJson($response);
         exit;
     }
     header('Content-type: image/png');
     imageAlphaBlending($res, true);
     imageSaveAlpha($res, true);
     imagepng($res);
     exit;
 }
Exemplo n.º 5
0
function makeExceptionReport($value)
{
    global $sessionComment;
    ob_get_clean();
    ob_start();
    //$postgisObject->rollback();
    echo '<ServiceExceptionReport
	   version="1.2.0"
	   xmlns="http://www.opengis.net/ogc"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xsi:schemaLocation="http://www.opengis.net/ogc http://wfs.plansystem.dk:80/geoserver/schemas//wfs/1.0.0/OGC-exception.xsd">
	   <ServiceException>';
    if (is_array($value)) {
        if (sizeof($value) == 1) {
            print $value[0];
        } else {
            print_r($value);
        }
    } else {
        print $value;
    }
    echo '</ServiceException>
	</ServiceExceptionReport>';
    $data = ob_get_clean();
    header("HTTP/1.0 400 " . \app\inc\Util::httpCodeText("400"));
    echo $data;
    print "\n" . $sessionComment;
    Log::write($data);
    die;
}