Author Topic: Zugriffsberechtigung auf einer Kategorie  (Read 6978 times)

0 Members and 1 Guest are viewing this topic.

Offline Loda

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
    • Fotosucht Schweiz
Zugriffsberechtigung auf einer Kategorie
« on: April 13, 2013, 02:26:55 PM »
Erklärung:
Ich habe eine (oder mehrer) Kategorien erstellt, die ich auf "privat" gestellt habe.
zur Zeit ist es so, das ich den jeweiligen user über das acp die Befugnisse der kategorie einstellen kann.
nun möchte ich, das es automatisch erteilt wird, wenn er z.b 200 kommentare abgegeben hat und 20 bilder hochgeladen hat.
ich habe folgenden anfang gemacht:
Code: [Select]
  $sql = "SELECT COUNT(*) AS num_comments
          FROM ".COMMENTS_TABLE."
          WHERE user_id = ".$user_info['user_id'];
  $num_comments = $site_db->query_firstrow($sql);

  $sql = "SELECT COUNT(*) AS num_uploads
          FROM ".IMAGES_TABLE."
          WHERE user_id = ".$user_info['user_id'];
  $num_uploads = $site_db->query_firstrow($sql);

  $comments = $num_comments['num_comments'];
  $uploads = $num_uploads['num_uploads'];
  $calculate =  $comments;
  $calculate2 =  $uploads;
  $s = ($calculate == 1) ? "" : "en";
    if ($calculate < ($config['anzahl_kommentare'] -1) && $cat_id == 170) { //zugang zu einer bestimmten kategorie nicht erlaubt, wenn weniger als x kommentare
      $content = "<b><font color=\"#000000\" size=\"2\"> Du musst erst ".$config['anzahl_kommentare']." Kommentare abgeben, um die Kategorie sehen zu koennen ! \n</font></b>\n";
}
    elseif ($calculate2 < ($config['anzahl_uploads'] -1) && $cat_id == 170) { //zugang zu einer bestimmten kategorie nicht erlaubt, wenn weniger als x Uploads gemacht
      $content = "<b><font color=\"#000000\" size=\"2\"> Du musst erst ".$config['anzahl_uploads']." Bilder hochgeladen haben, um die Kategorie sehen zu koennen ! \n</font></b>\n";
}
 else {
 die kategorie sehen.....
 }
 

könnte das klappen? und wo füge ich dann genau den code in der categories.php ein?

Rembrandt

  • Guest
Re: Zugriffsberechtigung auf einer Kategorie
« Reply #1 on: April 13, 2013, 05:26:10 PM »
Hi!

hilft dir das weiter?:
suche in der categories.php:

if (!$num_rows)  {
  
$thumbnails "";
  
$msg $lang['no_images'];
}

ersetze es mit:

if ($cat_id == 170){ // so ersparst du dir die sql(counts) bei einer jeden Kategorie
 
  //sql abfrage anzahl der kommentare gelöscht //anzahl der kommentare stehen hier: "$user_info['user_comments']"
  
    
$sql "SELECT COUNT(image_id) AS sum_uploads
            FROM "
.IMAGES_TABLE."
            WHERE image_active = 1 AND user_id = "
.$user_info['user_id']."
            "
;
    
$sum_uploads $site_db->query_firstrow($sql);

    
$sum_comments $user_info['user_comments'];
    
$sum_uploads $sum_uploads['sum_uploads'];

    if (
$sum_comments < ($config['anzahl_kommentare'] -1) ) { //zugang zu einer bestimmten kategorie nicht erlaubt, wenn weniger als x kommentare
        
$msg "<b><font color=\"#000000\" size=\"2\"> Du musst erst ".$config['anzahl_kommentare']." Kommentare abgeben, um die Kategorie sehen zu koennen ! \n</font></b><br><br>\n";
     
$num_rows 0;
    }
    if (
$sum_uploads < ($config['anzahl_uploads'] -1) ) { //zugang zu einer bestimmten kategorie nicht erlaubt, wenn weniger als x Uploads gemacht
        
$msg .= "<b><font color=\"#000000\" size=\"2\"> Du musst erst ".$config['anzahl_uploads']." Bilder hochgeladen haben, um die Kategorie sehen zu koennen ! \n</font></b><br><br>\n";
      
$num_rows 0;
    }
}
if (!
$num_rows)  {
  
$thumbnails "";
  
$msg .= $lang['no_images'];
}


des weiteren schau dir den mod mal an, vielleicht kannst du ja davon was brauchen: http://www.4homepages.de/forum/index.php?topic=28766.msg154546#msg154546

mfg Andi

Offline Loda

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
    • Fotosucht Schweiz
Re: Zugriffsberechtigung auf einer Kategorie
« Reply #2 on: April 14, 2013, 09:53:25 AM »
danke! funktioniert...  :D

in deinem mod, wo müsste ich dann den step 8 einfügen?
(oder soll ich das unter deinem mod schreiben?)

ach noch etwas:
ich möchte mehrere kategorien diese abfrage zuweisen.
habe versucht das einzubauen:
Code: [Select]
if ($cat_id == ($config['ausgewaehlte_kat'])){

wobei ich die eingabe über das acp steuern möchte,
habe mir ein feld in den einstellungen angelegt und kann es dann so eintragen:
zb. 325,365
aber leider funktioniert das nur mit der ersten eingetragenen kategotrie
« Last Edit: April 14, 2013, 10:32:22 AM by Loda »

Rembrandt

  • Guest
Re: Zugriffsberechtigung auf einer Kategorie
« Reply #3 on: April 14, 2013, 05:20:11 PM »
....aber leider funktioniert das nur mit der ersten eingetragenen kategotrie
ist klar , du mußt den string "325,365" erst in ein array schreiben und das dann mittels einer schleife nach einander auslesen und mit der aktuellen cat_id vergleichen.


$ausgewaehlte_kat 
explode(",",$config['ausgewaehlte_kat']); //<-- deinen string "325,365"(aus dem ACP) in ein array schreiben.
foreach ($ausgewaehlte_kat as $cat_accesss){ // das array "$ausgewaehlte_kat" nach einander auslesen..
  
if ($cat_accesss == $cat_id){ // jede einzelne Nummern aus dem ACP mit der aktuellen cat_id vergleichen ... 
        
      
$sql "SELECT COUNT(image_id) AS sum_uploads
              FROM "
.IMAGES_TABLE."
              WHERE image_active = 1 AND user_id = "
.$user_info['user_id']."
              "
;
      
$sum_uploads $site_db->query_firstrow($sql);

      
$sum_comments $user_info['user_comments'];
      
$sum_uploads $sum_uploads['sum_uploads'];

      if (
$sum_comments < ($config['anzahl_kommentare'] -1) ) { //zugang zu einer bestimmten kategorie nicht erlaubt, wenn weniger als x kommentare
          
$msg "<b><font color=\"#000000\" size=\"2\"> Du musst erst ".$config['anzahl_kommentare']." Kommentare abgeben, um die Kategorie sehen zu koennen ! \n</font></b><br><br>\n";
       
$num_rows 0;
      }
      if (
$sum_uploads < ($config['anzahl_uploads'] -1) ) { //zugang zu einer bestimmten kategorie nicht erlaubt, wenn weniger als x Uploads gemacht
          
$msg .= "<b><font color=\"#000000\" size=\"2\"> Du musst erst ".$config['anzahl_uploads']." Bilder hochgeladen haben, um die Kategorie sehen zu koennen ! \n</font></b><br><br>\n";
        
$num_rows 0;
      }
  }
// end foreach
if (!$num_rows)  {
  
$thumbnails "";
  
$msg .= $lang['no_images'];
}


mfg Andi
« Last Edit: May 10, 2013, 07:46:13 AM by Rembrandt »

Offline Loda

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
    • Fotosucht Schweiz
Re: Zugriffsberechtigung auf einer Kategorie
« Reply #4 on: April 15, 2013, 07:41:30 AM »
passt !! danke

nachtrag:
in der ersten zeile fehlte noch am ende ein ;
kannst eventuell für alle, die das brauchen noch nachtragen.
« Last Edit: April 28, 2013, 12:56:04 PM by Loda »

Offline Loda

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
    • Fotosucht Schweiz
Re: Zugriffsberechtigung auf einer Kategorie
« Reply #5 on: May 08, 2013, 08:16:47 AM »
nun ist mir doch noch das aufgefallen.
wenn ich über neue Bilder oder einfach über die suche gehe, dann kann man die Abfrage umgehen, am besten müsste es noch in der Details.PHP mit integriert werden.
hast du da eventuell einen Vorschlag für mich?