function cot_ukarma($userid, $area = 'users', $code = '', $onlyscore = false) { global $db, $cfg, $db_ukarma, $db_users; if ($area == 'users' && $db->fieldExists($db_users, "user_ukarma")) { $score = $db->query("SELECT user_ukarma FROM {$db_users} WHERE user_id=" . $userid)->fetchColumn(); } else { $where['ukarma_userid'] = "ukarma_userid=" . $userid; if (!empty($area) && $area != 'users') { $where['ukarma_area'] = "ukarma_area='" . $area . "'"; } if (!empty($code)) { $where['ukarma_code'] = "ukarma_code='" . $code . "'"; } $where = $where ? 'WHERE ' . implode(' AND ', $where) : ''; $score = $db->query("SELECT SUM(ukarma_value) FROM {$db_ukarma} {$where}")->fetchColumn(); } if ($onlyscore) { return !empty($score) ? $score : 0; } if ($score > 0) { $sign = '+'; } elseif ($score < 0) { $sign = '-'; } $t = new XTemplate(cot_tplfile(array('ukarma', $area), 'plug')); $t->assign(cot_generate_usertags($userid, 'UKARMA_USER_')); $t->assign(array('UKARMA_AREA' => $area, 'UKARMA_CODE' => $code, 'UKARMA_SELECTOR' => 'ukarma_' . $userid . $area . $code, 'UKARMA_SCOREENABLED' => cot_ukarma_checkenablescore($userid, $area, $code), 'UKARMA_SCORE' => !empty($score) ? $score : 0, 'UKARMA_SCORE_ABS' => !empty($score) ? abs($score) : 0, 'UKARMA_SIGN' => $sign)); $t->parse('MAIN'); return $t->text('MAIN'); }
function cot_get_topusers($maingrp, $count, $sqlsearch = '', $tpl = 'index') { global $L, $cfg, $db, $db_users; $t1 = new XTemplate(cot_tplfile(array('userpoints', $tpl), 'plug')); $sqlsearch = !empty($sqlsearch) ? " AND " . $sqlsearch : ''; $topusers = $db->query("SELECT * FROM {$db_users}\n\t\tWHERE user_userpoints>0 AND user_maingrp=" . $maingrp . " {$sqlsearch} ORDER BY user_userpoints DESC LIMIT " . $count)->fetchAll(); foreach ($topusers as $tur) { $t1->assign(cot_generate_usertags($tur, 'TOP_ROW_')); $t1->parse('MAIN.TOP_ROW'); } $t1->parse('MAIN'); return $t1->text('MAIN'); }
function cot_get_paytop($area = '', $count = 0, $order = "s.service_id DESC") { global $db, $cfg, $sys, $db_payments_services, $db_users; $pt_cfg = cot_cfg_paytop(); if ($count == 0) { $count = $pt_cfg[$area]['count']; } if (empty($area) && !isset($pt_cfg[$area]['cost'])) { return false; } $t1 = new XTemplate(cot_tplfile(array('paytop', 'list', $area), 'plug')); $paytopcount = $db->query("SELECT COUNT(*) FROM {$db_payments_services} as s\n\t\tLEFT JOIN {$db_users} AS u ON u.user_id=s.service_userid\n\t\tWHERE u.user_id>0 AND s.service_area='paytop." . $db->prep($area) . "' AND service_expire > " . $sys['now'])->fetchColumn(); $paytops = $db->query("SELECT * FROM {$db_payments_services} as s\n\t\tLEFT JOIN {$db_users} AS u ON u.user_id=s.service_userid\n\t\tWHERE u.user_id>0 AND s.service_area='paytop." . $db->prep($area) . "' AND service_expire > " . $sys['now'] . " ORDER BY {$order} LIMIT " . $count)->fetchAll(); $jj = 0; foreach ($paytops as $tur) { $jj++; $t1->assign(cot_generate_usertags($tur, 'TOP_ROW_')); $t1->assign(array('TOP_ROW_JJ' => $jj, 'TOP_ROW_EXPIRE' => $tur['service_expire'])); $t1->parse('MAIN.TOP_ROW'); } $t1->assign(array('PAYTOP_BUY_URL' => cot_url('plug', 'e=paytop&area=' . $area), 'PAYTOP_COUNT' => $paytopcount)); $t1->parse('MAIN'); return $t1->text('MAIN'); }
/* === Hook === */ 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');
include $pl; } /* ===== */ if ($usr['id'] == $item['item_userid'] && $choise_enabled) { $t_o->assign(array("OFFER_ROW_SETPERFORMER" => cot_url('projects', 'id=' . $id . '&a=setperformer&userid=' . $offer['user_id'] . '&' . cot_xg()), "OFFER_ROW_REFUSE" => cot_url('projects', 'id=' . $id . '&a=refuse&userid=' . $offer['user_id'] . '&' . cot_xg()))); /* === Hook - Part2 : Include === */ foreach ($extp2 as $pl) { include $pl; } /* ===== */ $t_o->parse("MAIN.ROWS.CHOISE"); } if ($usr['id'] == $offer['offer_userid'] || $usr['id'] == $item['item_userid'] || $usr['isadmin']) { $sql_prjposts = $db->query("SELECT * FROM {$db_projects_posts} as p LEFT JOIN {$db_users} as u ON u.user_id=p.post_userid\n\t\t\tWHERE post_pid=" . $id . " AND post_oid=" . $offer['offer_id'] . " ORDER BY post_date ASC"); while ($posts = $sql_prjposts->fetch()) { $t_o->assign(cot_generate_usertags($posts, 'POST_ROW_OWNER_')); $t_o->assign(array("POST_ROW_TEXT" => cot_parse($posts['post_text']), "POST_ROW_DATE" => cot_date('d.m.y H:i', $posts['post_date']), "POST_ROW_DATE_STAMP" => $posts['post_date'])); /* === Hook - Part3 : Include === */ foreach ($extp3 as $pl) { include $pl; } /* ===== */ $t_o->parse("MAIN.ROWS.POSTS.POSTS_ROWS"); } $t_o->assign(array("ADDPOST_ACTION_URL" => cot_url('projects', 'id=' . $id . '&oid=' . $offer['offer_id'] . '&a=addpost'), "ADDPOST_TEXT" => cot_textarea('posttext', $offer_post['post_text'], 3, 60), "ADDPOST_OFFERID" => $offer['offer_id'])); $t_o->parse("MAIN.ROWS.POSTS.POSTFORM"); $t_o->parse("MAIN.ROWS.POSTS"); } /* === Hook - Part4 : Include === */ foreach ($extp4 as $pl) { include $pl;
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"); }
/** * Generates page list widget * @param mixed $categories Custom parent categories code * @param integer $count Number of items to show. 0 - all items * @param string $template Path for template file * @param string $order Sorting order (SQL) * @param string $condition Custom selection filter (SQL) * @param mixed $active_only Custom parent category code * @param boolean $use_subcat Include subcategories TRUE/FALSE * @param boolean $exclude_current Exclude the current page from the rowset for pages. * @param string $blacklist Category black list, semicolon separated * @param string $pagination Pagination symbol * @param integer $cache_ttl Cache lifetime in seconds, 0 disables cache * @return string Parsed HTML */ function cot_page_enum($categories = '', $count = 0, $template = '', $order = '', $condition = '', $active_only = true, $use_subcat = true, $exclude_current = false, $blacklist = '', $pagination = '', $cache_ttl = null) { global $db, $db_pages, $db_users, $structure, $cfg, $sys, $lang, $cache; // Compile lists if (!is_array($blacklist)) { $blacklist = str_replace(' ', '', $blacklist); $blacklist = !empty($blacklist) ? explode(',', $blacklist) : array(); } // Get the cats if (!empty($categories)) { if (!is_array($categories)) { $categories = str_replace(' ', '', $categories); $categories = explode(',', $categories); } $categories = array_unique($categories); if ($use_subcat) { $total_categogies = array(); foreach ($categories as $cat) { $cats = cot_structure_children('page', $cat, $use_subcat); $total_categogies = array_merge($total_categogies, $cats); } $categories = array_unique($total_categogies); } $categories = count($blacklist) > 0 ? array_diff($categories, $blacklist) : $categories; $where['cat'] = "page_cat IN ('" . implode("','", $cats) . "')"; } elseif (count($blacklist)) { $where['cat_black'] = "page_cat NOT IN ('" . implode("','", $blacklist) . "')"; } $where['condition'] = $condition; if ($exclude_current && defined('COT_PAGES') && !defined('COT_LIST')) { global $id; $where['page_id'] = "page_id != {$id}"; } if ($active_only) { $where['state'] = "page_state=0"; $where['date'] = "page_begin <= {$sys['now']} AND (page_expire = 0 OR page_expire > {$sys['now']})"; } // Get pagination number if necessary if (!empty($pagination)) { list($pg, $d, $durl) = cot_import_pagenav($pagination, $count); } else { $d = 0; } // Display the items $mskin = file_exists($template) ? $template : cot_tplfile(array('page', 'enum', $template), 'module'); /* === Hook === */ foreach (cot_getextplugins('page.enum.query') as $pl) { include $pl; } /* ===== */ if (cot_plugin_active('comments')) { global $db_com; require_once cot_incfile('comments', 'plug'); $cns_join_columns .= ", (SELECT COUNT(*) FROM `{$db_com}` WHERE com_area = 'page' AND com_code = p.page_id) AS com_count"; } $sql_order = empty($order) ? 'ORDER BY page_date DESC' : "ORDER BY {$order}"; $sql_limit = $count > 0 ? "LIMIT {$d}, {$count}" : ''; $where = array_filter($where); $where = $where ? 'WHERE ' . implode(' AND ', $where) : ''; $sql_total = "SELECT COUNT(*) FROM {$db_pages} AS p {$cns_join_tables} {$where}"; $sql_query = "SELECT p.*, u.* {$cns_join_columns} FROM {$db_pages} AS p LEFT JOIN {$db_users} AS u ON p.page_ownerid = u.user_id\n\t\t\t{$cns_join_tables} {$where} {$sql_order} {$sql_limit}"; $t = new XTemplate($mskin); isset($md5hash) || ($md5hash = 'page_enum_' . md5(str_replace($sys['now'], '_time_', $mskin . $lang . $sql_query))); if ($cache && (int) $cache_ttl > 0) { $page_query_html = $cache->disk->get($md5hash, 'page', (int) $cache_ttl); if (!empty($page_query_html)) { return $page_query_html; } } $totalitems = $db->query($sql_total)->fetchColumn(); $sql = $db->query($sql_query); $sql_rowset = $sql->fetchAll(); $jj = 0; foreach ($sql_rowset as $pag) { $jj++; $t->assign(cot_generate_pagetags($pag, 'PAGE_ROW_')); $t->assign(array('PAGE_ROW_NUM' => $jj, 'PAGE_ROW_ODDEVEN' => cot_build_oddeven($jj), 'PAGE_ROW_RAW' => $pag)); $t->assign(cot_generate_usertags($pag, 'PAGE_ROW_OWNER_')); /* === Hook === */ foreach (cot_getextplugins('page.enum.loop') as $pl) { include $pl; } /* ===== */ if (cot_plugin_active('comments')) { $rowe_urlp = empty($pag['page_alias']) ? array('c' => $pag['page_cat'], 'id' => $pag['page_id']) : array('c' => $pag['page_cat'], 'al' => $pag['page_alias']); $t->assign(array('PAGE_ROW_COMMENTS' => cot_comments_link('page', $rowe_urlp, 'page', $pag['page_id'], $pag['page_cat'], $pag), 'PAGE_ROW_COMMENTS_COUNT' => cot_comments_count('page', $pag['page_id'], $pag))); } $t->parse("MAIN.PAGE_ROW"); } // Render pagination $url_params = $_GET; $url_area = 'index'; $module_name = cot_import('e', 'G', 'ALP'); if (cot_module_active($module_name)) { $url_area = $url_params['e']; unset($url_params['e']); } if (cot_plugin_active($module_name)) { $url_area = 'plug'; } unset($url_params[$pagination]); if (!empty($pagination)) { $pagenav = cot_pagenav($url_area, $url_params, $d, $totalitems, $count, $pagination); } $t->assign(array('PAGE_TOP_PAGINATION' => $pagenav['main'], 'PAGE_TOP_PAGEPREV' => $pagenav['prev'], 'PAGE_TOP_PAGENEXT' => $pagenav['next'], 'PAGE_TOP_FIRST' => $pagenav['first'], 'PAGE_TOP_LAST' => $pagenav['last'], 'PAGE_TOP_CURRENTPAGE' => $pagenav['current'], 'PAGE_TOP_TOTALLINES' => $totalitems, 'PAGE_TOP_MAXPERPAGE' => $count, 'PAGE_TOP_TOTALPAGES' => $pagenav['total'])); /* === Hook === */ foreach (cot_getextplugins('pagelist.tags') as $pl) { include $pl; } /* ===== */ $t->parse("MAIN"); $page_query_html = $t->text("MAIN"); if ($cache && (int) $cache_ttl > 0) { $cache->disk->store($md5hash, $page_query_html, 'page'); } return $page_query_html; }
/* === Hook - Part1 : Set === */ $extp = cot_getextplugins('page.list.loop'); /* ===== */ $sqllist_rowset = $sqllist->fetchAll(); $sqllist_rowset_other = false; /* === Hook === */ foreach (cot_getextplugins('page.list.before_loop') as $pl) { include $pl; } /* ===== */ if (!$sqllist_rowset_other) { foreach ($sqllist_rowset as $pag) { $jj++; $t->assign(cot_generate_pagetags($pag, 'LIST_ROW_', $cfg['page']['truncatetext'], $usr['isadmin'])); $t->assign(array('LIST_ROW_OWNER' => cot_build_user($pag['page_ownerid'], htmlspecialchars($pag['user_name'])), 'LIST_ROW_ODDEVEN' => cot_build_oddeven($jj), 'LIST_ROW_NUM' => $jj)); $t->assign(cot_generate_usertags($pag, 'LIST_ROW_OWNER_')); /* === Hook - Part2 : Include === */ foreach ($extp as $pl) { include $pl; } /* ===== */ $t->parse('MAIN.LIST_ROW'); } } /* === Hook === */ foreach (cot_getextplugins('page.list.tags') as $pl) { include $pl; } /* ===== */ $t->parse('MAIN'); $t->out('MAIN');
foreach (cot_getextplugins('sbr.posts.query') as $pl) { include $pl; } /* ===== */ $posts = $db->query("SELECT * FROM {$db_sbr_posts} \n\t\tWHERE post_sid=" . $id . " " . $query_string . "\n\t\tORDER BY post_date ASC")->fetchAll(); /* === Hook === */ $extp = cot_getextplugins('sbr.posts.loop'); /* ===== */ foreach ($posts as $post) { if ($post['post_from'] > 0) { $t->assign(cot_generate_usertags($post['post_from'], 'POST_ROW_FROM_')); } else { $t->assign('POST_ROW_FROM_NAME', ''); } if ($post['post_to'] > 0) { $t->assign(cot_generate_usertags($post['post_to'], 'POST_ROW_TO_')); } else { $t->assign('POST_ROW_TO_NAME', ''); } $t->assign(array('POST_ROW_FROM_ID' => $post['post_from'], 'POST_ROW_ID' => $post['post_id'], 'POST_ROW_TEXT' => $post['post_text'], 'POST_ROW_TYPE' => $post['post_type'], 'POST_ROW_DATE' => date('d.m.Y H:i:s', $post['post_date']))); /* === Hook - Part2 : Include === */ foreach ($extp as $pl) { include $pl; } /* ===== */ $postfiles = $db->query("SELECT * FROM {$db_sbr_files} WHERE file_sid=" . $id . " AND file_area='post' AND file_code='" . $post['post_id'] . "' ORDER BY file_id ASC")->fetchAll(); if (count($postfiles) > 0) { foreach ($postfiles as $file) { $t->assign(array('FILE_ROW_ID' => $file['file_id'], 'FILE_ROW_URL' => $file['file_url'], 'FILE_ROW_TITLE' => $file['file_title'], 'FILE_ROW_EXT' => $file['file_ext'], 'FILE_ROW_SIZE' => $file['file_size'])); $t->parse('MAIN.SBR.POSTS.POST_ROW.FILES.FILE_ROW'); }
$order = $order ? 'ORDER BY ' . implode(', ', $order) : ''; $totalitems = $db->query("SELECT COUNT(*) FROM {$db_projects} AS p {$join_condition} \n\t" . $where . "")->fetchColumn(); $sqllist = $db->query("SELECT p.*, u.* {$join_columns} \n\tFROM {$db_projects} AS p {$join_condition} \n\tLEFT JOIN {$db_users} AS u ON u.user_id=p.item_userid \n\t" . $where . " \n\t" . $order . " \n\tLIMIT {$p}, " . $cfg['projects']['indexlimit']); $pagenav = cot_pagenav('index', '', $p, $totalitems, $cfg['projects']['indexlimit'], 'p'); $t_pr->assign(array("PAGENAV_PAGES" => $pagenav['main'], "PAGENAV_PREV" => $pagenav['prev'], "PAGENAV_NEXT" => $pagenav['next'])); $sqllist_rowset = $sqllist->fetchAll(); $sqllist_idset = array(); foreach ($sqllist_rowset as $item) { $sqllist_idset[$item['item_id']] = $item['item_alias']; } /* === Hook === */ $extp = cot_getextplugins('projects.index.loop'); /* ===== */ foreach ($sqllist_rowset as $item) { $jj++; $t_pr->assign(cot_generate_usertags($item, 'PRJ_ROW_OWNER_')); $t_pr->assign(cot_generate_projecttags($item, 'PRJ_ROW_', $cfg['projects']['shorttextlen'], $usr['isadmin'], $cfg['homebreadcrumb'])); $t_pr->assign(array("PRJ_ROW_ODDEVEN" => cot_build_oddeven($jj))); /* === Hook - Part2 : Include === */ foreach ($extp as $pl) { include $pl; } /* ===== */ $t_pr->parse("PROJECTS.PRJ_ROWS"); } $t_pr->assign(array("COUNTOFREALIZEDPROJECTS" => $countofrealizedprojects)); $t_pr->parse("PROJECTS"); $t->assign('PROJECTS', $t_pr->text('PROJECTS')); $t->assign(array("PROJECTS_CATALOG" => cot_build_structure_projects_tree('', array()))); /* === Hook === */ foreach (cot_getextplugins('projects.index.tags') as $pl) {
} /* ===== */ } cot_redirect(cot_url('payments', 'm=balance&n=history', '', true)); } cot_redirect(cot_url('payments', 'm=balance&n=transfers&a=add', '', true)); } if ($a != 'add') { $transfers = $db->query("SELECT * FROM {$db_payments_transfers} AS t\n\t\t\tLEFT JOIN {$db_payments} AS p ON p.pay_code=t.trn_id AND p.pay_area='transfer'\n\t\t\tWHERE trn_from=" . $usr['id'] . "\n\t\t\tORDER BY pay_cdate DESC")->fetchAll(); if (count($transfers) > 0) { /* === Hook === */ $extp = cot_getextplugins('payments.balance.transfers.loop'); /* ===== */ foreach ($transfers as $transfer) { $t->assign(array('TRANSFER_ROW_ID' => $transfer['trn_id'], 'TRANSFER_ROW_SUMM' => $transfer['trn_summ'], 'TRANSFER_ROW_DATE' => $transfer['trn_date'], 'TRANSFER_ROW_DONE' => $transfer['trn_done'], 'TRANSFER_ROW_COMMENT' => $transfer['trn_comment'], 'TRANSFER_ROW_STATUS' => $transfer['trn_status'], 'TRANSFER_ROW_LOCALSTATUS' => $L['payments_balance_transfer_status_' . $transfer['trn_status']])); $t->assign(cot_generate_usertags($transfer['trn_to'], 'TRANSFER_ROW_FOR_')); /* === Hook - Part2 : Include === */ foreach ($extp as $pl) { include $pl; } /* ===== */ $t->parse('MAIN.TRANSFERS.TRANSFER_ROW'); } } $t->parse('MAIN.TRANSFERS'); } else { $t->assign(array('TRANSFER_FORM_ACTION_URL' => cot_url('payments', 'm=balance&n=transfers&a=send'), 'TRANSFER_FORM_SUMM' => cot_inputbox('text', 'summ', $summ), 'TRANSFER_FORM_TAX' => !empty($taxsumm) ? $taxsumm : 0, 'TRANSFER_FORM_TOTAL' => !empty($sendersumm) ? $sendersumm : 0, 'TRANSFER_FORM_COMMENT' => cot_textarea('comment', $comment, 5, 40, '', ''), 'TRANSFER_FORM_USERNAME' => cot_inputbox('text', 'username', $username))); /* === Hook === */ foreach (cot_getextplugins('payments.balance.transfers.form') as $pl) { include $pl; }
/* === Hook === */ foreach (cot_getextplugins('sbr.list.query') as $pl) { include $pl; } /* ===== */ $where = $where ? 'WHERE ' . implode(' AND ', $where) : ''; $order = $order ? 'ORDER BY ' . implode(', ', $order) : ''; $totalitems = $db->query("SELECT COUNT(*) FROM {$db_sbr} \n\t" . $where . "")->fetchColumn(); $sqllist = $db->query("SELECT * FROM {$db_sbr} AS s \n\t" . $where . "\n\t" . $order . "\n\tLIMIT {$d}, " . $cfg['plugin']['sbr']['maxrowsperpage']); $pagenav = cot_pagenav('sbr', '', $d, $totalitems, $cfg['plugin']['sbr']['maxrowsperpage']); $sqllist_rowset = $sqllist->fetchAll(); /* === Hook === */ $extp = cot_getextplugins('sbr.list.loop'); /* ===== */ foreach ($sqllist_rowset as $sbr) { $jj++; $t->assign(cot_generate_usertags($sbr['sbr_employer'], 'SBR_ROW_EMPLOYER_')); $t->assign(cot_generate_usertags($sbr['sbr_performer'], 'SBR_ROW_PERFORMER_')); $t->assign(cot_generate_sbrtags($sbr, 'SBR_ROW_')); /* === Hook - Part2 : Include === */ foreach ($extp as $pl) { include $pl; } /* ===== */ $t->parse("MAIN.SBR_ROW"); } /* === Hook === */ foreach (cot_getextplugins('sbr.list.tags') as $pl) { include $pl; } /* ===== */
$env['last_modified'] = $pag['page_updated']; /* === Hook === */ foreach (cot_getextplugins('page.main') as $pl) { include $pl; } /* ===== */ if ($pag['page_file']) { unset($_SESSION['dl']); $_SESSION['dl'] = $id; } require_once $cfg['system_dir'] . '/header.php'; require_once cot_incfile('users', 'module'); $t = new XTemplate($mskin); $t->assign(cot_generate_pagetags($pag, 'PAGE_', 0, $usr['isadmin'], $cfg['homebreadcrumb'])); $t->assign('PAGE_OWNER', cot_build_user($pag['page_ownerid'], htmlspecialchars($pag['user_name']))); $t->assign(cot_generate_usertags($pag, 'PAGE_OWNER_')); $pag['page_file'] = intval($pag['page_file']); if ($pag['page_file'] > 0) { if ($sys['now'] > $pag['page_begin']) { if (!empty($pag['page_url'])) { $dotpos = mb_strrpos($pag['page_url'], ".") + 1; $type = mb_strtolower(mb_substr($pag['page_url'], $dotpos, 5)); $pag['page_fileicon'] = cot_rc('page_icon_file_path'); if (!file_exists($pag['page_fileicon'])) { $pag['page_fileicon'] = cot_rc('page_icon_file_default'); } $pag['page_fileicon'] = cot_rc('page_icon_file', array('icon' => $pag['page_fileicon'])); } else { $pag['page_fileicon'] = ''; } $t->assign(array('PAGE_FILE_SIZE' => $pag['page_size'] / 1024, 'PAGE_FILE_SIZE_BYTES' => $pag['page_size'], 'PAGE_FILE_SIZE_READABLE' => cot_build_filesize($pag['page_size'], 1), 'PAGE_FILE_COUNT' => $pag['page_filecount'], 'PAGE_FILE_ICON' => $pag['page_fileicon'], 'PAGE_FILE_NAME' => basename($pag['page_url']), 'PAGE_FILE_COUNTTIMES' => cot_declension($pag['page_filecount'], $Ls['Times'])));
} /* ===== */ cot_redirect(cot_url('sbr', 'id=' . $id, '', true)); } } $out['subtitle'] = $L['sbr_addtitle']; $out['head'] .= $R['code_noindex']; $mskin = cot_tplfile(array('sbr', 'add'), 'plug'); /* === Hook === */ foreach (cot_getextplugins('sbr.add.main') as $pl) { include $pl; } /* ===== */ $t = new XTemplate($mskin); if (!empty($uid)) { $t->assign(cot_generate_usertags($uid, 'SBR_PERFORMER_')); } else { $t->assign('SBRADD_FORM_PERFORMER', cot_inputbox('text', 'rsbrperformer', $rsbrperformer, 'placeholder="' . $L['sbr_performer_placeholder'] . '"')); } if (!empty($pid)) { $t->assign(cot_generate_projecttags($pid, 'SBR_PROJECT_')); } $patharray[] = array(cot_url('sbr'), $L['sbr']); $patharray[] = array(cot_url('sbr', 'm=add&pid=' . $pid . '&uip=' . $uid), $L['sbr_addtitle']); $t->assign(array('SBRADD_TITLE' => cot_breadcrumbs($patharray, $cfg['homebreadcrumb'], true), 'SBRADD_SUBTITLE' => $L['sbr_addtitle'], 'SBRADD_ADMINEMAIL' => "mailto:" . $cfg['adminemail'], 'SBRADD_FORM_SEND' => cot_url('sbr', 'm=add&pid=' . $pid . '&uid=' . $uid . '&a=add'), 'SBRADD_FORM_OWNER' => cot_build_user($usr['id'], htmlspecialchars($usr['name'])), 'SBRADD_FORM_OWNERID' => $usr['id'], 'SBRADD_FORM_MAINTITLE' => cot_inputbox('text', 'rsbrtitle', $rsbr['sbr_title']))); for ($i = 1; $i <= $stagescount; $i++) { $t->assign(array('STAGEADD_FORM_NUM' => $i, 'STAGEADD_FORM_TITLE' => cot_inputbox('text', 'rstagetitle[' . $i . ']', $rstagetitle[$i]), 'STAGEADD_FORM_TEXT' => cot_textarea('rstagetext[' . $i . ']', $rstagetext[$i], 10, 120, '', 'input_textarea'), 'STAGEADD_FORM_COST' => cot_inputbox('text', 'rstagecost[' . $i . ']', $rstagecost[$i], array('class' => 'stagecost', 'size' => '10', 'maxlength' => '100')), 'STAGEADD_FORM_DAYS' => cot_inputbox('text', 'rstagedays[' . $i . ']', $rstagedays[$i], array('size' => '10', 'maxlength' => '100')))); /* === Hook === */ foreach (cot_getextplugins('sbr.add.stages.tags') as $pl) { include $pl; }
$t->assign($x[0], cot_rc('users_link_sort', array('asc_url' => implode($k, $asc), 'desc_url' => implode($k, $desc), 'text' => $x[1]))); } // Extra fields for users foreach ($cot_extrafields[$db_users] as $exfld) { $uname = strtoupper($exfld['field_name']); $fieldtext = isset($L['user_' . $exfld['field_name'] . '_title']) ? $L['user_' . $exfld['field_name'] . '_title'] : $exfld['field_description']; $t->assign('USERS_TOP_' . $uname, cot_rc('users_link_sort', array('asc_url' => cot_url('users', array('s' => $exfld['field_name'], 'w' => 'asc') + $users_url_path), 'desc_url' => cot_url('users', array('s' => $exfld['field_name'], 'w' => 'desc') + $users_url_path), 'text' => $fieldtext))); } $jj = 0; /* === Hook - Part1 : Set === */ $extp = cot_getextplugins('users.loop'); /* ===== */ foreach ($sqlusers as $urr) { $jj++; $t->assign(array('USERS_ROW_ODDEVEN' => cot_build_oddeven($jj), 'USERS_ROW_NUM' => $jj, 'USERS_ROW' => $urr)); $t->assign(cot_generate_usertags($urr, 'USERS_ROW_')); /* === Hook - Part2 : Include === */ foreach ($extp as $pl) { include $pl; } /* ===== */ $t->parse('MAIN.USERS_ROW'); } /* === Hook === */ foreach (cot_getextplugins('users.tags') as $pl) { include $pl; } /* ===== */ $t->parse('MAIN'); $t->out('MAIN'); require_once cot::$cfg['system_dir'] . '/footer.php';
*/ /** * Frelancers plugin * * @package freelancers * @version 2.2.2 * @author CMSWorks Team * @copyright Copyright (c) CMSWorks.ru, littledev.ru * @license BSD */ defined('COT_CODE') or die('Wrong URL'); if ($c == "users") { $defult_c = false; $groupid = cot_import('groupid', 'G', 'INT'); $query_string = !empty($groupid) ? "AND user_maingrp=" . $groupid : "AND user_maingrp=4"; if ($id != 'all') { $catsub = cot_fl_cat_children($id); $sql = $db->query("SELECT * FROM {$db_users} AS u\n\t\t\tWHERE user_cat IN ('" . implode("','", $catsub) . "') " . $query_string . "\n\t\t\tORDER BY user_regdate DESC LIMIT " . $cfg['rss']['rss_maxitems']); } else { $sql = $db->query("SELECT * FROM {$db_users} AS u\n\t\t\tWHERE " . $query_string . "\n\t\t\tORDER BY user_regdate DESC LIMIT " . $cfg['rss']['rss_maxitems']); } $i = 0; while ($row = $sql->fetch()) { $items[$i]['title'] = $row['user_name']; $items[$i]['link'] = COT_ABSOLUTE_URL . cot_url('users', 'm=details&id=' . $row['user_id'] . '&u=' . $row['user_name'], '', true); $items[$i]['pubDate'] = cot_date('r', $row['user_regdate']); $items[$i]['fields'] = cot_generate_usertags($row); $i++; } $sql->closeCursor(); }
[END_COT_EXT] ==================== */ defined('COT_CODE') && defined('COT_PLUG') or die('Wrong URL'); require_once cot_incfile('paypro', 'plug'); list($auth_read, $auth_write, $auth_admin) = cot_auth('plug', 'paypro'); cot_block($auth_write); $id = cot_import('id', 'G', 'INT'); if ($a == 'buy') { $months = cot_import('months', 'P', 'INT'); cot_check(empty($months), 'paypro_error_months'); if (!empty($id) && $usr['id'] != $id) { $user = $db->query("SELECT * FROM {$db_users} WHERE user_id = ? LIMIT 1", array($id))->fetch(); cot_check(empty($user), 'paypro_error_user'); } if (!cot_error_found()) { $summ = $months * $cfg['plugin']['paypro']['cost']; $options['time'] = $months * 30 * 24 * 60 * 60; $options['desc'] = !empty($id) ? $L['paypro_giftpro_paydesc'] . $user['user_name'] : $L['paypro_buypro_paydesc']; $options['code'] = !empty($id) && $usr['id'] != $id ? $id : $usr['id']; if ($db->fieldExists($db_payments, "pay_redirect")) { $options['redirect'] = $cfg['mainurl'] . '/' . cot_url('payments', 'm=balance', '', true); } cot_payments_create_order('pro', $summ, $options); } } $t = new XTemplate(cot_tplfile('paypro', 'plug')); cot_display_messages($t); $t->assign(array('PRO_FORM_ACTION' => cot_url('plug', 'e=paypro&a=buy&id=' . $id), 'PRO_FORM_PERIOD' => cot_selectbox('', 'months', range(1, 12), range(1, 12), false))); if (!empty($id)) { $t->assign(cot_generate_usertags($id, 'PRO_FORM_USER_')); }
/* ===== */ $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; } /* ===== */
} // Building the canonical URL $pageurl_params = array('c' => $item['item_cat']); empty($al) ? $pageurl_params['id'] = $id : ($pageurl_params['al'] = $al); $out['canonical_uri'] = cot_url('projects', $pageurl_params); $mskin = cot_tplfile(array('projects', $structure['projects'][$item['item_cat']]['tpl'])); /* === Hook === */ foreach (cot_getextplugins('projects.main') as $pl) { include $pl; } /* ===== */ $t = new XTemplate($mskin); $t->assign(cot_generate_usertags($item, 'PRJ_OWNER_')); $t->assign(cot_generate_projecttags($item, 'PRJ_', $cfg['projects']['shorttextlen'], $usr['isadmin'], $cfg['homebreadcrumb'])); if ($item['item_performer'] > 0) { $t->assign(cot_generate_usertags($item['item_performer'], 'PRJ_PERFORMER_')); } require_once cot_incfile('projects', 'module', 'offers'); /* === Hook === */ foreach (cot_getextplugins('projects.tags') as $pl) { include $pl; } /* ===== */ if ($usr['isadmin']) { $t->parse('MAIN.PRJ_ADMIN'); } if ($usr['id'] == 0) { $t->parse("MAIN.FORGUEST"); } $t->parse('MAIN'); $module_body = $t->text('MAIN');
/** * Форма просмара отзывов /добавление отзыва * * @param int $userid id пользователя * @param string $area модуль/плагин * @param string $code код * @param string $name URL Module or script name * @param mixed $params URL parameters as array or parameter string * @param string $tail URL postfix, e.g. anchor * @param bool $showall show all reviews * @return string */ function cot_reviews_list($userid, $area, $code = '', $name = '', $params = '', $tail = '', $showall = false) { global $db_reviews, $db_users, $db, $L, $usr, $cfg; list($usr['auth_read'], $usr['auth_write'], $usr['isadmin']) = cot_auth('plug', 'reviews', 'RWA'); if ($usr['auth_read']) { $t1 = new XTemplate(cot_tplfile(array('reviews', $area), 'plug')); require_once cot_langfile('reviews', 'plug'); if (!$showall) { $sqlcode = !empty($code) ? " AND item_code='" . $db->prep($code) . "'" : ''; $sqlarea = " AND item_area='" . $db->prep($area) . "'"; } $sql = $db->query("SELECT * FROM {$db_reviews} as r LEFT JOIN {$db_users} as u ON u.user_id=r.item_userid \n\t\t\tWHERE item_touserid=" . (int) $userid . $sqlarea . $sqlcode . " ORDER BY item_date ASC"); if (is_array($params)) { $params2 = array(); foreach ($array as $key => $value) { $params2[$key] = str_replace(array('$userid', '$area', '$code'), array('$userid', $area, $code), $value); } $params = $params2; } else { $params = str_replace(array('$userid', '$area', '$code'), array('$userid', $area, $code), $params); } $redirect = cot_url($name, $params, $tail, true); $redirect = base64_encode($redirect); while ($item = $sql->fetch()) { if ($usr['id'] == $item['item_userid'] || $usr['isadmin']) { $t1->assign(array('REVIEW_FORM_ID' => $item['item_id'], 'REVIEW_FORM_SEND' => cot_url('plug', 'r=reviews&a=update&area=' . $area . '&code=' . $code . '&touser='******'&redirect=' . $redirect . '&itemid=' . $item['item_id']), 'REVIEW_FORM_TEXT' => cot_textarea('rtext', $item['item_text'], 5, 50), 'REVIEW_FORM_SCORE' => cot_radiobox($item['item_score'], 'rscore', $L['review_score_values'], $L['review_score_titles']), 'REVIEW_FORM_USERID' => $item['item_userid'], 'REVIEW_FORM_DELETE_URL' => cot_url('plug', 'r=reviews&a=delete&area=' . $area . '&code=' . $code . '&touser='******'&redirect=' . $redirect . '&itemid=' . $item['item_id']))); $t1->parse('MAIN.REVIEWS_ROWS.EDITFORM'); } $t1->assign(cot_generate_usertags($item, 'REVIEW_ROW_')); $t1->assign(array('REVIEW_ROW_ID' => $item['item_id'], 'REVIEW_ROW_TEXT' => $item['item_text'], 'REVIEW_ROW_TOUSER' => $item['item_touser'], 'REVIEW_ROW_OWNERID' => $item['item_userid'], 'REVIEW_ROW_OWNER' => cot_build_user($item['item_userid'], htmlspecialchars($item['user_name'])), 'REVIEW_ROW_SCORE' => $item['item_score'] > 0 ? '+' . $item['item_score'] : $item['item_score'], 'REVIEW_ROW_AREA' => $item['item_area'], 'REVIEW_ROW_CODE' => $item['item_code'], 'REVIEW_ROW_DATE' => $item['item_date'], 'REVIEW_ROW_DELETE_URL' => $usr['id'] == $item['item_userid'] || $usr['isadmin'] ? cot_url('plug', 'r=reviews&a=delete&area=' . $area . '&code=' . $code . '&itemid=' . $item['item_id'] . '&redirect=' . $redirect) : '')); if ($item['item_area'] == 'projects' && !empty($item['item_code'])) { require_once cot_incfile('projects', 'module'); global $db_projects; $prj = $db->query("SELECT * FROM {$db_projects} WHERE item_id=" . $item['item_code'])->fetch(); $t1->assign(cot_generate_projecttags($prj, 'REVIEW_ROW_PRJ_')); } $t1->parse('MAIN.REVIEWS_ROWS'); } if ($cfg['plugin']['reviews']['checkprojects'] && cot_module_active('projects') && $usr['id'] > 0 && $usr['auth_write'] && $usr['id'] != $userid) { require_once cot_incfile('projects', 'module'); global $db_projects_offers, $db_projects; $prj_reviews_sql = $db->query("SELECT item_code FROM {$db_reviews} WHERE item_area='projects' AND item_userid=" . $usr['id']); while ($row = $prj_reviews_sql->fetch()) { $prjreviews[] = $row['item_code']; } $prjreviews_string = count($prjreviews) > 0 ? "AND o.offer_pid NOT IN (" . implode(",", $prjreviews) . ")" : ''; $bothprj_count = $db->query("SELECT COUNT(*) FROM {$db_projects_offers} AS o\n\t\t\t\tLEFT JOIN {$db_projects} AS p ON p.item_id=o.offer_pid\n\t\t\t\tWHERE ((p.item_userid = '" . $userid . "' AND o.offer_userid='" . $usr['id'] . "')\n\t\t\t\t\tOR (p.item_userid = '" . $usr['id'] . "' AND o.offer_userid='" . $userid . "')) \n\t\t\t\t\tAND o.offer_choise='performer' \n\t\t\t\t\t{$prjreviews_string}\n\t\t\t\t\t")->fetchColumn(); if ($bothprj_count > 0) { $bothprj_sql = $db->query("SELECT * FROM {$db_projects_offers} AS o\n\t\t\t\tLEFT JOIN {$db_projects} AS p ON p.item_id=o.offer_pid\n\t\t\t\tWHERE ((p.item_userid = '" . $userid . "' AND o.offer_userid='" . $usr['id'] . "')\n\t\t\t\t\tOR (p.item_userid = '" . $usr['id'] . "' AND o.offer_userid='" . $userid . "')) \n\t\t\t\t\tAND o.offer_choise='performer' \n\t\t\t\t\t{$prjreviews_string}\n\t\t\t\t\t"); while ($bprj = $bothprj_sql->fetch()) { $prj_ids[] = $bprj['offer_pid']; $prj_titles[] = $bprj['item_title']; } } $area = 'projects'; $usr['auth_write'] = (int) $bothprj_count == 0 ? false : $usr['auth_write']; } else { $sqlcode = !empty($code) ? " AND item_code='" . $db->prep($code) . "'" : ''; $sqlarea = " AND item_area='" . $db->prep($area) . "'"; $reviews_count = $db->query("SELECT COUNT(*) FROM {$db_reviews} \n\t\t\t\tWHERE item_userid=" . (int) $usr['id'] . "\n\t\t\t\t\tAND item_touserid=" . (int) $userid . $sqlarea . $sqlcode)->fetchColumn(); $usr['auth_write'] = $reviews_count > 0 ? false : $usr['auth_write']; } if ($usr['auth_write'] && $usr['id'] != $userid) { cot_display_messages($t1); $t1->assign(array('REVIEW_FORM_SEND' => cot_url('plug', 'r=reviews&a=add&area=' . $area . '&touser='******'&redirect=' . $redirect), 'REVIEW_FORM_TEXT' => cot_textarea('rtext', $ritem['item_text'], 5, 50), 'REVIEW_FORM_SCORE' => cot_radiobox($ritem['item_score'], 'rscore', $L['reviews_score_values'], $L['reviews_score_titles']), 'REVIEW_FORM_PROJECTS' => $cfg['plugin']['reviews']['checkprojects'] && cot_module_active('projects') && $bothprj_count > 0 ? cot_selectbox($pid, 'code', $prj_ids, $prj_titles, false) : '', 'REVIEW_FORM_ACTION' => 'ADD')); $t1->parse('MAIN.FORM'); } $t1->parse('MAIN'); return $t1->text('MAIN'); } return ''; }
/** * Generates comments display for a given item * * @param string $ext_name Module or plugin code * @param string $code Item identifier * @param string $cat Item category code (optional) * @param bool $force_admin Enforces user to be administrator of comments for this item. * E.g. to moderate his wall even if he is not a moderator * @return string Rendered HTML output for comments * @global CotDB $db */ function cot_comments_display($ext_name, $code, $cat = '', $force_admin = false) { global $db, $db_com, $db_users, $cfg, $usr, $L, $sys, $R, $env, $pg, $cot_extrafields, $cache, $structure; // Check permissions and enablement list($auth_read, $auth_write, $auth_admin) = cot_auth('plug', 'comments'); if ($auth_read && $auth_write && $force_admin) { $auth_admin = true; $_SESSION['cot_comments_force_admin'][$ext_name][$code] = true; } $enabled = cot_comments_enabled($ext_name, $cat, $code); if (!$auth_read || !$enabled && !$auth_admin) { return ''; } $comments_join_columns = $comments_join_tables = $comments_join_where = ''; // Get the URL and parameters $link_area = $env['ext']; $link_params = $_GET; if (defined('COT_PLUG')) { $link_area = 'plug'; $link_params['e'] = $env['ext']; } if (isset($_GET['rwr'])) { unset($link_params['rwr'], $link_params['e']); } $cot_com_back = array($link_area, $link_params); $_SESSION['cot_com_back'][$ext_name][$cat][$code] = $cot_com_back; $d_var = 'dcm'; list($pg, $d, $durl) = cot_import_pagenav($d_var, $cfg['plugin']['comments']['maxcommentsperpage']); $d = empty($d) ? 0 : (int) $d; if ($auth_write && $enabled) { require_once cot_incfile('forms'); } $t = new XTemplate(cot_tplfile('comments', 'plug')); /* == Hook == */ foreach (cot_getextplugins('comments.main') as $pl) { include $pl; } /* ===== */ $editor = cot::$cfg['plugin']['comments']['markup'] ? 'input_textarea_minieditor' : ''; $t->assign(array('COMMENTS_CODE' => $code, 'COMMENTS_FORM_SEND' => cot_url('plug', "e=comments&a=send&area={$ext_name}&cat={$cat}&item={$code}"), 'COMMENTS_FORM_AUTHOR' => $usr['id'] > 0 ? $usr['name'] : cot_inputbox('text', 'rname'), 'COMMENTS_FORM_AUTHORID' => $usr['id'], 'COMMENTS_FORM_TEXT' => $auth_write && $enabled ? cot_textarea('rtext', $rtext, 7, 120, '', $editor) . cot_inputbox('hidden', 'cb', base64_encode(serialize($cot_com_back))) : '', 'COMMENTS_DISPLAY' => $cfg['plugin']['comments']['expand_comments'] ? '' : 'none')); if ($auth_write && $enabled) { // Extra fields if (!empty(cot::$extrafields[cot::$db->com])) { foreach (cot::$extrafields[cot::$db->com] as $exfld) { $uname = strtoupper($exfld['field_name']); $exfld_val = cot_build_extrafields('rcomments' . $exfld['field_name'], $exfld, $rcomments[$exfld['field_name']]); $exfld_title = cot_extrafield_title($exfld, 'comments_'); $t->assign(array('COMMENTS_FORM_' . $uname => $exfld_val, 'COMMENTS_FORM_' . $uname . '_TITLE' => $exfld_title, 'COMMENTS_FORM_EXTRAFLD' => $exfld_val, 'COMMENTS_FORM_EXTRAFLD_TITLE' => $exfld_title)); $t->parse('COMMENTS.COMMENTS_NEWCOMMENT.EXTRAFLD'); } } $allowed_time = cot_build_timegap($sys['now'] - $cfg['plugin']['comments']['time'] * 60, $sys['now']); $com_hint = cot_rc('com_edithint', array('time' => $allowed_time)); /* == Hook == */ foreach (cot_getextplugins('comments.newcomment.tags') as $pl) { include $pl; } /* ===== */ $usr['id'] == 0 && $t->parse('COMMENTS.COMMENTS_NEWCOMMENT.GUEST'); if ($usr['id'] == 0 && cot_check_messages() && $cache) { if ($ext_name == 'page' && $cfg['cache_page']) { $cache->page->clear('page/' . str_replace('.', '/', $structure['page'][$cat]['path'])); $cfg['cache_page'] = false; } } cot_display_messages($t, 'COMMENTS.COMMENTS_NEWCOMMENT'); $t->assign('COMMENTS_FORM_HINT', $com_hint); $t->parse('COMMENTS.COMMENTS_NEWCOMMENT'); } else { $warning = $enabled ? $L['com_regonly'] : $L['com_closed']; $t->assign('COMMENTS_CLOSED', $warning); $t->parse('COMMENTS.COMMENTS_CLOSED'); } $order = $cfg['plugin']['comments']['order'] == 'Chronological' ? 'ASC' : 'DESC'; $comments_order = "com_id {$order}"; /* == Hook == */ foreach (cot_getextplugins('comments.query') as $pl) { include $pl; } /* ===== */ $sql = $db->query("SELECT c.*, u.* {$comments_join_columns}\n\t\tFROM {$db_com} AS c LEFT JOIN {$db_users} AS u ON u.user_id = c.com_authorid {$comments_join_tables}\n\t\tWHERE com_area = ? AND com_code = ? {$comments_join_where} ORDER BY {$comments_order} LIMIT ?, ?", array($ext_name, $code, (int) $d, (int) $cfg['plugin']['comments']['maxcommentsperpage'])); if ($sql->rowCount() > 0 && $enabled) { $i = $d; $kk = 0; $totalitems = cot_comments_count($ext_name, $code); /* === Hook - Part1 : Set === */ $extp = cot_getextplugins('comments.loop'); /* ===== */ foreach ($sql->fetchAll() as $row) { $i++; $kk++; $com_admin = $auth_admin ? cot_rc('comments_code_admin', array('ipsearch' => cot_build_ipsearch($row['com_authorip']), 'delete_url' => cot_confirm_url(cot_url('plug', 'e=comments&a=delete&cat=' . $cat . '&id=' . $row['com_id'] . '&' . cot_xg()), 'comments', 'comments_confirm_delete'))) : ''; $com_text = cot_parse($row['com_text'], $cfg['plugin']['comments']['markup']); $time_limit = $sys['now'] < $row['com_date'] + $cfg['plugin']['comments']['time'] * 60 ? TRUE : FALSE; $usr['isowner_com'] = $time_limit && ($usr['id'] > 0 && $row['com_authorid'] == $usr['id'] || $usr['id'] == 0 && !empty($_SESSION['cot_comments_edit'][$row['com_id']]) && $usr['ip'] == $row['com_authorip']); $com_gup = $sys['now'] - ($row['com_date'] + $cfg['plugin']['comments']['time'] * 60); $allowed_time = $usr['isowner_com'] && !$usr['isadmin'] ? ' - ' . cot_build_timegap($sys['now'] + $com_gup, $sys['now']) . $L['plu_comgup'] : ''; $com_edit = $auth_admin || $usr['isowner_com'] ? cot_rc('comments_code_edit', array('edit_url' => cot_url('plug', 'e=comments&m=edit&cat=' . $cat . '&id=' . $row['com_id']), 'allowed_time' => $allowed_time)) : ''; if ($row['com_area'] == 'page') { if ($usr['id'] == 0 && $usr['isowner_com'] && $cfg['cache_page']) { $cfg['cache_page'] = $cfg['cache_index'] = false; } } $t->assign(array('COMMENTS_ROW_ID' => $row['com_id'], 'COMMENTS_ROW_ORDER' => $cfg['plugin']['comments']['order'] == 'Recent' ? $totalitems - $i + 1 : $i, 'COMMENTS_ROW_URL' => cot_url($link_area, $link_params, '#c' . $row['com_id']), 'COMMENTS_ROW_AUTHOR' => cot_build_user($row['com_authorid'], htmlspecialchars($row['com_author'])), 'COMMENTS_ROW_AUTHORID' => $row['com_authorid'], 'COMMENTS_ROW_TEXT' => $com_text, 'COMMENTS_ROW_DATE' => cot_date('datetime_medium', $row['com_date']), 'COMMENTS_ROW_DATE_STAMP' => $row['com_date'], 'COMMENTS_ROW_ADMIN' => $com_admin, 'COMMENTS_ROW_EDIT' => $com_edit, 'COMMENTS_ROW_ODDEVEN' => cot_build_oddeven($kk), 'COMMENTS_ROW_NUM' => $kk)); // Extrafields if (!empty(cot::$extrafields[cot::$db->com])) { foreach (cot::$extrafields[cot::$db->com] as $exfld) { $tag = mb_strtoupper($exfld['field_name']); $exfld_title = cot_extrafield_title($exfld, 'comments_'); $t->assign(array('COMMENTS_ROW_' . $tag . '_TITLE' => $exfld_title, 'COMMENTS_ROW_' . $tag => cot_build_extrafields_data('comments', $exfld, $row['com_' . $exfld['field_name']]), 'COMMENTS_ROW_' . $tag . '_VALUE' => $row['com_' . $exfld['field_name']])); } } $t->assign(cot_generate_usertags($row, 'COMMENTS_ROW_AUTHOR_', htmlspecialchars($row['com_author']))); /* === Hook - Part2 : Include === */ foreach ($extp as $pl) { include $pl; } /* ===== */ $t->parse('COMMENTS.COMMENTS_ROW'); } $pagenav = cot_pagenav($link_area, $link_params, $d, $totalitems, $cfg['plugin']['comments']['maxcommentsperpage'], $d_var, '#comments', $cfg['jquery'] && $cfg['ajax_enabled'], 'comments', 'plug', "e=comments&area={$ext_name}&cat={$cat}&item={$code}"); $t->assign(array('COMMENTS_PAGES_INFO' => cot_rc('comments_code_pages_info', array('totalitems' => $totalitems, 'onpage' => $i - $d)), 'COMMENTS_PAGES_TOTALITEMS' => $totalitems, 'COMMENTS_PAGES_PAGESPREV' => $pagenav['prev'], 'COMMENTS_PAGES_PAGNAV' => $pagenav['main'], 'COMMENTS_PAGES_PAGESNEXT' => $pagenav['next'])); $t->parse('COMMENTS.PAGNAVIGATOR'); } elseif (!$sql->rowCount() && $enabled) { $t->assign(array('COMMENTS_EMPTYTEXT' => $L['com_nocommentsyet'])); $t->parse('COMMENTS.COMMENTS_EMPTY'); } /* == Hook == */ foreach (cot_getextplugins('comments.tags') as $pl) { include $pl; } /* ===== */ $t->parse('COMMENTS'); $res_display = $t->text('COMMENTS'); return $res_display; }
$xx++; } } $news_link = cot_url('index', $news_link_params); $catd = $catn != 0 && !$cfg['plugin']['news']['syncpagination'] ? $cat . "d" : "d"; $pagenav = cot_pagenav('index', $news_link_params, $v[3]['d'], $totalnews, $v[1], $catd); $filename = str_replace(array(' ', ',', '.', '-'), '_', $v[0]); $news = new XTemplate(cot_tplfile($catn == 0 ? "news" : "news." . $filename, 'plug')); $sql_rowset = $sql->fetchAll(); $jj = 0; foreach ($sql_rowset as $pag) { $jj++; $url = cot_url('index', 'c=' . $pag['page_cat']); $news->assign(cot_generate_pagetags($pag, 'PAGE_ROW_', $v[2])); $news->assign(array('PAGE_ROW_NEWSPATH' => cot_rc_link($url, htmlspecialchars($structure['page'][$row['page_cat']]['title'])), 'PAGE_ROW_NEWSPATH_URL' => $url, 'PAGE_ROW_CATDESC' => htmlspecialchars($structure['page'][$pag['page_cat']]['desc']), 'PAGE_ROW_OWNER' => cot_build_user($pag['page_ownerid'], htmlspecialchars($pag['user_name'])), 'PAGE_ROW_ODDEVEN' => cot_build_oddeven($jj), 'PAGE_ROW_NUM' => $jj)); $news->assign(cot_generate_usertags($pag, 'PAGE_ROW_OWNER_')); /* === Hook - Part2 : Include === LOOP === */ foreach ($news_extp as $pl) { include $pl; } /* ===== */ $news->parse('NEWS.PAGE_ROW'); } $url_newpage = cot_url('page', 'm=add&c=' . $cat); $news->assign(array('PAGE_PAGENAV' => $pagenav['main'], 'PAGE_PAGEPREV' => $pagenav['prev'], 'PAGE_PAGENEXT' => $pagenav['next'], 'PAGE_PAGELAST' => $pagenav['last'], 'PAGE_PAGENUM' => $pagenav['current'], 'PAGE_PAGECOUNT' => $pagenav['total'], 'PAGE_ENTRIES_ONPAGE' => $pagenav['onpage'], 'PAGE_ENTRIES_TOTAL' => $pagenav['entries'], 'PAGE_SUBMITNEWPOST' => cot_auth('page', $cat, 'W') ? cot_rc_link($url_newpage, $L['Submitnew']) : '', 'PAGE_SUBMITNEWPOST_URL' => cot_auth('page', $cat, 'W') ? $url_newpage : '', 'PAGE_CATTITLE' => $structure['page'][$cat]['title'], 'PAGE_CATPATH' => cot_breadcrumbs(cot_structure_buildpath('page', $cat), false), 'PAGE_CAT' => $cat)); /* === Hook - Part2 : Include === TAGS === */ foreach ($news_tags_extp as $pl) { include $pl; } /* ===== */ $news->parse('NEWS');
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'; if ($db->update($db_market_orders, $rorder, 'order_id=' . $id)) { if ($marketorder['order_userid'] > 0) {
$extp = cot_getextplugins('forums.posts.loop'); /* ===== */ $fp_num = 0; foreach ($sql_forums->fetchAll() as $row) { $row['user_text'] = $cfg['forums']['cat_' . $s]['allowusertext'] ? $row['user_text'] : ''; $fp_num++; $rowquote_url = $usr['id'] > 0 ? cot_url('forums', 'm=posts&s=' . $s . '&q=' . $q . '"e=' . $row['fp_id'] . '&d=' . $durl . '&n=last', '#np') : ''; $rowquote = $usr['id'] > 0 ? cot_rc('forums_rowquote', array('url' => $rowquote_url)) : ''; $rowedit_url = ($usr['isadmin'] || $row['fp_posterid'] == $usr['id'] && ($cfg['forums']['edittimeout'] == '0' || $sys['now'] - $row['fp_creation'] < $cfg['forums']['edittimeout'] * 3600)) && $usr['id'] > 0 ? cot_url('forums', 'm=editpost&s=' . $s . '&q=' . $q . '&p=' . $row['fp_id'] . '&d=' . $durl . '&' . cot_xg()) : ''; $rowedit = ($usr['isadmin'] || $row['fp_posterid'] == $usr['id'] && ($cfg['forums']['edittimeout'] == '0' || $sys['now'] - $row['fp_creation'] < $cfg['forums']['edittimeout'] * 3600)) && $usr['id'] > 0 ? cot_rc('forums_rowedit', array('url' => $rowedit_url)) : ''; $rowdelete_url = $usr['id'] > 0 && ($usr['isadmin'] || $row['fp_posterid'] == $usr['id'] && ($cfg['forums']['edittimeout'] == '0' || $sys['now'] - $row['fp_creation'] < $cfg['forums']['edittimeout'] * 3600)) ? cot_confirm_url(cot_url('forums', 'm=posts&a=delete&' . cot_xg() . '&s=' . $s . '&q=' . $q . '&p=' . $row['fp_id'] . '&d=' . $durl), 'forums', 'forums_confirm_delete_post') : ''; $rowdelete = $usr['id'] > 0 && ($usr['isadmin'] || $row['fp_posterid'] == $usr['id'] && ($cfg['forums']['edittimeout'] == '0' || $sys['now'] - $row['fp_creation'] < $cfg['forums']['edittimeout'] * 3600) && $fp_num > 1) ? cot_rc('forums_rowdelete', array('url' => $rowdelete_url)) : ''; if (!empty($row['fp_updater'])) { $row['fp_updatedby'] = sprintf($L['forums_updatedby'], htmlspecialchars($row['fp_updater']), cot_date('datetime_medium', $row['fp_updated']), cot_build_timegap($row['fp_updated'], $sys['now'])); } $t->assign(cot_generate_usertags($row, 'FORUMS_POSTS_ROW_USER')); $t->assign(array('FORUMS_POSTS_ROW_ID' => $row['fp_id'], 'FORUMS_POSTS_ROW_POSTID' => 'post_' . $row['fp_id'], 'FORUMS_POSTS_ROW_IDURL' => cot_url('forums', 'm=posts&id=' . $row['fp_id']), 'FORUMS_POSTS_ROW_URL' => cot_url('forums', 'm=posts&q=' . $row['fp_topicid'] . '&d=' . $durl, "#" . $row['fp_id']), 'FORUMS_POSTS_ROW_CREATION' => cot_date('datetime_medium', $row['fp_creation']), 'FORUMS_POSTS_ROW_CREATION_STAMP' => $row['fp_creation'], 'FORUMS_POSTS_ROW_UPDATED' => cot_date('datetime_medium', $row['fp_updated']), 'FORUMS_POSTS_ROW_UPDATED_STAMP' => $row['fp_updated'], 'FORUMS_POSTS_ROW_UPDATER' => htmlspecialchars($row['fp_updater']), 'FORUMS_POSTS_ROW_UPDATEDBY' => $row['fp_updatedby'], 'FORUMS_POSTS_ROW_TEXT' => cot_parse($row['fp_text'], $cfg['forums']['markup'] && $cfg['forums']['cat_' . $s]['allowbbcodes']), 'FORUMS_POSTS_ROW_ANCHORLINK' => cot_rc('forums_code_post_anchor', array('id' => $row['fp_id'])), 'FORUMS_POSTS_ROW_POSTERNAME' => cot_build_user($row['fp_posterid'], htmlspecialchars($row['fp_postername'])), 'FORUMS_POSTS_ROW_POSTERID' => $row['fp_posterid'], 'FORUMS_POSTS_ROW_POSTERIP' => $usr['isadmin'] ? cot_build_ipsearch($row['fp_posterip']) : '', 'FORUMS_POSTS_ROW_DELETE' => $rowdelete, 'FORUMS_POSTS_ROW_DELETE_URL' => $rowdelete_url, 'FORUMS_POSTS_ROW_EDIT' => $rowedit, 'FORUMS_POSTS_ROW_EDIT_URL' => $rowedit_url, 'FORUMS_POSTS_ROW_QUOTE' => $rowquote, 'FORUMS_POSTS_ROW_QUOTE_URL' => $rowquote_url, 'FORUMS_POSTS_ROW_BOTTOM' => (empty($id) ? $d + $fp_num : $id) == $totalposts ? $R['forums_code_bottom'] : ($usr['id'] > 0 && $n == 'unread' && $row['fp_creation'] > $usr['lastvisit'] ? $R['forums_code_unread'] : ''), 'FORUMS_POSTS_ROW_ODDEVEN' => cot_build_oddeven($fp_num), 'FORUMS_POSTS_ROW_NUM' => $fp_num, 'FORUMS_POSTS_ROW_ORDER' => empty($id) ? $d + $fp_num : $id)); foreach ($cot_extrafields[$db_forum_posts] as $exfld) { $tag = mb_strtoupper($exfld['field_name']); $t->assign(array('FORUMS_POSTS_ROW_' . $tag . '_TITLE' => isset($L['forums_posts_' . $exfld['field_name'] . '_title']) ? $L['forums_posts_' . $exfld['field_name'] . '_title'] : $exfld['field_description'], 'FORUMS_POSTS_ROW_' . $tag => cot_build_extrafields_data('forums', $exfld, $row['fp_' . $exfld['field_name']], $cfg['forums']['markup'] && $cfg['forums']['cat_' . $s]['allowbbcodes']), 'FORUMS_POSTS_ROW_' . $tag . '_VALUE' => $row['fp_' . $exfld['field_name']])); } /* === Hook - Part2 : Include === */ foreach ($extp as $pl) { include $pl; } /* ===== */ $t->parse('MAIN.FORUMS_POSTS_ROW'); } $lastpage = $d + $cfg['forums']['maxpostsperpage'] < $totalposts ? FALSE : TRUE; $pagenav = cot_pagenav('forums', "m=posts&q={$q}", $d, $totalposts, $cfg['forums']['maxpostsperpage']); $jumpbox[cot_url('forums')] = $L['Forums'];
$extp = cot_getextplugins('pm.list.loop'); /* ===== */ foreach ($pm_sql->fetchAll() as $row) { $jj++; $row['pm_icon_readstatus'] = $row['pm_tostate'] == '0' ? cot_rc_link(cot_url('pm', 'm=message&id=' . $row['pm_id']), $R['pm_icon_new'], array('title' => $L['pm_unread'], 'class' => $cfg['pm']['turnajax'] ? 'ajax' : '')) : cot_rc_link(cot_url('pm', 'm=message&id=' . $row['pm_id']), $R['pm_icon'], array('title' => $L['pm_read'], 'class' => 'ajax')); $pm_data = cot_parse($row['pm_text'], $cfg['pm']['markup']); $pm_desc = cot_string_truncate($pm_data, 100, true, false, '...'); if ($f == 'sentbox') { $star_class = $row['pm_fromstate'] == 2 ? 1 : 0; } else { $star_class = $row['pm_tostate'] == 2 ? 1 : 0; } $url_edit = cot_url('pm', 'm=send&id=' . $row['pm_id']); $url_delete = cot_url('pm', 'm=edit&a=delete&' . cot_xg() . '&id=' . $row['pm_id'] . '&f=' . $f . '&d=' . $durl); $t->assign(array('PM_ROW_ID' => $row['pm_id'], 'PM_ROW_STATE' => $row['pm_tostate'], 'PM_ROW_STAR' => cot_rc($star_class ? 'pm_icon_unstar' : 'pm_icon_star', array('link' => cot_url('pm', 'f=' . $f . '&filter=' . $filter . '&a=star&id=' . $row['pm_id'] . '&d=' . $durl))), 'PM_ROW_STAR_URL' => cot_url('pm', 'f=' . $f . '&filter=' . $filter . '&a=star&id=' . $row['pm_id'] . '&d=' . $durl), 'PM_ROW_DATE' => cot_date('datetime_medium', $row['pm_date']), 'PM_ROW_DATE_STAMP' => $row['pm_date'], 'PM_ROW_TITLE' => cot_rc_link(cot_url('pm', 'm=message&id=' . $row['pm_id']), htmlspecialchars($row['pm_title']), array('class' => $cfg['pm']['turnajax'] ? 'ajax' : '')), 'PM_ROW_URL' => cot_url('pm', 'm=message&id=' . $row['pm_id']), 'PM_ROW_TEXT' => $pm_data, 'PM_ROW_ICON_STATUS' => $row['pm_icon_readstatus'], 'PM_ROW_ICON_STARRED' => $row['pm_icon_starred'], 'PM_ROW_ICON_DELETE' => cot_rc_link($url_delete, $R['pm_icon_trashcan'], array('title' => $L['Delete'], 'class' => $cfg['pm']['turnajax'] ? 'ajax' : '')), 'PM_ROW_ICON_DELETE_CONFIRM' => cot_rc_link(cot_confirm_url($url_delete), $R['pm_icon_trashcan'], array('title' => $L['Delete'], 'class' => $cfg['pm']['turnajax'] ? 'ajax' : '')), 'PM_ROW_DELETE_URL' => $url_delete, 'PM_ROW_DELETE_CONFIRM_URL' => cot_confirm_url($url_delete), 'PM_ROW_ICON_EDIT' => $row['pm_tostate'] == 0 ? cot_rc_link($url_edit, $R['pm_icon_edit'], array('title' => $L['Edit'], 'class' => $cfg['pm']['turnajax'] ? 'ajax' : '')) : '', 'PM_ROW_EDIT_URL' => $row['pm_tostate'] == 0 ? $url_edit : '', 'PM_ROW_DESC' => $pm_desc, 'PM_ROW_ODDEVEN' => cot_build_oddeven($jj), 'PM_ROW_NUM' => $jj)); $t->assign(cot_generate_usertags($row, 'PM_ROW_USER_')); /* === Hook - Part2 : Include === */ foreach ($extp as $pl) { include $pl; } /* ===== */ $t->parse('MAIN.PM_ROW'); } if ($jj == 0) { $t->parse('MAIN.PM_ROW_EMPTY'); } if (!COT_AJAX) { $t->parse('MAIN.BEFORE_AJAX'); $t->parse('MAIN.AFTER_AJAX'); } $url_newpm = cot_url('pm', 'm=send');
function cot_getprojectslist($template = 'index', $count = 5, $sqlsearch = '', $order = "item_date DESC") { global $db, $db_projects, $db_users, $cfg; list($usr['auth_read'], $usr['auth_write'], $usr['isadmin']) = cot_auth('projects', 'any', 'RWA'); $t = new XTemplate(cot_tplfile(array('projects', $template), 'module')); $sqlsearch = !empty($sqlsearch) ? " AND " . $sqlsearch : ''; $totalitems = $db->query("SELECT COUNT(*) FROM {$db_projects} WHERE item_state=0 " . $sqlsearch)->fetchColumn(); $sqllist = $db->query("SELECT * FROM {$db_projects} 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, 'PRJ_ROW_OWNER_')); $t->assign(cot_generate_projecttags($item, 'PRJ_ROW_', $cfg['projects']['shorttextlen'], $usr['isadmin'], $cfg['homebreadcrumb'])); $t->assign(array("PRJ_ROW_ODDEVEN" => cot_build_oddeven($jj))); $t->parse("PROJECTS.PRJ_ROWS"); } // Количество реализованных проектов $t->assign(array("TOTALITEMS" => $totalitems, "COUNTOFREALIZEDPROJECTS" => $db->query("SELECT COUNT(*) FROM {$db_projects} WHERE item_state=0 AND item_realized=1")->fetchColumn())); $t->parse("PROJECTS"); return $t->text('PROJECTS'); }
/* ===== */ /* === Hook === */ foreach (cot_getextplugins('paytop.' . $area . '.done') as $pl) { include $pl; } /* ===== */ } cot_redirect(cot_url('admin', 'm=other&p=paytop', '', true)); } if ($a == 'delete') { $db->delete($db_payments_services, "service_id=?", array($id)); cot_redirect(cot_url('admin', 'm=other&p=paytop', '', true)); } $paytops = $db->query("SELECT * FROM {$db_payments_services} as s\n\tLEFT JOIN {$db_users} AS u ON u.user_id=s.service_userid\n\tWHERE s.service_area LIKE 'paytop.%' ORDER BY s.service_id DESC")->fetchAll(); foreach ($paytops as $urr) { $t->assign(cot_generate_usertags($urr, 'TOP_ROW_USER_')); $t->assign(array('TOP_ROW_AREA' => $urr['service_area'], 'TOP_ROW_EXPIRE' => $urr['service_expire'], 'TOP_ROW_SERVICE_ID' => $urr['service_id'])); $t->parse('MAIN.TOP_ROW'); } cot_display_messages($t); $areas_val[] = ''; $areas_title[] = ''; foreach ($pt_cfg as $area => $opt) { $areas_val[] = $area; $areas_title[] = $opt['name']; } switch ($pt_cfg[$area]['period']) { case 2592000: $period = range(1, 12); $period_name = $L['paytop_month']; break;
} elseif (empty($id) && empty($u) && $usr['id'] > 0) { $id = $usr['id']; } cot_die(empty($id), true); $sql = $db->query("SELECT * FROM {$db_users} WHERE user_id={$id} LIMIT 1"); cot_die($sql->rowCount() == 0, true); $urr = $sql->fetch(); $title_params = array('USER' => $L['User'], 'NAME' => $urr['user_name']); $out['subtitle'] = cot_title('title_users_details', $title_params); $mskin = cot_tplfile(array('users', 'details'), 'module'); /* === Hook === */ foreach (cot_getextplugins('users.details.main') as $pl) { include $pl; } /* ===== */ require_once $cfg['system_dir'] . '/header.php'; $t = new XTemplate($mskin); $t->assign(cot_generate_usertags($urr, 'USERS_DETAILS_', '', true)); $t->assign(array('USERS_DETAILS_TITLE' => cot_breadcrumbs(array(array(cot_url('users'), $L['Users']), array(cot_url('users', 'm=details&id=' . $urr['user_id'] . '&u=' . $urr['user_name']), $urr['user_name'])), $cfg['homebreadcrumb']), 'USERS_DETAILS_SUBTITLE' => $L['use_subtitle'])); /* === Hook === */ foreach (cot_getextplugins('users.details.tags') as $pl) { include $pl; } /* ===== */ if ($usr['isadmin']) { $t->assign(array('USERS_DETAILS_ADMIN_EDIT' => cot_rc_link(cot_url('users', 'm=edit&id=' . $urr['user_id']), $L['Edit']), 'USERS_DETAILS_ADMIN_EDIT_URL' => cot_url('users', 'm=edit&id=' . $urr['user_id']))); $t->parse('MAIN.USERS_DETAILS_ADMIN'); } $t->parse('MAIN'); $t->out('MAIN'); require_once $cfg['system_dir'] . '/footer.php';
foreach (cot_getextplugins('ukarma.statistics.query') as $pl) { include $pl; } /* ===== */ $where = $where ? 'WHERE ' . implode(' AND ', $where) : ''; $order = $order ? 'ORDER BY ' . implode(', ', $order) : ''; $totalitems = $db->query("SELECT COUNT(*) FROM {$db_ukarma} \n\t" . $where . "")->fetchColumn(); $sqllist_rowset = $db->query("SELECT * FROM {$db_ukarma} AS k\n\tLEFT JOIN {$db_users} AS u ON u.user_id=k.ukarma_ownerid\n\t" . $where . " \n\t" . $order . "\n\tLIMIT {$d}, " . $cfg['maxrowsperpage'])->fetchAll(); $pagenav = cot_pagenav('ukarma', '', $d, $totalitems, $cfg['maxrowsperpage']); $t->assign(array("PAGENAV_COUNT" => $totalitems, "PAGENAV_PAGES" => $pagenav['main'], "PAGENAV_PREV" => $pagenav['prev'], "PAGENAV_NEXT" => $pagenav['next'])); /* === Hook === */ $extp = cot_getextplugins('ukarma.statistics.loop'); /* ===== */ foreach ($sqllist_rowset as $score) { $jj++; $t->assign(cot_generate_usertags($score, 'UKARMA_ROW_OWNER_')); if ($score['ukarma_value'] > 0) { $sign = '+'; } elseif ($score['ukarma_value'] < 0) { $sign = '-'; } $t->assign(array('UKARMA_ROW_DATE' => $score['ukarma_date'], 'UKARMA_ROW_AREA' => $score['ukarma_area'], 'UKARMA_ROW_CODE' => $score['ukarma_code'], 'UKARMA_ROW_SCORE' => !empty($score['ukarma_value']) ? $score['ukarma_value'] : 0, 'UKARMA_ROW_SCORE_ABS' => !empty($score['ukarma_value']) ? abs($score['ukarma_value']) : 0, 'UKARMA_ROW_SIGN' => $sign)); switch ($score['ukarma_area']) { case 'forums': require_once cot_incfile('forums', 'module'); $frm = $db->query("SELECT * FROM {$db_forum_posts} AS fp \n\t\t\t\tLEFT JOIN {$db_forum_topics} AS ft ON fp.fp_topicid=ft.ft_id \n\t\t\t\tWHERE fp.fp_id=" . $score['ukarma_code'])->fetch(); $page_url = cot_url('forums', 'm=posts&id=' . $score['ukarma_code']); $page_title = $frm['ft_title']; break; case 'page': require_once cot_incfile('page', 'module');
} } $totalitems = $db->query("SELECT COUNT(*) FROM {$db_pages} WHERE " . $sqlwhere)->fetchColumn(); $pagenav = cot_pagenav('admin', $common_params, $d, $totalitems, $cfg['maxrowsperpage'], 'd', '', $cfg['jquery'] && $cfg['turnajax']); $sql_page = $db->query("SELECT p.*, u.user_name\n\tFROM {$db_pages} as p\n\tLEFT JOIN {$db_users} AS u ON u.user_id=p.page_ownerid\n\tWHERE {$sqlwhere}\n\t\tORDER BY {$sqlsorttype} {$sqlsortway}\n\t\tLIMIT {$d}, " . $cfg['maxrowsperpage']); $ii = 0; /* === Hook - Part1 : Set === */ $extp = cot_getextplugins('page.admin.loop'); /* ===== */ foreach ($sql_page->fetchAll() as $row) { $sql_page_subcount = $db->query("SELECT SUM(structure_count) FROM {$db_structure} WHERE structure_path LIKE '" . $db->prep($structure['page'][$row["page_cat"]]['rpath']) . "%' "); $sub_count = $sql_page_subcount->fetchColumn(); $row['page_file'] = intval($row['page_file']); $t->assign(cot_generate_pagetags($row, 'ADMIN_PAGE_', 200)); $t->assign(array('ADMIN_PAGE_ID_URL' => cot_url('page', 'c=' . $row['page_cat'] . '&id=' . $row['page_id']), 'ADMIN_PAGE_OWNER' => cot_build_user($row['page_ownerid'], htmlspecialchars($row['user_name'])), 'ADMIN_PAGE_FILE_BOOL' => $row['page_file'], 'ADMIN_PAGE_URL_FOR_VALIDATED' => cot_confirm_url(cot_url('admin', $common_params . '&a=validate&id=' . $row['page_id'] . '&d=' . $durl . '&' . cot_xg()), 'page', 'page_confirm_validate'), 'ADMIN_PAGE_URL_FOR_UNVALIDATE' => cot_confirm_url(cot_url('admin', $common_params . '&a=unvalidate&id=' . $row['page_id'] . '&d=' . $durl . '&' . cot_xg()), 'page', 'page_confirm_unvalidate'), 'ADMIN_PAGE_URL_FOR_DELETED' => cot_confirm_url(cot_url('admin', $common_params . '&a=delete&id=' . $row['page_id'] . '&d=' . $durl . '&' . cot_xg()), 'page', 'page_confirm_delete'), 'ADMIN_PAGE_URL_FOR_EDIT' => cot_url('page', 'm=edit&id=' . $row['page_id']), 'ADMIN_PAGE_ODDEVEN' => cot_build_oddeven($ii), 'ADMIN_PAGE_CAT_COUNT' => $sub_count)); $t->assign(cot_generate_usertags($row['page_ownerid'], 'ADMIN_PAGE_OWNER_'), htmlspecialchars($row['user_name'])); /* === Hook - Part2 : Include === */ foreach ($extp as $pl) { include $pl; } /* ===== */ $t->parse('MAIN.PAGE_ROW'); $ii++; } $is_row_empty = $sql_page->rowCount() == 0 ? true : false; $totaldbpages = $db->countRows($db_pages); $sql_page_queued = $db->query("SELECT COUNT(*) FROM {$db_pages} WHERE page_state=1"); $sys['pagesqueued'] = $sql_page_queued->fetchColumn(); $t->assign(array('ADMIN_PAGE_URL_CONFIG' => cot_url('admin', 'm=config&n=edit&o=module&p=page'), 'ADMIN_PAGE_URL_ADD' => cot_url('page', 'm=add'), 'ADMIN_PAGE_URL_EXTRAFIELDS' => cot_url('admin', 'm=extrafields&n=' . $db_pages), 'ADMIN_PAGE_URL_STRUCTURE' => cot_url('admin', 'm=structure&n=page'), 'ADMIN_PAGE_FORM_URL' => cot_url('admin', $common_params . '&a=update_checked&d=' . $durl), 'ADMIN_PAGE_ORDER' => cot_selectbox($sorttype, 'sorttype', array_keys($sort_type), array_values($sort_type), false), 'ADMIN_PAGE_WAY' => cot_selectbox($sortway, 'sortway', array_keys($sort_way), array_values($sort_way), false), 'ADMIN_PAGE_FILTER' => cot_selectbox($filter, 'filter', array_keys($filter_type), array_values($filter_type), false), 'ADMIN_PAGE_TOTALDBPAGES' => $totaldbpages, 'ADMIN_PAGE_PAGINATION_PREV' => $pagenav['prev'], 'ADMIN_PAGE_PAGNAV' => $pagenav['main'], 'ADMIN_PAGE_PAGINATION_NEXT' => $pagenav['next'], 'ADMIN_PAGE_TOTALITEMS' => $totalitems, 'ADMIN_PAGE_ON_PAGE' => $ii)); cot_display_messages($t); /* === Hook === */