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');
}
示例#4
0
/* === 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');
示例#5
0
     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;
示例#6
0
function cot_getmarketlist($template = 'index', $count = 5, $sqlsearch = '', $order = "item_date DESC")
{
    global $db, $db_market, $cfg, $db_users;
    list($usr['auth_read'], $usr['auth_write'], $usr['isadmin']) = cot_auth('market', 'any', 'RWA');
    $t = new XTemplate(cot_tplfile(array('market', $template), 'module'));
    $sqlsearch = !empty($sqlsearch) ? " AND " . $sqlsearch : '';
    $sqllist = $db->query("SELECT * FROM {$db_market} AS p LEFT JOIN {$db_users} AS u ON u.user_id=p.item_userid\n\tWHERE item_state=0 {$sqlsearch} ORDER BY {$order} LIMIT " . (int) $count);
    $sqllist_rowset = $sqllist->fetchAll();
    $sqllist_idset = array();
    foreach ($sqllist_rowset as $item) {
        $sqllist_idset[$item['item_id']] = $item['item_alias'];
    }
    foreach ($sqllist_rowset as $item) {
        $jj++;
        $t->assign(cot_generate_usertags($item, 'PRD_ROW_OWNER_'));
        $t->assign(cot_generate_markettags($item, 'PRD_ROW_', $cfg['market']['shorttextlen'], $usr['isadmin'], $cfg['homebreadcrumb']));
        $t->assign(array("PRD_ROW_ODDEVEN" => cot_build_oddeven($jj)));
        $t->parse("MARKET.PRD_ROWS");
    }
    $t->parse("MARKET");
    return $t->text("MARKET");
}
示例#7
0
/**
 * 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;
}
示例#8
0
/* === 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');
示例#9
0
 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');
         }
示例#10
0
$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) {
示例#11
0
             }
             /* ===== */
         }
         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;
     }
示例#12
0
/* === 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;
}
/* ===== */
示例#13
0
$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'])));
示例#14
0
        }
        /* ===== */
        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;
    }
示例#15
0
    $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();
}
示例#17
0
  [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;
}
/* ===== */
示例#19
0
}
// 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 '';
}
示例#21
0
/**
 * 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;
}
示例#22
0
         $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) {
示例#24
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 . '&quote=' . $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'];
示例#25
0
$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');
示例#26
0
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');
}
示例#27
0
        /* ===== */
        /* === 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;
示例#28
0
} 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';
示例#29
0
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');
示例#30
0
    }
}
$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  === */