เว็บไดเร็คทอรี่ ด้วย AJAX

เป็นโปรแกรมรวบรวมลิงค์ต่างๆ ไว้บนเว็บเราครับ


1.ทำงานด้วย AJAX 
2.มีความสามารถในการค้นหา เว็บไซต์ บนฐานข้อมูล 
3.สามารถแสดงรูปภาพเว็บไซต์ได้ หรือ ให้แสดงรูปภาพจาก เว็บเซอร์วิส ที่ให้บริการสร้างรูป Thumbnail ก็ได้โดยที่เราไม่ต้องจับภาพหน้าจอของเราเอง โดยที่การอัพโหลด สามารถปรับขนาดรูปให้เป็นไปตามที่เรากำหนดได้โดยอัตโนมัติ (auto resize thumbnail)
4.การเพิ่มเว็บสามารถเพิ่มได้โดย user ซึ่ง user สามารถแก้ไขรายละเอียดของเว็บไซต์ที่ตัวเองโพสต์ หรือลบออกจากระบบ ได้ตลอดเวลา (admin สามารถแก้ไขได้ทุกรายการ) 
5.มีระบบนับจำนวนคนคลิกเข้าไปดูเว็บ
6.มี counter (แบบ AJAX) นับจำนวนคนเข้าชม
7.เป็น UTF-8 รองรับ หลายภาษา
8.ป้องกันการโพสต์ URL ซ้ำ
9.แบ่งเป็นกลุ่มย่อย เพื่อความสะดวกในการค้นหา จัดหมวดหมู่ โอนย้ายหมวดหมู่ได้
10.เป็นรูปแบบ template สามารถปรับแต่งหน้าตาได้อิสระ ด้วย CSS
11.ผ่านมาตรฐาน XHTML
12.ใช้ฐานข้อมูล Text เวอร์ชั่นล่าสุด

การติดตั้งใช้งาน ครั้งแรก ให้ปรับค่าใน webdir/bin/config.php ให้เป็นค่าที่ต้องการ แล้วเรียก หน้า webdir/admin/index.php ในครั้งแรกครับ โปรแกรมจะทำการสร้างและตรวจสอบ ไฟล์ และ ไดเร็คทอรี่ที่จำเป็นให้ คือ

  webdir/datas/ (ที่กำหนดใน $config[data])
  webdir/datas/index.php
  webdir/datas/webthumb/ (สำหรับเก็บรูป thumbnail และ ไอคอน)
  webdir/datas/webthumb/index.php
  และไฟล์ที่จำเป็นต่างๆ เกี่ยวกับฐานข้อมูล

การติดตั้งครั้งแรก สามารถติดตั้งทั้งหมดบน localhost เพื่อทดสอบก่อนได้ เมื่อทดสอบจนเป็นที่พอใจแล้ว สามารถอัพโหลดทั้งหมด ลง server ได้โดยไม่ต้อง setup ใหม่ โดยที่หากทำการอัพโหลดลง server แล้วให้ปรับ chmod ให้ ไฟล์ และ ไดเร็คทอรี่ ทั้งหมดใน webdir/datas/ และ webdir/datas/webthumb/ (รวมทั้งไดเร็คทอรี่ทั้ง 2) ให้เป็น 777 ด้วย และยังต้องทำการปรับ chmod ให้ไฟล์นามสกุล .dat ใน counter/ ให้เป็น 777 ด้วยเช่นกัน

การใช้งานครั้งแรก หลังจากการติดตั้งแล้ว เว็บจะพาไปที่หน้าสำหรับสร้างหมวดหมู่ต่างๆ ให้สร้างได้ตามที่ต้องการ หลังจากนั้นเมื่อกลับไปที่หน้าหลักแล้ว จึงจะเห็นหมวดหมู่ต่างๆ ถึงจะอัพโหลดเว็บได้ครับ

พบปัญหาการใช้งานหรือมีข้อแนะนำ สามารถโพสต์ไว้บนบอร์ดได้ครับ ผมจะได้นำมาปรับปรุงต่อไป

อัปเดทฐานข้อมูล เวอร์ชั่น 4.5 ครับ แก้ข้อผิดพลาดบางประการ

อัปเดท เว็บไดเร็คทอรี่่ เวอร์ชั่นเต็ม (UTF-8) ครับ เพิ่มเติม
1.หมวดหมู่ย่อยได้ 1 อันดับ
2.แสดงหมวดหมู่ล่าสุดได้
3.มี faverite สำหรับให้ user เพิ่มรายการโปรดของตัวเองได้
4.ระบบตรวจสอบเว็บอัตโนมัติ พร้องทั้งดึงข้อมูล description, title มากรอกให้ด้วย

หากเป็นการอัปเกรด ให้ run admin/upgrade.php ในครั้งแรกครับ

* 25-5-50 อัปเดท แก้ไขการลบ faverite
   30-5-50 อัปเดท แก้ไขการ logout และ เมนูต่างๆในระบบ admin และ tool

เวอร์ชั่น UTF-8 rar (1,430) (อัปเดท 17 มิย. 2551)
  
เวอร์ชั่น TIS-620 rar (683)
  
ถ้าต้องการลบข้อมูลทั้งหมดเพื่อติดตั้งใหม่ หรือพบปัญหาเกี่ยวกับฐานข้อมูล ให้ลบไฟล์ต่างๆ ในไดเร็ึคทอรี่ webdir/datas/ และ webdir/datas/webthumb/ ออกทั้งหมด ยกเว้น index.php และทำการเรียก webdir/admin ใหม่อีกครั้งครับ
สำหรับท่านที่ติดตั้งแล้ว มีปัญหาเรื่องภาษา ไม่สามารถเซ็ตได้ (เปิดเว็บแล้วต้องคอยเซ็ตภาษาทุกครั้ง) ให้ใช้เวอร์ชั่นที่เป็น TIS-620 ครับ โดยข้อแตกต่างของ 2 เวอร์ชั่นนี้คือ เปลี่ยนการ Save ไฟล์ต่างๆ(ทุกไฟล์) ให้เป็น ANSI ครับ และใส่ หรือ เปลี่ยน header ให้เป็น TIS-620

การแสดง รายการล่าสุดของเว็บไดเร็คทอรี่บนหน้าอื่น

<div id="webdir"></div>
<script type="text/javascript">
function Inint_AJAX () {
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} //IE
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
  try { return new XMLHttpRequest(); } catch(e) {} //Native Javascript
  alert("XMLHttpRequest not supported")
  return null
}

function shownewweb(lyr) {
  var req = Inint_AJAX();
  req.onreadystatechange = function () {
    if (req.readyState == 4) {
      if (req.status == 200) {
        document.getElementById(lyr).innerHTML = req.responseText;
      };
    };
  };
  req.open("GET", "webdir/newlink.php?" + new Date().getTime() + Math.random(), true);
  req.send(null);
}
shownewweb('webdir');
</script>

<div id="webdir"></div> เป็นส่วนแสดงผลรายการเว็บไดเร็คทอรี่ ครับ
webdir/newlink.php คือหน้าเพจที่จะให้ ajax เรียกไป ซึ่งสำหรับเว็บไดเร็คทอรี่ คือ newlink.php ต้องกำหนด path ให้ถูกต้องด้วย

การแสดงผลก็จะเป็นการแสดงผลเหมือนใน tab newlink ครับ หากต้องการปรับแต่งให้สำเนาหน้า newlink.php ออกมาและปรับปรุงโค้ดในนั้นตามต้องการ โดยไม่จำเป็นต้องไปยุ่งเกี่ยวกับส่วน db text แล้ว save เป็นชื่อใหม่ และแก้ไขโค้ดข้างบนให้ถูกต้องด้วย และที่สำคัญอีกข้อหนึ่ง webdirectory เป็น UTF-8 ดังนั้นเพจที่จะดึงไปใช้ควรเป็น UTF-8 ด้วย
อัปเดท เพิ่ม topten แสดง 10 เว็บที่มีการคลิกสูงสุด

เพิ่มโค้ดนี้ในส่วนของ tab menu ครับ

echo "<li><a href=\"javascript:void(0)\" id=\"topten\" onclick=\"selecttab(this.id)\">เว็บมาแรง</a></li> ";

ดาวน์โหลด topten rar (613)

อัปเดท ตัว UTF-8 แก้ไขข้อผิดพลาดการลบหมวดหมู่ 17 มิย. 2551

ตัวอย่าง
ผู้เขียน goragod โพสต์เมื่อ 24 เม.ย. 2553 เปิดดู 21,754 ป้ายกำกับ AJAX
^