• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Class MY_ not found

#11
Can you give us more details or post you example code.

Reply

#12
this is session.php for replacing default one :

PHP Code:
<?  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

// NATIVE SESSION
class CI_Session{// extends CI_Session{
   //var $session_id_ttl = 15;//300; //300=5mins session id time to live (TTL) in seconds
var $session_id_ttl 600//300=5mins session id time to live (TTL) in seconds
   var $flash_key 'flash'// prefix for "flash" variables (eg. flash:new:message)

   function CI_Session()
   {
       log_message('debug'"Native Session Class Initialized");
$this->CI =& get_instance();
       
//if(seg(1)!='asset') => asset controller no longer used
$this->_sess_run();
   
function 
ttl_update(){ //this only executes every $session_id_ttl seconds
//you can update users table here to link session_id and other session data
//$this->userdata, or $_SESSION;
$this->CI->load->model('users');
$this->CI->users->linkSession($this->userdata);
}

   /**
   * Starts up the session system for current request
   */

function _start_session(){
$this->save_path=$_SERVER['DOCUMENT_ROOT'].'/system/sessions/';

if(
is_dir($this->save_path) && is_writable($this->save_path)) session_save_path($this->save_path);
else 
$this->save_path=session_save_path();

session_set_cookie_params(0'/''.2hotnsexy.com'); 
session_start();
}
   function _sess_run()
   {
       $this->_start_session();
        
       
// check if session id needs regeneration
       if ($this->_session_id_expired() )
        
           
// regenerate session id (session data stays the
           // same, but old session storage is destroyed)
           $this->regenerate_id();
       }

       // delete old flashdata (from last request)
       $this->_flashdata_sweep();
       
       
// mark all new flashdata as old (data will be deleted before next request)
       $this->_flashdata_mark();

$this->userdata=$_SESSION;
   }

/**
   * Checks if session has expired
   */
   function _session_id_expired()
   {
//Init Session if never created
       if ( !isset( $_SESSION['last_activity'] ) ){
$this->set_userdata(array(
'session_id' => session_id(),
'ip_address' => $this->CI->input->ip_address(),
'user_agent' => $this->CI->input->user_agent(),
'last_activity' => time()
));
$this->ttl_update();
           return false;
       }
       
//Check if session id has expired
       $expiry_time time() - $this->session_id_ttl;
       if $_SESSION['last_activity'] <=  $expiry_time ) return true;

//SessionId has not expired yet
       return false;
   }
function 
sess_update()
{
$this->CI->load->model('users');
$this->CI->users->linkSession($this->userdata);
}
/**
   * Regenerates session id
   */
   function regenerate_id()
   {
       // copy old session data, including its id
       $old_session_id session_id();
       $old_session_data $_SESSION;

       // regenerate session id and store it
       session_regenerate_id();
       $new_session_id session_id();
       
       
// switch to the old session and destroy its storage
       session_id($old_session_id);
       session_destroy();
       
       
// switch back to the new session id and send the cookie
       session_id($new_session_id);
       $this->_start_session();
       
       
//Udate session_id (it is a duplicate as it also exists in session_id())
$old_session_data['session_id']=$new_session_id;

// update the session creation time
$old_session_data['last_activity']=time();

// restore the old session data into the new session
$this->set_userdata($old_session_data);

$this->ttl_update();

       // session_write_close() patch based on this thread
       // http://www.codeigniter.com/forums/viewthread/1624/
       // there is a question mark ?? as to side affects

       // end the current session and store session data.
       session_write_close();
   }
   
   
/**
   * Destroys the session and erases session storage
   */
   function destroy()
   {
       unset($_SESSION);
       if ( isset( $_COOKIE[session_name()] ) )
       {
             setcookie(session_name(), ''time()-42000'/');
       }
       session_destroy();
$this->userdata=array();
   }
   function sess_destroy(){ $this->destroy(); }

   /**
   * Reads given session attribute value
   */ 
   
   function userdata
($item)
   {
       if($item == 'session_id'){ //added for backward-compatibility
           return session_id();
       }else{
           return ( ! isset($_SESSION[$item])) ? NULL $_SESSION[$item];
       }
   }

   /**
   * Sets session attributes to the given values
   */
   function set_userdata($newdata = array(), $newval '')
   {
       if (is_string($newdata))
       {
           $newdata = array($newdata => $newval);
       }
   
       if 
(count($newdata) > 0)
       {
           foreach ($newdata as $key => $val)
           {
               $_SESSION[$key] = $val;
           }
       }
$this->userdata=$_SESSION;
   }
   
   
/**
   * Erases given session attributes
   */
   function unset_userdata($newdata = array())
   {
       if (is_string($newdata))
       {
           $newdata = array($newdata => '');
       }
   
       if 
(count($newdata) > 0)
       {
           foreach ($newdata as $key => $val)
           {
               unset($_SESSION[$key]);
           }
       }
$this->userdata=$_SESSION;
   }
  
   
  
   
   
/**
   * Sets "flash" data which will be available only in next request (then it will
   * be deleted from session). You can use it to implement "Save succeeded" messages
   * after redirect.
   */
   function set_flashdata($key$value)
   {
       $flash_key $this->flash_key.':new:'.$key;
       $this->set_userdata($flash_key$value);
   }
   
   
/**
   * Keeps existing "flash" data available to next request.
   */
   function keep_flashdata($key)
   {
       $old_flash_key $this->flash_key.':old:'.$key;
       $value $this->userdata($old_flash_key);

       $new_flash_key $this->flash_key.':new:'.$key;
       $this->set_userdata($new_flash_key$value);
   }

   /**
   * Returns "flash" data for the given key.
   */
   function flashdata($key)
   {
       $flash_key $this->flash_key.':old:'.$key;
       return $this->userdata($flash_key);
   }
   
   
/**
   * PRIVATE: Internal method - marks "flash" session attributes as 'old'
   */
   function _flashdata_mark()
   {
       foreach ((array)$_SESSION as $name => $value)
       {
           $parts explode(':new:'$name);
           if (is_array($parts) && count($parts) == 2)
           {
               $new_name $this->flash_key.':old:'.$parts[1];
               $this->set_userdata($new_name$value);
               $this->unset_userdata($name);
           }
       }
   }

   /**
   * PRIVATE: Internal method - removes "flash" session marked as 'old'
   */
   function _flashdata_sweep()
   {
       foreach ((array)$_SESSION as $name => $value)
       {
           $parts explode(':old:'$name);
           if (is_array($parts) && count($parts) == && $parts[0] == $this->flash_key)
           {
               $this->unset_userdata($name);
           }
       }
   }
}
?>
Reply

#13
is in application/libraries folder and when i try to access the site i get

An Error Was Encountered

Non-existent class: Session
Reply

#14
it was named MY_Session but i renamed because i read that for replacing default classes it should have name like default class and because is not extending (extend is commented) i believed that is replacing
Reply

#15
Name your custom Session just "Session" (class Session - Session.php)

Reply

#16
it works now

if you could help me with the other error : i get call to undefined function , for this function

function input_radio(){ //=input_radio('gender','I am:','required',frm('gender'),array('genderRequired'))
$a=func_get_args(); $f=array(); if(count($a)==1 && is_array($a[0])) $a=$a[0]; else if(count($a)<2) return 'Missing Parameters For Form Field';
$f['name']=array_shift($a); $f['text']=array_shift($a);

while($v=array_shift($a)){
if(is_array($v) && !$f['data']){ $f['data']=$v; continue; }
if(is_array($v)){ $f['validate']=$v; continue; }
if($v=='required'){ $f['required']=1; continue; }
if($v=='horizontal'){ $f['horizontal']=1; continue; }
if(is_string($v)){ $f['empty']=$v; continue; }
}
$f['validate']=(array)$f['validate'];
$f['data']=(array)$f['data'];

// OUTPUT
?>
<dt<?=$f['required']?' class="req"':''?>><label class="desc" for="<?=$f['name']?>"><?=$f['text']?></label></dt>
<dd>
<?=z_input_radio($f)?>
<?=showFormErrors($f['validate'])?>
</dd>
<?
}

function z_input_radio($f){
if($f['dontUseKeys']){ ?>
<? foreach($f['data'] as $k=>$v){ ?>
<label><input type="radio" name="<?=$f['name']?>" id="<?=$f['name'].$k?>" value="<?=ffd($v,1)?>"<?=is_numeric($v) && $_POST[$f['name']]==$v || $_POST[$f['name']]===$v?' checked="checked"':''?> /><?=$v?></label><?=$f['horizontal']?'':'<br />'?>
<? } ?>
<? }else{ ?>
<? foreach($f['data'] as $k=>$v){ ?>
<label><input type="radio" name="<?=$f['name']?>" id="<?=$f['name'].$k?>" value="<?=ffd($k,1)?>"<?=is_numeric($k) && $_POST[$f['name']]==$k || $_POST[$f['name']]===$k?' checked="checked"':''?> /><?=$v?></label><?=$f['horizontal']?'':'<br />'?>
<? }
} ?>
Reply

#17
If this function is inside a class you have to call it with $this->function_name (by the way this code is ugly Wink

Reply

#18
is not inside a class

this is the entire file

<? if ( ! defined('BASEPATH')) exit('No direct script access allowed');


$GLOBALS['eMsg']=array(); //Error Messages
$GLOBALS['errors']=array();
$GLOBALS['currentErrors']=array();


function retrieveForm(){ //Retrieves Flash errors and post data
//Retrieve Form Data
if(sesfg('post')) $_POST=(array)unserialize(sesfg('post'));

//Retrieve Errors
$GLOBALS['errors']=sesfg('errors');
}

function storeForm(){ //Stores Flash errors and post data
sesfs('post',serialize((array)$_POST)); //Store Form in flash
sesfs('errors',$GLOBALS['errors']);
}

function secFrm(){
$hash=hash32();
//Yslow/Other plugin Fix (because yslow makes another request to the server it is generating new secFrm
$phash=explode('|',sesg('secFrm')); $phash=$phash[0]; $phash=isEmpty($phash)?'':'|'.$phash; //Previous Hash
sess('secFrm',$hash.$phash);
print '<input name="secFrm" type="hidden" id="secFrm" value="'.$hash.'" />';

}

//Print Secure Form Field
function secFrmCheck(){
//if(!in_array($_POST['secFrm'],explode('|',sesg('secFrm')))) generateFormError('secFrmError');
sesu('secFrm'); return;
} //Validate Secure Form


function debugForm(){
print_s($GLOBALS['errors']);
}

function requiredFields($rf=array()){
$rf=(array)$rf;
foreach($rf as $v){
if(isEmpty($_POST[$v])){
generateFormError($v.'Required');
}
}
}

function noErrors(){
return count($GLOBALS['errors'])==0;
}

function translE($k,$r=array()){ //Translate Error function
global $eMsg;
$default=(is_array($eMsg) && array_key_exists($k, $eMsg))?$eMsg[$k]:$k;
$default=isEmpty($default)?'':$default;
if(count($r)>0)
$default=vsprintf($default,$r); //Replacements
return $default;
}

function generateFormError($e,$a=array()){
global $errors;
$tmp=$errors[$e]=translE($e);
if(is_array($a) && count($a)>0){
foreach($a as $v) $tmp=sprintf($tmp,translE($v));
$errors[$e]=$tmp;
}
}

function submitClaimModalError(){
global $errors;
return is_array($errors) && isset($errors['claimModalError']);
}

function processClaimModalError(){
return isset($GLOBALS['errors']['processClaimModalError']);
}

function submitModalError(){
global $errors;
//return true;
return is_array($errors) && isset($errors['modalError']);
}

function submitError(){
global $errors;
return is_array($errors) && !isset($errors['modalError']) && count($errors)>0;
}

function processModalError(){
return isset($GLOBALS['errors']['processModalError']);
}

function processError(){
return isset($GLOBALS['errors']['processError']);
}

function invalidTagsNum(){
return isset($GLOBALS['errors']['invalidTagsNum']);
}

function checkFormErrors($a,$s=0){
global $errors, $currentErrors; $currentErrors=$a; //Set global currentErrors to passed array so it is used after by showFormErrors
foreach($a as $v)
if(is_array($errors) && array_key_exists($v,$errors)){
return '';//$s?' error':' class="error"';
break;
}
return '';
}

function showFormErrors($a=NULL){
$chk=checkFormErrors((array)$a);
global $errors, $currentErrors;

foreach($currentErrors as $v)
if(is_array($errors) && array_key_exists($v,$errors))
print '<label class="err">'.$errors[$v].'</label>'."\r\n";
}

function errorMsg($t,$d=''){
print '<div class="alert alert-error" id="formTopMessage">'.$t.(isEmpty($d)?'':'. '.$d).'</div>';
}

function successMsg($t,$d=''){
print '<div class="alert alert-success" id="formTopMessage">'.$t.(isEmpty($d)?'':'. '.$d).'</div>';
}


function select_box($n='selectName',
$d=array(),
$c="className",
$e=NULL, //use empty -> Please Select
$s=0, //use $_GET
$id=NULL //Different ID
){
if(is_array($s))
$S = $s;
else
$S=($s)?$_GET:$_POST;

$c=isEmpty($c)?'':" class=\"$c\""; //Generate Class
$id=$id==NULL?$n:$id;

$sb="<select name=\"$n\" id=\"$id\"$c>\n";
if($e && is_numeric($e)) $sb.='<option value="">Please Select</option>';
else if(!isEmpty($e)) $sb.='<option value="">'.$e.'</option>';

foreach($d as $k=>$v)
$sb.="\t".'<option value="'.ffd($k,1).'" '.(isset($S[$n]) && !isEmpty($S[$n]) && $S[$n]==$k?'selected="selected"':'').'>'.ffd($v).'</option>'."\n";
$sb.='</select>';
return $sb;
}

function select_box2($n='selectName',
$d=array(),
$c="className",
$e=NULL, //use empty -> Please Select
$selected=0, //use selected Value
$id=NULL //Different ID
){

$c=isEmpty($c)?'':" class=\"$c\""; //Generate Class
$id=$id==NULL?$n:$id;

$sb="<select name=\"$n\" id=\"$id\"$c>\n";
if($e && is_numeric($e)) $sb.='<option value="">Please Select</option>';
else if(!isEmpty($e)) $sb.='<option value="">'.$e.'</option>';

foreach($d as $k=>$v){
$sb.="\t".'<option value="'.$v.'" '.($selected==$v?' selected="selected" ':'').'>'.ffd($v).'</option>'."\n";
}
$sb.='</select>';
return $sb;
}

function input_radio(){ //=input_radio('gender','I am:','required',frm('gender'),array('genderRequired'))
$a=func_get_args(); $f=array(); if(count($a)==1 && is_array($a[0])) $a=$a[0]; else if(count($a)<2) return 'Missing Parameters For Form Field';
$f['name']=array_shift($a); $f['text']=array_shift($a);

while($v=array_shift($a)){
if(is_array($v) && !$f['data']){ $f['data']=$v; continue; }
if(is_array($v)){ $f['validate']=$v; continue; }
if($v=='required'){ $f['required']=1; continue; }
if($v=='horizontal'){ $f['horizontal']=1; continue; }
if(is_string($v)){ $f['empty']=$v; continue; }
}
$f['validate']=(array)$f['validate'];
$f['data']=(array)$f['data'];

// OUTPUT
?>
<dt<?=$f['required']?' class="req"':''?>><label class="desc" for="<?=$f['name']?>"><?=$f['text']?></label></dt>
<dd>
<?//z_input_radio($f)?>
<?//showFormErrors($f['validate'])?>
</dd>
<?
}

function z_input_radio($f){
if($f['dontUseKeys']){ ?>
<? foreach($f['data'] as $k=>$v){ ?>
<label><input type="radio" name="<?=$f['name']?>" id="<?=$f['name'].$k?>" value="<?=ffd($v,1)?>"<?=is_numeric($v) && $_POST[$f['name']]==$v || $_POST[$f['name']]===$v?' checked="checked"':''?> /><?=$v?></label><?=$f['horizontal']?'':'<br />'?>
<? } ?>
<? }else{ ?>
<? foreach($f['data'] as $k=>$v){ ?>
<label><input type="radio" name="<?=$f['name']?>" id="<?=$f['name'].$k?>" value="<?=ffd($k,1)?>"<?=is_numeric($k) && $_POST[$f['name']]==$k || $_POST[$f['name']]===$k?' checked="checked"':''?> /><?=$v?></label><?=$f['horizontal']?'':'<br />'?>
<? } ?>
<? }
}

?>

i did not write the code , i found it like this and until i make it to work i do not change it Smile
Reply

#19
PHP Code:
<?  if ( ! defined('BASEPATH')) exit('No direct script access allowed');


$GLOBALS['eMsg']=array();    //Error Messages
$GLOBALS['errors']=array();
$GLOBALS['currentErrors']=array();


function 
retrieveForm(){    //Retrieves Flash errors and post data
    //Retrieve Form Data
    
if(sesfg('post'))    $_POST=(array)unserialize(sesfg('post'));
    
    
//Retrieve Errors
    
$GLOBALS['errors']=sesfg('errors');
}

function 
storeForm(){        //Stores Flash errors and post data
    
sesfs('post',serialize((array)$_POST));    //Store Form in flash
    
sesfs('errors',$GLOBALS['errors']);
}

function 
secFrm(){    
    
$hash=hash32();
    
//Yslow/Other plugin Fix (because yslow makes another request to the server it is generating new secFrm
    
$phash=explode('|',sesg('secFrm'));    $phash=$phash[0];    $phash=isEmpty($phash)?'':'|'.$phash;    //Previous Hash
    
sess('secFrm',$hash.$phash);
    print 
'<input name="secFrm" type="hidden" id="secFrm" value="'.$hash.'" />';    
    
}    

//Print Secure Form Field
function secFrmCheck(){
    
//if(!in_array($_POST['secFrm'],explode('|',sesg('secFrm'))))    generateFormError('secFrmError');    
    
sesu('secFrm');    return;
}    
//Validate Secure Form


function debugForm(){
    
print_s($GLOBALS['errors']);
}

function 
requiredFields($rf=array()){
    
$rf=(array)$rf
    foreach(
$rf as $v){
        if(
isEmpty($_POST[$v])){
            
generateFormError($v.'Required');
        }        
    }
}

function 
noErrors(){
    return 
count($GLOBALS['errors'])==0;
}

function 
translE($k,$r=array()){    //Translate Error function
    
global $eMsg;
    
$default=(is_array($eMsg) && array_key_exists($k$eMsg))?$eMsg[$k]:$k;
    
$default=isEmpty($default)?'':$default;
    if(
count($r)>0)    
        
$default=vsprintf($default,$r);    //Replacements
    
return $default;
}

function 
generateFormError($e,$a=array()){
    global 
$errors;
    
$tmp=$errors[$e]=translE($e); 
    if(
is_array($a) && count($a)>0){
        foreach(
$a as $v)    $tmp=sprintf($tmp,translE($v));
        
$errors[$e]=$tmp;
    }
}

function 
submitClaimModalError(){
    global 
$errors;
    return 
is_array($errors) && isset($errors['claimModalError']);
}

function 
processClaimModalError(){
    return isset(
$GLOBALS['errors']['processClaimModalError']);
}

function 
submitModalError(){
    global 
$errors;
    
//return true;
    
return is_array($errors) && isset($errors['modalError']);
}

function 
submitError(){
    global 
$errors;
    return 
is_array($errors) && !isset($errors['modalError']) && count($errors)>0;
}

function 
processModalError(){
    return isset(
$GLOBALS['errors']['processModalError']);
}

function 
processError(){
    return isset(
$GLOBALS['errors']['processError']);
}

function 
invalidTagsNum(){
    return isset(
$GLOBALS['errors']['invalidTagsNum']);
}

function 
checkFormErrors($a,$s=0){
    global 
$errors$currentErrors;    $currentErrors=$a;    //Set global currentErrors to passed array so it is used after by showFormErrors
    
foreach($a as $v)
        if(
is_array($errors) && array_key_exists($v,$errors)){
            return 
'';//$s?' error':' class="error"';
            
break;
        }
    return 
'';
}

function 
showFormErrors($a=NULL){
    
$chk=checkFormErrors((array)$a);
    global 
$errors$currentErrors;
    
    foreach(
$currentErrors as $v)
        if(
is_array($errors) && array_key_exists($v,$errors))
            print 
'<label class="err">'.$errors[$v].'</label>'."\r\n";
}

function 
errorMsg($t,$d=''){
    print 
'<div class="alert alert-error" id="formTopMessage">'.$t.(isEmpty($d)?'':'. '.$d).'</div>';
}

function 
successMsg($t,$d=''){
    print 
'<div class="alert alert-success" id="formTopMessage">'.$t.(isEmpty($d)?'':'. '.$d).'</div>';
}


function 
select_box($n='selectName',
                    
$d=array(),
                    
$c="className",
                    
$e=NULL,    //use empty -> Please Select
                    
$s=0,        //use $_GET
                    
$id=NULL    //Different ID
                    
){
    if(
is_array($s))
        
$S $s;
    else
        
$S=($s)?$_GET:$_POST;
        
    
$c=isEmpty($c)?'':" class=\"$c\"";    //Generate Class
    
$id=$id==NULL?$n:$id;
    
    
$sb="<select name=\"$n\" id=\"$id\"$c>\n";
    if(
$e && is_numeric($e))    $sb.='<option value="">Please Select</option>';
    else if(!
isEmpty($e))        $sb.='<option value="">'.$e.'</option>';
    
    foreach(
$d as $k=>$v)
        
$sb.="\t".'<option value="'.ffd($k,1).'" '.(isset($S[$n]) && !isEmpty($S[$n]) && $S[$n]==$k?'selected="selected"':'').'>'.ffd($v).'</option>'."\n";
    
$sb.='</select>';
    return 
$sb;
}

function 
select_box2($n='selectName',
                    
$d=array(),
                    
$c="className",
                    
$e=NULL,    //use empty -> Please Select
                    
$selected=0,        //use selected Value
                    
$id=NULL    //Different ID
                    
){
                
    
$c=isEmpty($c)?'':" class=\"$c\"";    //Generate Class
    
$id=$id==NULL?$n:$id;
    
    
$sb="<select name=\"$n\" id=\"$id\"$c>\n";
    if(
$e && is_numeric($e))    $sb.='<option value="">Please Select</option>';
    else if(!
isEmpty($e))        $sb.='<option value="">'.$e.'</option>';

    foreach(
$d as $k=>$v){
        
$sb.="\t".'<option value="'.$v.'" '.($selected==$v?' selected="selected" ':'').'>'.ffd($v).'</option>'."\n";
    }
    
$sb.='</select>';
    return 
$sb;
}

function 
input_radio(){        //=input_radio('gender','I am:','required',frm('gender'),array('genderRequired'))
    
$a=func_get_args();    $f=array();    if(count($a)==&& is_array($a[0]))    $a=$a[0];    else if(count($a)<2)    return 'Missing Parameters For Form Field';
    
$f['name']=array_shift($a);    $f['text']=array_shift($a);
    
    while(
$v=array_shift($a)){
        if(
is_array($v) && !$f['data']){    $f['data']=$v;            continue;    }
        if(
is_array($v)){                    $f['validate']=$v;        continue;    }
        if(
$v=='required'){                    $f['required']=1;        continue;    }
        if(
$v=='horizontal'){                $f['horizontal']=1;        continue;    }
        if(
is_string($v)){                    $f['empty']=$v;            continue;    }
    }
    
$f['validate']=(array)$f['validate'];
    
$f['data']=(array)$f['data'];
    
    
// OUTPUT
    
?>
    <dt<?=$f['required']?' class="req"':''?>><label class="desc" for="<?=$f['name']?>"><?=$f['text']?></label></dt>
    <dd>
        <?//z_input_radio($f)?>
        <?//showFormErrors($f['validate'])?>
    </dd>
    <?
}

function 
z_input_radio($f){
    if(
$f['dontUseKeys']){ ?>
        <? foreach($f['data'] as $k=>$v){ ?>
        <label><input type="radio" name="<?=$f['name']?>" id="<?=$f['name'].$k?>" value="<?=ffd($v,1)?>"<?=is_numeric($v) && $_POST[$f['name']]==$v || $_POST[$f['name']]===$v?' checked="checked"':''?> /><?=$v?></label><?=$f['horizontal']?'':'<br />'?>
        <? ?>
    <? }else{ ?>
        <? foreach($f['data'] as $k=>$v){ ?>
        <label><input type="radio" name="<?=$f['name']?>" id="<?=$f['name'].$k?>" value="<?=ffd($k,1)?>"<?=is_numeric($k) && $_POST[$f['name']]==$k || $_POST[$f['name']]===$k?' checked="checked"':''?> /><?=$v?></label><?=$f['horizontal']?'':'<br />'?>
        <? ?>
    <? }
}

?>
Reply

#20
and i get a lot of unexpected end of file errors
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2021 MyBB Group.