<?
//////////////////////////////////////////////////////////
// perform includes
//////////////////////////////////////////////////////////
require_once("inc.functions.php");
//////////////////////////////////////////////////////////
// classes
//////////////////////////////////////////////////////////
class database {
    var 
$_dname     MYSQL_DATABASE;
    var 
$_dhost     MYSQL_HOST;
    var 
$_dport     MYSQL_PORT;
    var 
$_duser     MYSQL_USER;
    var 
$_dpass     MYSQL_PASS;
    var 
$_dquery    false;
    var 
$_dselect   false;
    var 
$_dresult   false;
    var 
$_drows     false;
    var 
$_dinsertid false;
    var 
$_darray    false;
    var 
$_daffected false;
    var 
$_derror    false;
    function 
database($_db=false$_host=false$_port=false$_user=false$_pass=false) {
        if (
$_db)   $this->_dname $_db;
        if (
$_host$this->_dhost $_host;
        if (
$_port$this->_dport $_port;
        if (
$_user$this->_duser $_user;
        if (
$_pass$this->_dpass $_pass;
        if (
$this->_dport$this->_dhost .= ":{$this->_dport}";
    }
    function 
query($_query$_db=false$_array=false$_keep=false) {
        
$_query trim($_query);
        if (empty(
$_query)) {
            
$this->_dquery[] = "null";
            
$this->_derror[] = "The query cannot be empty.";
            return 
false;
        } else {
            
$this->_dquery[] = $_query;
            if (
$_keepignore_user_abort(true);
            if (@
mysql_connect($this->_dhost$this->_duser$this->_dpass)) {
                
$this->_dselect = ($_db) ? $_db $this->_dname;
                if (
mysql_select_db($this->_dselect)) {
                    
$this->_dresult mysql_query($_query);
                    if (
is_resource($this->_dresult) || $this->_dresult) {
                        if (
$this->_dresult === true) {
                            
$this->_dinsertid mysql_insert_id();
                            
$this->_daffected mysql_affected_rows();
                        } else {
                            
$this->_drows mysql_num_rows($this->_dresult);
                            if (
$_array$this->_darray mysql_fetch_array($this->_dresultMYSQL_ASSOC);
                        }
                        
$this->_derror[] = "null";
                        return 
true;
                    } else {
                        
$this->_derror[] = mysql_error();
                        return 
false;
                    }
                } else {
                    
$this->_derror[] = "There was a problem selecting '{$this->_dselect}' as the working database.";
                    return 
false;
                }
            } else {
                
$this->_derror[] = "There was a problem connecting to the server '{$this->_dhost}' with '{$this->_duser}' and '{$this->_dpass}'.";
                return 
false;
            }
        }
    }
    function 
return_field($_field$_row=0$_result=false) {
        return (!
$_result) ? mysql_result($this->_dresult$_row$_field) : mysql_result($_result$_row$_field);
    }
    function 
validate_result($_retval$_method=false$_return=false) {
        if (
$_method === SQL_UPDATE) {
            return (
$_retval === true && $this->_daffected 0) ? (($_return) ? $this->_dinsertid true) : false;
        } else {
            return (
$_retval === true && $this->_drows 0) ? true false;
        }
    }
}
class 
iface extends database {
    function 
insert_table($_table$_array) {
        if (!empty(
$_array)) {
            
$_row    0;
            
$_fields "";
            
$_values "";
            
$_count  count($_array);
            
$_query  "INSERT INTO `{$_table}` ";
            foreach (
$_array as $_field => $_value) {
                
$_tmpf "`{$_field}`";
                if (
is_int($_value)) {
                    
$_tmpv $_value;
                } elseif (
$_value == "") {
                    
$_tmpv "NULL";
                } else {
                    
$_tmpv "'".safe_quotes($_value)."'";
                }
                if (
$_row < ($_count-1)) {
                    
$_fields .= "{$_tmpf}, ";
                    
$_values .= "{$_tmpv}, ";
                } else {
                    
$_fields .= "{$_tmpf}";
                    
$_values .= "{$_tmpv}";
                }
                
$_row++;
            }
            
$_query .= "({$_fields}) VALUES({$_values})";
            if (
$this->validate_result($this->query($_query), SQL_UPDATE)) {
                return 
true;
            } else {
                return 
false;
            }
        } else {
            return 
true;
        }
    }
    function 
update_table($_table$_array$_id$_column=false) {
        if (!empty(
$_array)) {
            
$_row   0;
            
$_count count($_array);
            
$_query "UPDATE `{$_table}` SET ";
            foreach (
$_array as $_field => $_value) {
                if (
is_int($_value)) {
                    
$_tmp $_value;
                } elseif (
$_value == "") {
                    
$_tmp "NULL";
                } else {
                    
$_tmp "'".safe_quotes($_value)."'";
                }
                
$_query .= "`{$_field}` = {$_tmp}";
                
$_query .= ($_row < ($_count-1)) ? ", "     "";
                
$_row++;
            }
            
$_column = ($_column) ? $_column "id";
            
$_query .= " WHERE `{$_column}` = {$_id} LIMIT 1";
            if (
$this->validate_result($this->query($_query), SQL_UPDATE)) {
                return 
true;
            } else {
                return 
false;
            }
        } else {
            return 
true;
        }
    }
    function 
return_casino_data($_value$_col="id") {
        
$_array = array();
        
$_query "SELECT * FROM `".TBL_CASINOS."` WHERE ".return_sql($_col$_value)." LIMIT 1";
        if (
$this->validate_result($this->query($_queryMYSQL_DATABASE))) {
            
$_array['id']     = (int)$this->return_field("id");
            
$_array['dir']    = (string)$this->return_field("directory");
            
$_array['url']    = (string)$this->return_field("descriptif");
            
$_array['cartec'] = (string)$this->return_field("cartec");
            
$_array['name']   = (string)$this->return_field("reald");
        }
        return 
$_array;
    }
    function 
return_config_data($_id) {
        
$_array = array();
        
$_query "SELECT * FROM `".TBL_GAMESCONFIG."` WHERE ".return_sql("id"$_id)." LIMIT 1";
        if (
$this->validate_result($this->query($_queryMYSQL_DATABASE))) {
            
$_array['id']     = (int)$this->return_field("id");
            
$_array['dir']    = (string)$this->return_field("dir");
            
$_array['datloc'] = (string)$this->return_field("datloc");
            
$_array['lang']   = (string)$this->return_field("lang");
            
$_array['curr']   = (int)$this->return_field("curr");
            
$_array['scrspd'] = (int)$this->return_field("scrspd");
            
$_array['scrurl'] = htmlentities((string)$this->return_field("scrurl"));
            
$_array['banloc'] = htmlentities((string)$this->return_field("banloc"));
            
$_array['banurl'] = htmlentities((string)$this->return_field("banurl"));
            
$_array['regurl'] = htmlentities((string)$this->return_field("regurl"));
            
$_array['conurl'] = htmlentities((string)$this->return_field("conurl"));
            
$_array['prmurl'] = htmlentities((string)$this->return_field("prmurl"));
            
$_array['hlpurl'] = htmlentities((string)$this->return_field("hlpurl"));
            
$_array['depurl'] = htmlentities((string)$this->return_field("depurl"));
            
$_array['wthurl'] = htmlentities((string)$this->return_field("wthurl"));
            
$_array['hsturl'] = htmlentities((string)$this->return_field("hsturl"));
        }
        return 
$_array;
    }
    function 
return_game_data($_id) {
        
$_array = array();
        
$_query "SELECT * FROM `".TBL_GAMESDATA."` WHERE ".return_sql("id"$_id)." LIMIT 1";
        if (
$this->validate_result($this->query($_queryMYSQL_DATABASE))) {
            
$_array['image']    = (string)$this->return_field("image");
            
$_array['data'][1]  = (string)$this->return_field("f1");
            
$_array['data'][2]  = (string)$this->return_field("f2");
            
$_array['data'][3]  = (string)$this->return_field("f3");
            
$_array['data'][4]  = (string)$this->return_field("f4");
            
$_array['data'][5]  = (string)$this->return_field("f5");
            
$_array['data'][6]  = (string)$this->return_field("f6");
            
$_array['data'][7]  = (string)$this->return_field("f7");
            
$_array['data'][8]  = (string)$this->return_field("f8");
            
$_array['data'][9]  = (string)$this->return_field("f9");
            
$_array['data'][10] = (string)$this->return_field("f10");
            
$_array['data'][11] = (string)$this->return_field("f11");
            
$_array['data'][12] = (string)$this->return_field("f12");
        }
        return 
$_array;
    }
    function 
return_parent($_id) {
        
$_array = array();
        
$_query "SELECT * FROM `".TBL_GAMESMENU."` WHERE ".return_sql("id"$_id)." LIMIT 1";
        if (
$this->validate_result($this->query($_queryMYSQL_DATABASE))) {
            
$_array['id']     = (int)$this->return_field("id");
            
$_array['name']   = (string)$this->return_field("name");
          
$_array['pub']    = (string)$this->return_field("publish");
          
$_array['kind']   = (int)$this->return_field("kind");
          
$_array['url']    = (string)str_replace('&''&amp;'$this->return_field("url"));
          
$_array['parent'] = (int)$this->return_field("parentid");
          
$_array['ord']    = (int)$this->return_field("ord");
          
$_array['fun']    = (int)$this->return_field("forfun");
          
$_array['real']   = (int)$this->return_field("forreal");
          
$_array['time']   = (int)$this->return_field("timestamp");
          
$_array['btns']   = (string)$this->return_field("button");
        }
        return 
$_array;
    }
    function 
return_keywords_ar($_dir="") {
        
$_array = array();
        
$_dir   safe_quotes($_dir);
        
$_query "SELECT * FROM `".TBL_KEYWORDS."` WHERE ".return_sql("casino"$_dir1);
        if (
$this->validate_result($this->query($_queryMYSQL_DATABASE))) {
            for (
$i=0$i<$this->_drows$i++) {
                
$_array[$i]['gid']  = (int)$this->return_field("itm"$i);
                
$_array[$i]['name'] = (string)$this->return_field("name"$i);
            }
        }
        return 
$_array;
    }
    function 
return_games_ar($_dir=""$_index=false) {
        
$_array = array();
        
$_dir   safe_quotes($_dir);
        
$_query "SELECT * FROM `".TBL_GAMESMENU."` WHERE ".return_sql("directory"$_dir1)." AND ".return_sql("hidden"0)." ORDER BY `parentid`, `ord`";
        if (
$this->validate_result($this->query($_query))) {
            for (
$i=0$i<$this->_drows$i++) {
                
$_id = (int)$this->return_field("id"$i);
                
$_ii = ($_index) ? $_id $i
                
$_array[$_ii]['id']     = $_id;
              
$_array[$_ii]['name']   = (string)$this->return_field("name"$i);
              
$_array[$_ii]['pub']    = (string)$this->return_field("publish"$i);
              
$_array[$_ii]['kind']   = (int)$this->return_field("kind"$i);
              
$_array[$_ii]['url']    = (string)str_replace('&''&amp;'$this->return_field("url"$i));
              
$_array[$_ii]['parent'] = (int)$this->return_field("parentid"$i);
              
$_array[$_ii]['ord']    = (int)$this->return_field("ord"$i);
              
$_array[$_ii]['fun']    = (int)$this->return_field("forfun"$i);
              
$_array[$_ii]['real']   = (int)$this->return_field("forreal"$i);
              
$_array[$_ii]['time']   = (int)$this->return_field("timestamp"$i);
              
$_array[$_ii]['btns']   = (string)$this->return_field("button"$i);
            }
        }
        return 
$_array;
    }
    function 
return_favorites_ar($_login="") {
        
$_array  = array();
        
$_game   = array();
        
$_parent = array();
        
$_login  safe_quotes($_login);
        
$_query  "SELECT * FROM `".TBL_FAVORITES."` WHERE ".return_sql("login"$_login1)." ORDER BY `url`";
        if (
$this->validate_result($this->query($_query"casino_israel"))) {
            
$_rows $this->_drows;
            
$_res  $this->_dresult;
            for (
$i=0$i<$_rows$i++) {
              
$_gid   = (int)$this->return_field("url"$i$_res);
              
$_gname = (string)$this->return_field("nom"$i$_res);
              
$_query "SELECT * FROM `".TBL_GAMESMENU."` WHERE ".return_sql("id"$_gid)." LIMIT 1";
              if (
$this->validate_result($this->query($_queryMYSQL_DATABASE))) {
                  
$_game['id']     = (int)$this->return_field("id");
                  
$_game['name']   = (string)$this->return_field("name");
                  
$_game['pub']    = (string)$this->return_field("publish");
                  
$_game['kind']   = (int)$this->return_field("kind");
                  
$_game['url']    = (string)str_replace('&''&amp;'$this->return_field("url"));
                  
$_game['parent'] = (int)$this->return_field("parentid");
                  
$_game['ord']    = (int)$this->return_field("ord");
                  
$_game['fun']    = (int)$this->return_field("forfun");
                  
$_game['real']   = (int)$this->return_field("forreal");
                  
$_game['time']   = (int)$this->return_field("timestamp");
                  
$_game['btns']   = (string)$this->return_field("button");
                  
$_parent $this->return_parent($_game['parent']);
                  if (!empty(
$_parent)) array_push($_array$_parent);
                  
array_push($_array$_game);
              }
            }
        }
        return 
$_array;
    }
    function 
return_newgames_ar($_dir=""$_date=false) {
        if (!
$_date$_date time();
        
$_array  = array();
        
$_game   = array();
        
$_parent = array();
        
$_dir    safe_quotes($_dir);
        
$_query  "SELECT * FROM `".TBL_GAMESMENU."` WHERE ".return_sql("directory"$_dir1)." AND ".return_sql("hidden"0)." AND ".return_sql("kind"1)." ORDER BY `parentid`, `ord`";
        if (
$this->validate_result($this->query($_query))) {
            
$_rows $this->_drows;
            
$_res  $this->_dresult;
            for (
$i=0$i<$_rows$i++) {
                
$_gdate = (int)$this->return_field("timestamp"$i$_res);
                if (((
$_date-$_gdate) <= (TIME_WEEK 9))) {
                  
$_game['id']     = (int)$this->return_field("id"$i$_res);
                  
$_game['name']   = (string)$this->return_field("name"$i$_res);
                  
$_game['pub']    = (string)$this->return_field("publish"$i$_res);
                  
$_game['kind']   = (int)$this->return_field("kind"$i$_res);
                  
$_game['url']    = (string)str_replace('&''&amp;'$this->return_field("url"$i$_res));
                  
$_game['parent'] = (int)$this->return_field("parentid"$i$_res);
                  
$_game['ord']    = (int)$this->return_field("ord"$i$_res);
                  
$_game['fun']    = (int)$this->return_field("forfun"$i$_res);
                  
$_game['real']   = (int)$this->return_field("forreal"$i$_res);
                  
$_game['time']   = $_gdate;
                  
$_game['btns']   = (string)$this->return_field("button"$i$_res);
                  
$_parent $this->return_parent($_game['parent']);
                  if (!empty(
$_parent)) array_push($_array$_parent);
                  
array_push($_array$_game);
                }
            }
        }
        return 
$_array;
    }
    function 
return_game($_id) {
        
$_array = array();
        
$_query "SELECT * FROM `".TBL_GAMESMENU."` WHERE ".return_sql("id"$_id)." LIMIT 1";
      if (
$this->validate_result($this->query($_queryMYSQL_DATABASE))) {
          
$_array['id']     = (int)$this->return_field("id");
          
$_array['name']   = (string)$this->return_field("name");
          
$_array['pub']    = (string)$this->return_field("publish");
          
$_array['kind']   = (int)$this->return_field("kind");
          
$_array['url']    = (string)str_replace('&''&amp;'$this->return_field("url"));
          
$_array['parent'] = (int)$this->return_field("parentid");
          
$_array['ord']    = (int)$this->return_field("ord");
          
$_array['fun']    = (int)$this->return_field("forfun");
          
$_array['real']   = (int)$this->return_field("forreal");
          
$_array['time']   = (int)$this->return_field("timestamp");
          
$_array['btns']   = (string)$this->return_field("button");
      }
      return 
$_array;
    }
    function 
return_fav_game($_login$_id) {
        
$_login safe_quotes($_login);
        
$_query "SELECT * FROM `".TBL_FAVORITES."` WHERE ".return_sql("login"$_login1)." AND ".return_sql("url"$_id)." LIMIT 1";
        if (
$this->validate_result($this->query($_query"casino_israel"))) {
            return 
true;
        }
        return 
false;
    }
    function 
insert_fav_game($_login$_name$_id) {
        
$_login safe_quotes($_login);
        
$_name  safe_quotes($_name);
        
$_query "INSERT INTO `".TBL_FAVORITES."` VALUES (NULL, '$_login', '$_name', '$_id')";
        if (
$this->validate_result($this->query($_query"casino_israel"), SQL_UPDATE)) {
            return 
true;
        }
        return 
false;
    }
    function 
remove_fav_game($_login$_id) {
        
$_login safe_quotes($_login);
        
$_query "DELETE FROM `".TBL_FAVORITES."` WHERE ".return_sql("login"$_login1)." AND ".return_sql("url"$_id)." LIMIT 1";
        if (
$this->validate_result($this->query($_query"casino_israel"), SQL_UPDATE)) {
            return 
true;
        }
        return 
false;
    }
}
?>