Anpassung: Löschen im Gästebuch

Gesperrt
FrankHoffmann
Beiträge: 149
Registriert: Sa 21. Jun 2003, 14:03
Kontaktdaten:

Anpassung: Löschen im Gästebuch

Beitrag von FrankHoffmann »

Hallo,

ich habe für den Admin nun auch das Löschen der Einträge des Gästebuchs eingebaut.
Die Variable $a heißt nun $acontext und die Grafiken sind einfachen Links gewichen. Hier ist der modifizierte Code für das Modul Gästebuch Eingabe (Output):

Code: Alles auswählen

<p><B>Einträge mit ICONS haben Links auf E-Mail und URL</B></p>

<?php

/***********************************************
* CONTENIDO MODUL -  OUTPUT
*
* Modulname   :     Guestbook Ausgabe v1.2
* Copyright   :     P.beauvain
* Created     :     14-02-2004
* Modified    :     Mar. 1st 2004 by Lars D. Forseth <lars@forseth.de>
					17-03-2004 by Frank Hoffmann <info@x28.de>
					
************************************************/
$accessGranted = false;
  $permissions = $auth->auth["perm"];
  $permissions = explode(',', $permissions);
  foreach ($permissions as $perm)
  if ($perm == "sysadmin" || $perm == "admin[".$client."]")
  $accessGranted = true;

switch ($eintrag) {      // das erste mal beim aufruf ist $eintrag undefiniert
  case "";
    $eintrag = "0";      // deswegen wertzuweisung 0
}
$zps = "CMS_VALUE[4]";              // anzeige der einträge pro Seite

$max = ($eintrag + $zps);
$meineseite=$auth->url();
if (!$accessGranted) { $where = " WHERE active=1 AND client=$client"; }
else { $where = " WHERE client=$client"; }
if($accessGranted) {
if ($acontext == "delete") {
	$sql = "DELETE FROM ".$cfgTab_guestbook." WHERE id=".$gbid;
	$db->query($sql);
	echo "<p><font color=red>-- Eintrag wurde aus der Datenbank entfernt --</font></p>";
	}
else {
	if ($acontext=="set") {
		$sql = "UPDATE ".$cfgTab_guestbook." SET active=".$active." WHERE id='".$gbid."' LIMIT 1";
		$db->query($sql);
		}
   }
}
$acontext = "view";

// wenn view als aktion übergeben wird bzw. beim erstmaligen Seitenaufruf
if($acontext == "view")
{
  //Zählen der Datensätze
  $sql = "SELECT count(*) AS total FROM ".$cfgTab_guestbook.$where;
  $db->query($sql);
  $db->next_record();
  $eintraege = $db->f("total");
echo "<br>";
echo "<table>";

  //Unternavigation zusammenbauen
  $gbnav = "";
  $gbnav .= "<table width=100% cellspacing=0 cellpadding=0><tr>";
  if ($max >= $eintraege)
  $gbnav .= "<td class=textbold><p>  Einträge: ".($eintrag+1)."-".($eintraege)." von ".$eintraege."</p></td>";
  else
  $gbnav .= "<td class=textbold><p>  Einträge: ".($eintrag+1)."-".($max)." von ".$eintraege."</p></td>";
  $gbnav .= "<td class=textbold align=right><p>";
  $pages = $eintraege / $zps;
  if ($pages > 1) {
    $gbnav .= "gehe zu Seite ";
    for ($ii = 0; $ii < $pages; $ii++) {
     if ($ii != ($eintrag / $zps)) {
       $gbnav .= "<a href=\"$meineseite&acontext=view&eintrag=";
       $gbnav .= ($ii * $zps);
       $gbnav .= "\">[".($ii+1)."]</a> ";
     }
    }
  }
  $gbnav .= "</p></td>";

  //Ausgabe Navigation
//  echo $gbnav;

  // Daten aus der Datenbank abfragen mit der Einschränkung $eintrag (d.h. welche ausgegeben werden sollen) und $zps (anzahl der anzuzeigenden elemente)
  $sql = "SELECT name, email, url, date, location, comments, id, active FROM $cfgTab_guestbook $where order by date desc LIMIT $eintrag,$zps";
  $db->query($sql);

  // Auslesen des Ergebnisse pro Reihe und Generierung der Seite
  while ($db->next_record()) {
    echo "<p><table width=80% border=0 cellpadding=0 cellspacing=0>";
    echo "<td class=textbold><span ID=fontCMS_VALUE[1]>".$db->f("name")."</span><br><span ID=fontCMS_VALUE[2]>".$db->f("date")."</span></td>";
    echo "<td align=right valign=top>";
if($accessGranted) {
      if ($db->f("active") == 0) { $x_context = "-activate-"; }
      if ($db->f("active") == 1) { $x_context = "-deactivate-"; }
      echo "<a href=$meineseite&acontext=set&active=".(($db->f("active")*-1)+1)."&gbid=".$db->f("id")."&eintrag=".$eintrag.">".$x_context."</a>";
	  echo "<a href=$meineseite&acontext=delete"."&gbid=".$db->f("id").">  -kill-</a>";
    }

if ($db->f("url") != "") { echo "<a href=\"http://".$db->f("url")."\" target=_blank><img src=".$cfgClient[1]["frontendpath"]["img"]."CMS_VALUE[5] border=0 hspace=5></a>"; }
if ($db->f("email") != "") { echo "<a href=\"mailto:".$db->f("email")."\"><img src=".$cfgClient[1]["frontendpath"]["img"]."CMS_VALUE[6] border=0></a></td>"; }

echo "</tr>";
    echo "<tr><td class=text ID=fontCMS_VALUE[3] colspan=3 valign=top><p>".$db->f("comments")."</p></td></tr>";

    //Eintrag aktivieren/deaktivieren
   {
      if ($acontext == "view") { $imgsrc = "upload/design/gaestebuch/line_top.gif"; }
      echo "<tr><td colspan=2><a href=\"#top\"><img src=$imgsrc border=0></a></td></tr>";
    }
    echo "</table></p><br>";
  }

  //Ausgabe Navigation
  echo $gbnav;
}

echo "</table>";

?>
ccccccccc
Snoopy
Beiträge: 239
Registriert: Mo 15. Sep 2003, 18:45
Kontaktdaten:

Re: Anpassung: Löschen im Gästebuch

Beitrag von Snoopy »

Sehr gute Arbeit !!!
Gruß aus Hamburg :wink:
Gesperrt