Пример #1
0
                     // ลบรูปภาพเดิม
                     if (isset($index[$k]) && $index[$k] != $save[$k]) {
                         @unlink(DATA_PATH . "document/{$index[$k]}");
                     }
                 }
             }
         }
     }
 }
 if (!$error) {
     // บันทึก
     $save['create_date'] = $db->sql_datetime2mktime("{$_POST['write_create_date']} {$_POST['write_create_hour']}:{$_POST['write_create_minute']}:00");
     $save['last_update'] = $mmktime;
     $save['index'] = 0;
     $save['category_id'] = gcms::getVars($_POST, 'write_category', 0);
     $save['ip'] = gcms::getip();
     $save['published'] = $_POST['write_published'] == '1' ? '1' : '0';
     $save['published_date'] = $db->sql_trim_str($_POST, 'write_published_date');
     $save['show_news'] = '';
     if (isset($_POST['write_show_news'])) {
         $write_show_news = array();
         foreach ($_POST['write_show_news'] as $item) {
             $write_show_news[] = "{$item}=1";
         }
         $save['show_news'] = implode("\n", $write_show_news);
     }
     if ($id == 0) {
         // ใหม่
         $save['module_id'] = $index['module_id'];
         $save['member_id'] = $login['id'];
         $id = $db->add(DB_INDEX, $save);
Пример #2
0
     if ($f) {
         while (false !== ($text = readdir($f))) {
             if ($text != '.' && $text != '..') {
                 if ($text != $y) {
                     gcms::rm_dir($counter_dir . "/{$text}");
                 }
             }
         }
         closedir($f);
     }
 }
 // ตรวจสอบ + สร้าง โฟลเดอร์
 gcms::testDir("{$counter_dir}/{$y}", 0755);
 gcms::testDir("{$counter_dir}/{$y}/{$m}", 0755);
 // ip ปัจจุบัน
 $counter_ip = gcms::getip();
 // session ปัจจุบัน
 $counter_ssid = session_id();
 // วันนี้
 $counter_day = date('Y-m-d', $mmktime);
 // อ่านข้อมูล counter ล่าสุด
 $sql = "SELECT * FROM `" . DB_COUNTER . "` ORDER BY `id` DESC LIMIT 1";
 $my_counter = $db->customQuery($sql);
 $my_counter = sizeof($my_counter) == 1 ? $my_counter[0] : array('date' => '', 'counter' => 0);
 if ($my_counter['date'] != $counter_day) {
     // วันใหม่
     $my_counter['visited'] = 0;
     $my_counter['pages_view'] = 0;
     $my_counter['date'] = $counter_day;
     $counter_add = true;
     // clear useronline
Пример #3
0
 /**
  * ฟังก์ชั่น ตรวจสอบการ login
  *
  * @global array $config ตัวแปรเก็บการตั้งค่าของ GCMS
  * @global resource $db database resource
  * @global int $mmktime เวลาปัจจุบัน
  * @global int $mtoday วันที่วันนี้
  * @param string $email อีเมล์ที่ต้องการตรวจสอบ
  * @param string $password รหัสผ่านที่ต้องการตรวจสอบ
  * @return array|int ข้อมูลของสมาชิก หาก emailและ password ถูกต้อง หรือ 0 ไม่พบอีเมล์, 1 ยังไม่ได้ activate, 2 ติดแบน, 3 รหัสผ่านผิด, 4 login ต่าง ip กัน
  */
 public static function CheckLogin($email, $password)
 {
     global $config, $db, $mmktime, $mtoday;
     if ($email == '') {
         // ไม่กรอก email มา
         return 0;
     } elseif (isset($config['demo_mode']) && $config['demo_mode'] === 1 && $email == 'demo' && $password == 'demo') {
         $login_result = array();
         $login_result['id'] = 0;
         $login_result['email'] = 'demo';
         $login_result['password'] = '******';
         $login_result['displayname'] = 'demo';
         $login_result['pname'] = '';
         $login_result['fname'] = '';
         $login_result['lname'] = '';
         $login_result['status'] = 1;
         $login_result['admin_access'] = 1;
         $login_result['account'] = 'demo';
         return $login_result;
     } else {
         $userupdate = false;
         $login_result = false;
         if ($config['member_login_phone'] == 1) {
             $sql = "SELECT * FROM `" . DB_USER . "` WHERE `email`='{$email}' OR `phone1`='{$email}'";
         } else {
             $sql = "SELECT * FROM `" . DB_USER . "` WHERE `email`='{$email}'";
         }
         foreach ($db->customQuery($sql) as $item) {
             if ($item['password'] == md5($password . $item['email'])) {
                 $login_result = $item;
                 break;
             }
         }
         if (!$login_result) {
             // ไม่พบ email คืนค่า 0
             // รหัสผ่านผิด คืนค่า 3
             return isset($item) && is_array($item) ? 3 : 0;
         } elseif (trim($login_result['activatecode']) != '') {
             // ยังไม่ได้ activate
             return 1;
         } else {
             // ตรวจสอบการแบน
             if ($login_result['ban_date'] > 0 && $mmktime > $login_result['ban_date'] + $login_result['ban_count'] * 86400) {
                 // ครบกำหนดการแบนแล้ว เคลียร์การแบน
                 $login_result['ban_date'] = 0;
                 $login_result['ban_count'] = 0;
                 $userupdate = true;
             }
             if ($login_result['ban_date'] > 0) {
                 // ติดแบน
                 return 2;
             } else {
                 $session_id = session_id();
                 // ตรวจสอบการ login มากกว่า 1 ip
                 $ip = gcms::getip();
                 if ($config['member_only_ip'] == 1 && $ip != '') {
                     $sql = "SELECT * FROM `" . DB_USERONLINE . "`";
                     $sql .= " WHERE `member_id`='{$login_result['id']}' AND `ip`!='{$ip}' AND `ip`!=''";
                     $sql .= " ORDER BY `time` DESC LIMIT 1";
                     $online = $db->customQuery($sql);
                     if (sizeof($online) == 1 && $mmktime - $online[0]['time'] < COUNTER_GAP) {
                         // login ต่าง ip กัน
                         return 4;
                     }
                 }
                 // อัปเดทการเยี่ยมชม
                 if ($session_id != $login_result['session_id']) {
                     $login_result['visited']++;
                     $userupdate = true;
                 }
                 if ($userupdate) {
                     $db->edit(DB_USER, $login_result['id'], array('session_id' => $session_id, 'visited' => $login_result['visited'], 'lastvisited' => $mmktime, 'ip' => $ip));
                 }
                 return $login_result;
             }
         }
     }
 }
Пример #4
0
 if (sizeof($ret) == 0) {
     // post ได้
     $post['detail'] = $detail;
     $post['last_update'] = $mmktime;
     if ($id > 0) {
         // แก้ไขความคิดเห็น
         $db->edit(DB_COMMENT, $id, $post);
         // อัปเดทคำถาม
         $q['commentator'] = $index['commentator'];
         $q['commentator_id'] = $index['member_id'];
         $q['comment_id'] = $id;
         // แก้ไขเรียบร้อย
         $ret['error'] = 'EDIT_SUCCESS';
     } else {
         // ความคิดเห็นใหม่
         $post['ip'] = gcms::getip();
         $post['index_id'] = $index['id'];
         $post['module_id'] = $index['module_id'];
         $id = $db->add(DB_COMMENT, $post);
         // อัปเดทคำถาม
         $q['commentator'] = $sender;
         $q['commentator_id'] = $post['member_id'];
         $q['comments'] = $index['comments'] + 1;
         $q['comment_id'] = $id;
         // อัปเดทสมาชิก
         if ($post['member_id'] > 0) {
             // อัปเดท reply
             $db->query("UPDATE `" . DB_USER . "` SET `reply`=`reply`+1 WHERE `id`='{$post['member_id']}' LIMIT 1");
         }
         if ($index['category_id'] > 0) {
             // อัปเดทจำนวนเรื่อง และ ความคิดเห็น ในหมวด
Пример #5
0
         if (is_file(CONFIG)) {
             include CONFIG;
         }
         foreach ($newconfig[$owner] as $key => $value) {
             if (!isset($config[$key])) {
                 $config[$key] = $value;
             }
         }
         // บันทึก config.php
         if (!gcms::saveConfig(CONFIG, $config)) {
             $error = 'DO_NOT_SAVE';
         }
     }
 }
 if (!$error) {
     $index_save['ip'] = gcms::getip();
     $index_save['last_update'] = $mmktime;
     $index_save['member_id'] = $_SESSION['login']['id'];
     $index_save['language'] = $language;
     if ($id == 0) {
         // รายการใหม่
         if ($module_id == 0) {
             // โมดูลใหม่
             $module_save['owner'] = $owner;
             $module_id = $db->add(DB_MODULES, $module_save);
         }
         // index
         $index_save['create_date'] = $mmktime;
         $index_save['index'] = 1;
         $index_save['module_id'] = $module_id;
         $id = $db->add(DB_INDEX, $index_save);