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"); }
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; } /* ===== */