Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // soubor s funkcemi pro práci z DBS MySQL pomocà rozhranà MYSQL
- include "./konf_myslq.php"; // nastaveni
- include './class/Tools.php';
- include './class/Logger.php';
- include './class/Notification.php';
- include './class/Notifikace.php';
- include './class/FlashMessage.php';
- include './class/File.php';
- include "./include/csrf.php";
- function DB_pripoj($jmenoDB = DB, $server = SERVER, $user = USER, $pass = PASS)
- {
- @$s = mysql_connect($server, $user, $pass);
- if (!$s) // nastala chyba
- die('<p style="color:red">Nastala chyba: nelze se PRIPOJIT K DATABAZI, zkontrolujte spravnost nastaveni v "konf_myslq.php" - ('.mysql_error().')</p></body></html>');
- if (!@mysql_select_db($jmenoDB))
- die('<p style="color:red">Nastala chyba: nelze vybrat DATABAZI <br>('.mysql_error().')</p></body></html>');
- DB_posli_dotaz("SET NAMES 'utf8'", $s); // nastavĂme znakovou sadu na UTF-8; netestujeme ĂşspÄ›ch
- // echo $s;
- mysql_set_charset("utf8");
- return $s; // vrátit výsledek
- }
- function DB_odpoj($spojeni)
- {
- @mysql_close($spojeni); // a pĹ™ĂpadnĂ˝ test ĂşspÄ›chu
- }
- function DB_posli_dotaz($SQL, $spojeni) // pĹ™ĂpadnÄ› i identifikátor spojenĂ s DB
- {
- @$v = mysql_query($SQL);
- mysql_set_charset("utf8");
- if (!$v)
- die('<p style="color:red">Nastala chyba: nelze poslat dotaz <em>'.$SQL.'</em> ('.
- mysql_error().')</p></body></html>');
- return $v; // a vrátĂme identifikátor vĂ˝sledku
- }
- function DB_pocet_radku($vysl) // počet řádků vrácených dotazem typu SELECT
- {
- $pocet = mysql_num_rows($vysl);
- // if (!$pocet)
- return $pocet;
- }
- function DB_vrat_radek($vysl) // vrácenà asoc. pole
- {
- return mysql_fetch_assoc($vysl); // mysql_fetch_object() nebo mysql_fetch_row()
- }
- function CasPrihlaseni($hledam) // nastavĂ ÄŤas aktivity uĹľivatele
- {
- $updateData = array(
- 'datum%d' => date('Y-m-d'),
- 'cas%s' => StrFTime("%H:%M:%S", Time()),
- );
- dibi::update('prihlaseni', $updateData)->where('uzivatel = %s', $hledam)->execute();
- }
- function ceskedatum($Datum) // z 2011-06-07 na 7.ÄŤervna 2011
- {
- if (empty($Datum)) {
- return '';
- }
- //$Datum='2011-10-09';
- $mesice = array ("", "ledna", "Ăşnora", "bĹ™ezna", "dubna", "kvÄ›tna", "ÄŤervna", "ÄŤervence", "srpna", "zářĂ", "Ĺ™Ăjna", "listopadu", "prosince");
- $dne = explode('-',$Datum);
- if($dne[2]<10)
- {$den=str_replace("0", "", "$dne[2]");
- } else $den=$dne[2];
- if($dne[1]<10)
- {$mesic=$mesice[str_replace("0", "", "$dne[1]")];
- } else $mesic=$mesice[$dne[1]];
- $vystup = $den.".".$mesic." ".$dne[0];
- return $vystup;
- }
- function dCZE($Datum) // z 2011-06-07 na 7.6.2011
- {
- if (empty($Datum)) {
- return;
- }
- $date = explode(' ', $Datum);
- if (is_array($date)) {
- $Datum = $date[0];
- } else {
- $Datum = $date;
- }
- $dne = explode('-',$Datum);
- if($dne[2]<10)
- {$den=str_replace("0", "", "$dne[2]");
- } else $den=$dne[2];
- if($dne[1]<10)
- {$mesic=str_replace("0", "", "$dne[1]");
- } else $mesic=$dne[1];
- if($dne[2]=="00") $den="0";
- if($dne[1]=="00") $mesic="0";
- $vystup = $den.".".$mesic.".".$dne[0];
- if($vystup == "..") $vystup = "";
- return $vystup;
- }
- function dUSA($Datum) // z 7.6.2011 na 2011-06-07
- {
- // if (empty($Datum)) {
- // return ''; // DIBI pro tohle vracelo 30.11.1999[=2000-00-00] nebo aktualni datum
- // }
- if (($Datum=="0.0.0000")||($Datum=='')) {
- return '0000-00-00';
- }
- $dne = explode('.',$Datum);
- $den = ($dne[0] < 10 && strlen($dne[0]==1)) ? '0' . $dne[0] : $dne[0];
- $mesic = ($dne[1] < 10 && strlen($dne[1]==1)) ? '0' . $dne[1] : $dne[1];
- $vystup = $dne[2]."-".$mesic."-".$den;
- return $vystup;
- }
- function posledniho($mesic,$rok) // vrátĂ ÄŤĂslo poslednĂho dne v mÄ›sĂci(problĂ©m pĹ™estupnĂ©ho Ăşnoru)
- {
- $out = date('d.',strtotime('-1 second',strtotime('+1 month',strtotime($mesic.'/01/'.$rok.' 00:00:00'))));
- $vystup=str_replace(".", "", "$out");
- return $vystup;
- }
- function velikost($bitu) // z bitĹŻ na KB a MB
- {
- if($bitu < 1048576) {
- $vystup = round($bitu/1024);
- $vystup = $vystup." kB"; }
- else {
- $vystup = round($bitu/1048576 , 2);
- $vystup = $vystup." MB"; }
- return $vystup;
- }
- function ikonka($koncovka) // urÄŤĂ vhodnou ikonu podle koncovky
- {
- $vystup = "neznamy.png";
- if(preg_match("/^((txt)|(docx)|(doc)|(odt)|(rtf)|(sxw))$/",$koncovka)) return "text.png";
- if(preg_match("/^((xlsx)|(xls)|(ods))$/",$koncovka)) return "tabulka.png";
- if(preg_match("/^((pdf))$/",$koncovka)) return "pdf.png";
- if(preg_match("/^((odg)|(bmp)|(png)|(gif)|(jpg)|(jpeg)|(jpe)|(raw))$/",$koncovka)) return "obraz.png";
- if(preg_match("/^((zip)|(rar)|(7z)|(tar)|(jar)|(arc))$/",$koncovka)) return "kompim.png";
- if(preg_match("/^((pptx)|(ppsx)|(ppt)|(pps)|(odp)|(sxi))$/",$koncovka)) return "prezentace.png";
- if(preg_match("/^((mp3)|(wma)|(ogg)|(wav)|(avi)|(wmv)|(mov)|(flv)|(mpg)|(mpeg)|(mp4)|(divx)|(3gp)|(ts)|(mkv))$/",$koncovka)) return "media.png";
- return $vystup;
- }
- function srcminiatura($typ,$id,$prom1,$prom2) // vrátà adresu obrázku miniatury
- {
- if($typ=="dum") {
- $heslo=sha1(md5("cibule".$id).$prom1.$prom2);
- $vystup = "./public/mini/domy/".$heslo.".jpg";
- if( is_file ( "$vystup" )) {}
- else $vystup = "./public/mini/domy.jpg";
- }
- if($typ=="byt") {
- $heslo=sha1(md5("ibulec".$id).$prom2.$prom1);
- $vystup = "./public/mini/byty/".$heslo.".jpg";
- if( is_file ( "$vystup" )) {}
- else $vystup = "./public/mini/byty.jpg";
- }
- if($typ=="najemnik") {
- $heslo=sha1(md5("buleci".$id.$prom1).$prom2);
- $vystup = "./public/mini/najemci/".$heslo.".jpg";
- if( is_file ( "$vystup" )) {}
- else $vystup = "./public/mini/najemci.jpg";
- }
- return $vystup.'?'.time();
- }
- function genminiatura($typ,$id,$prom1,$prom2,$jmeno_obrazku) // vygeneruje miniaturu
- {
- // $s = DB_pripoj();
- include_once "./public/konf_verejne.php";
- include "./exter/obraz.php";
- if($typ=="dum") {
- $heslo=sha1(md5("cibule".$id).$prom1.$prom2);
- $vystup = "./public/mini/domy/".$heslo.".jpg";
- $soubor = SLOZKADOKUMENTU."domy/".$id."/".$jmeno_obrazku;
- if(is_file($soubor)) {
- $image = new SimpleImage();
- $image->load("$soubor");
- $image->resize(200,150);
- $image->save("$vystup");
- }
- }
- if($typ=="byt") {
- $heslo=sha1(md5("ibulec".$id).$prom2.$prom1);
- $vystup = "./public/mini/byty/".$heslo.".jpg";
- $soubor = SLOZKADOKUMENTU."byty/".$id."/".$jmeno_obrazku;
- if(is_file($soubor)) {
- $image = new SimpleImage();
- $image->load("$soubor");
- $image->resize(200,150);
- $image->save("$vystup");
- }
- }
- if($typ=="najemnik") {
- $heslo=sha1(md5("buleci".$id.$prom1).$prom2);
- $vystup = "./public/mini/najemci/".$heslo.".jpg";
- $soubor = SLOZKADOKUMENTU."najemci/".$id."/".$jmeno_obrazku;
- if(is_file($soubor)) {
- $image = new SimpleImage();
- $image->load("$soubor");
- $image->resize(200,150);
- $image->save("$vystup");
- }
- }
- }
- function setjheslonajemnika($bitu) // pĹ™i zaloĹľenĂ novĂ©ho nájemnĂka mu založà pĹ™ihlašovacĂ Ăşdaje
- {
- // pĹ™i zaloĹľenĂ nájemnĂka se takĂ© vytvřà jeho pĹ™hlašovacĂ Ăşdaje
- $uzivatel = $jmeno.".".$prijmeni;
- $heslo=sha1(md5($rc."slanka"));
- $insertData = array(
- 'uzivatel%s' => $uzivatel,
- 'heslo%s' => $heslo,
- 'idnajemnika%i' => 1,
- );
- dibi::insert('prihlaseni', $insertData)->execute();
- if($bitu < 1048576) {
- $vystup = round($bitu/1024);
- $vystup = $vystup." kB"; }
- else {
- $vystup = round($bitu/1048576 , 2);
- $vystup = $vystup." MB"; }
- return $vystup;
- }
- function setheslonajemnika($bitu) // pĹ™i zaloĹľenĂ novĂ©ho nájemnĂka mu založà pĹ™ihlašovacĂ Ăşdaje
- {
- if($bitu < 1048576) {
- $vystup = round($bitu/1024);
- $vystup = $vystup." kB"; }
- else {
- $vystup = round($bitu/1048576 , 2);
- $vystup = $vystup." MB"; }
- return $vystup;
- }
- function cCZE($cisloeng) // z angl databáze pro českého uživatele (z 7.6223 na 7,6223)
- {
- $cisloeng = round($cisloeng, 2);
- $cislocze = Str_Replace (".", ",", $cisloeng);
- return $cislocze;
- }
- function cUSA($cislocze) // od českého uživatele pro angl DB (z 7,6223 na 7.6223)
- {
- $cisloeng = Str_Replace (",", ".", $cislocze);
- return $cisloeng;
- }
- function novaporucha($ids) // vrátĂ ÄŤĂslo novĂ© poruchy pro nastaveni reklamace najemnika
- {
- $rd = dibi::select('*')
- ->from('byt')
- ->join('uzivani')->using('(idbytu)')
- ->where('iduzivani = %i', $ids)
- ->fetch();
- $rd = (array)$rd;
- $iddomu = $rd["iddomu"];
- $Rok = date("Y");
- $prvniletos = "001/".$Rok; // zjistĂme zda existuje prvnĂ letošnĂ porucha v domu (1/2011)
- //$v = DB_posli_dotaz("SELECT * FROM `porucha` WHERE iddomu ='$iddomu' AND cisloreklam ='$prvniletos';", $s);
- $porucha = dibi::select('*')
- ->from('porucha')
- ->where('iddomu = %i', $iddomu)
- ->and('cisloreklam = %s', $prvniletos)
- ->fetch();
- if(!$porucha) {
- $cisloporuchy = $prvniletos;
- } else {
- // zjistĂme ÄŤĂslo poslednĂ poruchy
- $posledniPoruchy = dibi::select('*')
- ->from('porucha')
- ->where('iddomu = %i', $iddomu)
- ->and('cisloreklam LIKE %~like~', $Rok)
- ->fetchAll();
- $r = count($posledniPoruchy);
- $cisloposled=$r+1;
- $znaku=strlen($cisloposled);
- switch ($znaku) {
- case 2: $cisloposled = "0".$cisloposled; break;
- case 1: $cisloposled = "00".$cisloposled; break;
- }
- $cisloporuchy = $cisloposled."/".$Rok;;
- }
- return $cisloporuchy;
- }
- // pridá upozornovani a zjistěnà stavu(notifikace):
- function upozorni($odtyp,$priidn,$priids,$natabulku,$naid,$ids,$message = "")
- {
- // od nájemnĂka ke zprávci (známe N,idn)
- if($odtyp=='N') {
- $insertData = array(
- 'odtyp%s' => $odtyp,
- 'priidn%s' => $priidn,
- 'natabulku%s' => $natabulku,
- 'naid%i' => $naid,
- 'ids%i' => $ids,
- 'stav%s' => 'N',
- 'cas%t' => time(),
- 'zprava%s' => $message
- );
- }
- if($odtyp=='S') {
- $insertData = array(
- 'odtyp%s' => $odtyp,
- 'priids%s' => $priids,
- 'natabulku%s' => $natabulku,
- 'naid%i' => $naid,
- 'ids%i' => $ids,
- 'stav%s' => 'N',
- 'cas%t' => time(),
- );
- }
- dibi::insert('upozorneni', $insertData)->execute();
- $vrat = dibi::getInsertId();
- return $vrat;
- }
- function zjististav($idf) // rozhodnutà a nastavenà stavu hlášenà správcem
- { // $idf: je id klĂÄŤ v tabulce "upozorneni"(hlášenĂ nájemnĂkĹŻ)
- // $stav: enum('N','V','P','Z') - HlašenĂ: NovĂ©,VĂm,PotvrzenĂ©,ZamĂtnutĂ©
- if($idf) {
- //$stav = dibi::select('*')->from('upozorneni')->where('idf = %i', $idf)->test();
- $stav = dibi::select('*')->from('upozorneni')->where('idf = %i', $idf)->fetch();
- return $stav ['stav'];
- } else return 'neni_idf';
- }
- function nastav($stav,$idf) // rozhodnutà a nastavenà stavu hlášenà správcem
- { // $idf: je id klĂÄŤ v tabulce "upozorneni"(hlášenĂ nájemnĂkĹŻ)
- // $stav: enum('N','V','P','Z','S') - HlašenĂ: NovĂ©,VĂm,PotvrzenĂ©,ZamĂtnutĂ©,StornovanĂ©
- if($idf) {
- if(($stav=='N')||($stav=='V')||($stav=='P')||($stav=='Z')||($stav=='S')) {
- if($_SESSION['spravce']) $priids=$_SESSION['idu']; // kterĂ˝ správce se tĂm zabĂ˝vá:
- $insertData = array(
- 'priids%s' => $priids,
- 'stav%s' => $stav,
- 'cas%t' => time(),
- );
- dibi::update('upozorneni', $insertData)->where('idf = %i', $idf)->execute();
- } else return 'neni_stav';
- } else return 'neni_idf';
- }
- function jmenospravce($pids) // rozhodnutà a nastavenà stavu hlášenà správcem
- { // $ids: uživatelské id, ze kterého lze zjistit jméno správce
- if(($pids)&&($_SESSION['spravce'])) {
- $jmspr = dibi::select('*')->from('prihlaseni')->where('idu = %i', $pids)->fetch();
- return $jmspr ['uzivatel'];
- } else return 'správce';
- }
- //stiskli jsme Odhlasit
- if(isset($_POST['odhlas']) && $_POST["odhlas"]){
- $_SESSION=array();
- session_destroy();
- //echo "Jste odhlášen!";
- $uzivatel="";
- header("Location: ./index.php");
- }
- // názvy souborů ukládané na server jsou raději bez diakritiky
- // i pro multi-byte (napr. UTF-8)
- $prevodni_tabulka = Array(
- 'ä'=>'a',
- 'Ă„'=>'A',
- 'á'=>'a',
- 'Ă'=>'A',
- 'Ă '=>'a',
- 'Ă€'=>'A',
- 'ĂŁ'=>'a',
- 'Ă'=>'A',
- 'â'=>'a',
- 'Ă‚'=>'A',
- 'ÄŤ'=>'c',
- 'ÄŚ'=>'C',
- 'ć'=>'c',
- 'Ć'=>'C',
- 'ÄŹ'=>'d',
- 'ÄŽ'=>'D',
- 'Ä›'=>'e',
- 'Äš'=>'E',
- 'Ă©'=>'e',
- 'É'=>'E',
- 'Ă«'=>'e',
- 'Ă‹'=>'E',
- 'è'=>'e',
- 'Ă'=>'E',
- 'ĂŞ'=>'e',
- 'ĂŠ'=>'E',
- 'Ă'=>'i',
- 'ĂŤ'=>'I',
- 'ĂŻ'=>'i',
- 'ĂŹ'=>'I',
- 'ì'=>'i',
- 'ĂŚ'=>'I',
- 'Ă®'=>'i',
- 'ĂŽ'=>'I',
- 'Äľ'=>'l',
- 'Ä˝'=>'L',
- 'Äş'=>'l',
- 'Äą'=>'L',
- 'Ĺ„'=>'n',
- 'Ĺ'=>'N',
- 'Ĺ'=>'n',
- 'Ň'=>'N',
- 'ñ'=>'n',
- 'Ă‘'=>'N',
- 'Ăł'=>'o',
- 'Ă“'=>'O',
- 'ö'=>'o',
- 'Ă–'=>'O',
- 'Ă´'=>'o',
- 'Ă”'=>'O',
- 'ò'=>'o',
- 'Ă’'=>'O',
- 'õ'=>'o',
- 'Ă•'=>'O',
- 'Ĺ‘'=>'o',
- 'Ĺ'=>'O',
- 'Ĺ™'=>'r',
- 'Ĺ'=>'R',
- 'Ĺ•'=>'r',
- 'Ĺ”'=>'R',
- 'š'=>'s',
- 'Ĺ '=>'S',
- 'Ĺ›'=>'s',
- 'Ĺš'=>'S',
- 'ĹĄ'=>'t',
- 'Ť'=>'T',
- 'Ăş'=>'u',
- 'Ăš'=>'U',
- 'ĹŻ'=>'u',
- 'Ĺ®'=>'U',
- 'ĂĽ'=>'u',
- 'Ăś'=>'U',
- 'Ăą'=>'u',
- 'Ă™'=>'U',
- 'Ĺ©'=>'u',
- 'Ũ'=>'U',
- 'Ă»'=>'u',
- 'Ă›'=>'U',
- 'Ă˝'=>'y',
- 'Ăť'=>'Y',
- 'Ĺľ'=>'z',
- 'Ĺ˝'=>'Z',
- 'Ĺş'=>'z',
- 'Ĺą'=>'Z'
- );
- // $text = strtr($text, $prevodni_tabulka);
- // Zdroj: http://mbumba.cz/prevod-matematickeho-cisla-na-jeho-slovni-vyjadreni/
- /*
- * pĹ™evod desitkovĂ©ho ÄŤĂsla vyjádĹ™enĂ©ho mattematicky na ÄŤĂslo vyjádĹ™enĂ© slovnÄ›
- * param int $cislo - ÄŤĂslo v desĂtkovĂ© soustavÄ› (od 0 do 999999)
- * param bool $nula - true:když bude $cislo 0 zobrazà se na výstupu nula; false:když bude $cislo 0 zobrazà se na výstupu (bool)false
- * return string nebo bool false
- * (C) Martin Bumba, http://mbumba.cz
- *
- echo cisloNaSlovo(999999, true); //(string) devÄ›tsetdevadesátdevÄ›ttisĂcdevÄ›tsetdevadesátdevÄ›t
- echo cisloNaSlovo(123456, true); //(string) stodvacettĹ™itisĂcÄŤtyĹ™isetpadesátšest
- echo cisloNaSlovo(18, true); //(string) osmnáct
- echo cisloNaSlovo(0); //(bool) false
- echo cisloNaSlovo(0, true); //(string) nula
- */
- function cisloNaSlovo($cislo, $nula = false) {
- $jednotky = array("", "jedna","dva","tři","čtyři","pět","šest","sedm","osm","devět");
- $mezi = array(11=>"jedenáct",12=>"dvanáct",13=>"třináct",14=>"čtrnáct",15=>"patnáct",16=>"šestnáct",17=>"sedmnáct",18=>"osmnáct",19=>"devatenáct");
- $desitky = array("", "deset","dvacet","třicet","čtyřicet","padesát","šedesát","sedmdesát","osmdesát","devadesát");
- $cislo = (string) ltrim(round($cislo), 0);
- $delka = strlen($cislo);
- if($cislo==0) return $nula ? "nula":false; //ošetřenà 0
- elseif($delka==1) return $jednotky[$cislo]; //1 řád - jednotky
- elseif($delka==2) { //2 řády - desĂtky
- $desitkyAJednotky = $cislo{0}.$cislo{1};
- if($desitkyAJednotky==10) echo "deset";
- elseif($desitkyAJednotky<20) {
- return $mezi[$desitkyAJednotky];
- }
- else {
- return $desitky[$cislo{0}].$jednotky[$cislo{1}];
- }
- }
- elseif($delka==3) { //3 řády - stovky
- if($cislo{0}==1) return "sto".cisloNaSlovo(substr($cislo,1));
- elseif($cislo{0}==2) return "dvěstě".cisloNaSlovo(substr($cislo,1));
- elseif($cislo{0}==3 OR $cislo{0}==4) return $jednotky[$cislo{0}]."sta".cisloNaSlovo(substr($cislo,1));
- else return $jednotky[$cislo{0}]."set".cisloNaSlovo(substr($cislo,1));
- }
- elseif($delka==4) { //4 řády - tisĂce
- if($cislo{0}==1) return "tisĂc".cisloNaSlovo(substr($cislo,1));
- elseif($cislo{0}<5) return $jednotky[$cislo{0}]."tisĂce".cisloNaSlovo(substr($cislo,1));
- else return $jednotky[$cislo{0}]."tisĂc".cisloNaSlovo(substr($cislo,1));
- }
- elseif($delka==5) { //5 řádĹŻ - desĂtky tisĂc
- $desitkyTisic = $cislo{0}.$cislo{1};
- if($desitkyTisic==10) return "desettisĂc".cisloNaSlovo(substr($cislo,2));
- elseif($desitkyTisic<20) return $mezi[$desitkyTisic]."tisĂc".cisloNaSlovo(substr($cislo,2));
- elseif($desitkyTisic<100) return $desitky[$cislo{0}].$jednotky[$cislo{1}]."tisĂc".cisloNaSlovo(substr($cislo,2));
- }
- elseif($delka==6) { //6 řádĹŻ - stovky tisĂc
- if($cislo{0}==1) {
- if($cislo{1}.$cislo{2}==00) return "stotisĂc".cisloNaSlovo(substr($cislo,3));
- else return "sto".cisloNaSlovo(substr($cislo,1));
- }
- elseif($cislo{0}==2) return "dvěstě".cisloNaSlovo(substr($cislo,1));
- elseif($cislo{0}==3 OR $cislo{0}==4) return $jednotky[$cislo{0}]."sta".cisloNaSlovo(substr($cislo,1));
- else return $jednotky[$cislo{0}]."set".cisloNaSlovo(substr($cislo,1));
- }
- return false;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement