).(!empty($tip) ? ' onmouseover="tip(this,\''.$tip.'\')"':'').' />'.(!empty($legend) ? '':''); } function select($name, $options, $width=false, $disabled=false, $OCH_action=false, $id=false, $js_default_value=false) { if(!empty($disabled)) $if_dis=' disabled="disabled"'; if(!empty($OCH_action)) $if_OCH=' onchange="'.$OCH_action.'"'; if(!empty($width)) $if_width=' style="width:'.$width.'px;"'; if(!empty($js_default_value)) $js_default_value=' default_value="'.$js_default_value.'"'; if(empty($id)) $id=$name; return ''; } function multiselect($name, $options, $width=false, $size=0, $disabled=false, $id=false) { if(!empty($disabled)) $if_dis=' disabled="disabled"'; if(!empty($width)) $if_width=' style="width:'.$width.'px;"'; if(empty($id)) $id=$name; if(!is_numeric($size)) $size=5; $count=count(explode(' $count) $size=$count; if($count<1) $size=1; return '
'; } function multiselect2($name, $width, $size, $all_options, $selected_options=false, $selected_values=false, $separator=false, $max_limit=false) { global $CS; $CS->JS_HEAD[]=JS.'/jquery.mselect.js'; if($size>$max_limit && !empty($max_limit)) $size=$max_limit; if(empty($separator)) $separator=','; return '
'.$this->hidden($name.'_limit', $max_limit).' '.$this->hidden($name, @implode($separator,$selected_values)).' '; // '.$max_limit.' } function select_get_options($query, $selected=false) { global $CS; $cols=explode(',', $CS->STRING->textbetween('SELECT','FROM',$query)); $val=trim($cols[0]); $txt=trim($cols[1]); $sql=$CS->DB->query($query); while($dane=$CS->DB->fetch_array($sql)) { $html.=''; } return $html; } function select_dis($name, $value, $root, $table, $title_col) { global $CS; $dane = $CS->DB->single(' SELECT '.$title_col.' FROM '.$table.' WHERE id="'.$value.'" '); if(empty($dane)) $dane=$root; return $CS->FORM->hidden($name, $value).''.$dane.''; } function multiselect_js($name, $options, $width=false, $disabled=false, $OCH_action=false) { if(!empty($disabled)) $if_dis=' disabled="disabled"'; if(!empty($OCH_action)) $if_OCH=' onchange="'.$OCH_action.'"'; if(!empty($width)) $if_width=' style="width:'.$width.'px;"'; global $CS; $CS->JS_HEAD[]=JS.'/jquery.multiselect/multiselect.js'; $CS->CSS_HEAD[]=JS.'/jquery.multiselect/multiselect.css'; return ' '; } // TEXT ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function input_id($name, $id, $width=200, $value=false, $readonly=false, $disabled=false, $maxlen=false, $mask=false, $default_value=false, $center=false) { if(!empty($mask)) { global $CS; $CS->JS_HEAD[]=JS.'/jquery.mask.js'; $autoexec='$("#'.$id.'").mask("'.$mask.'");'; $mask=''; } if(!empty($default_value)) $default_value=' default_value="'.$default_value.'"'; if(!empty($center)) $center=' text-align:center;'; return 'interactive('input').' style="width:'.$width.'px;'.$center.'"'.(!empty($autoexec) ? ' autoexec=\''.$autoexec.'\'':'').($readonly==true ? ' readonly="readonly"':'').($disabled==true ? ' disabled="disabled"':'').($maxlen>0 ? ' maxlength="'.$maxlen.'"':'').$default_value.' />'.$mask; } function input($name, $width=200, $value=false, $readonly=false, $disabled=false, $maxlen=false, $mask=false, $default_value=false) { return $this->input_id($name, $name, $width, $value, $readonly, $disabled, $maxlen, $mask, $default_value); } function input_center($name, $width=200, $value=false, $readonly=false, $disabled=false, $maxlen=false, $mask=false, $default_value=false) { return $this->input_id($name, $name, $width, $value, $readonly, $disabled, $maxlen, $mask, $default_value, true); } function password_id($name, $id, $width=200, $value=false, $readonly=false, $disabled=false, $maxlen=false) { return 'interactive('input').' style="width:'.$width.'px" '.($readonly==true ? ' readonly="readonly"':'').($disabled==true ? ' disabled="disabled"':'').($maxlen>0 ? ' maxlength="'.$maxlen.'"':'').' />'; } function password($name, $width=200, $value=false, $readonly=false, $disabled=false, $maxlen=false) { return $this->password_id($name, $name, $width, $value, $readonly, $disabled, $maxlen); } // TEXTAREA & FORMATED /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function textarea_id($name, $id, $width=200, $height=63, $value=false, $readonly=false, $disabled=false, $maxlength=false, $nonresize=false, $row_tool=false) { if($maxlength>0) $maxlength=' maxlength="'.$maxlength.'" onkeyup="return isMaxLength(this)" onpaste="return isMaxLength(this)"'; if(!empty($row_tool)) $row_tool='
'.$row_tool.'
'; $t=''; if($nonresize==true) return $t; if(ADMIN===true) { return '
'.$t.'
'.$row_tool.'
'; } else { return $t; } } function textarea($name, $width=200, $height=63, $value=false, $readonly=false, $disabled=false, $maxlength=false, $nonresize=false) { return $this-> textarea_id($name, $name, $width, $height, $value, $readonly, $disabled, $maxlength, $nonresize, $row_tool); } function tiny($name, $width, $height, $value=false) { global $CS; $CS->JS_HEAD[]=$this->_DIR.'/tinymce/tiny_mce.js'; return ' '; } // HIDDEN //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function hidden_id($name, $id, $value=false) { return ''; } function hidden($name, $value=false) { return $this->hidden_id($name, $name, $value); } function hidden_noid($name, $value=false) { return ''; } // FILE ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function file_id($name, $id, $width=250) { global $CS; if(empty($id)) $id=$name; $size=round(($width-110)*0.195); if(ADMIN===true) { return ' interactive('input').' name="'.$name.'" id="'.$id.'" onchange="document.getElementById(\'_'.$id.'\').value=this.value" /> '; } else { return ' interactive('input').' name="'.$name.'" id="'.$id.'" onchange="document.getElementById(\'_'.$id.'\').value=this.value" /> '; } } function file($name, $width=250) { return $this->file_id($name, $name, $width); } // PICKERS ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function kalendarz() { $a=func_get_args(); return call_user_func_array(array($this, 'calendar'), $a); } /** * * @global type $CS * @param type $name * @param type $value * @param string $format * @param string $date_sep * @param string $time_sep * @param type $readonly * @param type $disabled * @param type $id * @return type\ */ function calendar($name, $value=false, $formatdaty=false, $formatczasu=false, $readonly=false, $disabled=false, $id=false) { global $CS; $CS->JS_HEAD[]=JS.'/timepicker/timepicker.js'; if($value==false) $value = date("Y-m-d H:i:s",time()); if(empty($id)) $id=$name; $dttype = "datetimepicker"; if($formatdaty && $formatczasu) $dttype = "datetimepicker"; else if($formatdaty) $dttype = "datetimepicker"; else if($formatczasu) $dttype = "timepicker"; $autoexec=' $(function() { $( "#'.$id.'" ).'.$dttype.'({ timeFormat:"'.$formatczasu.'",dateFormat:"'.$formatdaty.'", showOn: "button", buttonImage: "../components/icons/datepicker-calendar.gif", buttonImageOnly: true, showTime:false }); '.(!empty($value) && $value!='0000-00-00'?'$( "#'.$id.'" ).'.$dttype.'("setDate", (new Date("'.date("Y/m/d H:i", strtotime($value)).'")));':'').' });'; if(ADMIN===true) { return ' interactive('input').(!empty($autoexec) ? ' autoexec=\''.$autoexec.'\'':'').($readonly==true ? ' readonly="readonly"':'').($disabled==true ? ' disabled="disabled"':'').' style="width:'.$width.'px" />  '; } else { if(strlen($format)==3) { $width=66; $maxlen=10; } if(strlen($format)==5) { $width=99; $maxlen=19; } return 'interactive('input').($readonly==true ? ' readonly="readonly"':'').($disabled==true ? ' disabled="disabled"':'').' style="text-align:center; width:'.$width.'px" maxlength="'.$maxlen.'" />'; } } /** * * @global type $CS * @param type $name * @param type $id * @param type $value * @return type */ function color_picker($name, $id=false, $value=false) { global $CS; $CS->CSS_HEAD[]=JS.'/colorpicker/colorpicker.css'; $CS->JS_HEAD[]=JS.'/colorpicker/colorpicker.js'; $CS->JS_HEAD[]=JS.'/jquery.mask.js'; if(empty($id)) $id=$name; if(!$value)$value="000000"; $mask='just_hex'; $autoexec=' $("#'.$id.', #'.$id.'_picker div").ColorPicker({ onSubmit: function(hsb, hex, rgb, el) { $("#'.$id.'").val(hex); $("#'.$id.'_picker div").css("background-color", "#"+hex); $(el).ColorPickerHide(); }, onBeforeShow: function () { $(this).ColorPickerSetColor($("#'.$id.'").val()); } }) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); }); ';//$("#'.$id.'").mask("'.$mask.'"); color_picker("'.$id.'"); //$autoexec_type='color_picker'; //.(!empty($autoexec) ? ' autoexec=\''.$autoexec.'\'':'')(!empty($autoexec_type) ? ' autoexec_type=\''.$autoexec_type.'\'':'')..$this->interactive('input') return '
#
'; } // UTILS /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function link_js($href, $anchor, $img_before=false, $img_after=false) { if(!empty($img_before)) $img_before=''; if(!empty($img_after)) $img_after=''; return $img_before.''.$anchor.''.$img_after; } function link_potwierdzenie($link, $anchor, $tekst=false) { if(empty($tekst)) $tekst='Na pewno?'; return ''.$anchor.''; } function focus($field) { return ''; } function tip($value,$width=false) { if(empty($value)) return false; $value=str_replace(' ','
',$value); $value=str_replace('"','"',$value); return 'onmouseover="tip(this,\''.$value.'\',false,'.($width>0 ? $width : 'false').')"'; } function label($value, $width=false, $center=false) { return ''.$value.''; } function info($tip, $img=false) { global $CS; if(empty($img)) $img=ICONS.'/form/info.gif'; return 'FORM->tip($tip).' />'; } function tr() { $html.=''; for($i=0;$i'; $html.=''; return $html; } function tr_array($cols=false) { $html.=''; foreach($cols as $c) $html.=''.$c.''; $html.=''; return $html; } function tr_sep($p=5) { return '
'; } } $this->FORM = new cs_form(); $this->FORM->_PATH = C_PATH.'/'.cs_form; $this->FORM->PATH = C_PATH.'/'.cs_form; $this->FORM->_DIR = C_DIR.'/'.cs_form; $this->FORM->DIR = C_DIR.'/'.cs_form; ?>','_','x' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'','' ); $string=str_replace($zamien_co, $zamien_na, strtolower(strip_tags($string))); // $string = preg_replace('~[^\\pL0-9_]+~u', '_', $string); // substitutes anything but letters, numbers and '_' with separator // $string = iconv("utf-8", "us-ascii//TRANSLIT", trim($string, "_")); // TRANSLIT does the whole job // $string = preg_replace('~[^-a-z0-9_]+~', '', strtolower($string)); // keep only letters, numbers, '_' and separator $string = preg_replace('/(_){2,}/', '_', $string); return $string; } function modNAMEnoslash($string) { $string=trim($string); $zamien_co=array('ą','±','ć','ę','ł','ń','ó','ś','¶','ż','Ľ','ź','ˇ','Ć','Ę','Ł','Ń','Ó','Ś','¦','Ż','Ź','Ą','"',"'",'¬',':','(',')','{','}','[',']',' ',',','\\','*','®','?','@','=','+','!','^','$','%','&','~',':',';'); $zamien_na=array('a','a','c','e','l','n','o','s','s','z','z','z','a','c','e','l','n','o','s','_','z','z','a','' ,'' ,'_','' ,'' ,'' ,'' ,'' ,'_','_','-','_','x' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ); $string=str_replace($zamien_co, $zamien_na, strtolower(strip_tags($string))); // $string = preg_replace('~[^\\pL0-9_]+~u', '_', $string); // substitutes anything but letters, numbers and '_' with separator // $string = iconv("utf-8", "us-ascii//TRANSLIT", trim($string, "_")); // TRANSLIT does the whole job // $string = preg_replace('~[^-a-z0-9_]+~', '', strtolower($string)); // keep only letters, numbers, '_' and separator //$string = preg_replace('/(_){2,}/', '_', $string); return $string; } function string_filter_in($string) { $part1='&oa'; $part2='cute;'; $string=str_replace($part1.$part2,'ó',$string); $string=str_replace('

 

','',$string); if(!is_array($string))$string=addslashes($string);else $string=addslashes(implode($string)); return $string; } function string_filter_in_array() { for($i=0; $istring_filter_in($_POST[func_get_arg($i)]); } } function sfia() { for($i=0; $istring_filter_in($_POST[func_get_arg($i)]); } } function sfi($s,$specialchars=false) { if($specialchars==true) { return htmlspecialchars($this->string_filter_in($s)); } else { return $this->string_filter_in($s); } } function sfo($s,$specialchars=false) { if($specialchars==true) { return htmlspecialchars(stripslashes($s)); } else { return stripslashes($s); } } function sfot($s) { return htmlspecialchars(stripslashes($s)); } function ucfirst_pl($txt) { $txt=ucfirst($txt); $first=substr($txt,0,1); $rest=substr($txt,1,strlen($txt)); $zamien_co=array('ą','ć','ę','ł','ń','ó','ś','ż','ź'); $zamien_na=array('Ą','Ć','Ę','Ł','Ń','Ó','Ź','Ż','Ź'); $first=str_replace($zamien_co,$zamien_na,$first); return $first.$rest; } function lcfirst_pl($txt) { $first=substr($txt,0,1); $first=strtolower($first); $rest=substr($txt,1,strlen($txt)); $zamien_co=array('Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ż','Ź'); $zamien_na=array('ą','ć','ę','ł','ń','ó','ś','ż','ź'); $first=str_replace($zamien_co,$zamien_na,$first); return $first.$rest; } function strtolower_pl($txt) { $zamien_co=array('Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ż','Ź'); $zamien_na=array('ą','ć','ę','ł','ń','ó','ś','ż','ź'); return strtolower(str_replace($zamien_co,$zamien_na,$txt)); } function strtoupper_pl($txt) { $zamien_co=array('ą','ć','ę','ł','ń','ó','ś','ż','ź'); $zamien_na=array('Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ż','Ź'); return strtoupper(str_replace($zamien_co,$zamien_na,$txt)); } function strip_multiple_br($tekst, $strip_end=true) { $tekst=preg_replace('/(<[bB][rR][ \/]{0,}>[\s]{0,}){3,}/', '

', $tekst); if($strip_end==true) $tekst=preg_replace('/(<[bB][rR][ \/]{0,}>[\s]{0,}){1,}$/', '', $tekst); return $tekst; } function strip_multiple_nl($tekst, $strip_end=true) { $tekst=preg_replace('/([\r\n]+\t*[\r\n]*){3,}/', "\n\n", $tekst); return trim($tekst); } function nl2br($txt) { return str_replace('\n',"
",$txt); } function post_filter() { if(count($_POST)>0) foreach($_POST as $key => $value) { if(!@is_array($value) && !strstr($key,'[]')) { $_POST[$key]=$this->sfi(trim($_POST[$key])); } } } function get2field($field, $no_special=false) { $t=trim(urldecode(stripslashes($_GET[$field]))); if($no_special==true) return $t; return htmlspecialchars($t); } function get2string($field) { return $this->get2field($field,true); } function transliterate($txt) { $chars = array( 'a' => 'a', 'ô' => 'o', 'I' => 'd', '?' => 'f', 'ë' => 'e', 'š' => 's', 'o' => 'o', 'ü' => 'ss', 'ă' => 'a', 'ř' => 'r', '?' => 't', 'ň' => 'n', 'a' => 'a', 'k' => 'k', 's' => 's', '?' => 'y', 'n' => 'n', 'ĺ' => 'l', 'h' => 'h', '?' => 'p', 'ó' => 'o', 'ú' => 'u', 'ě' => 'e', 'é' => 'e', 'ç' => 'c', '?' => 'w', 'c' => 'c', 'o' => 'o', '?' => 's', 'o' => 'o', 'g' => 'g', 't' => 't', '?' => 's', 'e' => 'e', 'c' => 'c', 'ś' => 's', 'î' => 'i', 'ű' => 'u', 'ć' => 'c', 'ę' => 'e', 'w' => 'w', '?' => 't', 'u' => 'u', 'i' => 'c', 'ö' => 'o', 'e' => 'e', 'y' => 'y', 'š' => 'a', 'ł' => 'l', 'u' => 'u', 'ů' => 'u', 'ż' => 's', 'g' => 'g', 'l' => 'l', 'f' => 'f', 'ž' => 'z', '?' => 'w', '?' => 'b', 'a' => 'a', 'i' => 'i', 'i' => 'i', '?' => 'd', 'ť' => 't', 'r' => 'r', 'ä' => 'a', 'í' => 'i', 'ŕ' => 'r', 'e' => 'e', 'ü' => 'u', 'o' => 'o', 'e' => 'e', 'n' => 'n', 'ń' => 'n', 'h' => 'h', 'g' => 'g', 'đ' => 'd', 'j' => 'j', 'y' => 'y', 'u' => 'u', 'u' => 'u', 'u' => 'u', 'ţ' => 't', 'ý' => 'y', 'ő' => 'o', 'â' => 'a', 'ž' => 'l', '?' => 'w', 'ż' => 'z', 'i' => 'i', 'a' => 'a', 'g' => 'g', '?' => 'm', 'o' => 'o', 'i' => 'i', 'u' => 'u', 'i' => 'i', 'ź' => 'z', 'á' => 'a', 'u' => 'u', '?' => 'th', '?' => 'dh', 'a' => 'a', 'ľ' => 'u', 'e' => 'e', ); return str_replace(array_keys($chars), array_values($chars), $txt); } function check_spam($content, $words) { $content=strip_tags($content); $zamien_co=array('"',"'",':',';','(',')','.',',','/','\\','*','?','@','=','!','^','$','%','&','_','-','+','|'); $zamien_na=array('' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ); $content=str_replace($zamien_co,$zamien_na,$content); $slowa='|'.str_replace(' ', '|', $words).'|'; $content_slowa = preg_split("/\s/", $content); if(count($content_slowa)>0) foreach($content_slowa as $slowo) { $slowo=trim($slowo); if(empty($slowo)) continue; if(stristr($slowa, '|'.$slowo.'|')) $matched_words[] = $slowo; } if(count($matched_words)==0) return array(); return $matched_words; } function make_urls($txt) { $patterns[0] = '/(http\:\/\/[^\s]+)/'; $patterns[1] = '/([\s])www\.([^\s]+)/'; // $replacements[0] = '$1'; // $replacements[1] = '$1www.$2'; $replacements[0] = '$1'; $replacements[1] = '$1www.$2'; if(@is_array($txt)) { return array( trim(preg_replace($patterns, $replacements, ' '.$txt[0].' ')), trim(preg_replace($patterns, $replacements, ' '.$txt[1].' ')) ); } else { return trim(preg_replace($patterns, $replacements, ' '.$txt.' ')); } } //addons function apply_read_addon($addon, $value) { global $CS; switch($addon) { case 'date': if($value==0) $value='-'; break; case 'to_null': if($value==0) $value=''; break; case 'to_upper': $value=$this->strtoupper_pl($value); break; case 'to_lower': $value=$this->strtolower_pl($value); break; case 'force_empty': $value=''; break; case 'time_ago': $value=$CS->STRING->time_ago($value); break; case 'time_ago_tip': $value='FORM->tip($value==0 ? '':$value).'>'.$CS->STRING->time_ago($value).''; break; case 'day_ago': $value=$CS->STRING->day_ago($value); break; case 'price': $value=str_replace('.',',',$value); break; case 'email': if(!empty($value)) $value=''.$CS->STRING->sfo($value).''; break; case 'link': if(!empty($value)) $value=''.$CS->STRING->sfo($value).''; break; case 'info': $value='FORM->tip($value).'>'.$CS->IMAGE->icon('form/info.gif').''; break; case 'info_link': $value='FORM->tip($value).'>'.$CS->IMAGE->icon('form/info.gif').''; break; } return $value; } function apply_write_addon($addon, $value) { global $CSA; switch($addon) { case 'to_upper': $value=$this->strtoupper_pl($value); break; case 'to_lower': $value=$this->strtolower_pl($value); break; case 'price': $value=str_replace(',','.',$value); break; case 'md5': if(!empty($value)) $value=md5($value); else $skip=1; break; case 'pass_trans': if(!empty($value)) $value=$CSA->LAY->transform_pass($value); else $skip=1; break; } return array('skip'=>$skip, 'value'=>$value); } function punycode($txt, $reverse=false) { require_once($this->_DIR.'/idn2punycode.php'); $IDN=new idn_convert(); return ($reverse==false ? $IDN->encode($txt) : $IDN->decode($txt)); } /** * Change BBCodes to HTML in text * @param string $text * @return string */ function bbcode($text) { require_once($this->_DIR.'/parserBB.php'); $parser = new parserBB(); $text = htmlspecialchars_decode($parser->bb_to_html($text)); return $text; } function crypt($input, $crypt_key=false) { return $this->encrypt($input, $crypt_key); } function encrypt($input, $crypt_key=false) { $use_hash=false; require_once($this->_DIR.'/blowfish/crypt.class.php'); global $CRYPT; global $CONF; $CRYPT =& Crypt_Blowfish::factory('cbc'); if(PEAR::isError($bf)) die($CRYPT->getMessage()); $key = (strlen($crypt_key)>0 ? $crypt_key:( strlen($CONF->SITE_NAME)>0 ? $CONF->SITE_NAME : 'kfx_cms_crypt') ); $CRYPT->setKey($key, 'a1-b2=c3'); return ($use_hash==true ? '##':'').base64_encode(trim($CRYPT->encrypt($input))).($use_hash==true ? '##':''); } function decrypt($input, $crypt_key=false) { require_once($this->_DIR.'/blowfish/crypt.class.php'); global $CRYPT; global $CONF; $CRYPT =& Crypt_Blowfish::factory('cbc'); if(PEAR::isError($bf)) die($CRYPT->getMessage()); $key = (strlen($crypt_key)>0 ? $crypt_key:( strlen($CONF->SITE_NAME)>0 ? $CONF->SITE_NAME : 'kfx_cms_crypt') ); $CRYPT->setKey($key, 'a1-b2=c3'); $use_hash=(substr($input,2)=='##' && substr($input,0,-2)=='##' ? true:false); $decrypted = $CRYPT->decrypt(base64_decode($use_hash==true ? substr(substr($input,2),0,-2):$input)); if(PEAR::isError($decrypted)) die($decrypted->getMessage()); return trim($decrypted); } function hide($t) { return $this->scramble_base64($t); } function scramble_base64($t) { return @base64_encode(str_replace( array('M','9','V','6','N','U','W','R','2'), array('_','%','*','^','!','|','$',',','@'), base64_encode($t) )); } function show($t) { return $this->descramble_base64($t); } function descramble_base64($t) { return @base64_decode(str_replace( array('_','%','*','^','!','|','$',',','@'), array('M','9','V','6','N','U','W','R','2'), base64_decode($t) )); } } $this->STRING = new cs_string(); $this->STRING->_PATH = C_PATH.'/'.cs_string; $this->STRING->PATH = C_PATH.'/'.cs_string; $this->STRING->_DIR = C_DIR.'/'.cs_string; $this->STRING->DIR = C_DIR.'/'.cs_string; ?>
Fatal error: Call to a member function modNAMEnoslash() on a non-object in /classes/route.php on line 17