vybrat('pozice',$tblname,$podminky.' AND id='.$presun,'',$mesg,__FILE__.__LINE__,1,1); // $pozice_nad=$_SESSION['Db']->vybrat('pozice',$tblname,$podminky.' AND id='.$nad,'',$mesg,__FILE__.__LINE__,1,1); $query='SELECT pozice FROM '.$tblname.' WHERE '.$podminky.' AND id='.$presun; $pozice_presun=$_SESSION['Db']->dotaz_return($query,$mesg,__FILE__.__LINE__,0); $query='SELECT pozice FROM '.$tblname.' WHERE '.$podminky.' AND id='.$nad; $pozice_nad=$_SESSION['Db']->dotaz_return($query,$mesg,__FILE__.__LINE__,0); $query='UPDATE '.$tblname.' SET pozice=pozice-1 WHERE '.$podminky.' AND pozice>='.$pozice_presun[0][0]; $_SESSION['Db']->dotaz($query,$mesg,__FILE__.__LINE__,0); $query='UPDATE '.$tblname.' SET pozice=pozice+1 WHERE '.$podminky.' AND pozice>='.$pozice_nad[0][0]; $_SESSION['Db']->dotaz($query,$mesg,__FILE__.__LINE__,0); $query='UPDATE '.$tblname.' SET pozice='.$pozice_nad[0][0].' WHERE '.$podminky.' AND id='.$presun; $_SESSION['Db']->dotaz($query,$mesg,__FILE__.__LINE__,0); $this->init_poradi(); } function zmenit_po_smazani($id, $tblname, $podminky=1){ //zmeni poradi vsech nasledujicich po smazani zaznamu $query='SELECT pozice FROM '.$tblname.' WHERE '.$podminky.' AND id='.$id; $pozice_mazaneho=$_SESSION['Db']->dotaz_return($query,$mesg,__FILE__.__LINE__,0); $query='UPDATE '.$tblname.' SET pozice=pozice-1 WHERE '.$podminky.' AND pozice>'.$pozice_mazaneho[0][0]; $_SESSION['Db']->dotaz($query,$mesg,__FILE__.__LINE__,0); } function init_poradi($presun=0) { if($presun != 0) { $this->presun_id=$presun; } else { unset($this->presun_id); } } function nove_poradi ($tblname, $podminky=1) { $query='SELECT MAX(pozice) AS pozice FROM '.$tblname.' WHERE '.$podminky; $pozice_max=$_SESSION['Db']->dotaz_return($query,$mesg,__FILE__.__LINE__,0); $pozice_nova=$pozice_max[0][0]+1; return $pozice_nova; } function change_action($action) { // $this->reset_paging(); if($this->action != $action) { $_SESSION['Lang']->set=0; unset($_SESSION['filtr']); $this->reset_paging(); } } function change_action_public($action) { if($this->action != $action) { $this->reset_paging(); } } function reset_paging(){ $this->action = $_REQUEST['action']; $_REQUEST['nr_table']=0; unset($this->orderby); unset($this->razeni); unset($this->zaznam); unset($this->c_listu); unset($this->presun_id); unset($this->vysledek_celk); } function change_ordering_var($nr_table='', $orderby='', $razeni='', $zaznam='', $c_listu='') { if($nr_table != '') { if($orderby != '') $this->orderby[$nr_table] = $orderby; if($razeni != '') $this->razeni[$nr_table] = $razeni; if($zaznam != '') $this->zaznam[$nr_table] = $zaznam; if($c_listu != '') $this->c_listu[$nr_table] = $c_listu; } } function set_ordering_var($nr_table, $orderby='', $razeni='', $zaznam='', $c_listu='', $pocet='', $skok='') { if(!isset($this->orderby[$nr_table]) && $orderby != '') $this->orderby[$nr_table] = $orderby; if(!isset($this->razeni[$nr_table]) && $razeni != '') $this->razeni[$nr_table] = $razeni; if($pocet != '') $this->pocet[$nr_table] = $pocet; if($skok != '') $this->skok[$nr_table] = $skok; if(!isset($this->zaznam[$nr_table]) && $zaznam != '') $this->zaznam[$nr_table] = $zaznam; if(!isset($this->c_listu[$nr_table]) && $c_listu != '') $this->c_listu[$nr_table] = $c_listu; } function prepocet_list_to_zaznam($what, $nr_table) { $prepocet=($what-1)*$this->pocet[$nr_table]; return $prepocet; } function strankovani($nr_table=0, $aditional_vars='') { if($this->vysledek_celk[$nr_table] > $this->pocet[$nr_table]) { $pocet_stranek=ceil($this->vysledek_celk[$nr_table]/$this->pocet[$nr_table]); // $pocet_stranek=ceil($this->vysledek_celk[$nr_table]/$this->pocet[$nr_table]); // if($pocet_stranek != 1) { // $aktualni_stranka=($this->zaznam[$nr_table]/$this->pocet[$nr_table])+1; $aktualni_stranka=$this->c_listu[$nr_table]; $prvni_stranka=1; $posledni_stranka=$pocet_stranek; $skok_vpred=($aktualni_stranka + $this->skok[$nr_table]) < $posledni_stranka ? ($aktualni_stranka + $this->skok[$nr_table]) : $posledni_stranka; $skok_vzad=($aktualni_stranka - $this->skok[$nr_table]) > $prvni_stranka ? ($aktualni_stranka - $this->skok[$nr_table]) : $prvni_stranka; $dalsi=($aktualni_stranka + 1) < $posledni_stranka ? ($aktualni_stranka + 1) : $posledni_stranka; $predchozi=($aktualni_stranka - 1) > $prvni_stranka ? ($aktualni_stranka - 1) : $prvni_stranka; // docasne i prepocet na zaznamy $zaznam_skok_vpred=$this->prepocet_list_to_zaznam($skok_vpred, $nr_table); $zaznam_skok_vzad=$this->prepocet_list_to_zaznam($skok_vzad, $nr_table); $zaznam_dalsi=$this->prepocet_list_to_zaznam($dalsi, $nr_table); $zaznam_predchozi=$this->prepocet_list_to_zaznam($predchozi, $nr_table); // konec docasne //hodnoty pro zobrazovani $zobrazeni_stranek_1_pul = 8; $rozdil_1 = $aktualni_stranka - $zobrazeni_stranek_1_pul; if($rozdil_1 < 0) $zobrazeni_stranek_1_pul = $zobrazeni_stranek_1_pul + $rozdil_1; $zobrazeni_stranek_2_pul =7 ; $rozdil_2 = $pocet_stranek - $aktualni_stranka; if($rozdil_2 <= $zobrazeni_stranek_2_pul) $zobrazeni_stranek_2_pul = $rozdil_2; $zobrazeni_stranek_celkem = $aktualni_stranka + $zobrazeni_stranek_2_pul; // vypis tlacitek pro strankovani $vypis.='
'; if($aktualni_stranka == $prvni_stranka) { for($i = $aktualni_stranka - 1; $i < $zobrazeni_stranek_celkem; $i++){ $list = $i + 1; if($aktualni_stranka == $list) { $vypis.=''.$list.' '; } else { $vypis.=''.$list.' '; } } $vypis.='> '; $vypis.='>>'; } elseif ($aktualni_stranka == $posledni_stranka) { $vypis.='<<'; $vypis.=' <'; for($i = $aktualni_stranka - $zobrazeni_stranek_1_pul; $i < $zobrazeni_stranek_celkem; $i++){ $list = $i + 1; if($aktualni_stranka == $list) { $vypis.=' '.$list.''; } else { $vypis.=' '.$list.''; } } } else { $vypis.='<<'; $vypis.=' <'; for($i = $aktualni_stranka - $zobrazeni_stranek_1_pul; $i < $zobrazeni_stranek_celkem; $i++){ $list = $i + 1; if($aktualni_stranka == $list) { $vypis.=' '.$list.''; } else { $vypis.=' '.$list.''; } } $vypis.=' >'; $vypis.=' >>'; } $vypis.='
'; } return $vypis; } function strankovani_public_gal($nr_table=0, $aditional_vars='', $foto=0) { if($foto) $class='_foto'; $dalsi_lng['cz']='další'; $dalsi_lng['en']='next'; $dalsi_lng['de']='next'; $dalsi_lng['fr']='next'; $predchozi_lng['cz']='předchozí'; $predchozi_lng['en']='previous'; $predchozi_lng['de']='previous'; $predchozi_lng['fr']='previous'; if($this->vysledek_celk[$nr_table] > $this->pocet[$nr_table]) { $pocet_stranek=ceil($this->vysledek_celk[$nr_table]/$this->pocet[$nr_table]); $aktualni_stranka=$this->c_listu[$nr_table]; $prvni_stranka=1; $posledni_stranka=$pocet_stranek; $dalsi=($aktualni_stranka + 1) < $posledni_stranka ? ($aktualni_stranka + 1) : $posledni_stranka; $predchozi=($aktualni_stranka - 1) > $prvni_stranka ? ($aktualni_stranka - 1) : $prvni_stranka; // docasne i prepocet na zaznamy $zaznam_dalsi=$this->prepocet_list_to_zaznam($dalsi, $nr_table); $zaznam_predchozi=$this->prepocet_list_to_zaznam($predchozi, $nr_table); // konec docasne // vypis tlacitek pro strankovani $vypis.='
'; if($aktualni_stranka == $prvni_stranka) { $vypis.=' '.$dalsi_lng[$GLOBALS['Lang_z']].''; } elseif ($aktualni_stranka == $posledni_stranka) { $vypis.=' '.$predchozi_lng[$GLOBALS['Lang_z']].''; } else { if($foto) { $vypis.=' '.$predchozi_lng[$GLOBALS['Lang_z']].' | '.$dalsi_lng[$GLOBALS['Lang_z']].''; } else { $vypis.=' '.$dalsi_lng[$GLOBALS['Lang_z']].' '.$predchozi_lng[$GLOBALS['Lang_z']].''; } } $vypis.='
'; } return $vypis; } function razeni($orderby, $content, $nr_table=0, $aditional_vars='') { if($orderby == $this->orderby[$nr_table]) { if($this->razeni[$nr_table]=='ASC') { $razeni='DESC'; $img='s_asc.png'; $imgjs='s_desc.png'; $popisek='sestupně'; } else { $razeni='ASC'; $img='s_desc.png'; $imgjs='s_asc.png'; $popisek='vzestupně'; } $vypis=''.$content.' '; } else { $vypis=''.$content.''; } return $vypis; } } ?>