示例#1
0
function zayav_spisok($v)
{
    $filter = zayavFilter($v);
    $filter = _filterJs('ZAYAV', $filter);
    define('ZAYAV_PAGE1', $filter['page'] == 1);
    $page = $filter['page'];
    $limit = $filter['limit'];
    $cond = "`ws_id`=" . WS_ID . " AND !`deleted`";
    $nomer = 0;
    if ($filter['find']) {
        $engRus = _engRusChar($filter['find']);
        $cond .= " AND (`find` LIKE '%" . $filter['find'] . "%'" . ($engRus ? " OR `find` LIKE '%" . $engRus . "%'" : '') . ")";
        $reg = '/(' . $filter['find'] . ')/i';
        if ($engRus) {
            $regEngRus = '/(' . $engRus . ')/i';
        }
        if (ZAYAV_PAGE1 && _num($filter['find'])) {
            $nomer = intval($filter['find']);
        }
    } else {
        if ($filter['client_id']) {
            $cond .= " AND `client_id`=" . $filter['client_id'];
        }
        if ($filter['status']) {
            $cond .= " AND `status`=" . $filter['status'];
        }
    }
    $sql = "SELECT COUNT(*) FROM `zayav` WHERE " . $cond;
    $all = query_value($sql);
    $zayav = array();
    if ($nomer) {
        $sql = "SELECT * FROM `zayav` WHERE `ws_id`=" . WS_ID . " AND `nomer`=" . $nomer;
        if ($r = query_assoc($sql)) {
            $all++;
            $limit--;
            $r['nomer_find'] = 1;
            $zayav[$r['id']] = $r;
        }
    }
    if (!$all) {
        return array('all' => 0, 'result' => 'Заявок не найдено' . $filter['clear'], 'spisok' => $filter['js'] . '<div class="_empty">Заявок не найдено</div>', 'filter' => $filter);
    }
    $send = array('all' => $all, 'result' => 'Показан' . _end($all, 'а', 'о') . ' ' . $all . ' заяв' . _end($all, 'ка', 'ки', 'ок') . $filter['clear'], 'spisok' => $filter['js'], 'filter' => $filter);
    $sql = "SELECT\n\t            *,\n\t            '' `note`\n\t\t\tFROM `zayav`\n\t\t\tWHERE " . $cond . "\n\t\t\tORDER BY `" . ($filter['sort'] == 2 ? 'status_dtime' : 'dtime_add') . "` " . ($filter['desc'] ? 'ASC' : 'DESC') . "\n\t\t\tLIMIT " . _startLimit($filter);
    $q = query($sql);
    while ($r = mysql_fetch_assoc($q)) {
        if ($nomer == $r['nomer']) {
            continue;
        }
        $zayav[$r['id']] = $r;
    }
    if (!$filter['client_id']) {
        $zayav = _clientValToList($zayav);
    }
    //Заметки
    $sql = "SELECT\n\t\t\t\t`table_id`,\n\t\t\t\t`txt`\n\t\t\tFROM `vk_comment`\n\t\t\tWHERE `table_name`='zayav'\n\t\t\t  AND `table_id` IN (" . implode(',', array_keys($zayav)) . ")\n\t\t\t  AND `status`\n\t\t\tORDER BY `id` ASC";
    $q = query($sql);
    while ($r = mysql_fetch_assoc($q)) {
        $zayav[$r['table_id']]['note'] = $r['txt'];
    }
    foreach ($zayav as $id => $r) {
        $diff = round($r['accrual_sum'] - $r['income_sum'], 2);
        $send['spisok'] .= '<div class="zayav_unit" id="u' . $id . '"' . _zayavStatus($r['status'], 'bg') . '" val="' . $id . '">' . '<h2' . (isset($r['nomer_find']) ? ' class="finded"' : '') . '>#' . $r['nomer'] . '</h2>' . '<a class="name">' . $r['name'] . '</a>' . '<table class="utab">' . (!$filter['client_id'] ? '<tr><td class="label">Клиент:<td>' . $r['client_go'] : '') . '<tr><td class="label">Дата подачи:' . '<td>' . FullData($r['dtime_add'], 1) . ($r['status'] == 2 ? '<b class="date-ready' . _tooltip('Дата выполнения', -47) . FullData($r['status_dtime'], 1, 1) . '</b>' : '') . (round($r['accrual_sum'], 2) || round($r['income_sum'], 2) ? '<div class="balans' . ($diff ? ' diff' : '') . '">' . '<span class="acc' . _tooltip('Начислено', -39) . round($r['accrual_sum'], 2) . '</span>/' . '<span class="opl' . _tooltip($diff ? ($diff > 0 ? 'Недо' : 'Пере') . 'плата ' . abs($diff) . ' руб.' : 'Оплачено', -17, 'l') . round($r['income_sum'], 2) . '</span>' . '</div>' : '') . '</table>' . '<div class="note">' . @$r['note'] . '</div>' . '</div>';
    }
    $send['spisok'] .= _next($filter + array('type' => 2, 'all' => $all));
    return $send;
}
示例#2
0
function action($d)
{
    global $theA, $theB, $EOF;
    switch ($d) {
        case 1:
            put($theA);
        case 2:
            $theA = $theB;
            if ($theA == ord("\\'") || $theA == ord('"')) {
                for (;;) {
                    put($theA);
                    $theA = get();
                    if ($theA == $theB) {
                        break;
                    }
                    if (ord($theA) <= ord("\n")) {
                        printf("Error: JSMIN unterminated string literal: %c\n", $theA);
                        exit(1);
                    }
                    if ($theA == ord("\\")) {
                        put($theA);
                        $theA = get();
                    }
                }
            }
        case 3:
            $theB = _next();
            if ($theB == ord("/") && ($theA == ord("(") || $theA == ord(",") || $theA == ord("="))) {
                put($theA);
                put($theB);
                for (;;) {
                    $theA = get();
                    if ($theA == ord("/")) {
                        break;
                    } else {
                        if ($theA == ord("\\")) {
                            put($theA);
                            $theA = get();
                        } else {
                            if ($theA <= ord("\n")) {
                                printf("Error: JSMIN unterminated Regular Expression literal.\n", $theA);
                                exit(1);
                            }
                        }
                    }
                    put($theA);
                }
                $theB = _next();
            }
    }
}