Musisz zmienić w system/Request.php linijke z escapeshellcmd($string); na urlencode($string);
Nie mam escapeshellcmd($string);
Masz cały kod:
<?php defined('SYSPATH') or die('No direct script access.'); class Request { /** * Używa magic_quotes? * @public bool */ public $_use_magic_quotes = false; /** * Request URI * @public string */ public $_uri = ''; /** * Initialize Request class * * @access public */ public function execute() { // Używa magic quotes? $this->_use_magic_quotes = function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc(); // praser adresu url do tablicy $_GET $this->_furl_execute(); // Przefiltrujmy dane z formularzy array_walk($_POST, array($this, 'filter_post')); } /** * Filtruje dane z tablicy $_POST * * @param string * @param string * * @access public * @return void */ public function filter_post(&$value, $key) { // Jeśli wartość jest tablicą, zwracamy fale... if(is_array($value)) { return FALSE; } // Jeśli ktoś ma włączone magic_quotes if($this->_use_magic_quotes) { $value = stripslashes($value); } if(!is_array($value) && $key != 'desc' && $key != 'content') { $value = str_replace(array('<', '>'), array('<', '>'), $value); } } /** * Parsuje link.... * * * @access private * @return array */ private function _furl_execute() { // Zapiszmy aktualny adres $this->_uri = $_SERVER['REQUEST_URI']; // poprawia adres jeśli skrypt nie znajduje się w głównym katalogu strony... $data = parse_url(Core::$site); $uri = str_replace(substr($data['path'], 1, strlen($data['path'])), '', str_replace(array('index.php/', 'index.php'), array('', ''), $this->_uri)); if($uri) { $uri = substr($uri, 1); $segments = explode('/', $uri); for($i=0, $count = count($segments); $i<$count; $i++) { if(!empty($segments[$i]) && $segments[$i][0] != '?') { $_GET[] = $this->_escape_url_value($segments[$i]); } // Jeśli zaczyna się /?name=value&itp=xd elseif(isset($segments[$i][0]) && $segments[$i][0] == '?') { $segments = explode('&', substr($segments[$i], 1, strlen($segments[$i]))); for($z=0, $c=count($segments); $z<$c; $z++) { $data = explode('=', $segments[$z], 2); if(count($data) <> 2) { continue; } $_GET[$data[0]] = $this->_escape_url_value($data[1]); } // zakończmy break; } } } } /** * Zabezpieczenie adresu url * * @param string * * @access private * @return string */ private function _escape_url_value($value) { return escapeshellcmd($value); } /** * Zwraca ilość segmentów w uri * * @access public * @return integer */ public function total_segments() { return count($_GET); } /** * Zwraca podany segment tablicy _post * Lub całą tablice jeśli nie podamy klucza * * @param string * @return string */ public function post($key = NULL, $default = '') { if($key === NULL) { return $_POST; } return isset($_POST[$key]) ? $_POST[$key] : $default; } /** * Zwraca wybrany segment począwszy ( 0 = controller | 1 = action | 2+ = własne ) * * @param integer|string * * @access public * @return string */ public function segment($segment, $default = null) { return isset($_GET[$segment]) ? $_GET[$segment] : $default; } /** * Zwraca IP użytkownika... * * @access public * @return string */ public function getAddr() { return isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1'; } }