Example #1
0
<?php

// widgets/document/index.php
$widget = '';
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>";
Example #2
0
 $content[] = '<th id=c3 scope=col class="center tablet">{LNG_ICON}</th>';
 $content[] = '<th id=c4 scope=col class=center>{LNG_ID}</th>';
 $content[] = '<th id=c5 scope=col class="center tablet">{LNG_CAN_REPLY}</th>';
 $content[] = '<th id=c6 scope=col class="center tablet">{LNG_PUBLISHED}</th>';
 $content[] = '<th id=c7 scope=col class=mobile>{LNG_DESCRIPTION}</th>';
 $content[] = '<th id=c8 scope=col class="center tablet">{LNG_CATEGORY_COUNT}</th>';
 $content[] = '<th id=c9 scope=col></th>';
 $content[] = '</tr>';
 $content[] = '</thead>';
 $content[] = '<tbody>';
 // เรียกหมวดหมู่ทั้งหมด
 $categories = array();
 $sql = "SELECT * FROM `" . DB_CATEGORY . "` WHERE `module_id`='{$index['id']}' ORDER BY `category_id`";
 foreach ($db->customQuery($sql) as $item) {
     $save = array();
     gcms::r2config($item['config'], $save);
     $save['category_id'] = $item['category_id'];
     $save['published'] = $item['published'];
     $save['c1'] = $item['c1'];
     $topics = gcms::ser2Array($item, 'topic');
     $details = gcms::ser2Array($item, 'detail');
     $icons = gcms::ser2Array($item, 'icon');
     foreach ($topics as $k => $v) {
         $save['topic'] = empty($topics[$k]) ? isset($topics[LANGUAGE]) ? $topics[LANGUAGE] : '' : $topics[$k];
         $save['detail'] = empty($details[$k]) ? isset($details[LANGUAGE]) ? $details[LANGUAGE] : '' : $details[$k];
         $save['icon'] = empty($icons[$k]) ? isset($icons[LANGUAGE]) ? $icons[LANGUAGE] : '' : $icons[$k];
         $categories[$item['id']][$k] = $save;
     }
     if (sizeof($categories[$item['id']]) == 1) {
         foreach ($categories[$item['id']] as $k => $v) {
             if ($k != '') {
Example #3
0
                        $db->edit(DB_CATEGORY, $search['id'], array('category_id' => $value));
                        $ret['categoryid_' . $index['id'] . '_' . $id] = $value;
                    } else {
                        $ret['categoryid_' . $index['id'] . '_' . $id] = $search['category_id'];
                    }
                }
            } elseif ($admin && $action == 'published' && $id != '') {
                // อัปเดท published
                $db->query("UPDATE `" . DB_CATEGORY . "` SET `published`='" . (int) $_POST['value'] . "' WHERE `id` IN ({$id}) AND `module_id`='{$index['id']}'");
            } elseif ($action == 'changecategory') {
                // อ่าน category ขณะเขียน
                if ($value > 0) {
                    $ret = array();
                    // อ่าน category
                    $sql = "SELECT `config` FROM `" . DB_CATEGORY . "` WHERE `category_id`='{$value}' AND `module_id`='{$index['id']}' LIMIT 1";
                    $category = $db->customQuery($sql);
                    if (sizeof($category) == 1) {
                        $category = $category[0];
                        // config
                        gcms::r2config($category['config'], $category);
                        $ret['write_can_reply'] = (int) $category['can_reply'];
                    }
                }
            }
        }
    }
} else {
    $ret['error'] = 'ACTION_ERROR';
}
// คืนค่าเป็น JSON
echo gcms::array2json($ret);
Example #4
0
     $index = sizeof($index) == 0 ? false : $index[0];
 } else {
     $index = $cache->get($sql);
     if (!$index) {
         $index = $db->customQuery($sql);
         $index = sizeof($index) == 0 ? false : $index[0];
     }
 }
 if (!$index) {
     $title = $lng['PAGE_NOT_FOUND'];
     $content = '<div class=error>' . $title . '</div>';
 } else {
     // login
     $login = gcms::getVars($_SESSION, 'login', array('id' => 0, 'status' => -1, 'email' => '', 'password' => ''));
     // config
     gcms::r2config($index['config'], $index, false);
     // แสดงความคิดเห็นได้
     $canReply = $index['can_reply'] == 1;
     // ผู้ดูแล,เจ้าของเรื่อง (ลบ-แก้ไข บทความ,ความคิดเห็นได้)
     $moderator = gcms::canConfig($index, 'moderator');
     $moderator = $isMember && ($moderator || $index['member_id'] == $login['id']);
     // guest มีสถานะเป็น -1
     $status = $isMember ? $login['status'] : -1;
     // สถานะสมาชิกที่สามารถเปิดดูกระทู้ได้
     $canview = in_array($status, explode(',', $index['can_view']));
     if ($canview || $index['viewing'] == 1) {
         // สามารถลบได้ (mod และ เจ้าของ=ลบ,สมาชิกทั่วไป=แจ้งลบ)
         $canDelete = $moderator || $isMember && defined('DB_PM');
         // อัปเดทการเปิดดู
         if (!isset($_REQUEST['visited'])) {
             $index['visited']++;
Example #5
0
     $sql .= " LIMIT 1";
 } else {
     // ใหม่ ตรวจสอบโมดูล
     $sql = "SELECT M.`id` AS `module_id`,M.`module`,M.`owner`,C.`category_id`,'{$mmktime}' AS `create_date`";
     $sql .= ",(CASE WHEN ISNULL(C.`config`) THEN M.`config` ELSE CONCAT(M.`config`,'\n',C.`config`) END) AS `config`";
     $sql .= " FROM `" . DB_MODULES . "` AS M";
     $sql .= " INNER JOIN `" . DB_INDEX . "` AS I ON I.`module_id`={$module_id} AND I.`index`='1' AND I.`language` IN ('" . LANGUAGE . "','')";
     $sql .= " LEFT JOIN `" . DB_CATEGORY . "` AS C ON C.`category_id`={$cat} AND C.`module_id`={$module_id}";
     $sql .= " WHERE M.`id`={$module_id} AND M.`owner`='document'";
     $sql .= " LIMIT 1";
 }
 $index = $db->customQuery($sql);
 $index = sizeof($index) == 1 ? $index[0] : false;
 if ($index) {
     // config
     gcms::r2config($index['config'], $index, $id == 0);
     // login
     $login = gcms::getVars($_SESSION, 'login', array('id' => 0, 'status' => -1, 'email' => '', 'password' => ''));
     if ($id > 0) {
         // แก้ไข ตรวจสอบเจ้าของหรือ ผู้ดูแล
         $canWrite = $index['member_id'] == $login['id'] || in_array($login['status'], explode(',', $index['moderator']));
     } else {
         // เขียนใหม่ ตรวจสอบคนเขียน
         $canWrite = in_array($login['status'], explode(',', $index['can_write']));
     }
 }
 if (!$index) {
     // ไมพบบทความหรือโมดูล
     $title = $lng['PAGE_NOT_FOUND'];
     $content[] = '<aside class=error>' . $title . '</aside>';
 } elseif (!$canWrite) {
Example #6
0
 $id = gcms::getVars($_GET, 'id', 0);
 // query ข้อมูล
 $sql = "SELECT I.`id`,I.`alias`,D.`topic`,D.`detail`,I.`last_update`,U.`displayname`,U.`email`";
 $sql .= " FROM `" . DB_INDEX . "` AS I";
 $sql .= " INNER JOIN `" . DB_INDEX_DETAIL . "` AS D ON D.`id`=I.`id` AND D.`module_id`=I.`module_id` AND D.`language` IN ('" . LANGUAGE . "','')";
 $sql .= " LEFT JOIN `" . DB_USER . "` AS U ON U.`id`=I.`member_id`";
 $sql .= " WHERE I.`id`='{$id}' AND I.`index`='0' AND I.`published`='1' AND I.`module_id`='{$modules['id']}' LIMIT 1";
 $index = $cache->get($sql);
 if (!$index) {
     $index = $db->customQuery($sql);
     $cache->save($sql, $index);
 }
 if (sizeof($index) == 1) {
     $index = $index[0];
     // config
     gcms::r2config($modules['config'], $modules);
     // guest มีสถานะเป็น -1
     $status = gcms::isMember() ? $login['status'] : -1;
     // สถานะสมาชิกที่สามารถเปิดดูกระทู้ได้
     if (in_array($status, explode(',', $modules['can_view']))) {
         // ความคิดเห็น
         $comments = array();
         // แสดงความคิดเห็นได้
         if (!empty($modules['can_reply'])) {
             $sql = "SELECT C.`detail`,C.`last_update`,C.`ip`";
             $sql .= ",(CASE WHEN ISNULL(U.`id`) THEN C.`email` ELSE (CASE WHEN U.`displayname`='' THEN U.`email` ELSE U.`displayname` END) END) AS `displayname`";
             $sql .= " FROM `" . DB_COMMENT . "` AS C";
             $sql .= " LEFT JOIN `" . DB_USER . "` AS U ON U.`id`=C.`member_id`";
             $sql .= " WHERE C.`index_id`='{$index['id']}' AND C.`module_id`='{$modules['id']}'";
             $sql .= " ORDER BY C.`id` ASC";
             $datas = $cache->get($sql);