Example #1
1
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)));
}
Example #2
0
<?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));
}
Example #4
0
        ?>
</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 {
    ?>
Example #5
0
<?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();
Example #6
0
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;
}
Example #7
0
    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);
Example #8
0
<?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>
Example #10
0
?>


    <?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');
Example #11
0
    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 
    }