0 ) { ///!!!!! //weryfikacja na potrzeby przenoszenia stron. $query="SELECT h.* from tbl_html h where h.moved_from>=now() AND h.active_from1) { //sciagniecie informacji o podstronach $query="SELECT h.* from tbl_html h where h.idhtml='".pg_escape_string($html['parentid'])."' "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { $html['parent'] = pg_fetch_assoc($result); $html['parent']['title']=ucwords($html['parent']['title']); if($html['parent']['lvl']>1) { $query="SELECT h.* from tbl_html h where h.idhtml='".pg_escape_string($html['parent']['parentid'])."' "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { $html['parent']['parent'] = pg_fetch_assoc($result); $html['parent']['parent']['title']=ucwords($html['parent']['parent']['title']); } } } //poszukaj innych aut z tego modelu $html['models']=array(); if($html['lvl']>=3) { $query="SELECT * from tbl_html WHERE active_from 0 ) { while($carmod = pg_fetch_assoc($result)) { $html['models'][]=array('year'=>$carmod['yeartxt'],'title_www'=>$carmod['title_www']); } } } //sciagniecie informacji o autach jezeli takie sa na danej stronie. $query="SELECT c.* FROM tbl_html_car hc JOIN tbl_car c ON c.idcar=hc.idcar WHERE hc.idhtml='".pg_escape_string($html['idhtml'])."' ORDER BY c.yeartxt "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { $i=0; while($car = pg_fetch_assoc($result)) { $html['counter_items']+=($car['counter_rcl']+$car['counter_inv']+$car['counter_cmpl']+$car['counter_tsbs']); if($car['yeartxt']!=9999) { $car['name']=ucwords($car['maketxt']).' '.ucwords($car['modeltxt']).' '.$car['yeartxt']; } else { $car['name']=ucwords($car['maketxt']).' '.ucwords($car['modeltxt']); } if($car['counter_tsbs']>0) { $query="SELECT * from tbl_tsbs WHERE lower(maketxt)='".pg_escape_string($car['maketxt'])."' AND lower(modeltxt)='".pg_escape_string($car['modeltxt'])."' AND yeartxt='".pg_escape_string($car['yeartxt'])."' ORDER BY substring(compname from 8),datea desc "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { while($row = pg_fetch_assoc($result)) { $compname=substr($row['compname'],7); //zliczanie częsci count_partname(get_partname($compname),'tsbs'); $car['tsbs'][$compname][]=$row; } } } if($car['counter_rcl']>0) { //zmienna do sprawdzania czy to nie duplikat poniewaz informacje o jedym wycofaniu potrafia sie wielokrotnie powielac w tym samym modelu. $campnolist=array(); $query="SELECT * from tbl_rcl WHERE lower(maketxt)='".pg_escape_string($car['maketxt'])."' AND lower(modeltxt)='".pg_escape_string($car['modeltxt'])."' AND yeartxt='".pg_escape_string($car['yeartxt'])."' ORDER BY compname,idrcl desc "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { while($row = pg_fetch_assoc($result)) { //ignoruj duplikaty tej samej kampanii. if(isset($campnolist[$row['campno']])) continue; switch ($row['rcltypecd']) { case 'V': $row['rcltypecd_name']='V (Vehicle)'; break; case 'E': $row['rcltypecd_name']='E (Equipment)'; break; case 'T': $row['rcltypecd_name']='T (Tire)'; break; default: $row['rcltypecd_name']=$row['rcltypecd']; break; } $car['rcl'][$row['compname']][]=$row; //zliczanie częsci count_partname(get_partname($row['compname']),'rcl'); $campnolist[$row['campno']]=1; } } } if($car['counter_inv']>0) { $query="SELECT * from tbl_inv WHERE lower(maketxt)='".pg_escape_string($car['maketxt'])."' AND lower(modeltxt)='".pg_escape_string($car['modeltxt'])."' AND yeartxt='".pg_escape_string($car['yeartxt'])."' ORDER BY compname,idinv desc "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { while($row = pg_fetch_assoc($result)) { $car['inv'][$row['compname']][]=$row; //zliczanie częsci count_partname(get_partname($row['compname']),'inv'); } } } if($car['counter_cmpl']>0) { //array w ktorym sprawdzamy czy cos nie jest duplikatem. $checkdup=array(); //odpytywanie o wszystkie cmpl $query="SELECT * from tbl_cmpl WHERE lower(maketxt)='".pg_escape_string($car['maketxt'])."' AND lower(modeltxt)='".pg_escape_string($car['modeltxt'])."' AND yeartxt='".pg_escape_string($car['yeartxt'])."' ORDER BY compdesc,idcmpl desc "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { while($row = pg_fetch_assoc($result)) { $md5row=md5($row['miles'].$row['cdescr'].$row['faildate'].$row['compdesc']); if(!isset($checkdup[$md5row])) { $checkdup[$md5row]=true; } else { continue; } $car['cmpl'][$row['compdesc']][]=$row; //zliczanie częsci count_partname(get_partname($row['compdesc']),'cmpl'); } } } if($car['counter_fueleconomy']>0) { $query="SELECT * from tbl_fueleconomy_cars WHERE maketxt='".pg_escape_string($car['maketxt'])."' AND modeltxt='".pg_escape_string($car['modeltxt'])."' AND yeartxt='".pg_escape_string($car['yeartxt'])."' ORDER BY id "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { while($row = pg_fetch_assoc($result)) { //engine $row['_engine']=$row['displacement']; if(isset($row['turbo']) && strlen($row['turbo'])>0) { if($row['turbo']=='T' || $row['turbo']=='TC') { $row['_engine'].=' Turbo'; } elseif($row['turbo']=='SC') { $row['_engine'].=' Supercharger'; } } if(isset($row['gas_guzzler']) && strlen($row['gas_guzzler'])>0 && $row['gas_guzzler']=='G') { $row['_engine'].=', Guzzler'; } if(isset($row['engine_desc']) && strlen($row['engine_desc'])>0) { $row['_engine'].=', '.$row['engine_desc']; } //transmission $trans=''; if(preg_match("/^(Auto|Manual)\(([A-Za-z0-9\-]{1,10})\)$/siD",$row['trans'],$tmp)) { $trans=$tmp[2]; } elseif(preg_match("/^([0-9I]{1})([A-Za-z0-9\-]{1,10})$/siD",$row['trans'],$tmp)) { $trans=$tmp[2]; } elseif(preg_match("/^([A-Za-z0-9]{2,3})$/siD",$row['trans'],$tmp)) { $trans=$tmp[1]; } $end=0; if(substr($trans,0,2)=='AM') { $row['_trans']='Automatic/Manual'; $end=2; } elseif(substr($trans,0,1)=='A') { $row['_trans']='Automatic'; $end=1; } elseif(substr($trans,0,1)=='M') { $row['_trans']='Manual'; $end=1; } elseif(substr($trans,0,1)=='S') { $row['_trans']='Semiautomatic'; $end=1; } elseif(substr($trans,0,1)=='L') { $row['_trans']='Lockup/automatic'; $end=1; } else { $row['_trans']=$row['trans']; } if($end>0) { if(is_numeric(substr($trans,$end,1))) { $row['_trans'].=', '.substr($trans,$end,1).' gears'; } elseif(substr($trans,$end,1)=='V') { $row['_trans'].=', Fully variable gear ratios'; } else { $row['_trans']=$row['trans']; } } if(!isset($row['_trans'])) { $row['_trans']=$row['trans']; } if(isset($row['trans_desc']) && strlen($row['trans_desc'])>0) { $row['_trans'].=', '.$row['trans_desc']; } //mpg if(isset($row['guide_city_mpg']) && $row['guide_city_mpg']>0) { $row['_guide_mpg']=$row['guide_city_mpg'].'/'.$row['guide_hwy_mpg'].'/'.$row['guide_comb_mpg']; } else { $row['_guide_mpg']=''; } if(isset($row['epa_city_mpg']) && $row['epa_city_mpg']>0) { $row['_epa_mpg']=$row['epa_city_mpg'].'/'.$row['epa_hwy_mpg'].'/'.$row['epa_comb_mpg']; } else { $row['_epa_mpg']=''; } //fuel if($row['fuel_type']=='R') { $row['_fuel']='Regular'; } elseif($row['fuel_type']=='P') { $row['_fuel']='Premium'; } else { $row['_fuel']=$row['fuel_type']; } $car['fueleconomy'][]=$row; } } } else { if($car['counter_trade']>0) { $query="SELECT trade_in_drive_train,trade_in_vehicle_category from car_transactions WHERE trade_maketxt='".pg_escape_string($car['maketxt'])."' AND trade_modeltxt='".pg_escape_string($car['modeltxt'])."' AND trade_yeartxt='".pg_escape_string($car['yeartxt'])."' GROUP BY trade_in_drive_train,trade_in_vehicle_category ORDER BY trade_in_drive_train "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { while($row = pg_fetch_assoc($result)) { $row['class']=$row['trade_in_vehicle_category']; $row['_guide_mpg']=''; $row['_epa_mpg']=''; $row['fcost']=''; $row['rel_date']=''; if(preg_match("/^([0-9.]{1,3})L, ([0-9]{1,2}) cyl, ([a-zA-Z]{5,10} [0-9]{1})-spd, ([a-zA-Z0-9]{0,4}), ([a-zA-Z0-9 ]{3,20})$/siD",$row['trade_in_drive_train'],$tmp)) { $row['_engine']=$tmp[1]; $row['numb_cyl']=$tmp[2]; $row['_trans']=$tmp[3].' gears'; $row['drive_sys']=$tmp[4]; $row['_fuel']=$tmp[5]; $car['fueleconomy'][]=$row; $car['counter_fueleconomy']++; } elseif(preg_match("/^([0-9.]{1,3})L, ([0-9]{1,2}) cyl, ([a-zA-Z]{5,10} [0-9]{1})-spd, ([a-zA-Z0-9]{0,4}), (.*?), ([a-zA-Z0-9 ]{3,20})$/siD",$row['trade_in_drive_train'],$tmp)) { $row['_engine']=$tmp[1].', '.$tmp[5]; $row['numb_cyl']=$tmp[2]; $row['_trans']=$tmp[3].' gears'; $row['drive_sys']=$tmp[4]; $row['_fuel']=$tmp[6]; $car['fueleconomy'][]=$row; $car['counter_fueleconomy']++; } else { //echo $row['trade_in_drive_train']."
"; } } } } if($car['counter_new']>0) { $query="SELECT new_vehicle_drive_train,new_vehicle_category from car_transactions WHERE new_maketxt='".pg_escape_string($car['maketxt'])."' AND new_modeltxt='".pg_escape_string($car['modeltxt'])."' AND new_yeartxt='".pg_escape_string($car['yeartxt'])."' GROUP BY new_vehicle_drive_train,new_vehicle_category ORDER BY new_vehicle_drive_train "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { while($row = pg_fetch_assoc($result)) { $row['class']=$row['new_vehicle_category']; $row['_guide_mpg']=''; $row['_epa_mpg']=''; $row['fcost']=''; $row['rel_date']=''; if(preg_match("/^([0-9.]{1,3})L, ([0-9]{1,2}) cyl, ([a-zA-Z]{5,10} [0-9]{1})-spd, ([a-zA-Z0-9]{0,4}), ([a-zA-Z0-9 ]{3,20})$/siD",$row['new_vehicle_drive_train'],$tmp)) { $row['_engine']=$tmp[1]; $row['numb_cyl']=$tmp[2]; $row['_trans']=$tmp[3].' gears'; $row['drive_sys']=$tmp[4]; $row['_fuel']=$tmp[5]; $car['fueleconomy'][]=$row; $car['counter_fueleconomy']++; } elseif(preg_match("/^([0-9.]{1,3})L, ([0-9]{1,2}) cyl, ([a-zA-Z]{5,10} [0-9]{1})-spd, ([a-zA-Z0-9]{0,4}), ([^,]{0,30}), ([a-zA-Z0-9 ]{3,20})$/siD",$row['new_vehicle_drive_train'],$tmp)) { $row['_engine']=$tmp[1].', '.$tmp[5]; $row['numb_cyl']=$tmp[2]; $row['_trans']=$tmp[3].' gears'; $row['drive_sys']=$tmp[4]; $row['_fuel']=$tmp[6]; $car['fueleconomy'][]=$row; $car['counter_fueleconomy']++; } else { //echo $row['new_vehicle_drive_train']."
"; } } } } } $html['car'][$i]=$car; $i++; //sciagnij informacje o dilerach aut ktore mamy na podstawie bazy Filipa if(($car['counter_new']>0) && $car['yeartxt']!=9999) { $query="SELECT * from car_transactions WHERE new_maketxt='".pg_escape_string($car['maketxt'])."' AND new_modeltxt='".pg_escape_string($car['modeltxt'])."' AND new_yeartxt='".pg_escape_string($car['yeartxt'])."' ORDER BY state,city,vendor_name "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { while($row = pg_fetch_assoc($result)) { if(!isset($html['dealers'][$row['vendor_name']])) { $html['dealers'][$row['vendor_name']]=array( 'dealer_name'=>$row['vendor_name'], 'dealer_tel'=>$row['phone'], 'dealer_city'=>$row['city'], 'dealer_state'=>$row['state'], 'dealer_zip'=>$row['zip'], ); } } } } //sciagnij informacje o dilerach aut ktore mamy na podstawie skarg klientow do konkretnych dilerow if($car['counter_cmpl']>0) { $query="SELECT * from tbl_cmpl WHERE dealer_name!='' AND dealer_state!='' AND dealer_city!='' AND lower(maketxt)='".pg_escape_string($car['maketxt'])."' AND lower(modeltxt)='".pg_escape_string($car['modeltxt'])."' AND yeartxt='".pg_escape_string($car['yeartxt'])."' ORDER BY dealer_state,dealer_city,dealer_name "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { while($row = pg_fetch_assoc($result)) { if(!isset($html['dealers'][$row['dealer_name']])) { $html['dealers'][$row['dealer_name']]=$row; } } } } } } //sciagni informacje o rocznikach dla tego modelu //poszukaj innych aut z tego modelu if($html['lvl']==2) { $html['models_year']=array(); $html['models_year_list']['counter_tsbs']=0; $html['models_year_list']['counter_rcl']=0; $html['models_year_list']['counter_inv']=0; $html['models_year_list']['counter_cmpl']=0; $html['models_year_list']['counter_model']=0; $query="SELECT h.*,c.counter_tsbs,c.counter_rcl,c.counter_inv,c.counter_cmpl,c.counter_fueleconomy,c.counter_trade,c.counter_new from tbl_html h LEFT JOIN tbl_car c ON c.maketxt=h.maketxt AND c.modeltxt=h.modeltxt AND c.yeartxt=h.yeartxt WHERE h.lvl=3 AND h.maketxt='".pg_escape_string($html['maketxt'])."' AND h.modeltxt='".pg_escape_string($html['modeltxt'])."' ORDER BY h.yeartxt "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { while($carmod = pg_fetch_assoc($result)) { //poszukiwanie minimum i maksymum dla roku if(!isset($minyear) || ($carmod['yeartxt']<9999 && $minyear>$carmod['yeartxt'])) { $minyear=$carmod['yeartxt']; } if(!isset($maxyear) || ($carmod['yeartxt']<9999 && $maxyear<$carmod['yeartxt'])) { $maxyear=$carmod['yeartxt']; } if($carmod['counter_fueleconomy']>0) { $carmod['counter_model']=$carmod['counter_fueleconomy']; } elseif($carmod['counter_new']>0 || $carmod['counter_trade']>0) { $carmod['counter_model']=1; } else { $carmod['counter_model']=0; } if(!isset($html['models_year'][$carmod['yeartxt']])) { $html['models_year'][$carmod['yeartxt']]=$carmod; $html['models_year'][$carmod['yeartxt']]['title']=ucwords($carmod['title']); $html['models_year'][$carmod['yeartxt']]['counter_model']=$carmod['counter_model']; } else { $html['models_year'][$carmod['yeartxt']]['counter_tsbs']+=$carmod['counter_tsbs']; $html['models_year'][$carmod['yeartxt']]['counter_rcl']+=$carmod['counter_rcl']; $html['models_year'][$carmod['yeartxt']]['counter_inv']+=$carmod['counter_inv']; $html['models_year'][$carmod['yeartxt']]['counter_cmpl']+=$carmod['counter_cmpl']; $html['models_year'][$carmod['yeartxt']]['counter_model']+=$carmod['counter_model']; } $html['models_year_list']['counter_tsbs']+=$carmod['counter_tsbs']; $html['models_year_list']['counter_rcl']+=$carmod['counter_rcl']; $html['models_year_list']['counter_inv']+=$carmod['counter_inv']; $html['models_year_list']['counter_cmpl']+=$carmod['counter_cmpl']; $html['models_year_list']['counter_model']+=$carmod['counter_model']; } if(isset($minyear) && isset($maxyear) && $minyear<$maxyear) { $html['title'].=' '.$minyear.'-'.$maxyear; } } /* nie wiem czy to nie bedzie zbytnie powielanie contentu wiec narazie tego nie wrzuce. //ściągni informacje o dilerach danego modelu auta $query="SELECT * from car_transactions WHERE new_maketxt='".pg_escape_string($html['maketxt'])."' AND new_modeltxt='".pg_escape_string($html['modeltxt'])."' ORDER BY state,city,vendor_name "; $result = pg_query($query); if(pg_num_rows($result) > 0 ) { while($row = pg_fetch_assoc($result)) { if(!isset($html['dealers'][$row['vendor_name']])) { $html['dealers'][$row['vendor_name']]=array( 'dealer_name'=>$row['vendor_name'], 'dealer_tel'=>$row['phone'], 'dealer_city'=>$row['city'], 'dealer_state'=>$row['state'], 'dealer_zip'=>$row['zip'], ); } } } */ } } //spis modeli danego producenta if($html['lvl']==1) { $html['models_list']=array(); $query="SELECT h.*, (SELECT count(h2.*) FROM tbl_car h2 WHERE h.maketxt=h2.maketxt AND h.modeltxt=h2.modeltxt) as cars_no, (SELECT min(h3.yeartxt) FROM tbl_car h3 WHERE h.maketxt=h3.maketxt AND h.modeltxt=h3.modeltxt AND yeartxt<9999) as min_year, (SELECT max(h4.yeartxt) FROM tbl_car h4 WHERE h.maketxt=h4.maketxt AND h.modeltxt=h4.modeltxt AND yeartxt<9999) as max_year FROM tbl_html h where h.active_from 0 ) { while($carmake = pg_fetch_assoc($result)) { $carmake['title']=ucwords($carmake['title']); $carmake['years']=''; if($carmake['min_year']>0) { $carmake['years'].='from '.$carmake['min_year']; } if($carmake['max_year']>0) { $carmake['years'].=' to '.$carmake['max_year']; } $html['models_list'][]=$carmake; } } } /* echo '
';
print_r($html['parts_items']);
echo '
'; */ //wygenerowanie strony ob_start (); include ("../templates/page.html"); $str=ob_get_contents (); ob_end_clean (); echo $str; } else { $html['title']='404 Not Found'; header ($_SERVER["SERVER_PROTOCOL"]." 404 Not Found"); include ("../templates/nopage.html"); } //1. pobierz info o stronie z linka //2. sprawdz jaki ma lvl i pobierz jej parenty. mozna je potem umiescic w gornym pasku nawigacyjnym //3. sprawdz czy strona ma podstrony i porob do nich linki //4. sprawdz czy strona ma tbl_car i wyswietl je jezeli je ma //5. sprawdz sumarycznie dla wszystkich tbl_car jakie mamy informacje o czesciach. jezeli jest ich malo, wyswietl je w biezacej stronie, jezeli duzo porob linki do podstron z czesciami //6. przygotuj odpowiedni system cache. ?>