if (!empty($where)) { $sql = "SELECT C.`id`,C.`topic`,C.`youtube` FROM `" . DB_VIDEO . "` AS C"; $sql .= " INNER JOIN `" . DB_MODULES . "` AS M ON M.`owner`='video' AND M.`id`=C.`module_id` {$where}"; $list = $cache->get($sql); if (!$list) { $list = $db->customQuery($sql); $cache->save($sql, $list); } if (empty($cols) && sizeof($list) == 1) { $youtube = $list[0]['youtube']; } } $widget = array(); if (empty($youtube)) { $patt = array('/{ID}/', '/{THUMB}/', '/{YOUTUBE}/', '/{TOPIC}/', '/{DESCRIPTION}/', '/{VIEWS}/', '/{COLS}/'); $skin = gcms::loadtemplate('video', 'video', 'listitem'); $a = gcms::rndname(5); $widget[] = '<div class=video_list id=video_list_' . $a . '><div class="ggrid margin-box">'; foreach ($list as $i => $item) { $replace = array(); $replace[] = $item['id']; $replace[] = is_file(DATA_PATH . "video/{$item['youtube']}.jpg") ? DATA_URL . "video/{$item['youtube']}.jpg" : WEB_URL . '/modules/video/img/nopicture.jpg'; $replace[] = $item['youtube']; $replace[] = $item['topic']; $replace[] = gcms::getVars($item, 'description', ''); $replace[] = gcms::getVars($item, 'views', ''); $replace[] = $cols; $widget[] = preg_replace($patt, $replace, $skin); } $widget[] = '</div></div>'; $widget[] = '<script>';
<?php // modules/member/forgot.php if (defined('MAIN_INIT')) { // title $title = $lng['LNG_FORGOT_TITLE']; // breadcrumbs $breadcrumb = gcms::loadtemplate('', '', 'breadcrumb'); $breadcrumbs = array(); // หน้าหลัก $breadcrumbs['HOME'] = gcms::breadcrumb('icon-home', WEB_URL . '/index.php', $install_modules[$module_list[0]]['menu_tooltip'], $install_modules[$module_list[0]]['menu_text'], $breadcrumb); // url ของหน้านี้ $breadcrumbs['MODULE'] = gcms::breadcrumb('', gcms::getURL('forgot'), $lng['LNG_FORGOT_TITLE'], $lng['LNG_FORGOT_TITLE'], $breadcrumb); if (isset($config['custom_forgot']) && is_file(ROOT_PATH . $config['custom_forgot'])) { // custom register form include ROOT_PATH . $config['custom_forgot']; } else { // แสดงฟอร์ม member/forgotfrm.html $patt = array('/{BREADCRUMS}/', '/{(LNG_[A-Z0-9_]+)}/e', '/{WEBURL}/', '/{MODAL}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = OLD_PHP ? '$lng[\'$1\']' : 'gcms::getLng'; $replace[] = WEB_URL; $replace[] = gcms::getVars($_POST, 'action', '') == 'modal' ? 'true' : 'false'; $content = gcms::pregReplace($patt, $replace, gcms::loadtemplate('member', 'member', 'forgotfrm')); } // เลือกเมนู $menu = 'forgot'; }
if (defined('MAIN_INIT') && preg_match('/^[a-z0-9]{4,}$/', $module) && isset($install_modules[$module])) { // module $index = $install_modules[$module]; // อ่าน config gcms::r2config($index['config'], $index); // ค่าที่ส่งมา $id = $index['module_id']; $cat = isset($cat) ? $cat : 0; $new_date = (int) $index['new_date']; $interval = isset($interval) ? (int) $interval : 0; $cols = isset($cols) ? (int) $cols : 1; $rows = isset($rows) ? (int) $rows : 0; $show = isset($show) && preg_match('/^[a-z0-9]+$/', $show) ? $show : ''; if ($rows > 0) { $count = $rows * $cols; } else { $count = isset($count) ? (int) $count : 0; $count = $count == 0 ? $index['news_count'] : $count; } $sort = isset($sort) ? (int) $sort : $index['news_sort']; if ($count > 0) { $styles = isset($styles) && in_array($styles, array('list', 'icon', 'thumb')) ? $styles : 'list'; // แสดงผล $patt = array('/{ID}/', '/{DETAIL}/', '/{MODULE}/'); $replace = array(); $replace[0] = "widget_" . (empty($index['module']) ? '' : $index['module']) . "_{$id}_{$cat}_{$count}_{$new_date}_{$sort}_{$cols}_{$styles}_{$show}"; $replace[1] = "<script>getWidgetNews('{$replace['0']}', 'document', {$interval});</script>"; $replace[2] = $index['module']; $widget = preg_replace($patt, $replace, gcms::loadtemplate($index['module'], 'document', 'widget')); } }
$t = $m; } $canonical = gcms::getURL($index['module']); $breadcrumbs['MODULE'] = gcms::breadcrumb('', $canonical, $t, $m, $breadcrumb); // อัลบัม $canonical = gcms::getURL($index['module'], '', 0, 0, "id={$index['category_id']}"); $index['category'] = gcms::ser2Str($index, 'category'); $breadcrumbs['CATEGORY'] = gcms::breadcrumb('', $canonical, $index['category'], $index['category'], $breadcrumb); // แสดงผล list รายการ $patt = array('/{BREADCRUMS}/', '/{NAME}/', '/{POSITION}/', '/{CATEGORY}/', '/{DETAIL}/', '/{ADDRESS}/', '/{PHONE}/', '/{EMAIL}/', '/{PICTURE}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = $index['name']; $replace[] = $index['position']; $replace[] = $index['category']; $replace[] = $index['detail']; $replace[] = $index['address']; $replace[] = $index['phone']; $replace[] = $index['email']; $replace[] = $index['picture'] != '' && is_file(DATA_PATH . "personnel/{$index['picture']}") ? DATA_URL . "personnel/{$index['picture']}" : WEB_URL . '/modules/personnel/img/noicon.jpg'; $content = preg_replace($patt, $replace, gcms::loadtemplate($index['module'], 'personnel', 'view')); // ตัวแปรหลังจากแสดงผลแล้ว $custom_patt['/{W}/'] = $config['personnel_image_w']; // title,keywords,description $title = $index['topic']; $keywords = $index['keywords']; $description = $index['description']; } // เลือกเมนู $menu = empty($install_modules[$index['module']]['alias']) ? $index['module'] : $install_modules[$index['module']]['alias']; }
$breadcrumbs['HOME'] = gcms::breadcrumb('icon-home', $canonical, $install_modules[$module_list[0]]['menu_tooltip'], $install_modules[$module_list[0]]['menu_text'], $breadcrumb); // breadcrumb ของ โมดูล $breadcrumbs['MODULE'] = gcms::breadcrumb('', gcms::getURL($index['module']), $install_modules[$index['module']]['menu_tooltip'], $install_modules[$index['module']]['menu_text'], $breadcrumb); // antispam $register_antispamchar = gcms::rndname(32); $_SESSION[$register_antispamchar] = gcms::rndname(4); // แสดงผล $patt = array('/{BREADCRUMS}/', '/{ANTISPAM}/', '/{ANTISPAMVAL}/', '/{QID}/', '/{RID}/', '/{DETAIL}/', '/{MODULEID}/', '/{TOPIC}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = $register_antispamchar; $replace[] = $isAdmin ? $_SESSION[$register_antispamchar] : ''; $replace[] = $index['index_id']; $replace[] = $index['id']; $replace[] = htmlspecialchars(preg_replace('/'/', "'", $index['detail'])); $replace[] = $index['module_id']; $replace[] = $index['topic']; $content = preg_replace($patt, $replace, gcms::loadtemplate($index['module'], 'document', 'editreply')); // title,keywords,description $title = "{$lng['LNG_EDIT']} {$index['topic']}"; $keywords = $title; $description = $title; } else { $title = $lng['LNG_DATA_NOT_FOUND']; $content = '<div class=error>' . $title . '</div>'; } } else { $title = $lng['LNG_DOCUMENT_NOT_FOUND']; $content = '<div class=error>' . $title . '</div>'; } }
// title $title = $lng['LNG_REGISTER_TITLE']; // breadcrumbs $breadcrumb = gcms::loadtemplate('', '', 'breadcrumb'); $breadcrumbs = array(); // หน้าหลัก $breadcrumbs['HOME'] = gcms::breadcrumb('icon-home', WEB_URL . '/index.php', $install_modules[$module_list[0]]['menu_tooltip'], $install_modules[$module_list[0]]['menu_text'], $breadcrumb); // url ของหน้านี้ $breadcrumbs['MODULE'] = gcms::breadcrumb('', gcms::getURL('register'), $lng['LNG_REGISTER_TITLE'], $lng['LNG_REGISTER_TITLE'], $breadcrumb); if (isset($config['custom_register']) && is_file(ROOT_PATH . $config['custom_register'])) { // custom register form include ROOT_PATH . $config['custom_register']; } else { // antispam $register_antispamchar = gcms::rndname(32); $_SESSION[$register_antispamchar] = gcms::rndname(4); // แสดงฟอร์ม registerfrm.html $patt = array('/{BREADCRUMS}/', '/<PHONE>(.*)<\\/PHONE>/isu', '/<IDCARD>(.*)<\\/IDCARD>/isu', '/<INVITE>(.*)<\\/INVITE>/isu', '/{(LNG_[A-Z0-9_]+)}/e', '/{ANTISPAM}/', '/{WEBURL}/', '/{MODAL}/', '/{INVITE}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = empty($config['member_phone']) ? '' : '\\1'; $replace[] = empty($config['member_idcard']) ? '' : '\\1'; $replace[] = empty($config['member_invitation']) ? '' : '\\1'; $replace[] = OLD_PHP ? '$lng[\'$1\']' : 'gcms::getLng'; $replace[] = $register_antispamchar; $replace[] = WEB_URL; $replace[] = gcms::getVars($_POST, 'action', '') != 'modal' ? 'false' : 'true'; $replace[] = gcms::getVars($_COOKIE, PREFIX . '_invite', ''); $content = gcms::pregReplace($patt, $replace, gcms::loadtemplate('member', 'member', 'registerfrm')); } }
if (!empty($match[9]) && preg_match('/^[a-z0-9]+$/', $match[9])) { $sql .= " AND Q.`show_news` LIKE '%" . $match[9] . "=1%'"; } $sql .= " AND Q.`published`='1' AND Q.`published_date`<='" . date('Y-m-d', $mmktime) . "' AND Q.`index`='0'"; $sql .= " ORDER BY " . $sorts[$match[6]] . " LIMIT {$match['4']}"; $datas = $cache->get($sql); if (!$datas) { $datas = $db->customQuery($sql); $cache->save($sql, $datas); } // styles $styles = in_array($match[8], array('list', 'icon', 'thumb')) ? $match[8] : 'list'; // เครื่องหมาย new $valid_date = $mmktime - $match[5]; // template $skin = gcms::loadtemplate($index['module'], 'document', 'widgetitem'); $patt = array('/{BG}/', '/{URL}/', '/{TOPIC}/', '/{DETAIL}/', '/{CATEGORY}/', '/{DATE}/', '/{UID}/', '/{SENDER}/', '/{STATUS}/', '/{COMMENTS}/', '/{VISITED}/', '/{THUMB}/', '/{ICON}/'); $widget = array(); $bg = 'bg2'; foreach ($datas as $i => $item) { if ($i > 0 && $i % $match[7] == 0) { $widget[] = '</div><div class="row ' . $styles . 'view">'; } $bg = $bg == 'bg1' ? 'bg2' : 'bg1'; $replace = array(); $replace[] = "{$bg} background" . rand(0, 5); if ($config['module_url'] == '1') { $replace[] = gcms::getURL($index['module'], $item['alias']); } else { $replace[] = gcms::getURL($index['module'], '', 0, $item['id']); }
if (defined('MAIN_INIT')) { $id = gcms::rndname(10); $widget = array(); $widget[] = '<div id=widget_' . $id . ' class="document-list download"><div class="row listview">'; $sql = "SELECT * FROM `" . DB_DOWNLOAD . "` WHERE `module_id`=(SELECT `id` FROM `" . DB_MODULES . "` WHERE `owner`='download' LIMIT 1)"; if (!empty($cat)) { $sql .= ' AND `category_id`=' . (int) $cat; } $sql .= " ORDER BY `last_update` DESC LIMIT {$config['download_news_count']}"; $list = $cache->get($sql); if (!$list) { $list = $db->customQuery($sql); $cache->save($sql, $list); } // template $skin = gcms::loadtemplate($module, 'download', 'widgetitem'); $patt = array('/{BG}/', '/{NAME}/', '/{EXT}/', '/{DETAIL}/', '/{DATE}/', '/{ICON}/', '/{ID}/', '/{DOWNLOADS}/'); $bg = 'bg2'; foreach ($list as $item) { $bg = $bg == 'bg1' ? 'bg2' : 'bg1'; $replace = array(); $replace[] = "{$bg} background" . rand(0, 5); $replace[] = $item['name']; $replace[] = $item['ext']; $replace[] = $item['detail']; $replace[] = gcms::mktime2date($item['last_update'], 'd M Y'); $replace[] = WEB_URL . '/skin/ext/' . (is_file(ROOT_PATH . "skin/ext/{$item['ext']}.png") ? $item['ext'] : 'file') . '.png'; $replace[] = $item['id']; $replace[] = $item['downloads']; $widget[] = preg_replace($patt, $replace, $skin); }
$replace[] = $item['youtube']; $replace[] = $item['topic']; $replace[] = $item['description']; $replace[] = $item['views']; $items[] = preg_replace($patt, $replace, $skin); } // URL สำหรับแบ่งหน้า $url = '<a href="' . gcms::getURL($index['module'], '', 0, 0, "page=%d") . '">%d</a>'; // แสดงผล list รายการ $patt = array('/{BREADCRUMS}/', '/{TOPIC}/', '/{DETAIL}/', '/{LIST}/', '/{SPLITPAGE}/', '/{COLS}/', '/{ID}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = $index['topic']; $replace[] = nl2br($index['detail']); $replace[] = implode("\n", $items); $replace[] = gcms::pagination($totalpage, $page, $url); $replace[] = $config['video_cols']; $replace[] = $index['module_id']; $content = preg_replace($patt, $replace, gcms::loadtemplate($index['module'], 'video', 'list')); } // title,keywords,description $title = $index['topic']; $keywords = $index['keywords']; $description = $index['description']; // เลือกเมนู $menu = empty($install_modules[$index['module']]['alias']) ? $index['module'] : $install_modules[$index['module']]['alias']; } else { $title = $lng['LNG_DATA_NOT_FOUND']; $content = '<div class=error>' . $title . '</div>'; } }
} // tabs $tabs = array(); foreach ($member_tabs as $key => $values) { if ($values[0] != '') { if ($key == $tab) { $class = "tab select {$key}"; $title = $title == '' ? $lng[mb_substr($values[0], 1, -1)] : $title; } else { $class = "tab {$key}"; } if (preg_match('/^http:\\/\\/.*/', $values[1])) { $tabs[] = '<li class="' . $class . '"><a href="' . $values[1] . '">' . $values[0] . '</a></li>'; } else { $tabs[] = '<li class="' . $class . '"><a href="{WEBURL}/index.php?module=editprofile&tab=' . $key . '">' . $values[0] . '</a></li>'; } } } $patt = array('/{BREADCRUMS}/', '/{TAB}/', '/{DETAIL}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = implode('', $tabs); $replace[] = $content; $content = preg_replace($patt, $replace, gcms::loadtemplate('member', 'member', 'main')); // เลือกเมนูตาม tab $menu = $tab; } } else { $title = $lng['LNG_LOGIN_NOT_FOUND']; $content = '<div class=error>' . $title . '</div>'; }
foreach ($datas as $item) { $replace = array(); $replace[] = $item['color']; $replace[] = gcms::getUrl($index['module'], '', 0, 0, "id={$item['id']}"); $replace[] = $item['topic']; $replace[] = $item['description']; preg_match('/^(([0-9]+):([0-9]+)):[0-9]+$/', $item['t'], $m); $replace[] = $m[1]; $calendar[] = preg_replace($patt, $replace, $skin); } // แสดงผล $patt = array('/{BREADCRUMS}/', '/{LIST}/', '/{TOPIC}/', '/{(LNG_[A-Z0-9_]+)}/e', '/{YEAR}/', '/{MONTH}/', '/{DATE}/', '/{URL}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = implode('', $calendar); $replace[] = $index['topic']; $replace[] = OLD_PHP ? '$lng[\'$1\']' : 'gcms::getLng'; $replace[] = (int) $match[1] + $lng['YEAR_OFFSET']; $replace[] = $lng['MONTH_SHORT'][(int) $match[2] - 1]; $replace[] = (int) $match[3]; $replace[] = $canonical; $content = gcms::pregReplace($patt, $replace, gcms::loadtemplate($index['module'], 'event', 'day')); // title,keywords,description $title = $index['topic']; $keywords = $index['keywords']; $description = $index['detail']; } } else { $title = $lng['LNG_DATA_NOT_FOUND']; $content = '<div class=error>' . $title . '</div>'; }
$content = '<div class=error>' . $title . '</div>'; } else { // antispam $register_antispamchar = gcms::rndname(32); $_SESSION[$register_antispamchar] = gcms::rndname(4); // title $title = $lng['LNG_SENDMAIL_TITLE']; // breadcrumbs $breadcrumb = gcms::loadtemplate('', '', 'breadcrumb'); $breadcrumbs = array(); // หน้าหลัก $breadcrumbs['HOME'] = gcms::breadcrumb('icon-home', WEB_URL . '/index.php', $install_modules[$module_list[0]]['menu_tooltip'], $install_modules[$module_list[0]]['menu_text'], $breadcrumb); // แสดงผล member/sendmail.html $patt = array('/{BREADCRUMS}/', '/{(LNG_[A-Z0-9_]+)}/e', '/{TITLE}/', '/{SENDER}/', '/{RECIEVER}/', '/{RECIEVERID}/', '/{ANTISPAM}/', '/{ANTISPAMVAL}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = OLD_PHP ? '$lng[\'$1\']' : 'gcms::getLng'; $replace[] = $title; $replace[] = $isMember ? $_SESSION['login']['email'] : ''; $replace[] = implode(',', $emails); $replace[] = implode(',', $ids); $replace[] = $register_antispamchar; $replace[] = $isAdmin ? $_SESSION[$register_antispamchar] : ''; $content = gcms::pregReplace($patt, $replace, gcms::loadtemplate('member', 'member', 'sendmail')); // เลือกเมนู $menu = 'sendmail'; } } else { $title = $lng['LNG_NOT_LOGIN']; $content = '<div class=error>' . $title . '</div>'; }
<?php // modules/board/categories.php if (defined('MAIN_INIT') && is_array($index)) { // list รายการหมวดหมู่ $listitem = gcms::loadtemplate($index['module'], 'board', 'categoryitem'); $patt = array('/{THUMB}/', '/{URL}/', '/{TOPIC}/', '/{COUNT}/', '/{COMMENTS}/', '/{DETAIL}/'); $sql = "SELECT * FROM `" . DB_CATEGORY . "` WHERE `module_id`='{$index['id']}' ORDER BY `category_id` DESC"; $datas = $cache->get($sql); if (!$datas) { $datas = $db->customQuery($sql); $cache->save($sql, $datas); } foreach ($datas as $item) { $replace = array(); $icon = gcms::ser2Str($item, 'icon'); if ($icon != '' && is_file(DATA_PATH . "board/{$icon}")) { $replace[] = DATA_URL . "board/{$icon}"; } else { $replace[] = WEB_URL . "/{$index['default_icon']}"; } $replace[] = gcms::getURL($index['module'], '', $item['category_id']); $replace[] = gcms::ser2Str($item, 'topic'); $replace[] = $item['c1']; $replace[] = $item['c2']; $replace[] = gcms::ser2Str($item, 'detail'); $list[] = preg_replace($patt, $replace, $listitem); } // canonical if ($index['module'] != $module_list[0]) { $canonical = gcms::getURL($index['module']);
// breadcrumbs $breadcrumb = gcms::loadtemplate('', '', 'breadcrumb'); $breadcrumbs = array(); // หน้าหลัก $breadcrumbs['HOME'] = gcms::breadcrumb('icon-home', WEB_URL . '/index.php', $install_modules[$module_list[0]]['menu_tooltip'], $install_modules[$module_list[0]]['menu_text'], $breadcrumb); // หน้าค้นหา $canonical = WEB_URL . '/index.php?module=search&q=' . urlencode($search); $breadcrumbs['MODULE'] = gcms::breadcrumb('', $canonical, '{LNG_SEARCH}', '{LNG_SEARCH}', $breadcrumb); // แสดงผล $patt = array('/{BREADCRUMS}/', '/{(LNG_[A-Z0-9_]+)}/e', '/{WEBURL}/', '/{MODULE}/', '/{SEARCH}/', '/{RESULT}/', '/{LIST}/', '/{SPLITPAGE}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = OLD_PHP ? '$lng[\'$1\']' : 'gcms::getLng'; $replace[] = WEB_URL; $replace[] = $module; $replace[] = $search; $replace[] = sizeof($list) == 0 ? '' : sprintf($lng['ALL_SEARCH'], $start + 1, $end, $rows, $search, number_format($time_end - $time_start, 4)); if ($search == '') { $replace[] = $lng['LNG_SEARCH_TIP']; } elseif (sizeof($list) == 0) { $replace[] = sprintf($lng['LNG_SEARCH_NOT_FOUND'], $search) . $lng['LNG_SEARCH_TIP']; } else { $replace[] = gcms::HighlightSearch(implode("\n", $list), $search); } $replace[] = $splitpage; $content = gcms::pregReplace($patt, $replace, gcms::loadtemplate('search', 'search', 'search')); // title, keywords, description $title = ($search == '' ? "" : "{$search} - ") . $lng['LNG_SEARCH']; $keywords = "{$title} {$keywords}"; $description = "{$title} {$description}"; }
} elseif ($result['displayname'] != '') { $u[] = $result['displayname']; } else { $u[] = $result['email']; } $replace[] = implode(' ', $u); if (is_file(ROOT_PATH . 'modules/pm/send.php')) { $replace[] = '<a class=icon-email-sent title="{LNG_PM_SEND_TITLE}" href="index.php?module=pm-send&to=' . $result['id'] . '"> </a>'; } else { $replace[] = '<a class=icon-email-sent title="{LNG_MAIL_TO}" href="index.php?module=sendmail&to=' . $result['id'] . '"> </a>'; } $replace[] = in_array($result['sex'], array_keys($lng['SEX'])) ? $result['sex'] : 'u'; $replace[] = gcms::mktime2date($result['create_date'], 'd M Y'); $replace[] = $result['website'] == '' ? '-' : "<a href=\"http://{$result['website']}\" target=_blank>{$result['website']}</a>"; $replace[] = number_format($result['visited']); $replace[] = $result['fb'] == 1 ? 'icon-facebook' : ''; $replace[] = gcms::mktime2date($result['lastvisited'], 'd M Y'); $replace[] = $result['post']; $replace[] = $result['reply']; $replace[] = $config['member_status'][(int) $result['status']]; $replace[] = $result['point']; $replace[] = OLD_PHP ? '$lng[\'$1\']' : 'gcms::getLng'; $content = gcms::pregReplace($patt, $replace, gcms::loadtemplate('member', 'member', 'view')); } else { $title = $lng['LNG_ID_NOT_FOUND']; $content = '<div class=error>' . $title . '</div>'; } } else { $title = $lng['LNG_DATA_NOT_FOUND']; $content = '<div class=error>' . $title . '</div>'; }
$start = $index['list_per_page'] * ($page - 1); // เรียงลำดับ $sorts = array('I.`last_update` DESC,I.`id` DESC', 'I.`create_date` DESC,I.`id` DESC', 'I.`published_date` DESC,I.`last_update` DESC', 'I.`id` DESC'); // query $sql = "SELECT M.`module`,I.`id`,D.`topic`,I.`alias`,D.`description`,I.`last_update`,I.`create_date`,I.`comment_date`,I.`visited`,I.`comments`,I.`picture`,I.`member_id`,U.`status`,U.`displayname`,U.`email`"; $sql .= " {$sql1} LEFT JOIN `" . DB_USER . "` AS U ON U.`id`=I.`member_id` {$where}"; $sql .= " ORDER BY " . $sorts[$index['sort']] . " LIMIT {$start},{$index['list_per_page']}"; $datas = $cache->get($sql); if (!$datas) { $datas = $db->customQuery($sql); $cache->save($sql, $datas); } // วันที่สำหรับเครื่องหมาย new $valid_date = $mmktime - $index['new_date']; // อ่านรายการลงใน $list $listitem = gcms::loadtemplate($index['module'], 'document', 'listitem'); $patt = array('/{ID}/', '/{URL}/', '/{TOPIC}/', '/{DETAIL}/', '/{UID}/', '/{SENDER}/', '/{STATUS}/', '/{DATE}/', '/{DATEISO}/', '/{VISITED}/', '/{COMMENTS}/', '/{THUMB}/', '/{ICON}/'); foreach ($datas as $item) { $replace = array(); $replace[] = $item['id']; if ($config['module_url'] == '1') { $replace[] = gcms::getURL($item['module'], $item['alias']); } else { $replace[] = gcms::getURL($item['module'], '', 0, $item['id']); } $replace[] = $item['topic']; $replace[] = $item['description']; $replace[] = $item['member_id']; $replace[] = empty($item['displayname']) ? $item['email'] : $item['displayname']; $replace[] = $item['status']; $replace[] = gcms::mktime2date($item['create_date'], 'd M Y');
$sql .= " FROM `" . DB_BOARD_Q . "` AS Q"; $sql .= " LEFT JOIN `" . DB_USER . "` AS U ON U.`id`=(CASE WHEN Q.`comment_date`>0 THEN Q.`commentator_id` ELSE Q.`member_id` END)"; $sql .= " WHERE Q.`module_id`={$index['id']}"; if ($match[3] > 0) { $sql .= " AND Q.`category_id`={$match['3']}"; } $sql .= " ORDER BY Q.`last_update` DESC LIMIT {$match['4']}"; $datas = $cache->get($sql); if (!$datas) { $datas = $db->customQuery($sql); $cache->save($sql, $datas); } // เครื่องหมาย new $valid_date = $mmktime - $match[5]; // template $skin = gcms::loadtemplate($index['module'], 'board', 'widgetitem'); $patt = array('/{BG}/', '/{URL}/', '/{TOPIC}/', '/{DATE}/', '/{UID}/', '/{SENDER}/', '/{STATUS}/', '/{THUMB}/', '/{ICON}/'); $widget = array(); $bg = 'bg2'; foreach ($datas as $item) { $bg = $bg == 'bg1' ? 'bg2' : 'bg1'; $replace = array(); $replace[] = "{$bg} background" . rand(0, 5); $replace[] = gcms::getURL($index['module'], '', 0, 0, "wbid={$item['id']}"); $replace[] = $item['topic']; $replace[] = gcms::mktime2date($item['comment_date'] > 0 ? $item['comment_date'] : $item['last_update']); $replace[] = $item['member_id']; $replace[] = $item['displayname']; $replace[] = $item['status']; if ($item['picture'] != '' && is_file(DATA_PATH . "board/thumb-{$item['picture']}")) { $replace[] = DATA_URL . "board/thumb-{$item['picture']}";
$meta['og:title'] = '<meta property="og:title" content="' . $title . '">'; $meta['og:site_name'] = '<meta property="og:site_name" content="' . strip_tags($config['web_title']) . '">'; $meta['og:type'] = '<meta property="og:type" content="article">'; $main_patt['/{URL}/'] = $canonical; $main_patt['/{XURL}/'] = rawurlencode($canonical); $main_patt['/{META}/'] = implode("\n", $meta); // javascript $main_patt['/{SCRIPT}/'] = implode("\n", $script); // เวลาประมวลผล $main_patt['/{ELAPSED}/'] = sprintf('%.3f', microtime(true) - BEGIN_TIME); // จำนวน query $main_patt['/{QURIES}/'] = $db->query_count(); // path ของ tempalate $main_patt['/{SKIN}/'] = SKIN; // ภาษาที่เลือก $main_patt['/{LANGUAGE}/'] = LANGUAGE; // URL ของเว็บไซต์ $main_patt['/{WEBURL}/'] = WEB_URL; // URL ของ datas/ $main_patt['/{DATAURL}/'] = DATA_URL; // ชื่อเว็บ $main_patt['/{WEBTITLE}/'] = $config['web_title']; $main_patt['/{SITENAME}/'] = strip_tags($config['web_title']); // คำอธิบายย่อของเว็บ $main_patt['/{WEBDESCRIPTION}/'] = $config['web_description']; // ตัวแปรหลังจากแสดงผลแล้ว $main_patt = array_merge($main_patt, $custom_patt); // แสดงผล echo gcms::pregReplace(array_keys($main_patt), array_values($main_patt), gcms::loadtemplate('index', '', 'index')); } }
if ($template == '') { $template = gcms::loadtemplate('member', 'member', 'loginfrm'); } $content = gcms::pregReplace($patt, $replace, $template); } } elseif (!empty($config['custom_member']) && is_file(ROOT_PATH . $config['custom_member'])) { // custom member form include_once ROOT_PATH . $config['custom_member']; } else { // กรอบข้อมูลสมาชิก $patt = array('/{BREADCRUMS}/', '/{WEBTITLE}/', '/{SUBTITLE}/', '/{WEBURL}/', '/{DISPLAYNAME}/', '/{ID}/', '/{STATUS}/', '/{ADMIN}/', '/{(LNG_[A-Z0-9_]+)}/e', '/{FACEBOOK}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = $config['web_title']; $replace[] = $error == '' ? $config['web_description'] : '<span class=error>' . $error . '</span>'; $replace[] = WEB_URL; $replace[] = empty($login_result['displayname']) ? $login_result['email'] : $login_result['displayname']; $replace[] = $login_result['id']; $replace[] = $login_result['status']; $replace[] = isset($login_result['admin_access']) && ($login_result['admin_access'] == 1 || $_SESSION['login']['status'] == 1) ? 'admin' : ' hidden'; $replace[] = OLD_PHP ? '$lng[\'$1\']' : 'gcms::getLng'; $replace[] = empty($config['facebook']['appId']) ? 'hidden' : 'facebook'; $template = gcms::loadtemplate('member', 'member', 'member'); if ($template == '') { $template = gcms::loadtemplate('member', 'member', 'memberfrm'); } $content = gcms::pregReplace($patt, $replace, $template); } // เลือกเมนู $menu = 'login'; }
$categories[$item['category_id']] = "<option value={$item['category_id']}{$sel}>" . gcms::ser2Str($item, 'topic') . "</option>"; } } if (sizeof($categories) > 1) { unset($categories[0]); } // antispam $register_antispamchar = gcms::rndname(32); $_SESSION[$register_antispamchar] = gcms::rndname(4); // แสดงผล $patt = array('/{BREADCRUMS}/', '/<MEMBER>(.*)<\\/MEMBER>/s', '/<UPLOAD>(.*)<\\/UPLOAD>/s', '/{CATEGORIES}/', '/{(LNG_[A-Z0-9_]+)}/e', '/{LOGIN_PASSWORD}/', '/{LOGIN_EMAIL}/', '/{ANTISPAM}/', '/{ANTISPAMVAL}/', '/{SIZE}/', '/{TYPE}/', '/{MODULEID}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = $isMember ? '' : '$1'; $replace[] = $index['img_upload_type'] == '' ? '' : '$1'; $replace[] = implode("\n", $categories); $replace[] = OLD_PHP ? '$lng[\'$1\']' : 'gcms::getLng'; $replace[] = $login['password']; $replace[] = $login['email']; $replace[] = $register_antispamchar; $replace[] = $isAdmin ? $_SESSION[$register_antispamchar] : ''; $replace[] = $index['img_upload_size']; $replace[] = empty($index['img_upload_type']) ? ' ' : $index['img_upload_type']; $replace[] = $index['module_id']; $content = gcms::pregReplace($patt, $replace, gcms::loadtemplate($index['module'], 'board', 'write')); // title $title = $lng['LNG_BOARD_NEW'] . ' ' . $install_modules[$index['module']]['menu_text']; // เลือกเมนู $menu = empty($install_modules[$index['module']]['alias']) ? $index['module'] : $install_modules[$index['module']]['alias']; } }
$replace[] = $item['detail']; $replace[] = $item['count']; $replace[] = $item['visited']; $items[] = gcms::pregReplace($patt, $replace, $skin); } // URL สำหรับแบ่งหน้า $qs[] = 'page=%d'; $url = '<a href="' . gcms::getURL($index['module'], '', 0, 0, implode('&', $qs)) . '">%d</a>'; // แสดงผล list รายการ $patt = array('/{BREADCRUMS}/', '/{TOPIC}/', '/{DETAIL}/', '/{LIST}/', '/{SPLITPAGE}/', '/{COLS}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = $index['topic']; $replace[] = nl2br($index['detail']); $replace[] = implode("\n", $items); $replace[] = gcms::pagination($totalpage, $page, $url); $replace[] = $config['gallery_cols']; $content = preg_replace($patt, $replace, gcms::loadtemplate($index['module'], 'gallery', 'album')); } // title,keywords,description $title = $index['topic']; $keywords = $index['keywords']; $description = $index['description']; // เลือกเมนู $menu = $install_modules[$index['module']]['alias']; $menu = $menu == '' ? $index['module'] : $menu; } else { $title = $lng['LNG_DATA_NOT_FOUND']; $content = '<div class=error>' . $title . '</div>'; } }
} elseif ($start + $maxlink > $totalpage) { $start = $totalpage - $maxlink + 1; } } else { $start = 1; } $splitpage = $start > 2 ? str_replace('%1', 1, $url) : ''; for ($i = $start; $i <= $totalpage && $maxlink > 0; $i++) { $splitpage .= $i == $page ? '<strong>' . $i . '</strong>' : str_replace('%1', $i, $url); $maxlink--; } $splitpage .= $i < $totalpage ? str_replace('%1', $totalpage, $url) : ''; $splitpage = $splitpage == '' ? '<strong>1</strong>' : $splitpage; // แสดงผล list รายการ $patt = array('/{BREADCRUMS}/', '/{LIST}/', '/{TOPIC}/', '/{SPLITPAGE}/', '/{(LNG_[A-Z0-9_]+)}/e'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = implode("\n", $list); $replace[] = "{$index['topic']}.{$index['ext']}"; $replace[] = $splitpage; $replace[] = OLD_PHP ? '$lng[\'$1\']' : 'gcms::getLng'; $content = gcms::pregReplace($patt, $replace, gcms::loadtemplate($index['module'], 'edocument', 'report')); // title,keywords,description $title = $index['title']; $keywords = $index['keywords']; $description = $index['description']; } } else { $title = $lng['LNG_NOT_LOGIN']; $content = '<div class=error>' . $title . '</div>'; }
$datas[] = '<option value=' . $d . $sel . '>' . $d . '</option>'; } $replace[] = implode('', $datas); // minute $datas = array(); for ($i = 0; $i < 60; $i++) { $d = sprintf('%02d', $i); $sel = $d == $match[3] ? ' selected' : ''; $datas[] = '<option value=' . $d . $sel . '>' . $d . '</option>'; } $replace[] = implode('', $datas); } else { $replace[] = ''; $replace[] = ''; $replace[] = ''; } $content = preg_replace($patt, $replace, gcms::loadtemplate($index['module'], 'board', "edit{$form}")); // ตัวแปรหลังจากแสดงผลแล้ว $custom_patt['/{MODULE}/'] = $index['module']; $custom_patt['/{MODULEID}/'] = $index['module_id']; $custom_patt['/{SIZE}/'] = $index['img_upload_size']; $custom_patt['/{TYPE}/'] = $index['img_upload_type']; // title,keywords,description $title = "{$lng['LNG_EDIT']} {$index['topic']}"; $keywords = $title; $description = $title; } else { $title = $lng['LNG_DATA_NOT_FOUND']; $content = '<div class=error>' . $title . '</div>'; } }
$m = $install_modules[$index['module']]['menu_text']; $t = $install_modules[$index['module']]['menu_tooltip']; } else { $m = ucwords($index['module']); $t = $m; } $canonical = gcms::getURL($index['module']); $breadcrumbs['MODULE'] = gcms::breadcrumb('', $canonical, $t, $m, $breadcrumb); } // อัปเดทการเปิดดู if (!isset($_REQUEST['visited'])) { $index['visited']++; $db->edit(DB_INDEX, $index['id'], array('visited' => $index['visited'])); } $cache->save($sql, $index); // แทนที่ลงใน template ของโมดูล $patt = array('/{BREADCRUMS}/', '/{TOPIC}/', '/{DETAIL}/', '/{MODULE}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = $index['topic']; $replace[] = gcms::showDetail($index['detail'], true, false); $replace[] = $module; $content = preg_replace($patt, $replace, gcms::loadtemplate($index['module'], '', 'main')); // title,keywords,description $title = $index['topic']; $keywords = $index['keywords']; $description = $index['description']; // เลือกเมนู $menu = empty($install_modules[$index['module']]['alias']) ? $index['module'] : $install_modules[$index['module']]['alias']; } }
include ROOT_PATH . 'modules/board/categories.php'; $template = 'category'; } if (sizeof($list) == 0) { $template = 'empty'; $list = ''; } elseif ($template == 'category') { $list = '<div class="row iconview">' . implode("\n", $list) . '</div>'; } else { $list = implode("\n", $list); } // แสดงผลหน้าเว็บ $patt = array('/{BREADCRUMS}/', '/{LIST}/', '/{NEWTOPIC}/', '/{CATEGORY}/', '/{TOPIC}/', '/{DETAIL}/', '/{SPLITPAGE}/', '/{MODULE}/'); $replace = array(); $replace[] = implode("\n", $breadcrumbs); $replace[] = $list; $replace[] = $isAdmin || in_array($status, explode(',', $index['can_post'])) ? '' : 'hidden'; $replace[] = (int) $cat; $replace[] = $index['topic']; $replace[] = $index['detail']; $replace[] = $splitpage; $replace[] = $index['module']; $content = preg_replace($patt, $replace, gcms::loadtemplate($index['module'], 'board', $template)); // title,keywords,description $title = $index['topic']; $keywords = $index['keywords']; $description = $index['description']; // เลือกเมนู $menu = empty($install_modules[$index['module']]['alias']) ? $index['module'] : $install_modules[$index['module']]['alias']; } }