Home Webboard ArticlesKnowledges  

ผู้เขียน หัวข้อ: การจำกัดจำนวนบุคคลทั่วไปที่เข้าชม/วัน  (อ่าน 10070 ครั้ง)

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

ออฟไลน์ ก๊วนกวน

  • Just Staff
  • *
  • กระทู้: 402
  • เห็นด้วย&ขอบคุณ: 21
    • pop music box
ใช้สำหรับการจำกัด จำนวนคนเข้าบร์อด ในแต่ละวัน
http://custom.simplemachines.org/mods/index.php?mod=1290

เปิด ไฟล์ index.php ในหน้าแรก

ค้นหา

โค๊ด: [Select]
// Load the current user's permissions.
loadPermissions();

วางต่อจากที่ค้นหา

โค๊ด: [Select]
// Start of Limit A Guests Daily PageViews Mod

// Extra globals we need access to (if not already got access)
global $txt, $context, $func;

// Sanitize - cast as integer / prevent undefined index - especially after initial install of mod
$modSettings['limited_views'] = !empty($modSettings['limited_views']) ? (int) $modSettings['limited_views'] : 0 ;

// Only if guest access is enabled, and a limit is set, AND the user is a guest
if(!empty($modSettings['allow_guestAccess']) && !empty($modSettings['limited_views']) && $context['user']['is_guest'])
{
if(!isset($_SESSION['limited_views']))
// Setup the array
$_SESSION['limited_views'] = array(
'views' => 1,
'last_view' => time()
);
// Have viewed pages before
else
{
// Sanitize - cast as integers
$_SESSION['limited_views']['views'] = ((int) $_SESSION['limited_views']['views']) + 1;
$_SESSION['limited_views']['last_view'] = (int) $_SESSION['limited_views']['last_view'];

// Last view yesterday (done on forum time)
$date  = date('dm',forum_time(null, $_SESSION['limited_views']['last_view']));

// Update the session info. If new day set views to 1, else increase by 1.
// Don't increase if already exceeds the limit (prevents views from getting out of control eg bots/spiders)
$_SESSION['limited_views']['views'] = ($date != date('dm')) ? 1 : ($_SESSION['limited_views']['views'] > $modSettings['limited_views'] ? $modSettings['limited_views'] + 1 : $_SESSION['limited_views']['views']);
//  Set the latest view to now, unless we've reached the limit - we will keep this timestamp until tomorrow.
$_SESSION['limited_views']['last_view'] = $_SESSION['limited_views']['views'] > $modSettings['limited_views'] ? $_SESSION['limited_views']['last_view'] : time();
// Tidy up
unset($date);

// Don't be stupid - If they've reached the limit, we must allow them the guest actions of register/login
// Also, note you can add other actions (must be on the action array) here to exempt
$temp = array('login', 'login2', 'register', 'register2', 'reminder', 'activate', 'smstats', 'help', '.xml', 'verificationcode');
if (empty($_REQUEST['action']) || !in_array(strtolower($_REQUEST['action']), $temp))
{

// Fatal error, must register as exceeded no. of page views
if($_SESSION['limited_views']['views'] > $modSettings['limited_views'])
{
// Mr Search Engine, don't index this page (its just an error message)
$context['robot_no_index'] = true;

// Switcharoo on smf language string to set the page title for header and <title> for browser
// Make html safe so doesn't break the forum.
$context['page_title'] = $txt['106'] = strtr($func['htmlspecialchars']($txt['limited_views_title']), array("\r" => '', "\n" => '', "\t" => ''));

fatal_lang_error('limited_views_message', false, array($modSettings['limited_views']));
}
}
// Tidy up
unset($temp);
}

// Prepare and make html safe the remaining string
if(!empty($modSettings['limited_views']) && !empty($_SESSION['limited_views']['views']))
{
$context['limited_views_remaining'] = strtr(' - '.
$func['htmlspecialchars'](
($_SESSION['limited_views']['views'] > $modSettings['limited_views'] ? 0 :
($modSettings['limited_views'] - $_SESSION['limited_views']['views'])
).
$txt['limited_views_remaining_'.
($modSettings['limited_views'] - $_SESSION['limited_views']['views'] == 1 ? 'singular' : 'plural')
]
),
array(
"\r" => '',
"\n" => '',
"\t" => ''
)
);
if($modSettings['limited_views'] - $_SESSION['limited_views']['views'] >= 0)
{
// Avoid undefined error
$context['html_headers'] = !empty($context['html_headers']) ? '' : $context['html_headers'];

// Now build javascript message (javascript to try to keep the information title out of the search engine)
// Keep on new line (as there maybe extra headers above/below)
// Tabbed out of sync to keep inline with html output
$context['html_headers'] .= '
<script language="JavaScript" type="text/javascript"><!-- // -->'.
chr(60) . chr(33) . chr(91) . chr(67) . chr(68) . chr(65) . chr(84) . chr(65) . chr(91).'
document.title = document.title + \''.$context['limited_views_remaining'].'\';
// '.chr(93) . chr(93) . chr(62).'</script>
';
}
}
}
// Either a user and/or guest access is disabled or no limit is set, in which case
else
{
// If a session variable for this exists, its no longer needed.
if(isset($_SESSION['limited_views']))
unset($_SESSION['limited_views']);
}

// End of Limit A Guests Daily PageViews Mod


ไปที่ /Sources/ModSettings.php

ค้นหา
โค๊ด: [Select]
array('check', 'allow_guestAccess'),
วางต่อจากที่ค้นหา

โค๊ด: [Select]
array('int', 'limited_views'),
ไปที่ ธีมที่ใช้(default)/languages/Help.english.php หรือ Help.english-utf8.php

ค้นหา

โค๊ด: [Select]
?>
ใส่ก่อนที่ค้นหา
โค๊ด: [Select]
$helptxt['limited_views'] = 'Limit the no. of page views that guests can view. Warning, spiders/bots WILL be limited by this. <br /><br />(As excluding them would be seen as Black Hat and likely to violate Google & other search engines Terms of Service).';


ธีมที่ใช้(default)languages/Modifications.english.php หรือ Modifications.english-utf8.php

ค้นหา

โค๊ด: [Select]
?>
ใส่ก่อนที่ค้นหา

โค๊ด: [Select]
$txt['limited_views_remaining_singular'] = ' page view remaining today';
$txt['limited_views_remaining_plural'] = ' page views remaining today';
$txt['limited_views'] = 'Limit guests to x page views per day<div class="smalltext">0 to disable</div>';
$txt['limited_views_message'] = 'All guests are limited to %s page views per day.<br /> We now invite you to <a href="' . $scripturl . '?action=login">login</a> or <a href="' . $scripturl . '?action=register">register</a> to continue accessing the forum.';
$txt['limited_views_title'] = 'Please Login or Register';



********************


ไปที่ ธีมที่ใช้(default)/languages/Help.thai.php หรือ Help.thai-utf8.php

ค้นหา

โค๊ด: [Select]
?>
ใส่ก่อนที่ค้นหา
โค๊ด: [Select]
$helptxt['limited_views'] = 'Limit the no. of page views that guests can view. Warning, spiders/bots WILL be limited by this. <br /><br />(As excluding them would be seen as Black Hat and likely to violate Google & other search engines Terms of Service).';

ธีมที่ใช้(default)languages/Modifications.thai.php หรือ Modifications.thai-utf8.php

ค้นหา

โค๊ด: [Select]
?>
ใส่ก่อนที่ค้นหา

โค๊ด: [Select]
$txt['limited_views_remaining_singular'] = ' page view remaining today';
$txt['limited_views_remaining_plural'] = ' page views remaining today';
$txt['limited_views'] = 'Limit guests to x page views per day<div class="smalltext">0 to disable</div>';
$txt['limited_views_message'] = 'All guests are limited to %s page views per day.<br /> We now invite you to <a href="' . $scripturl . '?action=login">login</a> or <a href="' . $scripturl . '?action=register">register</a> to continue accessing the forum.';
$txt['limited_views_title'] = 'Please Login or Register';

การใช้งาน ไปที่เมนูผู้ดูแล >> ส่วนปรับแต่งค่าการใช้งาน >>>ความสามารถขั้นพื้นฐาน ตั้งค่าจำนวน

ยังไม่ได้แปลไทย ไปแปลก่อนครับ  :P  ใช่แบบนี้หรือเปล่าครับ  :adore:


ขอบคุณคุณ burm~ ที่แนะนำ ได้แก้ชื่อ เรียบร้อยแล้วครับ ขอบคุณครับ  :adore:





« แก้ไขครั้งสุดท้าย: 22, กุมภาพันธ์ 2009, 08:42:13 AM โดย ก๊วนกวน »


จงเต้น  โดยคิดว่าไม่มีใครมองอยู่
จงรัก    โดยคิดว่าจะไม่ได้รับความเจ็บปวดเลยซักครั้ง
จงร้องเพลง  โดยคิดว่าไม่มีใครกำลังฟังอยู่
จงทำงาน     โดยคิดว่าไม่ต้องการเงิน
จงใช้ชีวิต     โดยคิดว่าวันนี้เป็นวันสุดท้าย >> Series :: เรื่อง My Name is Kim Sam Soon

ิburm~

  • บุคคลทั่วไป
Re: โชว์กระทู้ใหม่ บน Title bar
« ตอบกลับ #1 เมื่อ: 21, กุมภาพันธ์ 2009, 09:57:39 PM »
LimitAGuestsDailyPageViewsMod

mod ตัวนี้คือการจำกัดจำนวนบุคคลทั่วไปที่เข้าชม/วันนะครับ ข้อความที่แสดงที่ไตเติลบาร์ คือจำนวนบุคคลทั่วไปที่เข้าชมแล้ววันนี้จำนวน ?

ไม่ใช่เป็นชื่อกระทู้ หรือบอร์ด

ออฟไลน์ ก๊วนกวน

  • Just Staff
  • *
  • กระทู้: 402
  • เห็นด้วย&ขอบคุณ: 21
    • pop music box
Re: โชว์กระทู้ใหม่ บน Title bar
« ตอบกลับ #2 เมื่อ: 21, กุมภาพันธ์ 2009, 10:20:49 PM »
LimitAGuestsDailyPageViewsMod

mod ตัวนี้คือการจำกัดจำนวนบุคคลทั่วไปที่เข้าชม/วันนะครับ ข้อความที่แสดงที่ไตเติลบาร์ คือจำนวนบุคคลทั่วไปที่เข้าชมแล้ววันนี้จำนวน ?

ไม่ใช่เป็นชื่อกระทู้ หรือบอร์ด

ขอบคุณครับ แล้วใช้อย่างไรครับ อยากลองเล่นครับ
จงเต้น  โดยคิดว่าไม่มีใครมองอยู่
จงรัก    โดยคิดว่าจะไม่ได้รับความเจ็บปวดเลยซักครั้ง
จงร้องเพลง  โดยคิดว่าไม่มีใครกำลังฟังอยู่
จงทำงาน     โดยคิดว่าไม่ต้องการเงิน
จงใช้ชีวิต     โดยคิดว่าวันนี้เป็นวันสุดท้าย >> Series :: เรื่อง My Name is Kim Sam Soon

burm~

  • บุคคลทั่วไป
Re: โชว์กระทู้ใหม่ บน Title bar
« ตอบกลับ #3 เมื่อ: 22, กุมภาพันธ์ 2009, 12:07:41 AM »
ก็ติดตั้งตามนั้นแหละครับ

เข้า adminCP >> ส่วนปรับแต่งค่าการใช้งาน >> วางรูปแบบ >> "Limit guests to x page views per day"

 

Sitemap 1 2 3 4 5 6 
Back to top