الرئيسية     | الشروط والقوانين  | سياسة الخصوصية | اتصل بنا | الأرشيف |  RSS
  

 

يمنع منعا باتا طرح موضوع إعلاني دون مخاطبة الأدارة

 


العودة   منتدى الشبكة الكويتية > قســـــ تطوير المواقع ـــــــــم > تطوير المواقع

تطوير المواقع سكربتات :: واجهات :: برامج مواقع

 
أدوات الموضوع
  #1  
قديم 23-12-2005, 02:08 PM
الصورة الرمزية kwety
kwety kwety غير متصل
عضو فعّال
 





kwety كاتب جديد
افتراضي هاك تحميل بعدد معين كل يوم

السلام عليكم

هاك تحميل بعدد معين كل يوم

طريقة التركيب

---الملفات التي ستتأثر بالتعديل ----
details.php
download.php
admin/settings.php
includes/db_field_definitions.php
includes/page_header.php
includes/sessions.php
lang/<your language>/admin.php
lang/<your language>/main.php
templates/<your template>/details.html


الخطوة الأولى:

افتح من الجذر ملف details.php

ابحث عن:

كود:
show_image($image_row, $mode, 0, 1, 1);
مباشرة فوقها اضف ما يلي:

كود:
/*
  هاك تحديد التحميل
*/
if ($msg_error = $site_sess->get_session_var("msg_error"))
{
  $msg .= ((empty($msg)) ? "" : "<br />").stripslashes($msg_error);
  $site_sess->drop_session_var("msg_error");
}
الخطوة الثانية:

افتح ملف download.php من الجذر
ابحث عن:

كود:
function get_remote_file($url) {

ومباشرة فوقه اضف ما يلي:

كود:
/*
  MOD DOWNLOAD LIMIT
  BEGIN INSERT
*/
$dl = 0;
function check_dl_limit($dl)
{
  global $user_info, $config;
  if ($user_info['user_level'] != ADMIN && $user_info['user_dl_limit'] != -1 && $user_info['user_dl_limit'] && time() - $user_info['user_dl_time'] <= 60*60*$config['user_dl_time'] && $user_info['user_dl_count'] + $dl >= $user_info['user_dl_limit'])
  {
    return false;
  }
  elseif ($user_info['user_level'] != ADMIN && $user_info['user_dl_limit'] != -1 && $user_info['user_dl_limit'] && time() - $user_info['user_dl_time'] > 60*60*$config['user_dl_time'] && $dl >= $user_info['user_dl_limit'])
  {
    return false;
  }
  return true;
}
function update_dl_limit($dl)
{
  global $user_info, $site_db, $site_sess, $config;
  if ($user_info['user_level'] == ADMIN) return;
  $time = time();
  if (!$user_info['user_dl_time'] || $time - $user_info['user_dl_time'] > 60*60*$config['user_dl_time'])
  {
    $time_sql = ", user_dl_time = ".$time;
    $user_info['user_dl_count'] = $dl;
    $user_info['user_dl_time'] = $time;
  }
  else
  {
    $time_sql = "";
    $user_info['user_dl_count'] += $dl;
  }
  if ($user_info['user_level'] > GUEST)
  {
    $sql = "UPDATE ".USERS_TABLE."
            SET user_dl_count = ".$user_info['user_dl_count'].$time_sql."
            WHERE user_id = ".$user_info['user_id'];
    $site_db->query($sql);
  }
  $site_sess->set_cookie_data('data', base64_encode($user_info['user_dl_count']." ".$user_info['user_dl_time']), 1, 60*60*$config['user_dl_time']);
}
/*
  MOD DOWNLOAD LIMIT
  END INSERT
*/
وايضا بنفس الملف ابحث عن:

كود:
while ($image_row = $site_db->fetch_array($result)) {
مباشرة اسفل الكود اضف ما يلي:

كود:
if (!check_dl_limit($dl)) break;
وايضا من نفس الملف ابحث عن:

كود:
$file_added = 1;
مباشرة فوقه اضف ما يلي:

كود:
$dl++;
وما زلنا بنفس الملف ابحث عن

كود:
$file['file_size'] = strlen($file['file_data']);
    }
    else {
      header("Location: ".$site_sess->url($url, "&"));
امسح الكود واستبدله بالتالي:

كود:
/*
  MOD DOWNLOAD LIMIT
  BEGIN ORIGINAL CODE BLOCK
*/
/*
      $file['file_size'] = strlen($file['file_data']);
    }
    else {
      header("Location: ".$site_sess->url($url, "&"));
*/
/*
  MOD DOWNLOAD LIMIT
  END ORIGINAL CODE BLOCK
*/

/*
  MOD DOWNLOAD LIMIT
  BEGIN REPLACE
*/
      $file['file_size'] = strlen($file['file_data']);
    }
    else {
      if (!check_dl_limit(0))
      {
        $site_sess->set_session_var("msg_error", addslashes($lang['dl_limit_reached']));
      }
      header("Location: ".$site_sess->url($url, "&"));
/*
  MOD DOWNLOAD LIMIT
  END REPLACE
*/
وايضا من نفس الملف ابحث عن

كود:
$remote_url = 0;
مباشرة فوقه اضف

كود:
/*
  MOD DOWNLOAD LIMIT
  BEGIN INSERT
*/
  if (!check_dl_limit(0))
  {
    $site_sess->set_session_var("msg_error", addslashes($lang['dl_limit_reached']));
    header("Location: ".$site_sess->url($url, "&"));
    exit;
  }
/*
  MOD DOWNLOAD LIMIT
  BEGIN INSERT
*/
وابحث عن:

كود:
if (!empty($file['file_path'])) {
اضف فوقه مباشرة

كود:
$dl++;
وابحث عن:

كود:
if ($remote_url) {
واضف تحتها مباشرة:

كود:
update_dl_limit($dl);
وابحث عن:

كود:
if (!empty($file['file_data'])) {
واضف تخحته مباشرة

كود:
update_dl_limit($dl);
الخطوة الثالثة:


افتح ملف settings.php من مجلد admin

ابحث عن:

كود:
show_form_footer($lang['save_changes'], "", 2);
مباشرة فوقه اضف

كود:
show_table_separator($setting_group[XX], 2, "#setting_group_XX"); 
  show_setting_row("user_dl_limit"); 
  show_setting_row("user_dl_time");
ملاحظة:

xx هو رقم شوف ما هو اخر رقم عندك بالمجموعات فرضا كان 8 الرقم يجب ان يكون 9 بدل ال xx

الخطوة الرابعة:

افتح ملف db_field_definitions.php من مجلد includes

اخر الملف قبل وسم الإغلاق ?>

اضف التالي:

كود:
$additional_user_fields['user_dl_limit'] = array(&$lang['user_dl_limit'], "text", 0);
$additional_user_fields['user_dl_time'] = array($lang['user_dl_time'], "text", 0);
$additional_user_fields['user_dl_count'] = array($lang['user_dl_count'], "text", 0);
الخطوة الخامسة:

افتح ملف page_header.php من مجلد includes
ابحث عن (ستجد الكود بأكثر من مكان, أول مدخل هو المطلوب يعني اول نتيجة بحث):

كود:
$site_template->register_vars(array(
واضف مباشرة فوقها

كود:
/*
  MOD DOWNLOAD LIMIT
  BEGIN INSERT
*/
if ($user_info['user_dl_limit'] == -1)
{
  $dl_limit = $lang['user_dl_limit_unlimited'];
}
else
{
  $t = ($config['user_dl_time']*60*60) - (time() - $user_info['user_dl_time']);
  $left = "";
  if ($t > 0)
  {
    $years = floor($t/31536000);
    $days = floor(($t %= 31536000)/86400);
    $hours = floor(($t %= 86400)/3600);
    $minutes = floor(($t %= 3600)/60);
    $seconds = $t %= 60;
    $t = array($years, $days, $hours, $minutes, $seconds);
    $s = 0;
    for ($i = 0; $i < 5; $i++) {
      if ($t[$i]) {
        $left .= $t[$i]." ".$lang['dates_short'][($t[$i] != 1)][$i];
        $s++;
        $c = 0;
        for ($j = $i + 1; $j < 5; $j++) {
          if ($t[$j]) $c++;
        }
        $left .= " ";
      }
    }
    $left = trim ($left, " ");
  }
  if ($user_info['user_dl_limit'] > $user_info['user_dl_count'] || !$left)
  {
    $dl_limit = preg_replace("/".$site_template->start."dlcount".$site_template->end."/siU", $user_info['user_dl_count'], preg_replace("/".$site_template->start."dltottal".$site_template->end."/siU", $user_info['user_dl_limit'], preg_replace("/".$site_template->start."dltime".$site_template->end."/siU", $left, $lang['user_dl_limit_status'])));
  }
  else
  {
    $dl_limit = preg_replace("/".$site_template->start."dltime".$site_template->end."/siU", $left, $lang['user_dl_limit_reached']);
  }
}
$site_template->register_vars(array(
  "user_dl_count" => ($user_info['user_dl_limit'] == -1) ? 0 : $user_info['user_dl_count'],
  "user_dl_time" => $left,
  "user_dl_limit" => $dl_limit
));
/*
  MOD DOWNLOAD LIMIT
  END INSERT
*/
الخطوة السادسه:

افتح ملف sessions.php من مجلد includes
ابحث عن :

كود:
$this->delete_old_sessions();
      }
    }
وضع مباشرة تحته ما يلي:

كود:
/*
  MOD DOWNLOAD LIMIT
  BEGIN INSERT
*/
    global $config;
    if ($this->user_info['user_level'] > GUEST)
    {
      if (!$this->user_info['user_dl_limit'] && $this->user_info['user_dl_limit'] != -1)
      {
        $this->user_info['user_dl_limit'] = $config['user_dl_limit'];
      }
      if (!$this->user_info['user_dl_time'])
      {
        $this->user_info['user_dl_time'] = 0;
      }
    }
  
    if ($dl = $this->read_cookie_data('data'))
    {
      $dl = explode(" ", base64_decode($dl));
      if (isset($dl[1]) && $dl[1] && $config['user_dl_time']*60*60 > (time() - $dl[1]))
      {
        $this->user_info['user_dl_time'] = $dl[1];
        $this->user_info['user_dl_count'] = (isset($dl[0]) && $dl[0]) ? $dl[0] : 0;
      }
      else
      {
        $this->user_info['user_dl_time'] = 0;
        $this->user_info['user_dl_count'] = 0;
      }
    }
    elseif ($this->user_info['user_level'] == GUEST)
    {
      $this->user_info['user_dl_count'] = 0;
      $this->user_info['user_dl_time'] = 0;
    }
    if ($this->user_info['user_level'] == GUEST)
    {
      $this->user_info['user_dl_limit'] = $config['user_dl_limit'];
    }
/*
  MOD DOWNLOAD LIMIT
  END INSERT
*/
الخطوة السابعة:
افتح ملف admin من داخل مجلد arabic من مجلد lang
وقبل وسم النهاية ؟> اضف ما يلي:

كود:
$setting_group[XX]="تحديد التحميل للأعضاء"; 
$setting['user_dl_limit'] = "تحديد التحميل اجعلها صفر اذا كنت لا تريد تحديد التحميل"; 
$setting['user_dl_time'] = "Reset time<span class=\"smalltext\"><br />(in hours)</span>"; 
$lang['user_dl_limit'] = "Download limit<span class=\"smalltext\"><br />set to <font color=red><b>0</b></font> to use global settings<br>or <font color=red><b>-1</b></font> for unlimited</span>";
$lang['user_dl_time'] = "Start time";
$lang['user_dl_count'] = "Download count";
تذكر: xx هو الرقم نفسه من الخطوة رقم 3

الخطوة الثامنة:

افتح ملف main.php من مجلد arabic من مجلد lang
قبل وسم النهاية ?> اضف ما يلي:

كود:
$lang['user_dl_limit'] = "حد التحميل";
$lang['user_dl_time'] = "وقت التحميل";
$lang['user_dl_count'] = "عد التحميل";
$lang['user_dl_limit_reached'] = "Your download quota per ".$config['user_dl_time']." hours has been reached. You won't be able download for next {dltime}";
$lang['user_dl_limit_unlimited'] = "Your download quota is unlimited";
$lang['user_dl_limit_status'] = "You have downloaded {dlcount} of {dltottal} files, allowed per ".$config['user_dl_time']." hours";
$lang['dl_limit_reached'] = "Sorry, you've reached the download limit per ".$config['user_dl_time']." hours";
$lang['dates_short'] = array(
  array("yr", "day", "hr", "min", "sec"),
  array("yrs", "days", "hrs", "min", "sec")
);
الخطوة العاشرة:

افتح ملف details.html من مجلد templates من داخل المجلد الافتراضي الذي تستخدمه كستايل
اضف ما يلي بالمكان الذي تريد:
{user_dl_limit}

الخطوة الأخير تجد مرفقا ملف مضغوط
حمل الملف ومن ثم ستجد ملف dl_limit_install.php
حمله على الجذر ومن ثم ادخل على مسار موقعك
فرضا:
https://dantq8.com/gallery/dl_limit_install.php

تذكر بأن تعمل باك اب لقاعدة البيانات وكل الملفات التي سيتم التعديل عليها

الهاك منقول ومترجم كاتب الهاك الأصلي هو vano

وشكرا

 

 

الملفات المرفقة
<phrase 1="zip">نوع الملف: %1$s</phrase> dl_limit_install.zip‏         
ملاحظات الإدارة قبل تحميل المرفق: 1- أفحص الملف المرفق بأي برنامج مضاد للفيروسات قبل فتحه
2- راسل الإدارة العامة للمنتدى أو المشرف العام حولـ أي ملف مرفـق فيه فايروس أو مشكوك فيه
3- إدارة المنتدى لا تتحمل مسؤولية أي ملف مرفق

مواضيع ذات صله تطوير المواقع

هاك تحميل بعدد معين كل يوم



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
يا رب كن لنا معين ...... اللهم آآآميين neo102010 المنـتدى الاسـلامي 6 21-03-2006 11:43 AM
هاك منع الرسائل الخاصة قبل عدد معين من المشاركات VIP تطويــــر المنتديــ VB3 ـات 1 25-10-2005 03:32 PM
الطاقة الشمسية معين لا ينضب ROLZ منتدى التربيه والتعليم 2 15-10-2005 04:11 PM
أعين السماء في عين رجل السرداب... المؤدب منـتدى الشعـر وهمـس القـوافـي 19 18-06-2005 12:16 AM
منع الاعضاء من دخول قسم إلا بعد عدد معين من المشاركات VIP تطويــــر المنتديــ VB3 ـات 6 29-05-2005 06:01 AM

الساعة الآن 08:28 PM
جميع الحقوق محفوظة لـ الشبكة الكويتية

التعليقات المنشورة لا تعبر عن رأي الشبكة الكويتية ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر

RSS RSS 2.0 XML MAP HTML