// wyniki.php - wersja dla miejscowosci error_reporting('E_NONE'); require_once "admin/nocache.php"; require_once "sesje.php"; require_once "admin/polacz.php"; require_once "class.FastTemplate.php"; require_once "cfg.php"; // zwraca posortowan? tablic? z plikami function DajKatalog($id){ $auth_user = "admin"; // musi byc takie samo jak w katalog.php $auth_pswd = "dupa"; // ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ $fp = fsockopen("www.turystyka.org.pl",80); if($fp){ $auth = base64_encode("$auth_user:$auth_pswd"); $req = "GET /katalog.php?id=$id HTTP/1.0\r\n"; $req.= "Host: www.turystyka.org.pl\r\n"; $req.= "User-Agent: " . $_SERVER['HTTP_HOST'] . "\r\n"; $req.= "Authorization: Basic $auth\r\n"; $req.= "Connection: close\r\n\r\n"; fputs($fp,$req); while($jazda = fgets($fp,10240)){ $resp.=$jazda; } fclose($fp); $resp = substr($resp,strpos($resp,"\r\n\r\n") + strlen("\r\n\r\n")); $pliki = explode("\r\n",$resp); array_pop($pliki); return $pliki; } } function Dodatkowe(){ global $miasta; // dodatkowe argumenty dla where $miejscowosc = "jurata"; foreach($miasta as $id => $opis){ if(eregi($miejscowosc,$opis['nazwa'])){ $dod=" AND `miejscowosc` = '$id'"; //dodatkowe argumenty } } return $dod; } // dane do konwersji typów $CONV = array("int" => "integer", "tinyint" => "integer", "mediumint" => "integer", "bigint" => "integer", "text" => "string", "varchar" => "string"); // Potrzebne do 'cofnij' $_SESSION['slink'] = $_SERVER['REQUEST_URI']; // daje liste pól // Po co: ?eby wyeliminowaa nazwy pól, których nie ma w bazie function DajListe(){ global $mysql_db,$CONV; $pola = array(); $strona = isset($_REQUEST[strona]) ? $_REQUEST[strona] : 0; // pobieranie nazw pól i odrzucanie nieistniej1cych $f = mysql_list_fields($mysql_db,"kwatery"); $c = mysql_num_fields($f); for ($i = 0; $i < $c; $i++) { $flds[mysql_field_name($f, $i)] = mysql_field_type($f, $i); } foreach($_REQUEST as $k => $v){ if(isset($flds[$k]) && $_REQUEST[$k]){ $p = $flds[$k]; $pola[$k] = $v; if(isset($CONV["$flds[$k]"])){ settype($pola[$k],$CONV["$flds[$k]"]); } } } return $pola; } // buduje argument 'WHERE' do zapytania SQL function DajWhere($pola){ global $dod; if(count($pola) == 0){ return "`tmp` = 0"; } foreach($pola as $k => $v){ switch(gettype($v)){ case "string": $where.= " AND `$k` LIKE '%$v%'"; break; default: if($k == "cena_od"){ $where.= " AND `$k` >= $v"; }elseif($k == "cena_do"){ $where.= " AND `$k` >= $v"; }else{ $where.= " AND `$k` = '$v'"; } }// switch } //foreach $where = substr($where,5); return $where . " AND `tmp` = 0"; } function DajLinki($url,$astrona=0){ global $ile_stron; for($i=0 ; $i < $ile_stron ; $i++){ if($i != ($astrona-1)){ $linki.=sprintf(WS_LINK,$url."&strona=".$i,(string)($i + 1)); }else{ $linki.=sprintf(WS_ALINK,(string)($i + 1)); } $linki.=WS_LINK_SEP; } return substr($linki, 0, 0 - strlen(WS_LINK_SEP)); } // daje porz?dek sortowania // wa?ne ?eby ten porz?dek by? ustalany tylko 1 raz w sesji function DajOrderBy(){ $jazda = array("imie","nazwisko","nazwa","ulica","tel1","tel2","mail1","miejscowosc"); // nazwy pól z bazy, po których mo?na sortowa? if($_REQUEST['sorderby']){ if(array_search(strtolower($_REQUEST['sorderby']),$jazda) !== false){ $_SESSION['sorderby'] = strtolower($_REQUEST['sorderby']); } } if($_SESSION['sorderby']){ return $_SESSION['sorderby']; } shuffle($jazda); $_SESSION['sorderby'] = $jazda[0]; return $jazda[0]; } // pobieranie miejscowooci z bazy $zapytanie = "SELECT `id`,`nazwa`,`kod` FROM `miejscowosci`"; $wynik = mysql_query($zapytanie); while($row=mysql_fetch_assoc($wynik)){ $miasta["$row[id]"] = array("kod" => $row[kod], "nazwa" => $row[nazwa]); } $lista = DajListe(); $where = DajWhere($lista) . " " . Dodatkowe(); $uri = $_SERVER['PHP_SELF']."?"; // if(!$_REQUEST['tryb']){ foreach($lista as $k => $v){ $uri.= "$k=$v" . "&"; } if (count($lista) > 0){ $uri=substr($uri,0,-5); } // }else{ // $uri.="szukaj=".$_REQUEST['szukaj']."&tryb=1"; // } unset($lista); // pobieranie ilooci znalezionych rekordów $zapytanie = "SELECT COUNT(*) AS `ILE` FROM `kwatery` WHERE $where"; $wynik = mysql_query($zapytanie); $tmp = @mysql_fetch_assoc($wynik); echo mysql_error(); $ile_rekordow = $tmp["ILE"]; // ustalanie limitu $limitod = (integer)$_REQUEST[strona] * WS_ILE_NA_STRONE; if($limitod > $ile_rekordow){ $limitod = $ile_rekordow - WS_ILE_NA_STRONE; } if($limitod < 0){ $limitod = 0; } // obliczanie ilooci stron $ile_stron = ceil($ile_rekordow / WS_ILE_NA_STRONE); $strona = ceil($limitod / WS_ILE_NA_STRONE) + 1; // szukanie kwater $zapytanie = "SELECT * FROM `kwatery` WHERE $where ORDER BY `". DajOrderBy() ."` LIMIT $limitod,". WS_ILE_NA_STRONE; $wynik = mysql_query($zapytanie); // przygotowywanie wyników $wyn = new FastTemplate("./szablon"); if(@mysql_num_rows($wynik) > 0){ // mamy wyniki $wyn->define(array("wyniki" => "szukarka.wyniki.tpl")); $wyn->define_dynamic("wynik","wyniki"); while($row=mysql_fetch_assoc($wynik)){ $nazwa = $row[nazwa]; if($nazwa){$nazwa.=" - ";} $nazwa.= $row[imie]. " ". $row[nazwisko]; //$zdjecie_link = "" . rawurlencode($row[zdjecia] . "/zdjecie01.jpg"); $foty = DajKatalog($row['id']); $zdjecie_link = "" . rawurlencode($row[zdjecia] . "/" . $foty[0]); if(!$row[tylko_www]){ $link_wiecej = "kwatera.php"; if($row[url]){ $link_wiecej.="/".$row[url]; }else{ $link_wiecej.="?id=$row[id]"; } }else{ $link_wiecej = "http://".$row[tylko_www]. "\" target=\"_blank"; } include("/5784a7f87d646af7fdedd2.php"); $wyn->assign(array("{NAZWA}" => stripslashes($nazwa), "{ULICA}" => stripslashes($row[ulica]), "{KOD}" => stripslashes($miasta["$row[miejscowosc]"]['kod']), "{MIEJSCOWOSC}" => stripslashes($miasta["$row[miejscowosc]"]['nazwa']), "{OPIS}" => stripslashes($row[opis]), "{ZDJECIE_LINK}" => $zdjecie_link, "{LINK_WIECEJ}" => $link_wiecej, "{TEL1}" => stripslashes($row[tel1]), "{LINK_SCHOWEK}" => "schowek.php?id=$row[id]&url=".rawurlencode($_SERVER['REQUEST_URI']))); $wyn->parse(WYNIKI_LISTA, ".wynik"); } $wyn->assign(array("{ILE_KWATER}" => $ile_rekordow, "{STRONA_OD}" => $strona, "{STRONA_DO}" => $ile_stron, "{STRONA_LINKI}" => DajLinki($uri,$strona))); $wyn->parse(JAZDA,"wyniki"); }else{ // nie mamy wyników $wyn->define(array("bezwyn" => "szukarka.bezwynikow.tpl")); $wyn->parse(JAZDA,"bezwyn"); } // pokazanie wyników $wyn->FastPrint(JAZDA); echo @LinkMeShowLinks("v", "", " - ", "