เว็บสำเร็จรูป เว็บสำเร็จรูปภาครัฐ เว็บโรงเรียน เว็บไซต์ส่วนตัว ระบบบริหารจัดการเว็บไซต์ (CMS) ฟรี

แจ้งข้อผิดพลาด สำหรับ GCMS

แจ้งผู้ใช้ GCMS ครับ เนื่องจากพบความผิดพลาด ร้ายแรง ในสคริปต์ print.php และ feed.php รบกวนทุกท่านอัปเดทไฟล์นี้ ด้วยโค้ดด้านล่างด้วยครับ
<?php
 // print.php
 // inint
 include 'bin/inint.php';
 // โมดูลที่ต้องการ
 $module = $_GET['module'];
 $content = '';
 if (preg_match('/^[a-z]+$/', $module)) {

  // ตรวจสอบโมดูลที่เรียก
  $sql = "SELECT `id`,`module`,`owner`,`config`";
  $sql .= " FROM `".DB_MODULES."` AS M";
  $sql .= " WHERE `module`='$module'";
  $sql .= " LIMIT 1";
  $modules = $cache->get($sql);
  if (!$modules) {
   $modules = $db->customQuery($sql);
   $cache->save($sql, $modules);
  }
  if (sizeof($modules) == 1 && is_file(ROOT_PATH.'modules/'.$modules[0]['owner'].'/print.php')) {
   $modules = $modules[0];
   // login
   $login = $_SESSION['login'];
   // โหลดโมดูลสำหรับพิมพ์
   include (ROOT_PATH."modules/$modules[owner]/print.php");
  }
 }
 if ($content == '') {
  header("HTTP/1.0 404 Not Found");
  header("Status: 404 Not Found");
 } else {
  echo '<!DOCTYPE html>';
  echo '<html lang='.LANGUAGE.' dir=ltr>';
  echo '<head>';
  echo '<title>'.$title.'</title>';
  echo '<meta charset=utf-8>';
  echo '<link rel=stylesheet href='.WEB_URL.'/'.SKIN.$config['skin'].'/print.css>';
  echo '</head>';
  echo '<body onload="window.print()">';
  echo preg_replace('/{(LNG_[A-Z0-9_]+)}/e', '$lng[$1]', $content);
  echo '</body>';
  echo '</html>';
 }

และไฟล์ feed.php
 
<?php
 // feed.php สำหรับเวอร์ชั่น 8.0.0 เท่านั้น
 header("content-type: text/xml; charset=UTF-8");
 // inint
 include 'bin/inint.php';
 // โมดูลที่ต้องการ
 $module = $_REQUEST['module'];
 if (preg_match('/^[a-z]+$/', $module)) {
  // จำนวนที่ต้องการ ถ้าไม่กำหนด คืนค่า 10 รายการ
  $count = (int)$_GET['rows'] * (int)$_GET['cols'];
  $count = $count == 0 ? (int)$_GET['count'] : $count;
  $count = $count <= 0 ? 10 : $count;
  // วันที่วันนี้
  $cdate = date("D, d M Y H:i:s +0700", $mmktime);
  $today = date('Y-m-d', $mmktime);
  // ตรวจสอบโมดูลที่เรียก
  $sql = "SELECT M.`id`,M.`module`,M.`owner`,D.`topic`,D.`description`,M.`config`";
  $sql .= " FROM `".DB_INDEX."` AS I";
  $sql .= " INNER JOIN `".DB_MODULES."` AS M ON M.`id`=I.`module_id` AND M.`module`='$module'";
  $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 .= " WHERE I.`module_id`=M.`id` AND I.`index`='1' AND I.`language` IN ('".LANGUAGE."','')";
  $sql .= " AND I.`published`='1' AND I.`published_date`<='$today'";
  $sql .= " LIMIT 1";
  $modules = $db->customQuery($sql);
  if (sizeof($modules) == 1) {
   $modules = $modules[0];
   echo '<'.'?xml version="1.0" encoding="UTF-8"?'.'>';
   echo '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">';
   echo '<channel>';
   echo '<atom:link href="'.WEB_URL.'/'.$module.'.rss" rel="self" type="application/rss+xml" />';
   echo "<title>".$modules['topic']."</title>";
   echo '<link>'.gcms::getURL($modules['module']).'</link>';
   echo '<description>'.$modules['description'].'</description>';
   echo "<pubDate>$cdate</pubDate>";
   echo "<lastBuildDate>$cdate</lastBuildDate>";
   if (is_file(ROOT_PATH."modules/$modules[owner]/feed.php")) {
    include (ROOT_PATH."modules/$modules[owner]/feed.php");
   }
   echo '</channel>';
   echo '</rss>';
  }
 }
หมายเหตุ
  1. รบกวนอัปเดททุกเวอร์ชั่นนะครับ (ถ้าพบว่ามีไฟล์ print.php และ feed.php)
  2. สำหรับเวอร์ชั่นที่ต่ำกว่า 8 การอัปเกรดไฟล์ feed.php ให้นำตรงส่วนที่เป็นสีแดงไปใส่ไว้ในไฟล์ feed.php ตามตำแหน่งได้เลยครับ (โดยไม่ต้องสนใจโค้ดส่วนอื่นๆ)
  3. สำหรับผู้ที่มีปัญหาว่าอัปเกรดแล้วไม่สามารถสั่งพิมพ์ได้ (ขึ้น Error 500 เมื่อสั่งพิมพ์) ให้ดาวน์โหลด เวอร์ชั่นล่าสุดบนเว็บไปใหม่ แล้วเอาเฉพาะไฟล์ print.php ไปแทนที่ของเดิม (ล่าสุด โค้ดในหน้านี้แก้ไขปัญหาข้อผิดพลาด Error 500 ให้แล้ว)

เรื่องที่เกี่ยวข้อง

^