function num2str($num) { $nul = 'ноль'; $ten = array(array('', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять'), array('', 'одна', 'две', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять')); $a20 = array('десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать'); $tens = array(2 => 'двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто'); $hundred = array('', 'сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот', 'восемьсот', 'девятьсот'); $unit = array(array('копейка', 'копейки', 'копеек', 1), array('рубль', 'рубля', 'рублей', 0), array('тысяча', 'тысячи', 'тысяч', 1), array('миллион', 'миллиона', 'миллионов', 0), array('миллиард', 'милиарда', 'миллиардов', 0)); // list($rub, $kop) = explode('.', sprintf("%015.2f", floatval($num))); $out = array(); if (intval($rub) > 0) { foreach (str_split($rub, 3) as $uk => $v) { // by 3 symbols if (!intval($v)) { continue; } $uk = sizeof($unit) - $uk - 1; // unit key $gender = $unit[$uk][3]; list($i1, $i2, $i3) = array_map('intval', str_split($v, 1)); // mega-logic $out[] = $hundred[$i1]; # 1xx-9xx if ($i2 > 1) { $out[] = $tens[$i2] . ' ' . $ten[$gender][$i3]; } else { $out[] = $i2 > 0 ? $a20[$i3] : $ten[$gender][$i3]; } # 10-19 | 1-9 // units without rub & kop if ($uk > 1) { $out[] = morph($v, $unit[$uk][0], $unit[$uk][1], $unit[$uk][2]); } } //foreach } else { $out[] = $nul; } $out[] = morph(intval($rub), $unit[1][0], $unit[1][1], $unit[1][2]); // rub $out[] = $kop . ' ' . morph($kop, $unit[0][0], $unit[0][1], $unit[0][2]); // kop return trim(preg_replace('/ {2,}/', ' ', join(' ', $out))); }
<?php require_once 'config/init.php'; $_SESSION['hash'] = $_GET['hash']; $hash = morph($_GET['hash']); $query = $db->query("SELECT * FROM `blox` WHERE hash = '{$hash}'"); if ($query->rowCount() == 0) { redirect(_DOMAIN_); } ?> <!DOCTYPE HTML> <html lang = 'en'> <head> <meta http-equiv = 'content-type' content = 'text/html; charset=utf-8'> <link rel = 'stylesheet' type = 'text/css' href = '<?php echo $_LOCATE['FONT']; ?> '> <link rel = 'stylesheet' type = 'text/css' media = 'screen' href = '<?php echo $_LOCATE['CSS']; ?> '> <script type = 'text/javascript' src = '<?php echo $_LOCATE['JQUERY']; ?> '></script> <script type = 'text/javascript' src = '<?php echo $_LOCATE['JQUERY_UI']; ?> '></script>
function num2str($inn, $stripkop = false) { $nol = 'ноль'; $str[100] = array('', 'сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот', 'восемьсот', 'девятьсот'); $str[11] = array('', 'десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать', 'двадцать'); $str[10] = array('', 'десять', 'двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто'); $sex = array(array('', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять'), array('', 'одна', 'две', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять')); $forms = array(array('копейка', 'копейки', 'копеек', 1), array('рубль', 'рубля', 'рублей', 0), array('тысяча', 'тысячи', 'тысяч', 1), array('миллион', 'миллиона', 'миллионов', 0), array('миллиард', 'миллиарда', 'миллиардов', 0), array('триллион', 'триллиона', 'триллионов', 0)); $out = $tmp = array(); // Поехали! $tmp = explode('.', str_replace(',', '.', $inn)); $rub = number_format($tmp[0], 0, '', '-'); if ($rub == 0) { $out[] = $nol; } // нормализация копеек $kop = isset($tmp[1]) ? substr(str_pad($tmp[1], 2, '0', STR_PAD_RIGHT), 0, 2) : '00'; $segments = explode('-', $rub); $offset = sizeof($segments); if ((int) $rub == 0) { // если 0 рублей $o[] = $nol; $o[] = morph(0, $forms[1][0], $forms[1][1], $forms[1][2]); } else { foreach ($segments as $k => $lev) { $sexi = (int) $forms[$offset][3]; // определяем род $ri = (int) $lev; // текущий сегмент if ($ri == 0 && $offset > 1) { // если сегмент==0 & не последний уровень(там Units) $offset--; continue; } // нормализация $ri = str_pad($ri, 3, '0', STR_PAD_LEFT); // получаем циферки для анализа $r1 = (int) substr($ri, 0, 1); //первая цифра $r2 = (int) substr($ri, 1, 1); //вторая $r3 = (int) substr($ri, 2, 1); //третья $r22 = (int) $r2 . $r3; //вторая и третья // разгребаем порядки if ($ri > 99) { $o[] = $str[100][$r1]; } // Сотни if ($r22 > 20) { // >20 $o[] = $str[10][$r2]; $o[] = $sex[$sexi][$r3]; } else { // <=20 if ($r22 > 9) { $o[] = $str[11][$r22 - 9]; } elseif ($r22 > 0) { $o[] = $sex[$sexi][$r3]; } // 1-9 } // Рубли $o[] = morph($ri, $forms[$offset][0], $forms[$offset][1], $forms[$offset][2]); $offset--; } } // Копейки if (!$stripkop) { $o[] = $kop; $o[] = morph($kop, $forms[0][0], $forms[0][1], $forms[0][2]); } return preg_replace("/\\s{2,}/", ' ', implode(' ', $o)); }
?> </div> <strong> <?php $days = round((strtotime($row['date_to']) - time()) / (3600 * 24)); ?> <?php if ($days > -1) { ?> Осталось <?php echo $days; ?> <?php echo morph($days, 'день', 'дня', 'дней'); ?> <?php } ?> </strong> </div> <?php } ?> </td> </tr></table> <?php $this->displayPageNav($pg); } else { ?>
<?php require_once '../config/init.php'; if ($_SERVER['REQUEST_METHOD'] != 'POST') { redirect(_DOMAIN_); } $bloc_id = morph($_POST['id']); $bloc_label = morph($_POST['label'], 'upper'); $bloc_text = morph($_POST['text']); $bloc_color = morph($_POST['color']); $blox_hash = morph($_SESSION['hash']); $update = $db->prepare('UPDATE `blox` SET `label` = :label, `text` = :text, `color` = :color WHERE `id` = :id AND `hash` = :hash'); $update->bindValue(':id', $bloc_id); $update->bindValue(':hash', $blox_hash); $update->bindValue(':label', $bloc_label); $update->bindValue(':text', $bloc_text); $update->bindValue(':color', $bloc_color); $update->execute();
require_once '../config/init.php'; if ($_SERVER['REQUEST_METHOD'] != 'POST') { redirect(_DOMAIN_); } $blox_hash = morph($_SESSION['hash']); switch ($_POST['com_type']) { case 'add': $bloc_label = morph($_POST['label'], 'upper'); $bloc_text = '...'; $bloc_color = morph($_POST['color']); $bloc_id = intval($db->query('SELECT `id` FROM `blox` ORDER BY `id` DESC LIMIT 1')->fetch(PDO::FETCH_COLUMN)) + 1; $insert = $db->prepare('INSERT INTO `blox`(`id`,`hash`,`label`,`text`,`color`) VALUES(:id,:hash,:label,:text,:color)'); $insert->bindValue(':id', $bloc_id); $insert->bindValue(':hash', $blox_hash); $insert->bindValue(':label', $bloc_label); $insert->bindValue(':text', $bloc_text); $insert->bindValue(':color', $bloc_color); $insert->execute(); $bloc_data = array(); $bloc_data['id'] = $bloc_id; echo json_encode($bloc_data); break; case 'drop': $bloc_id = morph($_POST['id']); $delete = $db->prepare('DELETE FROM `blox` WHERE `id` = :id AND `hash` = :hash LIMIT 1'); $delete->bindValue(':id', $bloc_id); $delete->bindValue(':hash', $blox_hash); $delete->execute(); break; }
for ($i = 0; $i < $morphx / 2; $i++) { $mvalues[] = $mx - log($i + 1) * $morphy; ImageCopyMerge($im, $im, $mvalues[$i], $my + $i, $mx, $my + $i, $w + 20, 1, 0); } $mvalues = array_reverse($mvalues); $mvcount = count($mvalues); for ($i = 0; $i < $mvcount; $i++) { ImageCopyMerge($im, $im, $mvalues[$i], $my + $i + $mvcount, $mx, $my + $i + $mvcount, $w + 20, 1, 0); } } $ttfborders = array(); for ($i = 0; $i < $clen; $i++) { $tmp = ImageCreateTrueColor($xspace, $yspace); ImageFill($tmp, 0, 0, $bgcolor); $ttfborders[] = ImageTTFText($tmp, $size + mt_rand(0, 8), mt_rand(-$angle, $angle), 20, $yspace - 10, $fontcolor, $font, $seccode[$i]); morph($tmp, 0, 0, 20, 20); ImageColorTransparent($tmp, $bgcolor); ImageCopyMerge($im, $tmp, $i * 50, 2, 0, 0, $xspace, $yspace, 100); ImageDestroy($tmp); } // Wave ImageSetThickness($im, 3); $ux = $uy = 0; $vx = 0; //mt_rand(10,15); $vy = mt_rand($y2 - 3, $y2 + 3); for ($i = 0; $i < 10; $i++) { $ux = $vx + mt_rand(20, 30); $uy = mt_rand($y2 - 8, $y2 + 8); ImageSetThickness($im, mt_rand(1, 2)); ImageLine($im, $vx, $vy, $ux, $uy, $linecolor);
<?php if ($page->countPages() > 1) { ?> <table class="page_nav"> <td><div class="page"><?php echo $page->render1(array('<<' => '', '<' => 'Предыдущая', '>' => 'Следующая', '>>' => '')); ?> </div></td> <td class="right"> Показано c <?php echo $page->getBegin() + 1; ?> по <?php echo min($page->per + $page->getBegin(), $page->all); ?> (всего <?php echo $page->countPages(); ?> <?php echo morph($page->countPages(), 'страница', 'страницы', 'страниц'); ?> )</td> </table> <?php }
"><?php echo $item['company']; ?> </a> <small><a href="/catalog/vendor/<?php echo $item['u_id']; ?> /"><?php echo (int) $item['ci']; ?> <?php echo morph($item['ci'], 'товар', 'товара', 'товаров'); ?> </a></small> <small><a href="/catalog/vendor/<?php echo $item['u_id']; ?> /"><?php echo (int) $item['c']; ?> <?php echo morph($item['c'], 'предложение', 'предложения', 'предложений'); ?> </a></small> </div><?php } ?> </div>
?> <?php if ($comment_rait || $comment_count) { ?> <div class="rait_blk"> <div class="rait r<?php echo $comment_rait; ?> "></div> <a class="comment_count" href="javascript:comments()"><?php echo $comment_count; ?> <?php echo morph($comment_count, 'отзыв', 'отзыва', 'отзывов'); ?> </a> </div> <br> <?php } ?> <div class="left_bar"> <div class="img_list"> <?php $img = $img ? $img : $this->cfg('NO_IMG'); ?> <a rel="gallery" href="<?php echo Img::scaleImg($img, 'w800');
function displayPageNav() { ?> <table class="page_nav"> <td><div class="page"><?php echo $this->render1(array('<<' => '', '<' => 'Предыдущая', '>' => 'Следующая', '>>' => '')); ?> </div></td> <td class="right"> Показано c <?php echo $this->getBegin() + 1; ?> по <?php echo min($this->per + $this->getBegin(), $this->all); ?> (всего <?php echo $this->countPages(); ?> <?php echo morph($this->countPages(), 'страница', 'страницы', 'страниц'); ?> )</td> </table><?php }