getQueryString() public static method

It builds a normalized query string, where keys/value pairs are alphabetized and have consistent escaping.
public static getQueryString ( ) : string | null
return string | null A normalized query string for the Request
Example #1
0
 function testGetQueryString()
 {
     $s = array('QUERY_STRING' => 'bla');
     $r = new Request($s);
     $this->assertEquals('bla', $r->getQueryString());
     $s = array();
     $r = new Request($s);
     $this->assertEquals('', $r->getQueryString());
 }
 public function __invoke(array $record)
 {
     $record['context']['app'] = $this->appName;
     $record['context']['environement'] = $this->environment;
     $record['context']['Hostname'] = gethostname();
     try {
         if (null === $this->request) {
             $this->request = $this->container->get('request');
         }
         $record['request']['base_url'] = $this->request->getBaseUrl();
         $record['request']['scheme'] = $this->request->getScheme();
         $record['request']['port'] = $this->request->getPort();
         $record['request']['request_uri'] = $this->request->getRequestUri();
         $record['request']['uri'] = $this->request->getUri();
         $record['request']['query_string'] = $this->request->getQueryString();
         $record['request']['_route'] = $this->request->get('_route');
     } catch (\Exception $e) {
         // This stops errors occuring in the CLI
     }
     return $record;
 }
Example #3
0
 /**
  * Get the complete URL to this page, including parameters.
  * @return string
  */
 function getCompleteUrl()
 {
     static $completeUrl;
     if (!isset($completeUrl)) {
         $completeUrl = Request::getRequestUrl();
         $queryString = Request::getQueryString();
         if (!empty($queryString)) {
             $completeUrl .= "?{$queryString}";
         }
         HookRegistry::call('Request::getCompleteUrl', array(&$completeUrl));
     }
     return $completeUrl;
 }
 private function getResponse()
 {
     $result = array();
     try {
         $queryString = urldecode(Request::getQueryString());
         $queryString = str_replace(' ', '+', $queryString);
         $queryArray = explode('&', $queryString);
         foreach ($queryArray as $value) {
             if (strpos($value, 'r=') === 0) {
                 $value = substr($value, 2);
                 $value = $this->decryptText($value);
                 $response = explode('&', $value);
                 foreach ($response as $r) {
                     $rArray = explode('=', $r);
                     $result[$rArray[0]] = utf8_encode($rArray[1]);
                 }
                 break;
             }
         }
         return $result;
     } catch (Exception $ex) {
         return $result;
     }
 }
 private function checkDicUrl($dic, $dic_id)
 {
     $qs = Request::getQueryString();
     if ($qs != '') {
         $qs = '?' . $qs;
     }
     if ($dic->entity && is_numeric($dic_id)) {
         Redirect(URL::route('entity.index', $dic->slug) . $qs);
     } elseif (!$dic->entity && !is_numeric($dic_id)) {
         Redirect(URL::route('dicval.index', $dic->id) . $qs);
     }
 }
 private function getMoreLink($count, $limit, $offset)
 {
     // Calculates the $next_offset.
     $next_offset = $offset + $limit;
     if ($count <= $next_offset) {
         return '';
     }
     // Changes (when defined) or appends (when undefined) offset.
     $query = \Request::getQueryString();
     $statement_route = \URL::route('xapi.statement', [], false);
     $current_url = $query ? $statement_route . '?' . $query : $statement_route;
     if (strpos($query, "offset={$offset}") !== false) {
         return str_replace('offset=' . $offset, 'offset=' . $next_offset, $current_url);
     } else {
         $separator = strpos($current_url, '?') !== False ? '&' : '?';
         return $current_url . $separator . 'offset=' . $next_offset;
     }
 }
Example #7
0
 /**
  * Runs the application
  * Should be called once in appinit.php
  *
  *
  * @return void
  * @static
  */
 public static function run()
 {
     try {
         try {
             if (substr(Request::getUri(), -1) !== '/') {
                 if (Router::getMatchedRoute(true)) {
                     self::redirect(Request::getBaseUri() . Request::getUri() . '/' . Request::getQueryString());
                 }
             }
             // log the uri
             Log::out(__METHOD__ . ' URI: ' . Request::getBaseUri() . Request::getUri(), Log::LEVEL_DEBUG);
             // only starts output buffering in development mode
             if (!self::isDevMode()) {
                 ob_start();
             }
             $all_routes_processed = false;
             $matched_route = null;
             $offset = -1;
             // start searching for matched route
             while (!$all_routes_processed) {
                 $matched_route = Router::getMatchedRoute(false, $offset + 1);
                 if (!$matched_route) {
                     App::notFound();
                 }
                 // log the pattern
                 Log::out(__METHOD__ . ' Matched route: "' . $matched_route->name . '", pattern: ' . $matched_route->getPatternRegex() . ', offset: ' . $matched_route->getOffset(), Log::LEVEL_DEBUG);
                 // log route params
                 Log::out(__METHOD__ . " Route params: \n" . print_r($matched_route->getParams(), true), Log::LEVEL_DEBUG);
                 $offset = $matched_route->getOffset();
                 try {
                     Loader::invoke($matched_route);
                 } catch (BakedCarrotPassException $e) {
                     $all_routes_processed = false;
                     continue;
                 }
                 $all_routes_processed = true;
             }
             if (!self::isDevMode()) {
                 ob_end_flush();
             }
         } catch (Exception $e) {
             if (self::isDevMode()) {
                 while (@ob_end_clean()) {
                 }
             }
             $classes_to_test = array(get_class($e), get_parent_class($e), 'Exception');
             $executed = false;
             foreach ($classes_to_test as $class) {
                 if (isset(self::$exception_handlers[$class])) {
                     Loader::invokeExceptionHandler($e, self::$exception_handlers[$class]);
                     Log::out(__METHOD__ . ' Exception handler "' . self::$exception_handlers[$class] . '" invoked for class "' . $class . '"', Log::LEVEL_INFO);
                     $executed = true;
                     break;
                 }
             }
             if (!$executed) {
                 throw $e;
             }
         }
     } catch (Exception $e) {
         self::$instance->handleDefaultException($e);
     }
 }
 /**
  * Функция сохраняет текущее состояние записи,
  * восстанавливает состояние записи из резервной копии
  * и удаляет все резервные копии, превысившие лимит
  *
  * @param $id
  *
  * @return string
  * @throws Exception
  */
 public function restore($id)
 {
     /**
      * Находим запись резервной копии для восстановления
      */
     $version = $this->essence->where('id', $id)->with(['metas', 'blocks.metas', 'seos'])->first();
     if (!isset($version) || !is_object($version) || $version->version_of == NULL) {
         return Redirect::to(URL::previous());
     }
     #Helper::tad($version);
     /**
      * Находим запись оригинала
      */
     $element = $this->essence->where('id', $version->version_of)->with(['metas', 'blocks.metas', 'seos', 'versions'])->first();
     if (!isset($element) || !is_object($element) || $element->version_of != NULL) {
         return Redirect::to(URL::previous());
     }
     #Helper::ta($version);
     #Helper::ta($element);
     #dd();
     #Helper::ta($element->versions);
     /**
      * Создаем резервную копию оригинальной записи
      */
     $create_backup_result = $this->create_backup($version->version_of, FALSE);
     if (!$create_backup_result) {
         throw new Exception("Can't create backup of original record");
     }
     #Helper::tad($element->versions);
     /**
      * Восстанавливаем содержимое записи из резервной копии
      */
     $restore_backup_result = $this->restore_backup($version->id);
     if (!$restore_backup_result) {
         throw new Exception("Can't restore backup of original record");
     }
     /**
      * Удаляем старые резервные копии (если их больше лимита)
      */
     $delete_backup_result = $this->delete_backups($element->id);
     if (!$delete_backup_result) {
         throw new Exception("Can't delete over backups of original record");
     }
     #Helper::dd((int)$create_backup_result . ' / ' . (int)$restore_backup_result . ' / ' . (int)$delete_backup_result);
     $url = action('page.edit', array('id' => $element->id)) . (Request::getQueryString() ? '?' . Request::getQueryString() : '');
     #Helper::d($element);
     #Helper::dd($url);
     ## Clear & reload pages cache
     Page::drop_cache();
     Page::preload();
     #return Redirect::to($url);
     Redirect($url);
     return '';
 }
Example #9
0
<?php

$urls = Config::get('moved.urls', []);
foreach ($urls as $old => $new) {
    Route::get($old, function () use($old, $new) {
        $url = $new;
        $query = Request::getQueryString();
        $question = Request::getBaseUrl() . Request::getPathInfo() == '/' ? '/?' : '?';
        if ($query) {
            $url = $query ? $url . $question . $query : $url;
        }
        Event::fire('moved.redirect', array($old, $new));
        return Redirect::to($url, 301);
    });
}
Example #10
0
/**
 * Returns the query strng
 * example: http://zbase.com/x/y/z?a=b&a=b&c=d
 * returns: a=b || a=b&c=d
 *
 * @return type
 */
function zbase_query_string()
{
    return \Request::getQueryString();
}
Example #11
0
 function rehost($new_host)
 {
     $query = Request::getQueryString();
     return $new_host . '/' . Request::path() . ($query ? '?' . $query : '');
 }
Example #12
0
<?php

$clinic_id = Request::Field("clinic_id");
$vnd_id = intval(Request::Field('vnd_id'));
$fieldsArr['vnd_first_name'] = Request::Field('vnd_first_name');
$fieldsArr['vnd_last_name'] = Request::Field('vnd_last_name');
$fieldsArr['vnd_email'] = Request::Field('vnd_email');
$fieldsArr['vnd_active'] = Request::Field('vnd_active');
$fieldsArr['vnd_username'] = Request::Field('vnd_username');
$fieldsArr['vnd_password'] = Request::Field('vnd_password');
$Doctor = new Doctor($vnd_id);
if (FieldValidator::validateFields($fieldsArr, $Doctor) != 1) {
    Redirect("/admin/dashboard/doctors/edit?Message=" . urlencode(FieldValidator::$error) . "&novalid=1&" . Request::getQueryString());
}
if ($vnd_id == 0) {
    $fieldsArr['vnd_entrydate'] = date("Y-m-d H:i:s");
    $fieldsArr['vnd_entryip'] = $_SERVER['REMOTE_ADDR'];
    Database::Insert("vnd_doctors", $fieldsArr);
    Redirect("/admin/dashboard/doctors?clinic_id={$clinic_id}&Message=" . urlencode("You have added this Doctor."));
} else {
    Database::Update("vnd_doctors", $fieldsArr, $vnd_id, "vnd_id");
    Redirect("/admin/dashboard/doctors?clinic_id={$clinic_id}&Message=" . urlencode("You have updated this Doctor."));
}