ผู้เขียน หัวข้อ: จำกัดการตั้ง-ตอบกระทู้ในแต่ละวันด้วย Limit Post Per Day  (อ่าน 1742 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ Hollywood Undead

  • Administrator
  • Dev 1.0
  • *****
  • กระทู้: 85
  • โดนถีบ +139/-0
    • ดูรายละเอียด

ม็อดนี้จะช่วยจำกัดจำนวนการโพสต์ในแต่ละวันของสมาชิกในแต่ละคน ซึ่งสามารถตั้งค่าที่ต้องการโดยกรอกเป็นตัวเลขลงไป ในหน้าต่างแอดมิน
รายละเอียดเบื้องต้น
  • ชื่อ : Limit Post Per Day
  • ไฟล์ต้นฉบับ :Limit Post Per Day
  • เจ้าของ : snork13
  • ประเภท : Administrative
  • เวอร์ชั่น : 1.0 Beta
  • รองรับ SMF เวอร์ชั่น : SMF 1.1
สำหรับ SMF 1.1
ไฟล์ที่ต้องแก้ไข
Load.php
ค้นหา
โค๊ด: (php) [Select]
'posts' => empty($user_settings['posts']) ? 0 : $user_settings['posts'],เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
'postsPerDay' => empty($user_settings['postsPerDay']) ? 0 : $user_settings['postsPerDay'],ค้นหา
โค๊ด: (php) [Select]
mem.birthdate, mem.memberIP, mem.memberIP2, mem.ICQ, mem.AIM, mem.YIM, mem.MSN, mem.posts,
mem.lastLogin,
เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
mem.postsPerDay,ค้นหา
โค๊ด: (php) [Select]
mem.birthdate, mem.ICQ, mem.AIM, mem.YIM, mem.MSN, mem.posts, mem.lastLogin, mem.karmaGood,เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
mem.postsPerDay,ค้นหา
โค๊ด: (php) [Select]
mem.ID_MEMBER, mem.memberName, mem.realName, mem.emailAddress, mem.hideEmail,
mem.dateRegistered,
เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
mem.postsPerDay,
Post.php
ค้นหา
โค๊ด: (php) [Select]
if (isset($_REQUEST['xml']))
   {
      $context['sub_template'] = 'post';

      // Just in case of an earlier error...
      $context['preview_message'] = '';
      $context['preview_subject'] = '';
   }
เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
if (!allowedTo(array('admin_forum', 'moderate_forum', 'send_mail')))
   {
      $request = db_query("
                  SELECT mem.postsPerDay, mem.ID_MEMBER
                  FROM {$db_prefix}members AS mem
                  WHERE mem.ID_MEMBER = $ID_MEMBER", __FILE__, __LINE__);
      $results = mysql_fetch_row($request);
      $pper_day = $results[0];
      mysql_free_result($request);
     
     
      $time_24hours_ago = time() - 86400;
      $request = db_query("
                  SELECT COUNT(m.ID_MSG) AS postCount
                  FROM {$db_prefix}messages AS m
                  WHERE m.ID_MEMBER = $ID_MEMBER
                  AND m.posterTime > '$time_24hours_ago.'", __FILE__, __LINE__);
      list ($postCount) = mysql_fetch_row($request);
      mysql_free_result($request);
     

      if (!empty($postCount) && $postCount >= $pper_day)
      {
         // Excempt moderators.
         $request = db_query("
            SELECT ID_MEMBER
            FROM {$db_prefix}moderators
            WHERE ID_MEMBER = $ID_MEMBER", __FILE__, __LINE__);
         if (mysql_num_rows($request) == 0)
            fatal_error(sprintf($txt['post_too_many_per_day'], $pper_day));
         mysql_free_result($request);
      }
   }

Profile.php
ค้นหา
โค๊ด: (php) [Select]
'posts' => empty($user_profile[$memID]['posts']) ? 0: (int) $user_profile[$memID]['posts'],เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
'postsPerDay' => empty($user_profile[$memID]['postsPerDay']) ? '': (int)
                  $user_profile[$memID]['postsPerDay'],
ค้นหา
โค๊ด: (php) [Select]
if (isset($_POST['posts']) && allowedTo('moderate_forum'))
         $profile_vars['posts'] = $_POST['posts'] != '' ? (int)
         strtr($_POST['posts'], array(',' => '', '.' => '', ' ' => '')) : '\'\'';
เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
if (isset($_POST['posts']) && allowedTo('moderate_forum'))
         $profile_vars['postsPerDay'] = $_POST['postsPerDay'] != '' ? (int)
         strtr($_POST['postsPerDay'], array(',' => '', '.' => '', ' ' => '')) : '\'\'';
ค้นหา
โค๊ด: (php) [Select]
'posts' => empty($_POST['posts']) ? 0 : (int) $_POST['posts'],เพิ่มหลังที่หาว่า
โค๊ด: (php) [Select]
'postsPerDay' => empty($_POST['postsPerDay']) ? 0 : (int) $_POST['postsPerDay'],
Profile.template.php
ค้นหา
โค๊ด: (php) [Select]
<tr>
         <td>', $txt[86], ': </td>
         <td><input type="text" name="posts" size="4" value="', $context['member']['posts'], '" /></td>
      </tr>';
แทนที่ด้วย
โค๊ด: (php) [Select]
      <tr>
      <td>', $txt[86], ': </td>
      <td>
<input type="text" name="posts" size="4" value="', $context['member']['posts'], '" />
                </td>
      </tr>
      <tr>
      <td>', $txt['posts_limit'], ': </td>
      <td>
      <input type="text" name="postsPerDay" maxlength="4" size="4" value="', $context['member']['postsPerDay'], '" />
      </td>
      </tr>';

Post.thai-utf8.php
ค้นหา ?> แล้วเพิ่มก่อนที่หาว่า
โค๊ด: (php) [Select]
$txt['post_too_many_per_day'] = 'สวัสดี '. $context['user']['name']. ', คุณได้โพสต์กระทู้จำนวนมากภายในเวลา 24 ชั่วโมง[br /]
ซึ่งอาจทำให้มองได้ว่าเป็นการสแปม คุณสามารถโพสต์กระทู้ได้อีกครั้งหลังจากเวลาผ่านไป 24 ชั่วโมง';


Profile.thai-utf8.php
ค้นหา ?> แล้วเพิ่มก่อนที่หาว่า
โค๊ด: (php) [Select]
$txt['posts_limit'] = 'จำกัดจำนวนกระทู้ต่อวัน';
     ดาวน์โหลดไฟล์ pd1_db.php อัพโหลดขึ้นไปไว้ที่เดียวกับไฟล์ SSI.php จากนั้นรันไฟล์โดยการพิมพ์ http://ชื่อเว็บของคุณ.นามสกุล/pd1_db.php เคาะเอนเทอร์หนึ่งทีแล้วลบไฟล์ทิ้ง


หยิบ: simplemachines.in.th


1 Tive Who's like!? [Click to Show!]

ออฟไลน์ clean

  • Administrator
  • Dev lnw
  • *****
  • กระทู้: 492
  • โดนถีบ +321/-0
    • ดูรายละเอียด
    • อีเมล์
Re: จำกัดการตั้ง-ตอบกระทู้ในแต่ละวันด้วย Limit Post Per Day
« ตอบกลับ #1 เมื่อ: 14 กรกฎาคม พ.ศ. 2010, 20:08:04 »

เยี่ยมมาก

0 Tive Who's like!? [Click to Show!]

ออฟไลน์ justsending

  • Dev 1.0
  • **
  • กระทู้: 57
  • โดนถีบ +18/-0
    • ดูรายละเอียด
    • อีเมล์
Re: จำกัดการตั้ง-ตอบกระทู้ในแต่ละวันด้วย Limit Post Per Day
« ตอบกลับ #2 เมื่อ: 20 กรกฎาคม พ.ศ. 2010, 17:44:21 »

ใช้กับ 2.0 RC3 ได้ป่าวครับ  ???
แต่ก็ขอบคุณครับ

0 Tive Who's like!? [Click to Show!]

wait and bleed

ออฟไลน์ clean

  • Administrator
  • Dev lnw
  • *****
  • กระทู้: 492
  • โดนถีบ +321/-0
    • ดูรายละเอียด
    • อีเมล์
Re: จำกัดการตั้ง-ตอบกระทู้ในแต่ละวันด้วย Limit Post Per Day
« ตอบกลับ #3 เมื่อ: 21 กรกฎาคม พ.ศ. 2010, 07:51:47 »

ใช้กับ 2.0 RC3 ได้ป่าวครับ  ???
แต่ก็ขอบคุณครับ

รู้สึกว่าจะมีเป็น mod สำเร็จอยู่นะครับ ลองคลิ๊กไปดูที่นี่ครับ http://custom.simplemachines.org/mods/index.php?mod=1327

0 Tive Who's like!? [Click to Show!]

ออฟไลน์ Black3ten

  • Dev 1.0
  • **
  • กระทู้: 55
  • โดนถีบ +237/-0
    • ดูรายละเอียด
Re: จำกัดการตั้ง-ตอบกระทู้ในแต่ละวันด้วย Limit Post Per Day
« ตอบกลับ #4 เมื่อ: 21 กรกฎาคม พ.ศ. 2010, 23:30:20 »

ลองลงก่อนก็ได้ครับ ผมก็ยังไม่แน่ใจว่าจะได้หรือไม่

อ้อ! สำรองข้อมูลไว้ด้วยนะครับ ^^

0 Tive Who's like!? [Click to Show!]

ออฟไลน์ naras

  • Dev Newbie
  • *
  • กระทู้: 1
  • โดนถีบ +0/-0
    • ดูรายละเอียด
    • อีเมล์
Re: จำกัดการตั้ง-ตอบกระทู้ในแต่ละวันด้วย Limit Post Per Day
« ตอบกลับ #5 เมื่อ: 9 กันยายน พ.ศ. 2011, 17:12:14 »

หาไฟล์ไม่เจอครับ

0 Tive Who's like!? [Click to Show!]