function perform()
	{
		$object_data = fetch_mapped_by_url();
		
		$parent_data = fetch_one_by_node_id($object_data['parent_node_id']);
		$path = $parent_data['path'];
		
		$params = complex_array :: array_merge($_GET, $_POST);

		$sep = '';
		$query = '';
		
		$flat_params = array();
		complex_array :: to_flat_array($params, $flat_params);
		
		foreach ($flat_params as $key => $value)
		{
			$query .= $sep . $key . '=' . urlencode($value);
			$sep = '&';
		} 
		if (!empty($query))
			$path .= '?' . $query;
		
		return new redirect_response(RESPONSE_STATUS_SUCCESS, $path);
	}
 function to_flat_array($array, &$result, $prefix = '')
 {
     foreach ($array as $key => $value) {
         $string_key = $prefix ? '[' . $key . ']' : $key;
         if (is_array($value)) {
             complex_array::to_flat_array($value, $result, $prefix . $string_key);
         } else {
             $result[$prefix . $string_key] = $value;
         }
     }
 }
Ejemplo n.º 3
0
 function to_string()
 {
     $uri = $this->get_uri();
     $uri->remove_query_items();
     $result = array();
     $query = '';
     $exported = $this->export_attributes();
     //removing files data
     if (isset($exported['file'])) {
         unset($exported['file']);
     }
     complex_array::to_flat_array($exported, $result);
     foreach ($result as $key => $value) {
         $query .= $key . '=' . $value . '&';
     }
     $query = utf8_rtrim($query, '&');
     return utf8_rtrim($uri->to_string() . '?' . $query, '?');
 }
	/**
	* Return the URI to a specific page in the list.
	* 
	* @return string 
	* @access public 
	*/
	function get_page_uri($page)
	{
		$params = complex_array :: array_merge($_GET, $_POST);
		if ($page <= 1)
		{
			unset($params[$this->pager_variable.'_'. $this->get_server_id()]);
		} 
		else
		{
			$params[$this->pager_variable .'_'. $this->get_server_id()] = $page;
		} 

		$sep = '';
		$query = '';
		
		$flat_params = array();
		complex_array :: to_flat_array($params, $flat_params);
		
		foreach ($flat_params as $key => $value)
		{
			$query .= $sep . $key . '=' . urlencode($value);
			$sep = '&';
		} 
		if (empty($query))
		{
			return $this->base_url;
		} 
		else
		{
			return $this->base_url . '?' . $query;
		} 
	} 
Ejemplo n.º 5
0
  /**
  * Returns flat query_string
  *
  */
  function get_query_string()
  {
    $query_string = '';
    $query_items = array();
    $flat_array = array();

    complex_array :: to_flat_array($this->_query_items, $flat_array);
    ksort($flat_array);
    foreach($flat_array as $key => $value)
    {
      if ($value != '' || is_null($value))
        $query_items[] = $key . '=' . $value;
      else
        $query_items[] = $key;
    }

    if($query_items)
      $query_string = implode('&', $query_items);

    return $query_string;
  }
	function perform(&$request, &$response)
	{
		$object_data = fetch_requested_object();
		
		$parent_data = fetch_one_by_node_id($object_data['parent_node_id']);
		$path = $parent_data['path'];
		
		$params = complex_array :: array_merge($_GET, $_POST);

		$sep = '';
		$query = '';
		
		$flat_params = array();
		complex_array :: to_flat_array($params, $flat_params);
		
		foreach ($flat_params as $key => $value)
		{
			$query .= $sep . $key . '=' . urlencode($value);
			$sep = '&';
		} 
		if (!empty($query))
			$path .= '?' . $query;
		
		$response->redirect($path);
	}