Esempio n. 1
0
 public function saveAction()
 {
     $contactform = new Contactform();
     $this->view->disable();
     $request = new \Phalcon\Http\Request();
     if ($request->isPost() == true) {
         $data = array();
         $contactform->name = $this->request->getPost("name");
         $contactform->email = $this->request->getPost("email");
         $contactform->subject = $this->request->getPost("subject");
         $contactform->message = $this->request->getPost("message");
         if ($contactform->save()) {
             $result['state'] = 'success';
             $result['message'] = 'Your message has been received';
         } else {
             $result['state'] = 'failure';
             foreach ($contactform->getMessages() as $message) {
                 $result['message'][] = $message;
             }
         }
         echo json_encode($result);
         if ($request->isAjax() == true) {
         }
     }
 }
 public function createaccountAction()
 {
     $request = new \Phalcon\Http\Request();
     if ($request->isPost()) {
         $user = new users();
         $user->name = $this->request->getPost("name");
         $user->email = $this->request->getPost("email");
         $user->password = $this->request->getPost("password");
         $user->apiKey = $this->generateAPIKey();
         $user->regID = "NULL";
         if ($user->save()) {
             echo 'success';
         } else {
             echo 'An error occured';
         }
     } else {
         echo "\n                    <form action=\"/users/createaccount\" method=\"post\">\n                        Name:<br>\n                        <input type=\"text\" id=\"name\" name=\"name\"><br>\n                        Email:<br>\n                        <input type=\"text\" name=\"email\"><br>\n                        Password:<br>\n                        <input type=\"password\" name=\"password\"><br>\n                        <br>\n                        <input type=\"submit\" value=\"Submit\">\n                    </form>\n\n\n        ";
     }
 }
Esempio n. 3
0
 /**
  * Delete Todo
  * action from post
  * call JSON -> check id, if not id Insert -> write JSON
  * @author Jack <*****@*****.**>
  * @created_date 2015-11-06
  * @updated_date 2015-11-06
  * @return       [type]     [description]
  */
 public function delAction()
 {
     $request = new \Phalcon\Http\Request();
     //  check is post
     if ($request->isPost()) {
         $id = $request->getPost('id');
         $json = file_get_contents($this->schema);
         $variable = json_decode($json);
         foreach ($variable->data as $key => $value) {
             if ($value->id != $id) {
                 $data[$key]['id'] = $value->id;
                 $data[$key]['created'] = $value->created;
                 $data[$key]['name'] = $value->name;
                 $data[$key]['job'] = $value->job;
             }
         }
         $insertData['data'] = $data;
         $variable = json_encode($insertData);
         file_put_contents($this->schema, $variable);
     } else {
         return false;
     }
 }
<?php

$request = new Phalcon\Http\Request();
if ($request->isPost() == true) {
    if ($request->isAjax() == true) {
        echo 'Request was made using POST and AJAX';
    }
}
Esempio n. 5
0
 public function saveAction($r_controller = null, $r_action = null, $r_id = null)
 {
     set_time_limit(180);
     ini_set('memory_limit', '512M');
     $request = new \Phalcon\Http\Request();
     $response = new \Phalcon\Http\Response();
     $previousURL = 'mapfile/process';
     if (!$request->isPost()) {
         return $response->redirect($this->cancelURL);
     }
     $layers = $this->session->get('processData');
     if (!$layers) {
         return $response->redirect($this->cancelURL);
     }
     //Check if a context shoud be created
     $creer_contexte = $request->getPost('creer_contexte', null);
     $igoContexte = null;
     if ($creer_contexte) {
         $contexteName = trim($request->getPost('name', null));
         $contexteCode = trim($request->getPost('code', null));
         $contexteDescription = trim($request->getPost('description', null));
         $onlineResource = trim($request->getPost('onlineResource', null));
         if (!$contexteName) {
             $this->flashSession->error('Veuillez indiquer un nom de contexte.');
         }
         if (!$contexteCode) {
             $this->flashSession->error('Veuillez indiquer un code de contexte.');
         }
         if (!$contexteDescription) {
             $this->flashSession->error('Veuillez indiquer une description du contexte.');
         }
         if (!$onlineResource) {
             $this->flashSession->error('Veuillez indiquer la resource en ligne.');
         }
         $mapServerConfig = $this->getDI()->getConfig()->mapserver;
         $fileName = $mapServerConfig->mapfileCacheDir . $mapServerConfig->contextesCacheDir . trim($contexteCode) . ".map";
         if (file_exists($fileName)) {
             $this->flash->error("Le fichier {$fileName} existe déjà. Choisissez un autre code.");
         }
         $this->session->set('contexteName', $contexteName);
         $this->session->set('contexteCode', $contexteCode);
         $this->session->set('contexteDescription', $contexteDescription);
         $this->session->set('onlineResource', $onlineResource);
         if ($this->flashSession->has('error')) {
             return $response->redirect($previousURL);
         }
         $igoContexte = new IgoContexte();
         $mapfileData = $this->session->get('mapfileData');
         // Substitude contexteCode if provided
         $onlineResource = str_replace("{Code}", $contexteCode, $onlineResource);
         $igoContexte->mf_map_meta_onlineresource = $onlineResource;
         $igoContexte->mf_map_projection = $mapfileData['map']['projection'];
         $igoContexte->nom = $contexteName;
         $igoContexte->code = $contexteCode;
         $igoContexte->description = $contexteDescription;
         $igoContexte->mode = "l";
         //mode Liste
         $igoContexte->generer_onlineresource = true;
     }
     //Save the layers (and optionally a context)
     $mapfileParser = new MapfileParser();
     $data = $mapfileParser->formatSaveData($layers, $this->view->host, $this->view->host_alias);
     try {
         $this->save($data, $igoContexte);
         $this->flashSession->success('Sauvegarde effectuée avec succès!');
     } catch (Exception $e) {
         $this->flashSession->error($e->getMessage());
         return $response->redirect($previousURL);
     }
     $this->clearSession();
 }
Esempio n. 6
0
 function wms_proxy($contexteId)
 {
     global $app;
     $httprequest = new Phalcon\Http\Request();
     $httprequest->setDI($app->getDI());
     //Possible sanitize filters: string, email, int, float, alphanum, striptags, trim, lower, upper
     $filter = new \Phalcon\Filter();
     if ($httprequest->isGet() || $httprequest->isPost()) {
         $datain = $httprequest->get();
         $data = array();
         foreach ($datain as $key => $value) {
             $data[strtoupper($key)] = $value;
         }
         $service = $filter->sanitize($data["SERVICE"], array("string", "upper"));
         $request = $filter->sanitize($data["REQUEST"], array("string", "upper"));
     } else {
         // TODO : Gérer l'erreur, on ne peut appeler un service wms en put ou en delete.
         error_log("not a get or a post?");
         return;
     }
     error_log("service: {$service}, request: {$request}");
     if ($service === "WMS") {
         $config = $app->getDI()->get("config");
         $mapserver = $config['mapserver']['host'] . $config['mapserver']['mapserver_path'] . $config['mapserver']['executable'];
         $contexte = IgoContexte::findFirst("id='{$contexteId}'");
         $map = $config['mapserver']['mapfileCacheDir'] . $config['mapserver']['contextesCacheDir'] . $contexte->code . ".map";
         $method = $httprequest->getMethod();
         $data = $httprequest->get();
         $data["MAP"] = $map;
         $response = null;
         switch ($request) {
             case "GETCAPABILITIES":
                 $response = proxy_request($mapserver, $data, $method);
                 // Devrait-on enlever les couches non permises en lecture de la réponse.? C'est probablement trop complexe...
                 break;
             case "GETMAP":
             case "GETFEATUREINFO":
             case "DESCRIBELAYER":
             case "GETLEGENDGRAPHIC":
                 $authentificationModule = obtenirAuthentificationModule();
                 if ($authentificationModule === null) {
                     $response = proxy_request($mapserver, $data, $method);
                 } else {
                     if (isset($data["LAYERS"])) {
                         $couches = explode(",", $data["LAYERS"]);
                     } else {
                         $couches = explode(",", $data["LAYER"]);
                     }
                     foreach ($couches as $couche) {
                         $igoVueContexteCoucheNavigateur = IgoVueContexteCoucheNavigateur::findFirst("mf_layer_name='{$couche}'");
                         $coucheContexte = array($igoVueContexteCoucheNavigateur);
                         if ($igoVueContexteCoucheNavigateur === false) {
                             $coucheContexte = IgoVueContexteCoucheNavigateur::find("mf_layer_group='{$couche}' and contexte_id='{$contexteId}'");
                         }
                         if (count($coucheContexte) === 0) {
                             // L'utilisateur essaie d'appeler la couche root du mapfile qui consiste à toutes les couches.
                             // Nous interdissons ce type d'appels pour le moment.
                             die("Forbidden");
                         }
                         $estPermis = false;
                         foreach ($coucheContexte as $igoVueContexteCoucheNavigateur) {
                             $permission = obtenirPermission($igoVueContexteCoucheNavigateur->couche_id);
                             if ($permission !== null && $permission->est_lecture) {
                                 $estPermis = true;
                                 break;
                             }
                         }
                         if (!$estPermis) {
                             die("Forbidden");
                         }
                     }
                     $response = proxy_request($mapserver, $data, $method);
                 }
                 break;
             default:
                 break;
         }
         $headerArray = explode("\r\n", $response["header"]);
         foreach ($headerArray as $headerLine) {
             header($headerLine);
         }
         echo $response["content"];
     } else {
         die("Seul les services WMS sont pris en charge par ce proxy.");
     }
 }
Esempio n. 7
0
 public function accesAction()
 {
     $request = new \Phalcon\Http\Request();
     if ($request->isPost()) {
         $this->session->get("info_utilisateur")->profilActif = $request->getPost('profil', null);
     }
     return $this->redirigeVersPage();
 }
 /**
  * Get User Action: receives a user's email address and responds with the user's full name
  */
 public function getconversationrecipientAction()
 {
     $this->view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_NO_RENDER);
     $request = new \Phalcon\Http\Request();
     if ($request->isPost()) {
         //The request is post, therefore it is receiving data
         //Data is in JSON format
         $data = json_decode(file_get_contents('php://input'), true);
         //print_r($data);
         $user = users::findFirst(array("conditions" => 'id = :idVal: and apiKey = :keyVal:', 'bind' => array('idVal' => $data['userid'], 'keyVal' => $data['user_api_key'])));
         if ($user) {
             $conversation = conversations::findFirst(array("conditions" => 'id = :idVal', "bind" => array("idVal" => $data['targetID'])));
             if ($conversation->user1 == $user->id) {
                 $recipient = $conversation->user1;
             } else {
                 $recipient = $conversation->user2;
             }
             $user = users::findFirst(array("conditions" => "id = :idVal:", "bind" => array("idVal" => $recipient)));
             $array['fullname'] = $user->firstName . " " . $user->lastName;
             echo json_encode($array);
         }
     }
 }
Esempio n. 9
0
 public function saveAction($r_controller = null, $r_action = null, $r_id = null)
 {
     set_time_limit(180);
     ini_set('memory_limit', '512M');
     $request = new \Phalcon\Http\Request();
     $response = new \Phalcon\Http\Response();
     $previousURL = 'mapfile/process';
     if ($request->isPost() == true) {
         if ($layers = $this->session->get('processData')) {
             //Check if a context shoud be created
             $contexte = $request->getPost('contexte', null);
             $igoContexte = null;
             if ($contexte && $contexte == 1) {
                 $contexteName = $request->getPost('name', null);
                 $contexteCode = $request->getPost('code', null);
                 $contexteDescription = $request->getPost('description', null);
                 $onlineResource = $request->getPost('onlineResource', null);
                 $missingParameter = false;
                 if (!$contexteName || strlen(trim($contexteName)) == 0) {
                     $this->flashSession->error('Veuillez entrer un nom de contexte.');
                     $missingParameter = true;
                 }
                 if (!$contexteCode || strlen(trim($contexteCode)) == 0) {
                     $this->flashSession->error('Veuillez entrer un code de contexte.');
                     $missingParameter = true;
                 }
                 if (!$contexteDescription || strlen(trim($contexteDescription)) == 0) {
                     $this->flashSession->error('Veuillez entrer une description du contexte.');
                     $missingParameter = true;
                 }
                 if (!$onlineResource || strlen(trim($onlineResource)) == 0) {
                     $this->flashSession->error('Veuillez entré la resource en ligne.');
                     $missingParameter = true;
                 }
                 $this->session->set('contexteName', $contexteName);
                 $this->session->set('contexteCode', $contexteCode);
                 $this->session->set('contexteDescription', $contexteDescription);
                 $this->session->set('onlineResource', $onlineResource);
                 if ($missingParameter) {
                     return $response->redirect($previousURL);
                 }
                 $mapServerConfig = $this->getDI()->getConfig()->mapserver;
                 $fileName = $mapServerConfig->mapfileCacheDir . $mapServerConfig->contextesCacheDir . trim($contexteCode) . ".map";
                 if (file_exists($fileName)) {
                     $this->flash->error("le fichier {$fileName} existe déjà!");
                     return $this->dispatcher->forward(array("controller" => $this->ctlName, "action" => "new", "param" => !is_null($r_id) ? "/" . $r_controller . "/" . $r_action . "/" . $r_id : ""));
                 }
                 $igoContexte = new IgoContexte();
                 $mapfileData = $this->session->get('mapfileData');
                 // Online Resource for generated mapfile will be initialised by default to the mapserv.fcgi path and the generated mapfile path.
                 //                   $onlineResource = $mapfileData['map']['wms_onlineresource'];
                 //                   if (strpos(strtolower($onlineResource), strtolower($this->view->host)) !== false) {
                 //                       $igoContexte->mf_map_meta_onlineresource = $onlineResource;
                 //                   } else {
                 //                       if ($onlineResource && $onlineResource != '') {
                 //                           $contexteDescription .= ' (' . $onlineResource . ')';
                 //                       }
                 //                   }
                 //$mapserverConfiguration = $this->getDI()->getConfig()->mapserver;
                 //$onlineResource = $mapserverConfiguration->host . $mapserverConfiguration->mapserver_path . "?" . $mapserverConfiguration->mapfileCacheDir . $contexteCode . ".map";
                 $onlineResource = trim($onlineResource);
                 // contains {Code}.map
                 if (strpos($onlineResource, '{Code}') !== FALSE) {
                     if ($onlineResource) {
                         $onlineResource = str_replace("{Code}", $contexteCode, $onlineResource);
                     }
                 }
                 $igoContexte->mf_map_meta_onlineresource = $onlineResource;
                 //$igoContexte->mf_map_meta_onlineresource = trim($onlineResource);
                 $igoContexte->mf_map_projection = $mapfileData['map']['projection'];
                 $igoContexte->nom = trim($contexteName);
                 $igoContexte->code = trim($contexteCode);
                 $igoContexte->description = trim($contexteDescription);
                 $igoContexte->mode = "l";
                 $igoContexte->generer_onlineresource = true;
             }
             //Save the layers (and optionally a context)
             $mapfileParser = new MapfileParser();
             $data = $mapfileParser->formatSaveData($layers, $this->view->host, $this->view->host_alias);
             try {
                 $this->save($data, $igoContexte);
                 $this->flashSession->success('Sauvegarde effectuée avec succès!');
             } catch (Exception $e) {
                 $this->flashSession->error($e->getMessage());
                 return $response->redirect($previousURL);
             }
             //Clear session
             $this->session->set('mapfile', null);
             $this->session->set('mapfileData', null);
             $this->session->set('selectData', null);
             $this->session->set('processData', null);
             $this->session->set('contexteName', null);
             $this->session->set('contexteCode', null);
             $this->session->set('contexteDescription', null);
             $this->session->set('onlineResource', null);
         } else {
             return $response->redirect($this->cancelURL);
         }
     } else {
         return $response->redirect($this->cancelURL);
     }
 }
Esempio n. 10
0
function uploads($upload_dir, $size = 2097152, $type = array('jpg', 'png'))
{
    $request = new \Phalcon\Http\Request();
    if (true != $request->isPost()) {
        return false;
    }
    if ($request->hasFiles()) {
        $upload_dir = trim($upload_dir, '/\\') . DIRECTORY_SEPARATOR . date('Y-m-d');
        if (!file_exists($upload_dir)) {
            mkdir($upload_dir, 777, true);
        }
        $php_post_max_size = (int) ini_get('post_max_size') * 1024 * 1024;
        $php_upload_max_filesize = (int) ini_get('upload_max_filesize') * 1024 * 1024;
        if ($php_post_max_size < $size) {
            logWarning('PHP php_post_max_size < uploads\'s Size');
            throw new \Exception('php.ini php_post_max_size 上传文件大小未设置');
        }
        if ($php_upload_max_filesize < $size) {
            logWarning('PHP php_upload_max_filesize < uploads\'s Size');
            throw new \Exception('php.ini php_upload_max_filesize 上传文件大小未设置');
        }
        foreach ($request->getUploadedFiles() as $file) {
            if ($file->getError() != 0) {
                continue;
            }
            if (!in_array($file->getExtension(), $type)) {
                $upload_errors[] = array('error' => UPLOADS_ERROR_10001, 'key' => $file->getKey());
                break;
            }
            if ($file->getSize() > $size) {
                $upload_errors[] = array('error' => UPLOADS_ERROR_10002, 'key' => $file->getKey());
                break;
            }
            $file_name = uniqid() . time() . mt_rand(10000, 999999) . '.' . $file->getExtension();
            if ($file->moveTo($upload_dir . DIRECTORY_SEPARATOR . $file_name)) {
                $files[$file->getKey()] = $upload_dir . DIRECTORY_SEPARATOR . $file_name;
            }
        }
        if (isset($upload_errors)) {
            if (isset($files)) {
                foreach ($files as $val) {
                    if (!unlink(ROOT_DIR . DIRECTORY_SEPARATOR . $val)) {
                        logWarning('delete upload file error ::' . $val);
                    }
                }
            }
            return $upload_errors;
        }
        if (isset($files) && is_array($files) && count($files) > 0) {
            return $files;
        }
    }
    return false;
}