} $sqllist = $db->query("SELECT SQL_CALC_FOUND_ROWS p.* {$search_join_columns}\n\t\tFROM {$db_projects} AS p {$search_join_condition}\n\t\tWHERE {$where}\n\t\tORDER BY item_" . $rs['prjsort'] . " " . $rs['prjsort2'] . "\n\t\tLIMIT {$d}, " . $cfg_maxitems . $search_union_query); $items = $sql->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('projects.search.loop'); /* ===== */ foreach ($sqllist_rowset as $row) { $url_cat = cot_url('projects', 'c=' . $row['item_cat']); $url_prj = empty($row['item_alias']) ? cot_url('projects', 'c=' . $row['item_cat'] . '&id=' . $row['item_id'] . '&highlight=' . $hl) : cot_url('projects', 'c=' . $row['item_cat'] . '&al=' . $row['item_alias'] . '&highlight=' . $hl); $t->assign(cot_generate_projecttags($row, 'PLUGIN_PROJECTSRES_')); $t->assign(array('PLUGIN_PROJECTSRES_CATEGORY' => cot_rc_link($url_cat, $structure['projects'][$row['item_cat']]['tpath']), 'PLUGIN_PROJECTSRES_CATEGORY_URL' => $url_cat, 'PLUGIN_PROJECTSRES_TITLE' => cot_rc_link($url_prj, htmlspecialchars($row['item_title'])), 'PLUGIN_PROJECTSRES_TEXT' => cot_clear_mark($row['item_text'], $words), 'PLUGIN_PROJECTSRES_TIME' => cot_date('datetime_medium', $row['item_date']), 'PLUGIN_PROJECTSRES_TIMESTAMP' => $row['item_date'], 'PLUGIN_PROJECTSRES_ODDEVEN' => cot_build_oddeven($jj), 'PLUGIN_PROJECTSRES_NUM' => $jj)); /* === Hook - Part 2 === */ foreach ($extp as $pl) { include $pl; } /* ===== */ $t->parse('MAIN.RESULTS.PROJECTS.ITEM'); $jj++; } if ($jj > 0) { $t->parse('MAIN.RESULTS.PROJECTS'); } unset($where_and, $where_or, $where); }
foreach (cot_getextplugins('projects.preview.save.done') as $pl) { include $pl; } /* ===== */ cot_redirect($r_url); exit; } $out['subtitle'] = $L['projects']; $mskin = cot_tplfile(array('projects', 'preview', $structure['projects'][$item['item_cat']]['tpl'])); /* === Hook === */ foreach (cot_getextplugins('projects.preview.main') as $pl) { include $pl; } /* ===== */ $t = new XTemplate($mskin); if ($item['item_state'] != 0 && !$usr['isadmin'] && $usr['id'] != $item['item_userid']) { cot_log("Attempt to directly access an un-validated", 'sec'); cot_redirect(cot_url('message', "msg=930", '', true)); exit; } $r_url = empty($item['item_alias']) ? cot_url('projects', 'c=' . $item['item_cat'] . '&id=' . $id) : cot_url('projects', 'c=' . $item['item_cat'] . '&al=' . $item['item_alias']); $t->assign(cot_generate_usertags($item, 'PRJ_OWNER_')); $t->assign(cot_generate_projecttags($item, 'PRJ_', $cfg['projects']['shorttextlen'], $usr['isadmin'], $cfg['homebreadcrumb'])); $t->assign(array("PRJ_SHOW_URL" => $cfg['mainurl'] . '/' . $r_url, "PRJ_SAVE_URL" => cot_url('projects', 'm=preview&a=save&id=' . $item['item_id'] . '&' . cot_xg()), "PRJ_EDIT_URL" => cot_url('projects', 'm=edit&id=' . $item['item_id']))); /* === Hook === */ foreach (cot_getextplugins('projects.preview.tags') as $pl) { include $pl; } /* ===== */ $t->parse('MAIN'); $module_body = $t->text('MAIN');
$recipient = $role == 'employer' ? $sbr['sbr_performer'] : $sbr['sbr_employer']; } $postid = cot_sbr_sendpost($id, $rposttext, $recipient, $usr['id'], $post_type, true, $_FILES['rpostfiles']); } cot_redirect(cot_url('sbr', 'id=' . $id . '&num=' . $num, '#addpost', true)); } $out['subtitle'] = $sbr['sbr_title']; $out['head'] .= $R['code_noindex']; $mskin = cot_tplfile(array('sbr', $role), 'plug'); /* === Hook === */ foreach (cot_getextplugins('sbr.main') as $pl) { include $pl; } /* ===== */ $t = new XTemplate($mskin); $t->assign(cot_generate_projecttags($sbr['sbr_pid'], 'SBR_PROJECT_')); $t->assign(cot_generate_usertags($sbr['sbr_employer'], 'SBR_EMPLOYER_')); $t->assign(cot_generate_usertags($sbr['sbr_performer'], 'SBR_PERFORMER_')); $t->assign(cot_generate_sbrtags($sbr, 'SBR_', $usr['isadmin'], $cfg['homebreadcrumb'])); $sqllist_rowset = $db->query("SELECT * FROM {$db_sbr_stages} WHERE stage_sid=" . $id . " ORDER BY stage_num ASC")->fetchAll(); foreach ($sqllist_rowset as $stage) { $t->assign(array('STAGENAV_ROW_ID' => $stage['stage_id'], 'STAGENAV_ROW_NUM' => $stage['stage_num'], 'STAGENAV_ROW_TITLE' => $stage['stage_title'], 'STAGENAV_ROW_TEXT' => $stage['stage_text'], 'STAGENAV_ROW_STATUS' => $stage['stage_status'], 'STAGENAV_ROW_URL' => cot_url('sbr', 'id=' . $id . '&num=' . $stage['stage_num']))); $t->parse('MAIN.STAGENAV_ROW'); } if (empty($action)) { if (!empty($num)) { require_once cot_incfile('sbr', 'plug', 'stage'); } else { require_once cot_incfile('sbr', 'plug', 'info'); } if (!empty($role)) {
function cot_tag_search_projects($query) { global $db, $t, $L, $lang, $cfg, $usr, $qs, $d, $db_tag_references, $db_projects, $o, $row, $sys; if (!cot_module_active('projects')) { return; } $query = cot_tag_parse_query($query, 'p.item_id'); if (empty($query)) { return; } $totalitems = $db->query("SELECT DISTINCT COUNT(*)\n\t\tFROM {$db_tag_references} AS r LEFT JOIN {$db_projects} AS p\n\t\t\tON r.tag_item = p.item_id\n\t\tWHERE r.tag_area = 'projects' AND ({$query}) AND p.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.projects.query') as $pl) { include $pl; } /* ===== */ $sql = $db->query("SELECT DISTINCT p.* {$join_columns}\n\t\tFROM {$db_tag_references} AS r LEFT JOIN {$db_projects} AS p\n\t\t\tON r.tag_item = p.item_id {$join_tables}\n\t\tWHERE r.tag_area = 'projects' AND ({$query}) AND p.item_id IS NOT NULL AND p.item_state = 0 {$join_where}\n\t\t{$order}\n\t\tLIMIT {$d}, {$cfg['maxrowsperpage']}"); $t->assign('TAGS_RESULT_TITLE', $L['tags_Found_in_projects']); $pcount = $sql->rowCount(); /* == Hook : Part 1 == */ $extp = cot_getextplugins('tags.search.projects.loop'); /* ===== */ if ($pcount > 0) { foreach ($sql->fetchAll() as $row) { $tags = cot_tag_list($row['item_id'], 'projects'); $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' => 'projects', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)), htmlspecialchars($tag_t)); $tag_i++; } $t->assign(cot_generate_projecttags($row, 'TAGS_RESULT_ROW_')); $t->assign(array('TAGS_RESULT_ROW_TITLE' => htmlspecialchars($row['item_title']), 'TAGS_RESULT_ROW_PATH' => cot_breadcrumbs(cot_structure_buildpath('projects', $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' => 'projects', '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.projects.tags') as $pl) { include $pl; } /* ===== */ } if ($pcount == 0) { $t->parse('MAIN.TAGS_RESULT.TAGS_RESULT_NONE'); } $t->parse('MAIN.TAGS_RESULT'); }
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'); }
/** * Форма просмара отзывов /добавление отзыва * * @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 ''; }
$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->parse('MAIN.STAGE_ROW'); } // Extra fields foreach ($cot_extrafields[$db_sbr] as $exfld) {
$query_limit = $cfg['projects']['offersperpage'] > 0 ? "LIMIT {$d}, " . $cfg['projects']['offersperpage'] : ''; $totalitems = $db->query("SELECT COUNT(*) FROM {$db_projects_offers} AS o \n\tLEFT JOIN {$db_projects} AS p ON o.offer_pid=p.item_id\n\t" . $where . "")->fetchColumn(); $sql = $db->query("SELECT o.* FROM {$db_projects_offers} AS o\n\tLEFT JOIN {$db_projects} AS p ON o.offer_pid=p.item_id\n\t" . $where . "\n\t" . $order . "\n\t" . $query_limit . ""); if ($cfg['projects']['offersperpage'] > 0) { $pagenav = cot_pagenav('projects', 'm=useroffers&choise=' . $choise, $d, $totalitems, $cfg['projects']['offersperpage']); $t->assign(array("PAGENAV_PAGES" => $pagenav['main'], "PAGENAV_PREV" => $pagenav['prev'], "PAGENAV_NEXT" => $pagenav['next'])); } $catpatharray[] = array(cot_url('projects'), $L['projects']); $catpatharray[] = array('', $L['offers_useroffers']); $catpath = cot_breadcrumbs($catpatharray, $cfg['homebreadcrumb'], true); $t->assign(array("BREADCRUMBS" => $catpath)); /* === Hook === */ $extp = cot_getextplugins('projects.useroffers.loop'); /* ===== */ while ($offer = $sql->fetch()) { $t->assign(cot_generate_projecttags($offer['offer_pid'], 'OFFER_ROW_PROJECT_')); $t->assign(array("OFFER_ROW_DATE" => date('d.m.Y H:i', $offer['offer_date']), "OFFER_ROW_TEXT" => cot_parse($offer['offer_text']), "OFFER_ROW_COSTMIN" => number_format($offer['offer_cost_min'], '0', '.', ' '), "OFFER_ROW_COSTMAX" => number_format($offer['offer_cost_max'], '0', '.', ' '), "OFFER_ROW_TIMEMIN" => $offer['offer_time_min'], "OFFER_ROW_TIMEMAX" => $offer['offer_time_max'], "OFFER_ROW_TIMETYPE" => $L['offers_timetype'][$offer['offer_time_type']], "OFFER_ROW_CHOISE" => $offer['offer_choise'])); /* === Hook - Part2 : Include === */ foreach ($extp as $pl) { include $pl; } /* ===== */ $t->parse("MAIN.OFFER_ROWS"); } /* === Hook === */ foreach (cot_getextplugins('projects.useroffers.tags') as $pl) { include $pl; } /* ===== */ $t->parse("MAIN"); $module_body = $t->text('MAIN');
if (!empty($c) && isset($structure['projects'][$c])) { $mtch = $structure['projects'][$c]['path'] . "."; $mtchlen = mb_strlen($mtch); $catsub = array(); $catsub[] = $c; foreach ($structure['projects'] as $i => $x) { if (mb_substr($x['path'], 0, $mtchlen) == $mtch) { $catsub[] = $i; } } $sqllist = $db->query("SELECT p.*, u.* FROM {$db_projects} AS p\n\t\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_projects} AS p\n\t\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('projects', 'c=' . $row['item_cat'] . '&id=' . $row['item_id'], '', true) : cot_url('projects', '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_projecttags($row); $i++; } $sqllist->closeCursor(); }