Author Topic: Upload Limit  (Read 5291 times)

0 Members and 1 Guest are viewing this topic.

Offline teddy

  • Newbie
  • *
  • Posts: 43
    • View Profile
Upload Limit
« on: February 25, 2003, 06:40:40 PM »
Hallo zusammen,

nach Wochenlangen Tests schreibe ich mal, wie ich das Upload Limit gelöst habe.
Das Limit löst 2 Dinge:
1. Wieviele Bilder kann der User pro Tag hochladen
2. Wieviele Bilder kann der User insgesamt hochladen


Das Grundgerüst, mit dem Kategorien Upload habe ich hier aus dem Forum.
Ich weiß nicht mehr genau von wem das war, trotzdem möchte ich mich dafür bedanken.




In der member.php habe ich folgendes geändert:

suche:

Code: [Select]
if ($action == "uploadform") {
  if ($cat_id != 0 && (!isset($cat_cache[$cat_id]) || !check_permission("auth_upload", $cat_id))) {
    show_error_page($lang['no_permission']);
    exit;
  }
 



und ersetzte es mit:

Code: [Select]
if ($action == "uploadform") {
  if ($cat_id != 0 && (!isset($cat_cache[$cat_id]) || !check_permission("auth_upload", $cat_id))) {
    show_error_page($lang['no_permission']);
exit;
}
else
  if ($cat_id != 0 && (!isset($cat_cache[$cat_id]) || !check_permission("auth_upload", $cat_id) || !check_cat_limit($user_id))) {
    show_error_page($lang['toomuch']);
    exit;
  }
else
  if ($cat_id != 0 && (!isset($cat_cache[$cat_id]) || !check_permission("auth_upload", $cat_id) || !check_picture_limit($date_check,$user_id))) {
    show_error_page($lang['today_too_much']);
    exit;
  }



füge unmittelbar vor dem Text: if ($action == "uploadform") {
folgendes ein:
(4images_   ist der Präfix der Tabelle, das muß angepasst werden)

Code: [Select]
/*******************************************  Funktion für Tagesupload Limit ******************/
$user_id = $user_info['user_id'];
$date_check = mktime(0,0,0,date("m"),date("d"),date("Y"));

function check_picture_limit($date_check, $user_id) {
$sql = "SELECT image_id FROM 4images_images WHERE image_date>=$date_check AND user_id=$user_id";
$result = mysql_query($sql);
$today_images_user = mysql_num_rows($result);

//////////////////////////////////////  auch die freizuschaltenden Bilder limitieren  ///////////////
$sql = "SELECT image_id FROM 4images_images_temp WHERE image_date>=$date_check AND user_id=$user_id";
$result = mysql_query($sql);
$today_images_user_temp = mysql_num_rows($result);

$today_images_user=$today_images_user + $today_images_user_temp;

/////////////////////////////    Die 2 legt die Anzahl der Uploads pro Tag fest  //////////////////////////
if ($today_images_user >= 2) {
return false;
}else{
return true;
}
}

/**************************************Funktion fuer Gesamt Upload Limit ********************************/


$user_id = $user_info['user_id'];

function check_cat_limit($user_id) {
$sql = "SELECT image_id FROM 4images_images WHERE user_id = $user_id";
$result = mysql_query($sql);
$cat_images_user = mysql_num_rows($result);

/////////////////////////////    Die 100 legt die Anzahl Gesamt-Uploads fest    //////////////////////////
if($cat_images_user >= 100) {
return false;
}else{
return true;
}
}



Damit nicht nur das Upload Form gesperrt ist, sondern auch, wenn man mit dem BackButton des Browsers zurück geht,
wird nochmal vor dem speichern geprüft:


Suche:
Code: [Select]
if ($action == "uploadimage") {
  if ($cat_id != 0 && (!isset($cat_cache[$cat_id]) || !check_permission("auth_upload", $cat_id))) {
    show_error_page($lang['no_permission']);
    exit;
  }


Und trage das dahinter ein:



Code: [Select]
$user_id = $user_info['user_id'];
$date_check = mktime(0,0,0,date("m"),date("d"),date("Y"));
 
if (!check_picture_limit($date_check,$user_id)) {
   show_error_page($lang['today_too_much']);
exit;
}
if (!check_cat_limit($user_id)) {
show_error_page($lang['toomuch']);
exit;
}


füge in der lang/deutsch/main.php Datei dieses ein:
Code: [Select]
$lang['toomuch'] = "Du hast die maximale Bildanzahl von 100 erreicht, um ein neues hochzuladen, lösche bitte ein altes. ";

$lang['today_too_much'] = "Du hast heute schon 2 Bilder hochgeladen. Morgen kannst Du erneut 2 Bilder hochladen. ";

Das ist alles, vielleicht kann jemand die Anweisungen ins Englische übersetzen? Dann hätten auch die Englisch sprechenden Leser was davon.
Gruß Uwe
DigiCamTalk

Offline tikle

  • Newbie
  • *
  • Posts: 29
    • View Profile
Re: Upload Limit
« Reply #1 on: April 23, 2005, 11:41:39 PM »
Hallo. Es funkt mit member.php?action=uploadform ,

aber beim klicken auf UploadButon krige ich vollgendes:

Warning: Missing argument 2 for check_picture_limit() in /var/www/web125/html/member.php on line 705

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/web125/html/member.php on line 708

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/web125/html/member.php on line 713


an was ligt das?

danke im Vorraus



Offline Sunny C.

  • Addicted member
  • ******
  • Posts: 1.806
  • I ♥ 4I
    • View Profile
Re: Upload Limit
« Reply #2 on: March 29, 2008, 12:13:10 AM »
Das bekomme ich auch! Was kann man dagegen tun? Wäre schön wenn der Verfasser sich melden würde oder jemand anderes uns beraten kann!

Quote
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/web937/html/cbvote/member.php on line 775

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/web937/html/cbvote/member.php on line 750

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/web937/html/cbvote/member.php on line 755

Ebenso kann ich ganz normal die Bilder hochladen!