Exemplo n.º 1
0
function cot_getmarketlist($template = 'index', $count = 5, $sqlsearch = '', $order = "item_date DESC")
{
    global $db, $db_market, $cfg, $db_users;
    list($usr['auth_read'], $usr['auth_write'], $usr['isadmin']) = cot_auth('market', 'any', 'RWA');
    $t = new XTemplate(cot_tplfile(array('market', $template), 'module'));
    $sqlsearch = !empty($sqlsearch) ? " AND " . $sqlsearch : '';
    $sqllist = $db->query("SELECT * FROM {$db_market} AS p LEFT JOIN {$db_users} AS u ON u.user_id=p.item_userid\n\tWHERE item_state=0 {$sqlsearch} ORDER BY {$order} LIMIT " . (int) $count);
    $sqllist_rowset = $sqllist->fetchAll();
    $sqllist_idset = array();
    foreach ($sqllist_rowset as $item) {
        $sqllist_idset[$item['item_id']] = $item['item_alias'];
    }
    foreach ($sqllist_rowset as $item) {
        $jj++;
        $t->assign(cot_generate_usertags($item, 'PRD_ROW_OWNER_'));
        $t->assign(cot_generate_markettags($item, 'PRD_ROW_', $cfg['market']['shorttextlen'], $usr['isadmin'], $cfg['homebreadcrumb']));
        $t->assign(array("PRD_ROW_ODDEVEN" => cot_build_oddeven($jj)));
        $t->parse("MARKET.PRD_ROWS");
    }
    $t->parse("MARKET");
    return $t->text("MARKET");
}
Exemplo n.º 2
0
foreach (cot_getextplugins('market.list.search.tags') as $pl) {
    include $pl;
}
/* ===== */
$sqllist_rowset = $sqllist->fetchAll();
$sqllist_idset = array();
foreach ($sqllist_rowset as $item) {
    $sqllist_idset[$item['item_id']] = $item['item_alias'];
}
/* === Hook === */
$extp = cot_getextplugins('market.list.loop');
/* ===== */
foreach ($sqllist_rowset as $item) {
    $jj++;
    $t->assign(cot_generate_usertags($item, 'PRD_ROW_OWNER_'));
    $t->assign(cot_generate_markettags($item, 'PRD_ROW_', $cfg['market']['shorttextlen'], $usr['isadmin'], $cfg['homebreadcrumb']));
    $t->assign(array("PRD_ROW_ODDEVEN" => cot_build_oddeven($jj)));
    /* === Hook - Part2 : Include === */
    foreach ($extp as $pl) {
        include $pl;
    }
    /* ===== */
    $t->parse("MAIN.PRD_ROWS");
}
/* === Hook === */
foreach (cot_getextplugins('market.list.tags') as $pl) {
    include $pl;
}
/* ===== */
$t->parse('MAIN');
$module_body = $t->text('MAIN');
$mskin = cot_tplfile(array('marketorders', 'order', $structure['market'][$marketorder['item_cat']]['tpl']), 'plug');
/* === Hook === */
foreach (cot_getextplugins('marketorders.order.main') as $pl) {
    include $pl;
}
/* ===== */
$t = new XTemplate($mskin);
$catpatharray[] = array(cot_url('market'), $L['market']);
//$catpatharray = array_merge($catpatharray, cot_structure_buildpath('market', $item['item_cat']));
//$catpatharray[] = array(cot_url('market', 'id='.$id), $marketorder['item_title']);
$catpatharray[] = array('', $L['marketorders_title']);
$catpath = cot_breadcrumbs($catpatharray, $cfg['homebreadcrumb'], true);
$t->assign(array("BREADCRUMBS" => $catpath));
// Error and message handling
cot_display_messages($t);
$t->assign(cot_generate_markettags($marketorder['order_pid'], 'ORDER_PRD_', $cfg['market']['shorttextlen'], $usr['isadmin'], $cfg['homebreadcrumb']));
$t->assign(cot_generate_usertags($marketorder['order_seller'], 'ORDER_SELLER_'));
$t->assign(cot_generate_usertags($marketorder['order_userid'], 'ORDER_CUSTOMER_'));
$t->assign(array("ORDER_ID" => $marketorder['order_id'], "ORDER_COUNT" => $marketorder['order_count'], "ORDER_COST" => $marketorder['order_cost'], "ORDER_TITLE" => $marketorder['order_title'], "ORDER_COMMENT" => $marketorder['order_text'], "ORDER_EMAIL" => $marketorder['order_email'], "ORDER_PAID" => $marketorder['order_paid'], "ORDER_DONE" => $marketorder['order_done'], "ORDER_STATUS" => $marketorder['order_status'], "ORDER_DOWNLOAD" => in_array($marketorder['order_status'], array('paid', 'done')) && !empty($marketorder['item_file']) && file_exists($cfg['plugin']['marketorders']['filepath'] . '/' . $marketorder['item_file']) ? cot_url('plug', 'r=marketorders&m=download&id=' . $marketorder['order_id'] . '&key=' . $key) : '', "ORDER_LOCALSTATUS" => $L['marketorders_status_' . $marketorder['order_status']], "ORDER_WARRANTYDATE" => $marketorder['order_paid'] + $cfg['plugin']['marketorders']['warranty'] * 60 * 60 * 24));
if ($marketorder['order_status'] == 'claim') {
    $t->assign(array("CLAIM_DATE" => $marketorder['order_claim'], "CLAIM_TEXT" => $marketorder['order_claimtext']));
    /* === Hook === */
    foreach (cot_getextplugins('marketorders.order.claim') as $pl) {
        include $pl;
    }
    /* ===== */
    if ($usr['isadmin']) {
        // Отменяем заказ, возвращаем оплату покупателю
        if ($a == 'acceptclaim') {
            $rorder['order_cancel'] = $sys['now'];
            $rorder['order_status'] = 'cancel';
function cot_tag_search_market($query)
{
    global $db, $t, $L, $lang, $cfg, $usr, $qs, $d, $db_tag_references, $db_market, $o, $row, $sys;
    if (!cot_module_active('market')) {
        return;
    }
    $query = cot_tag_parse_query($query, 'm.item_id');
    if (empty($query)) {
        return;
    }
    $totalitems = $db->query("SELECT DISTINCT COUNT(*)\n\t\tFROM {$db_tag_references} AS r LEFT JOIN {$db_market} AS m\n\t\t\tON r.tag_item = m.item_id\n\t\tWHERE r.tag_area = 'market' AND ({$query}) AND m.item_state = 0")->fetchColumn();
    switch ($o) {
        case 'title':
            $order = 'ORDER BY `item_title`';
            break;
        case 'date':
            $order = 'ORDER BY `item_date` DESC';
            break;
        case 'category':
            $order = 'ORDER BY `item_cat`';
            break;
        default:
            $order = '';
    }
    /* == Hook == */
    foreach (cot_getextplugins('tags.search.market.query') as $pl) {
        include $pl;
    }
    /* ===== */
    $sql = $db->query("SELECT DISTINCT m.* {$join_columns}\n\t\tFROM {$db_tag_references} AS r LEFT JOIN {$db_market} AS m\n\t\t\tON r.tag_item = m.item_id {$join_tables}\n\t\tWHERE r.tag_area = 'market' AND ({$query}) AND m.item_id IS NOT NULL AND m.item_state = 0 {$join_where}\n\t\t{$order}\n\t\tLIMIT {$d}, {$cfg['maxrowsperpage']}");
    $t->assign('TAGS_RESULT_TITLE', $L['tags_Found_in_market']);
    $pcount = $sql->rowCount();
    /* == Hook : Part 1 == */
    $extp = cot_getextplugins('tags.search.market.loop');
    /* ===== */
    if ($pcount > 0) {
        foreach ($sql->fetchAll() as $row) {
            $tags = cot_tag_list($row['item_id'], 'market');
            $tag_list = '';
            $tag_i = 0;
            foreach ($tags as $tag) {
                $tag_t = $cfg['plugin']['tags']['title'] ? cot_tag_title($tag) : $tag;
                $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag;
                $tl = $lang != 'en' && $tag_u != $tag ? 1 : null;
                if ($tag_i > 0) {
                    $tag_list .= ', ';
                }
                $tag_list .= cot_rc_link(cot_url('plug', array('e' => 'tags', 'a' => 'market', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)), htmlspecialchars($tag_t));
                $tag_i++;
            }
            $t->assign(cot_generate_markettags($row, 'TAGS_RESULT_ROW_'));
            $t->assign(array('TAGS_RESULT_ROW_TITLE' => htmlspecialchars($row['item_title']), 'TAGS_RESULT_ROW_PATH' => cot_breadcrumbs(cot_structure_buildpath('market', $row['item_cat']), false), 'TAGS_RESULT_ROW_TAGS' => $tag_list));
            /* == Hook : Part 2 == */
            foreach ($extp as $pl) {
                include $pl;
            }
            /* ===== */
            $t->parse('MAIN.TAGS_RESULT.TAGS_RESULT_ROW');
        }
        $sql->closeCursor();
        $qs_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($qs) : $qs;
        $tl = $lang != 'en' && $qs_u != $qs ? 1 : null;
        $pagenav = cot_pagenav('plug', array('e' => 'tags', 'a' => 'market', 't' => $qs_u, 'tl' => $tl), $d, $totalitems, $cfg['maxrowsperpage']);
        $t->assign(array('TAGS_PAGEPREV' => $pagenav['prev'], 'TAGS_PAGENEXT' => $pagenav['next'], 'TAGS_PAGNAV' => $pagenav['main']));
        /* == Hook == */
        foreach (cot_getextplugins('tags.search.market.tags') as $pl) {
            include $pl;
        }
        /* ===== */
    }
    if ($pcount == 0) {
        $t->parse('MAIN.TAGS_RESULT.TAGS_RESULT_NONE');
    }
    $t->parse('MAIN.TAGS_RESULT');
}
    }
    $sqllist = $db->query("SELECT SQL_CALC_FOUND_ROWS m.* {$search_join_columns}\n\t\tFROM {$db_market} AS m {$search_join_condition}\n\t\tWHERE {$where}\n\t\tORDER BY item_" . $rs['marketsort'] . " " . $rs['marketsort2'] . "\n\t\tLIMIT {$d}, " . $cfg_maxitems . $search_union_query);
    $items = $sqllist->rowCount();
    $totalitems[] = $db->query('SELECT FOUND_ROWS()')->fetchColumn();
    $jj = 0;
    $sqllist_rowset = $sqllist->fetchAll();
    $sqllist_idset = array();
    foreach ($sqllist_rowset as $item) {
        $sqllist_idset[$item['item_id']] = $item['item_alias'];
    }
    /* === Hook - Part 1 === */
    $extp = cot_getextplugins('market.search.loop');
    /* ===== */
    foreach ($sqllist_rowset as $row) {
        $url_cat = cot_url('market', 'c=' . $row['item_cat']);
        $url_market = empty($row['item_alias']) ? cot_url('market', 'c=' . $row['item_cat'] . '&id=' . $row['item_id'] . '&highlight=' . $hl) : cot_url('market', 'c=' . $row['item_cat'] . '&al=' . $row['item_alias'] . '&highlight=' . $hl);
        $t->assign(cot_generate_markettags($row, 'PLUGIN_MARKETRES_'));
        $t->assign(array('PLUGIN_MARKETRES_CATEGORY' => cot_rc_link($url_cat, $structure['market'][$row['item_cat']]['tpath']), 'PLUGIN_MARKETRES_CATEGORY_URL' => $url_cat, 'PLUGIN_MARKETRES_TITLE' => cot_rc_link($url_market, htmlspecialchars($row['item_title'])), 'PLUGIN_MARKETRES_TEXT' => cot_clear_mark($row['item_text'], $words), 'PLUGIN_MARKETRES_TIME' => cot_date('datetime_medium', $row['item_date']), 'PLUGIN_MARKETRES_TIMESTAMP' => $row['item_date'], 'PLUGIN_MARKETRES_ODDEVEN' => cot_build_oddeven($jj), 'PLUGIN_MARKETRES_NUM' => $jj));
        /* === Hook - Part 2 === */
        foreach ($extp as $pl) {
            include $pl;
        }
        /* ===== */
        $t->parse('MAIN.RESULTS.MARKET.ITEM');
        $jj++;
    }
    if ($jj > 0) {
        $t->parse('MAIN.RESULTS.MARKET');
    }
    unset($where_and, $where_or, $where);
}
    if (!empty($c) && isset($structure['market'][$c])) {
        $mtch = $structure['market'][$c]['path'] . ".";
        $mtchlen = mb_strlen($mtch);
        $catsub = array();
        $catsub[] = $c;
        foreach ($structure['market'] as $i => $x) {
            if (mb_substr($x['path'], 0, $mtchlen) == $mtch) {
                $catsub[] = $i;
            }
        }
        $sqllist = $db->query("SELECT p.*, u.* FROM {$db_market} AS p\n\t\t\tLEFT JOIN {$db_users} AS u ON p.item_userid = u.user_id\n\t\t\tWHERE item_state=0 AND item_cat IN ('" . implode("','", $catsub) . "') \n\t\t\tORDER BY item_date DESC LIMIT " . $cfg['rss']['rss_maxitems']);
    } else {
        $sqllist = $db->query("SELECT p.*, u.* FROM {$db_market} AS p\n\t\t\tLEFT JOIN {$db_users} AS u ON p.item_userid = u.user_id\n\t\t\tWHERE item_state=0\n\t\t\tORDER BY item_date DESC LIMIT " . $cfg['rss']['rss_maxitems']);
    }
    $i = 0;
    $sqllist_rowset = $sqllist->fetchAll();
    $sqllist_idset = array();
    foreach ($sqllist_rowset as $item) {
        $sqllist_idset[$item['item_id']] = $item['item_alias'];
    }
    foreach ($sqllist_rowset as $row) {
        $row['item_pageurl'] = empty($row['item_alias']) ? cot_url('market', 'c=' . $row['item_cat'] . '&id=' . $row['item_id'], '', true) : cot_url('market', 'c=' . $row['item_cat'] . '&al=' . $row['item_alias'], '', true);
        $items[$i]['title'] = $row['item_title'];
        $items[$i]['link'] = COT_ABSOLUTE_URL . $row['item_pageurl'];
        $items[$i]['pubDate'] = cot_date('r', $row['item_date']);
        $items[$i]['description'] = cot_parse($row['item_text']);
        $items[$i]['fields'] = cot_generate_markettags($row);
        $i++;
    }
    $sqllist->closeCursor();
}
/* ===== */
$where = $where ? 'WHERE ' . implode(' AND ', $where) : '';
$order = $order ? 'ORDER BY ' . implode(', ', $order) : '';
$query_limit = $cfg['plugin']['marketorders']['ordersperpage'] > 0 ? "LIMIT {$d}, " . $cfg['plugin']['marketorders']['ordersperpage'] : '';
$totalitems = $db->query("SELECT COUNT(*) FROM {$db_market_orders} AS o \n\tLEFT JOIN {$db_market} AS m ON o.order_pid=m.item_id\n\t" . $where . "")->fetchColumn();
$sql = $db->query("SELECT * FROM {$db_market_orders} AS o\n\tLEFT JOIN {$db_market} AS m ON o.order_pid=m.item_id\n\t" . $where . "\n\t" . $order . "\n\t" . $query_limit . "");
$pagenav = cot_pagenav('marketorders', 'm=purchases&status=' . $status, $d, $totalitems, $cfg['plugin']['marketorders']['ordersperpage']);
$t->assign(array("PAGENAV_COUNT" => $totalitems, "PAGENAV_PAGES" => $pagenav['main'], "PAGENAV_PREV" => $pagenav['prev'], "PAGENAV_NEXT" => $pagenav['next']));
$catpatharray[] = array(cot_url('market'), $L['market']);
$catpatharray[] = array('', $L['marketorders_purchases_title']);
$catpath = cot_breadcrumbs($catpatharray, $cfg['homebreadcrumb'], true);
$t->assign(array("BREADCRUMBS" => $catpath));
/* === Hook === */
$extp = cot_getextplugins('marketorders.purchases.loop');
/* ===== */
while ($marketorder = $sql->fetch()) {
    $t->assign(cot_generate_markettags($marketorder, 'ORDER_ROW_PRD_'));
    $t->assign(cot_generate_usertags($marketorder['order_seller'], 'ORDER_ROW_SELLER_'));
    $t->assign(array("ORDER_ROW_ID" => $marketorder['order_id'], "ORDER_ROW_URL" => cot_url('marketorders', 'm=order&id=' . $marketorder['order_id']), "ORDER_ROW_COUNT" => $marketorder['order_count'], "ORDER_ROW_COST" => $marketorder['order_cost'], "ORDER_ROW_COMMENT" => $marketorder['order_text'], "ORDER_ROW_EMAIL" => $marketorder['order_email'], "ORDER_ROW_PAID" => $marketorder['order_paid'], "ORDER_ROW_STATUS" => $marketorder['order_status'], "ORDER_ROW_WARRANTYDATE" => $marketorder['order_paid'] + $cfg['plugin']['marketorders']['warranty'] * 60 * 60 * 24));
    /* === Hook - Part2 : Include === */
    foreach ($extp as $pl) {
        include $pl;
    }
    /* ===== */
    $t->parse("MAIN.ORDER_ROW");
}
/* === Hook === */
foreach (cot_getextplugins('marketorders.purchases.tags') as $pl) {
    include $pl;
}
/* ===== */