<?
class db
{
    private $db_host;
    private $db_username;
    private $db_password;
    private $db_name;

    public function __construct($dbname="avsacom2_avsa")
    {
        $this->db_host = 'localhost';
        $this->db_username="avsacom2_avsa";
        $this->db_password="5Zl-.x}tiQ{U";
        $this->db_name=$dbname;
       if (!mysql_pconnect($this->db_host,$this->db_username,$this->db_password))
       {
          echo "db olmadı".mysql_error();
          exit;
       }
       mysql_query("SET NAMES 'utf8' ");
       mysql_select_db("avsacom2_avsa");
    }

    public function sorgu($sql,$where="",$join="",$alanlar="*",$ekrana_bas=false,$or=FALSE,$ek_sartlar='')
    {
	    if (is_array($alanlar) && count($alanlar)>0)
	    {
		    $alan_dizi=implode(",",$alanlar);
	    }
	    else
	    {
		    $alan_dizi="*";
	    }

            
	    if (is_array($where) && count($where)>0)
	    {
		    foreach ($where as $alan => $deger)
		    {
			    if ($deger!="" && $alan!="order by" && $alan!="group by" && $alan!="limit" && !preg_match("@like |in @",$deger))
			    {
				    if (preg_match("@<|>|null|!@",$deger))
				    {
                                        
					    $qwhere[] = "$alan $deger";
				    }
				    else
				    {
                                        //if($alan=="firma_id"){echo $deger;}
					    $qwhere[]="$alan = '$deger'";
				    }
			    }
			    elseif (preg_match("@like|in @",$deger))
			    {
				    $qwhere[] = "$alan $deger";
			    }
			    else
			    {
				    $qorderby[]="$alan $deger";
			    }
		    }

		    if (is_array($qwhere) && !$or)
		    {
			    $qwhere = "where ".implode(" and ",$qwhere);
		    }
                    else if($or)
                    {
                        $qwhere = "where ".implode(" or ",$qwhere);
                    }

		    if (isset($qorderby) && is_array($qorderby))
		    {
			    $qwhere = $qwhere." ".implode(" ",$qorderby);
		    }
	    }
	    else
	    {
		    $qwhere=$where;
	    }

	    if (is_array($join))
	    {
		    $qjoin = implode(" ",$join);
	    }else{
                $qjoin="";
            }

	    if (!preg_match("@select|insert|delete|update@",$sql))
	    {
		    if ($alan_dizi=="*")
		    {
			    $sql="select SQL_CALC_FOUND_ROWS * from $sql $qjoin $qwhere $ek_sartlar";
		    }
		    else
		    {
			    $sql="select SQL_CALC_FOUND_ROWS $alan_dizi from $sql $qjoin $qwhere $ek_sartlar";
		    }
	    }
            /*else{
                if ($alan_dizi=="*")
                {
                        $sql="$sql $qjoin $qwhere $ek_sartlar";
                }
                
            }*/

	    if ($ekrana_bas == true)
	    {
		    echo $sql;
	    }
	    $sorgu=mysql_query($sql);

            $hata =  mysql_error();
	    if (trim($hata)!="")
	    {
		    if ($_SERVER['HTTP_HOST']=="localhost")
		    {
			    echo $hata;
		    }
		    else
		    {
			    $hata.="<hr>".$sql;
			    $hata.="<hr>sayfa : ".$_SERVER['REQUEST_URI'];
		    }
	    }

	    return $sorgu;
    }

    public function insert($tablo_adi,$veri,$ekrana_bas=false)
    {
	    unset($insert_dizi);

	    foreach ($veri as $data => $value)
	    {
                $insert_dizi[]=" `".$data."`='".mysql_real_escape_string(trim($value))."'";
	    }

	    if ($ekrana_bas == true)
	    {
		    echo "insert ignore into $tablo_adi set ".str_replace("'NOW()'","NOW()",implode(",",$insert_dizi));
	    }

	    $ekle_q="insert ignore into $tablo_adi set ".str_replace("'NOW()'","NOW()",implode(",",$insert_dizi));
	    $ekle = mysql_query($ekle_q);

	    $err = mysql_error();
	    if ($err) {
	    }

	    if ($ekle)
	    {
		    return mysql_insert_id();
	    }
	    else
	    {
		    $hata.=$ekle_q;
		    echo $hata.="<hr>".mysql_error();
		    //mail("ozmen.serhan@gmail.com","hata insert","$hata");
	    }
    }

    public function update($tablo_adi,$veri,$nere,$ekrana_bas=false)
    {
	    unset($insert_dizi);

	    foreach ($veri as $data =>$value )
	    {
		    $update_dizi[]=" `$data`='".mysql_real_escape_string(trim($value))."'";
	    }

	    foreach ($nere as $nere_adi =>$nere_id )
	    {
		    $update_nere[]=" `$nere_adi`='$nere_id'";
	    }
	    $update_q="update $tablo_adi set ".str_replace("'NOW()'","NOW()",implode(",",$update_dizi))." where ".implode(" and ",$update_nere);
	    if ($ekrana_bas == true)
	    {
		    echo $update_q;
	    }
	    $this->sorgu($update_q);

	    $err = mysql_error();
	    if ($err) {
                return false;
	    }else{
                return true;
            }
    }

    public function delete($tablo,$alan,$id)
    {
	    $sil="delete from $tablo where $alan='$id'";
	    $this->sorgu($sil);
	    $err = mysql_error();
	    if ($err) {
                return false;
	    }else
            {
                return true;
            }
    }

    public function sql_where($tablo,$alanlar='*',$ek_sql='',$ek_join='',$ekran=false)
    {
	    $sorgu = $this->sorgu($tablo,$ek_sql,$ek_join,$alanlar,$ekran);
	    $err = mysql_error();
	    if ($err) {
		    //serhan::mail_gonder("ozmen.serhan@gmail.com","inset hata",$err);
	    }
	    return mysql_fetch_object($sorgu);
    }

    public function dizi_dondur($tablo,$where,$donecek_alan,$join)
    {
	    unset($dizi);

	    $sorgu = $this->sorgu($tablo,$where,$join,(array) $donecek_alan);

	    if (mysql_num_rows($sorgu) > 0)
	    {
		    while ($veri = mysql_fetch_object($sorgu))
		    {
			    $dizi[] = $veri->$donecek_alan;
		    }

		    return $dizi;
	    }
	    else
	    {
		    return false;
	    }
    }

    public function dbden_goster($tablo,$gosterilecek_alan,$ek_sql)
    {
	    $sonuc = $this->sql_where($tablo,$gosterilecek_alan,$ek_sql);
	    return $sonuc->$gosterilecek_alan;
    }

    public function sql_dizi($tablo,$ek_sql='',$opt='id',$val='adi',$onek='') {
        global $nesne;
        
        if ($onek != '') {
            $dizi[''] = $onek;
        }
        
        $sql = $nesne->sorgu($tablo,$ek_sql);
        while ($veri = mysql_fetch_object($sql)) {
            $dizi[$veri->$opt] = $veri->$val;
        }
        return $dizi;
    }



}
?>