Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 18.62 KB | None | 0 0
  1. <?php
  2. // soubor s funkcemi pro práci z DBS MySQL pomocí rozhraní MYSQL
  3.  
  4. include "./konf_myslq.php";        // nastaveni
  5. include './class/Tools.php';
  6. include './class/Logger.php';
  7. include './class/Notification.php';
  8. include './class/Notifikace.php';
  9. include './class/FlashMessage.php';
  10. include './class/File.php';
  11. include "./include/csrf.php";
  12.  
  13. function DB_pripoj($jmenoDB = DB, $server = SERVER, $user = USER, $pass = PASS)
  14. {
  15.   @$s = mysql_connect($server, $user, $pass);
  16.   if (!$s) // nastala chyba
  17.     die('<p style="color:red">Nastala chyba: nelze se PRIPOJIT K DATABAZI, zkontrolujte spravnost nastaveni v "konf_myslq.php" - ('.mysql_error().')</p></body></html>');
  18.   if (!@mysql_select_db($jmenoDB))
  19.     die('<p style="color:red">Nastala chyba: nelze vybrat DATABAZI <br>('.mysql_error().')</p></body></html>');
  20.   DB_posli_dotaz("SET NAMES 'utf8'", $s); // nastavĂ­me znakovou sadu na UTF-8; netestujeme ĂşspÄ›ch
  21. // echo $s;
  22.   mysql_set_charset("utf8");
  23.   return $s; // vrátit vĂ˝sledek
  24. }
  25.  
  26. function DB_odpoj($spojeni)
  27. {
  28.   @mysql_close($spojeni);       // a případnĂ˝ test ĂşspÄ›chu
  29. }
  30.  
  31.  
  32. function DB_posli_dotaz($SQL, $spojeni) // případně i identifikátor spojení s DB
  33. {
  34.   @$v = mysql_query($SQL);
  35.   mysql_set_charset("utf8");
  36.   if (!$v)
  37.     die('<p style="color:red">Nastala chyba: nelze poslat dotaz  <em>'.$SQL.'</em> ('.
  38.       mysql_error().')</p></body></html>');
  39.   return $v;    //  a vrátĂ­me identifikátor vĂ˝sledku
  40. }
  41.  
  42.  
  43. function DB_pocet_radku($vysl) // počet řádků vrácených dotazem typu SELECT
  44. {
  45.   $pocet = mysql_num_rows($vysl);
  46.   // if (!$pocet)
  47.   return $pocet;
  48. }
  49.  
  50.  
  51. function DB_vrat_radek($vysl) // vrácení asoc. pole
  52. {
  53.   return mysql_fetch_assoc($vysl); // mysql_fetch_object()  nebo   mysql_fetch_row()
  54. }
  55.  
  56.  
  57.  
  58. function CasPrihlaseni($hledam)   // nastavĂ­ ÄŤas aktivity uĹľivatele
  59. {
  60.  
  61.       $updateData = array(
  62.           'datum%d' => date('Y-m-d'),
  63.           'cas%s'   => StrFTime("%H:%M:%S", Time()),
  64.       );
  65.       dibi::update('prihlaseni', $updateData)->where('uzivatel = %s', $hledam)->execute();
  66. }  
  67.    
  68.    
  69. function ceskedatum($Datum) // z 2011-06-07 na 7.ÄŤervna 2011
  70. {
  71.     if (empty($Datum)) {
  72.         return '';
  73.     }
  74.    
  75.     //$Datum='2011-10-09';
  76.     $mesice = array ("", "ledna", "Ăşnora", "bĹ™ezna", "dubna", "kvÄ›tna", "ÄŤervna", "ÄŤervence", "srpna", "září", "října", "listopadu", "prosince");    
  77.     $dne = explode('-',$Datum);
  78.       if($dne[2]<10)
  79.         {$den=str_replace("0", "", "$dne[2]");
  80.         } else $den=$dne[2];
  81.     if($dne[1]<10)
  82.         {$mesic=$mesice[str_replace("0", "", "$dne[1]")];
  83.         } else $mesic=$mesice[$dne[1]];  
  84.     $vystup = $den.".".$mesic." ".$dne[0];
  85.     return $vystup;
  86. }
  87.  
  88. function dCZE($Datum) // z 2011-06-07 na 7.6.2011
  89. {
  90.     if (empty($Datum)) {
  91.         return;
  92.     }
  93.     $date = explode(' ', $Datum);
  94.    
  95.     if (is_array($date)) {
  96.         $Datum = $date[0];
  97.     } else {
  98.         $Datum = $date;
  99.     }
  100.            
  101.     $dne = explode('-',$Datum);
  102.       if($dne[2]<10)
  103.         {$den=str_replace("0", "", "$dne[2]");
  104.         } else $den=$dne[2];
  105.     if($dne[1]<10)
  106.         {$mesic=str_replace("0", "", "$dne[1]");
  107.         } else $mesic=$dne[1];  
  108.     if($dne[2]=="00") $den="0";
  109.     if($dne[1]=="00") $mesic="0";
  110.     $vystup = $den.".".$mesic.".".$dne[0];
  111.     if($vystup == "..") $vystup = "";
  112.     return $vystup;
  113. }
  114.  
  115. function dUSA($Datum) // z 7.6.2011 na 2011-06-07
  116. {
  117. //     if (empty($Datum)) {
  118. //        return '';            // DIBI pro tohle vracelo 30.11.1999[=2000-00-00] nebo aktualni datum
  119. //     }
  120.    
  121.     if (($Datum=="0.0.0000")||($Datum=='')) {
  122.        return '0000-00-00';
  123.     }
  124.    
  125.     $dne = explode('.',$Datum);
  126.     $den = ($dne[0] < 10 && strlen($dne[0]==1)) ? '0' . $dne[0] : $dne[0];
  127.     $mesic = ($dne[1] < 10 && strlen($dne[1]==1)) ? '0' . $dne[1] : $dne[1];        
  128.     $vystup = $dne[2]."-".$mesic."-".$den;
  129.  
  130.     return $vystup;
  131. }
  132.  
  133. function posledniho($mesic,$rok) // vrátí číslo posledního dne v měsíci(problém přestupného únoru)
  134. {  
  135.   $out = date('d.',strtotime('-1 second',strtotime('+1 month',strtotime($mesic.'/01/'.$rok.' 00:00:00'))));
  136.   $vystup=str_replace(".", "", "$out");
  137.   return $vystup;
  138. }
  139.  
  140. function velikost($bitu) // z bitĹŻ na KB a MB
  141. {
  142.    if($bitu < 1048576) {
  143.         $vystup = round($bitu/1024);
  144.         $vystup = $vystup."&nbsp;kB"; }
  145.    else {
  146.         $vystup = round($bitu/1048576 , 2);  
  147.         $vystup = $vystup."&nbsp;MB"; }
  148.   return $vystup;
  149. }
  150.  
  151. function ikonka($koncovka) // urÄŤĂ­ vhodnou ikonu podle koncovky
  152. {
  153.     $vystup = "neznamy.png";
  154.     if(preg_match("/^((txt)|(docx)|(doc)|(odt)|(rtf)|(sxw))$/",$koncovka)) return "text.png";
  155.     if(preg_match("/^((xlsx)|(xls)|(ods))$/",$koncovka)) return "tabulka.png";
  156.     if(preg_match("/^((pdf))$/",$koncovka)) return "pdf.png";
  157.     if(preg_match("/^((odg)|(bmp)|(png)|(gif)|(jpg)|(jpeg)|(jpe)|(raw))$/",$koncovka)) return "obraz.png";
  158.     if(preg_match("/^((zip)|(rar)|(7z)|(tar)|(jar)|(arc))$/",$koncovka)) return "kompim.png";
  159.     if(preg_match("/^((pptx)|(ppsx)|(ppt)|(pps)|(odp)|(sxi))$/",$koncovka)) return "prezentace.png";
  160.     if(preg_match("/^((mp3)|(wma)|(ogg)|(wav)|(avi)|(wmv)|(mov)|(flv)|(mpg)|(mpeg)|(mp4)|(divx)|(3gp)|(ts)|(mkv))$/",$koncovka)) return "media.png";
  161.     return $vystup;
  162. }
  163.  
  164.  
  165. function srcminiatura($typ,$id,$prom1,$prom2) // vrátí adresu obrázku miniatury
  166. {  
  167.    if($typ=="dum") {
  168.       $heslo=sha1(md5("cibule".$id).$prom1.$prom2);
  169.       $vystup = "./public/mini/domy/".$heslo.".jpg";
  170.       if( is_file ( "$vystup" )) {}
  171.       else $vystup = "./public/mini/domy.jpg";    
  172.    }
  173.    if($typ=="byt") {
  174.       $heslo=sha1(md5("ibulec".$id).$prom2.$prom1);
  175.       $vystup = "./public/mini/byty/".$heslo.".jpg";
  176.       if( is_file ( "$vystup" )) {}
  177.       else $vystup = "./public/mini/byty.jpg";    
  178.    }
  179.    if($typ=="najemnik") {
  180.       $heslo=sha1(md5("buleci".$id.$prom1).$prom2);
  181.       $vystup = "./public/mini/najemci/".$heslo.".jpg";
  182.       if( is_file ( "$vystup" )) {}
  183.       else $vystup = "./public/mini/najemci.jpg";    
  184.    }
  185.  
  186.  return $vystup.'?'.time();
  187. }
  188.  
  189.  
  190. function genminiatura($typ,$id,$prom1,$prom2,$jmeno_obrazku) // vygeneruje miniaturu
  191. {  
  192. //   $s = DB_pripoj();
  193.    include_once "./public/konf_verejne.php";
  194.    include "./exter/obraz.php";    
  195.    
  196.    if($typ=="dum") {
  197.       $heslo=sha1(md5("cibule".$id).$prom1.$prom2);
  198.       $vystup = "./public/mini/domy/".$heslo.".jpg";
  199.       $soubor = SLOZKADOKUMENTU."domy/".$id."/".$jmeno_obrazku;
  200.      
  201.       if(is_file($soubor)) {  
  202.        $image = new SimpleImage();
  203.        $image->load("$soubor");
  204.        $image->resize(200,150);
  205.        $image->save("$vystup");
  206.       }
  207.    }
  208.    if($typ=="byt") {
  209.       $heslo=sha1(md5("ibulec".$id).$prom2.$prom1);
  210.       $vystup = "./public/mini/byty/".$heslo.".jpg";
  211.       $soubor = SLOZKADOKUMENTU."byty/".$id."/".$jmeno_obrazku;
  212.      
  213.       if(is_file($soubor)) {    
  214.        $image = new SimpleImage();
  215.        $image->load("$soubor");
  216.        $image->resize(200,150);
  217.        $image->save("$vystup");
  218.       }  
  219.    }
  220.    if($typ=="najemnik") {
  221.       $heslo=sha1(md5("buleci".$id.$prom1).$prom2);
  222.       $vystup = "./public/mini/najemci/".$heslo.".jpg";
  223.       $soubor = SLOZKADOKUMENTU."najemci/".$id."/".$jmeno_obrazku;
  224.      
  225.       if(is_file($soubor)) {  
  226.        $image = new SimpleImage();
  227.        $image->load("$soubor");
  228.        $image->resize(200,150);
  229.        $image->save("$vystup");
  230.       }          
  231.    }
  232. }  
  233.  
  234.  
  235. function setjheslonajemnika($bitu) // při založení nového nájemníka mu založí přihlašovací údaje
  236. {
  237.            
  238. // při založení nájemníka se také vytvří jeho přhlašovací údaje
  239. $uzivatel = $jmeno.".".$prijmeni;
  240. $heslo=sha1(md5($rc."slanka"));
  241.     $insertData = array(
  242.         'uzivatel%s'    => $uzivatel,
  243.         'heslo%s'       => $heslo,
  244.         'idnajemnika%i' => 1,
  245.     );
  246.     dibi::insert('prihlaseni', $insertData)->execute();
  247.  
  248.    if($bitu < 1048576) {
  249.         $vystup = round($bitu/1024);
  250.         $vystup = $vystup."&nbsp;kB"; }
  251.    else {
  252.         $vystup = round($bitu/1048576 , 2);  
  253.         $vystup = $vystup."&nbsp;MB"; }
  254.   return $vystup;
  255. }
  256.  
  257. function setheslonajemnika($bitu) // při založení nového nájemníka mu založí přihlašovací údaje
  258. {
  259.  
  260.    if($bitu < 1048576) {
  261.         $vystup = round($bitu/1024);
  262.         $vystup = $vystup."&nbsp;kB"; }
  263.    else {
  264.         $vystup = round($bitu/1048576 , 2);  
  265.         $vystup = $vystup."&nbsp;MB"; }
  266.   return $vystup;
  267. }
  268.  
  269. function cCZE($cisloeng) // z angl databáze pro českého uživatele (z 7.6223 na 7,6223)
  270. {
  271.   $cisloeng = round($cisloeng, 2);
  272.   $cislocze = Str_Replace (".", ",", $cisloeng);
  273.   return $cislocze;
  274. }
  275.  
  276. function cUSA($cislocze) // od českého uživatele pro angl DB (z 7,6223 na 7.6223)
  277. {
  278.   $cisloeng = Str_Replace (",", ".", $cislocze);
  279.   return $cisloeng;
  280. }
  281.  
  282. function novaporucha($ids) // vrátí číslo nové poruchy pro nastaveni reklamace najemnika
  283. {
  284.  
  285.   $rd = dibi::select('*')
  286.             ->from('byt')
  287.             ->join('uzivani')->using('(idbytu)')
  288.             ->where('iduzivani = %i', $ids)
  289.             ->fetch();
  290.   $rd = (array)$rd;    
  291.   $iddomu = $rd["iddomu"];
  292.   $Rok = date("Y");
  293.  
  294.   $prvniletos = "001/".$Rok; // zjistĂ­me zda existuje prvnĂ­ letošnĂ­ porucha v domu (1/2011)
  295.   //$v = DB_posli_dotaz("SELECT * FROM `porucha` WHERE iddomu ='$iddomu' AND cisloreklam ='$prvniletos';", $s);
  296.   $porucha = dibi::select('*')
  297.                  ->from('porucha')
  298.                  ->where('iddomu = %i', $iddomu)
  299.                     ->and('cisloreklam = %s', $prvniletos)
  300.                   ->fetch();
  301.  
  302.   if(!$porucha) {
  303.       $cisloporuchy = $prvniletos;
  304.   } else {  
  305. // zjistĂ­me ÄŤĂ­slo poslednĂ­ poruchy
  306.     $posledniPoruchy = dibi::select('*')
  307.                            ->from('porucha')
  308.                            ->where('iddomu = %i', $iddomu)
  309.                                 ->and('cisloreklam LIKE %~like~', $Rok)
  310.                            ->fetchAll();
  311.     $r = count($posledniPoruchy);
  312.     $cisloposled=$r+1;
  313.     $znaku=strlen($cisloposled);
  314.      switch ($znaku) {
  315.       case 2: $cisloposled = "0".$cisloposled; break;
  316.       case 1: $cisloposled = "00".$cisloposled; break;
  317.      }
  318.     $cisloporuchy = $cisloposled."/".$Rok;;
  319.   }
  320.   return $cisloporuchy;
  321. }
  322.  
  323.  
  324. // pridá upozornovani a zjistění stavu(notifikace):
  325. function upozorni($odtyp,$priidn,$priids,$natabulku,$naid,$ids,$message = "")
  326. {
  327. // od nájemníka ke zprávci (známe N,idn)
  328.   if($odtyp=='N') {
  329.    $insertData = array(
  330.       'odtyp%s' => $odtyp,
  331.       'priidn%s' => $priidn,
  332.       'natabulku%s' => $natabulku,
  333.       'naid%i' => $naid,
  334.       'ids%i' => $ids,
  335.       'stav%s' => 'N',
  336.       'cas%t'  => time(),
  337.       'zprava%s' => $message
  338.    );
  339.   }
  340.  
  341.   if($odtyp=='S') {
  342.    $insertData = array(
  343.       'odtyp%s' => $odtyp,
  344.       'priids%s' => $priids,
  345.       'natabulku%s' => $natabulku,
  346.       'naid%i' => $naid,
  347.       'ids%i' => $ids,
  348.       'stav%s' => 'N',
  349.       'cas%t'  => time(),
  350.    );
  351.   }  
  352.  
  353.   dibi::insert('upozorneni', $insertData)->execute();
  354.   $vrat = dibi::getInsertId();
  355.   return $vrat;
  356. }
  357.  
  358. function zjististav($idf)  // rozhodnutĂ­ a nastavenĂ­ stavu hlášenĂ­ správcem
  359. {  // $idf: je id klĂ­ÄŤ v tabulce "upozorneni"(hlášenĂ­ nájemnĂ­kĹŻ)
  360.    // $stav: enum('N','V','P','Z') - HlašenĂ­: NovĂ©,VĂ­m,PotvrzenĂ©,ZamĂ­tnutĂ©
  361.    
  362.   if($idf) {
  363.     //$stav = dibi::select('*')->from('upozorneni')->where('idf = %i', $idf)->test();
  364.     $stav = dibi::select('*')->from('upozorneni')->where('idf = %i', $idf)->fetch();
  365.  
  366.    
  367.     return $stav ['stav'];
  368.   } else return 'neni_idf';
  369. }
  370.  
  371. function nastav($stav,$idf)  // rozhodnutĂ­ a nastavenĂ­ stavu hlášenĂ­ správcem
  372. {  // $idf: je id klĂ­ÄŤ v tabulce "upozorneni"(hlášenĂ­ nájemnĂ­kĹŻ)
  373.    // $stav: enum('N','V','P','Z','S') - HlašenĂ­: NovĂ©,VĂ­m,PotvrzenĂ©,ZamĂ­tnutĂ©,StornovanĂ©
  374.    
  375.   if($idf) {
  376.     if(($stav=='N')||($stav=='V')||($stav=='P')||($stav=='Z')||($stav=='S')) {  
  377.        
  378.         if($_SESSION['spravce']) $priids=$_SESSION['idu'];  // kterĂ˝ správce se tĂ­m zabĂ˝vá:
  379.        
  380.         $insertData = array(
  381.           'priids%s' => $priids,
  382.           'stav%s' => $stav,
  383.           'cas%t'  => time(),
  384.         );
  385.  
  386.         dibi::update('upozorneni', $insertData)->where('idf = %i', $idf)->execute();
  387.  
  388.     } else return 'neni_stav';
  389.   } else return 'neni_idf';
  390. }
  391.  
  392. function jmenospravce($pids)  // rozhodnutĂ­ a nastavenĂ­ stavu hlášenĂ­ správcem
  393. {  // $ids: uĹľivatelskĂ© id, ze kterĂ©ho lze zjistit jmĂ©no správce
  394.   if(($pids)&&($_SESSION['spravce'])) {
  395.     $jmspr = dibi::select('*')->from('prihlaseni')->where('idu = %i', $pids)->fetch();
  396.     return $jmspr ['uzivatel'];
  397.   } else return 'správce';
  398. }
  399.  
  400. //stiskli jsme Odhlasit
  401.       if(isset($_POST['odhlas']) && $_POST["odhlas"]){
  402.           $_SESSION=array();
  403.           session_destroy();
  404.           //echo "Jste odhlášen!";
  405.           $uzivatel="";
  406.           header("Location: ./index.php");
  407.     }
  408.  
  409. // názvy souborů ukládané na server jsou raději bez diakritiky
  410. // i pro multi-byte (napr. UTF-8)
  411. $prevodni_tabulka = Array(
  412.   'ä'=>'a',
  413.   'Ă„'=>'A',
  414.   'á'=>'a',
  415.   'Á'=>'A',
  416.   'Ă '=>'a',
  417.   'Ă€'=>'A',
  418.   'ĂŁ'=>'a',
  419.   'Ã'=>'A',
  420.   'â'=>'a',
  421.   'Ă‚'=>'A',
  422.   'ÄŤ'=>'c',
  423.   'ÄŚ'=>'C',
  424.   'ć'=>'c',
  425.   'Ć'=>'C',
  426.   'ÄŹ'=>'d',
  427.   'ÄŽ'=>'D',
  428.   'Ä›'=>'e',
  429.   'Äš'=>'E',
  430.   'Ă©'=>'e',
  431.   'É'=>'E',
  432.   'Ă«'=>'e',
  433.   'Ă‹'=>'E',
  434.   'è'=>'e',
  435.   'È'=>'E',
  436.   'ĂŞ'=>'e',
  437.   'ĂŠ'=>'E',
  438.   'Ă­'=>'i',
  439.   'ĂŤ'=>'I',
  440.   'ĂŻ'=>'i',
  441.   'ĂŹ'=>'I',
  442.   'ì'=>'i',
  443.   'ĂŚ'=>'I',
  444.   'Ă®'=>'i',
  445.   'ĂŽ'=>'I',
  446.   'Äľ'=>'l',
  447.   'Ä˝'=>'L',
  448.   'Äş'=>'l',
  449.   'Äą'=>'L',
  450.   'Ĺ„'=>'n',
  451.   'Ń'=>'N',
  452.   'ň'=>'n',
  453.   'Ň'=>'N',
  454.   'ñ'=>'n',
  455.   'Ă‘'=>'N',
  456.   'Ăł'=>'o',
  457.   'Ă“'=>'O',
  458.   'ö'=>'o',
  459.   'Ă–'=>'O',
  460.   'Ă´'=>'o',
  461.   'Ă”'=>'O',
  462.   'ò'=>'o',
  463.   'Ă’'=>'O',
  464.   'õ'=>'o',
  465.   'Ă•'=>'O',
  466.   'Ĺ‘'=>'o',
  467.   'Ő'=>'O',
  468.   'Ĺ™'=>'r',
  469.   'Ř'=>'R',
  470.   'Ĺ•'=>'r',
  471.   'Ĺ”'=>'R',
  472.   'š'=>'s',
  473.   'Ĺ '=>'S',
  474.   'Ĺ›'=>'s',
  475.   'Ĺš'=>'S',
  476.   'ĹĄ'=>'t',
  477.   'Ť'=>'T',
  478.   'Ăş'=>'u',
  479.   'Ăš'=>'U',
  480.   'ĹŻ'=>'u',
  481.   'Ĺ®'=>'U',
  482.   'ĂĽ'=>'u',
  483.   'Ăś'=>'U',
  484.   'Ăą'=>'u',
  485.   'Ă™'=>'U',
  486.   'Ĺ©'=>'u',
  487.   'Ũ'=>'U',
  488.   'Ă»'=>'u',
  489.   'Ă›'=>'U',
  490.   'Ă˝'=>'y',
  491.   'Ăť'=>'Y',
  492.   'Ĺľ'=>'z',
  493.   'Ĺ˝'=>'Z',
  494.   'Ĺş'=>'z',
  495.   'Ĺą'=>'Z'
  496. );
  497. // $text = strtr($text, $prevodni_tabulka);
  498.  
  499. // Zdroj: http://mbumba.cz/prevod-matematickeho-cisla-na-jeho-slovni-vyjadreni/
  500.   /*
  501.     * pĹ™evod desitkovĂ©ho ÄŤĂ­sla vyjádĹ™enĂ©ho mattematicky na ÄŤĂ­slo vyjádĹ™enĂ© slovnÄ›
  502.     * param int $cislo - ÄŤĂ­slo v desĂ­tkovĂ© soustavÄ› (od 0 do 999999)
  503.     * 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
  504.     * return string nebo bool false
  505.     * (C) Martin Bumba, http://mbumba.cz
  506.     *
  507.   echo cisloNaSlovo(999999, true); //(string) devÄ›tsetdevadesátdevÄ›ttisĂ­cdevÄ›tsetdevadesátdevÄ›t
  508.   echo cisloNaSlovo(123456, true); //(string) stodvacettĹ™itisĂ­cÄŤtyĹ™isetpadesátšest
  509.   echo cisloNaSlovo(18, true); //(string) osmnáct
  510.   echo cisloNaSlovo(0); //(bool) false
  511.   echo cisloNaSlovo(0, true); //(string) nula        
  512.   */
  513.   function cisloNaSlovo($cislo, $nula = false) {
  514.     $jednotky = array("", "jedna","dva","tĹ™i","ÄŤtyĹ™i","pÄ›t","šest","sedm","osm","devÄ›t");
  515.     $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");
  516.     $desitky = array("", "deset","dvacet","tĹ™icet","ÄŤtyĹ™icet","padesát","šedesát","sedmdesát","osmdesát","devadesát");
  517.     $cislo = (string) ltrim(round($cislo), 0);
  518.     $delka = strlen($cislo);
  519.  
  520.     if($cislo==0)  return $nula ? "nula":false;             //ošetĹ™enĂ­ 0
  521.     elseif($delka==1)        return $jednotky[$cislo];  //1 řád - jednotky
  522.     elseif($delka==2) {                                 //2 řády - desĂ­tky
  523.       $desitkyAJednotky = $cislo{0}.$cislo{1};
  524.       if($desitkyAJednotky==10) echo "deset";
  525.       elseif($desitkyAJednotky<20) {
  526.         return $mezi[$desitkyAJednotky];
  527.       }
  528.       else {
  529.         return $desitky[$cislo{0}].$jednotky[$cislo{1}];
  530.       }
  531.     }
  532.     elseif($delka==3) {                                 //3 řády - stovky
  533.       if($cislo{0}==1)     return "sto".cisloNaSlovo(substr($cislo,1));
  534.       elseif($cislo{0}==2) return "dvÄ›stÄ›".cisloNaSlovo(substr($cislo,1));
  535.       elseif($cislo{0}==3 OR $cislo{0}==4) return $jednotky[$cislo{0}]."sta".cisloNaSlovo(substr($cislo,1));
  536.       else                 return $jednotky[$cislo{0}]."set".cisloNaSlovo(substr($cislo,1));
  537.     }
  538.     elseif($delka==4) {                                //4 řády - tisĂ­ce
  539.       if($cislo{0}==1) return "tisĂ­c".cisloNaSlovo(substr($cislo,1));
  540.       elseif($cislo{0}<5) return $jednotky[$cislo{0}]."tisĂ­ce".cisloNaSlovo(substr($cislo,1));
  541.       else             return $jednotky[$cislo{0}]."tisĂ­c".cisloNaSlovo(substr($cislo,1));
  542.     }
  543.     elseif($delka==5) {                                //5 řádĹŻ - desĂ­tky tisĂ­c
  544.       $desitkyTisic = $cislo{0}.$cislo{1};
  545.       if($desitkyTisic==10)      return "desettisĂ­c".cisloNaSlovo(substr($cislo,2));
  546.       elseif($desitkyTisic<20)   return $mezi[$desitkyTisic]."tisĂ­c".cisloNaSlovo(substr($cislo,2));
  547.       elseif($desitkyTisic<100)  return $desitky[$cislo{0}].$jednotky[$cislo{1}]."tisĂ­c".cisloNaSlovo(substr($cislo,2));
  548.     }
  549.     elseif($delka==6) {                                //6 řádĹŻ - stovky tisĂ­c
  550.       if($cislo{0}==1)  {
  551.         if($cislo{1}.$cislo{2}==00)         return "stotisĂ­c".cisloNaSlovo(substr($cislo,3));
  552.         else                                return "sto".cisloNaSlovo(substr($cislo,1));
  553.       }
  554.       elseif($cislo{0}==2)                  return "dvÄ›stÄ›".cisloNaSlovo(substr($cislo,1));
  555.       elseif($cislo{0}==3 OR $cislo{0}==4)  return $jednotky[$cislo{0}]."sta".cisloNaSlovo(substr($cislo,1));
  556.       else                                  return $jednotky[$cislo{0}]."set".cisloNaSlovo(substr($cislo,1));
  557.     }
  558.     return false;
  559.   }
  560.  
  561.  
  562. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement