Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Gästebuch -> Edit -> für Admins

Eingetragen von Chuck (7)
am 01.12.2007 - 03:38 Uhr in
  • Module
  • Drupal 5.x

Hallo,

ich war auf der Suche nach einer Lösung Gästebuch Einträge als Admin zu editieren, dabei habe ich folgendes gefunden:

http://drupal.org/node/61968

Allerdings hatte ich damit (Drupal 5.3 und PHP5 im CGI Mode) folgenden Fehler im Webserver Log:

Premature end of script headers: php5

Mit diesem leicht abgewandelten Patch funktioniert es nun....

--- guestbook.module.orig       2007-12-01 01:07:59.000000000 +0100
+++ guestbook.module    2007-12-01 02:02:50.000000000 +0100
@@ -17,7 +17,7 @@
define('GUESTBOOK_PAGER_ABOVE', 0x0001);
define('GUESTBOOK_PAGER_BELOW', 0x0002);

-define('GUESTBOOK_TEXTAREA_ROWS', 8);
+define('GUESTBOOK_TEXTAREA_ROWS', 18);

/**
  *  Implementation of hook_menu()
@@ -285,6 +285,8 @@
   // Delete or comment an entry
   if (_guestbook_access('administer', $uid) && is_numeric($op_id)) {
     switch ($op) {
+      case "edit": //zelf toegevoegd
+         return guestbook_edit_entry($uid, $op_id);
       case 'delete':
         return guestbook_delete_entry_confirm_page($uid, $op_id);
       case 'comment':
@@ -534,6 +536,92 @@
        return drupal_get_form('guestbook_delete_entry_confirm', $uid, $entry_id );
}

+/**
+ * zelf toegevoegde functie om guestbook_entry bewerkformulier
+ *  gebaseerd op guestbook_form_entry() en guestbook_delete_entry_confirm()
+ *
+ * @param integer $uid nummer van het gastenboek
+ * @param integer $entry_id nummer van het gastenboekbericht
+ */
+function guestbook_edit_entry_form($uid, $entry_id) {
+  global $user;
+
+  $entry = db_fetch_array(db_query("SELECT * FROM {guestbook} WHERE id = %d", $entry_id));
+
+  $form = array();
+  $form['entry_id'] = array('#type' => 'value', '#value' => $entry['id']);
+  $form['author'] = array('#type' => 'value', '#value' => $entry['author']);
+  if ($entry['author'] == 0 ) {
+    // fields for anonymous poster
+    $form['anonname'] = array(
+      '#type' => 'textfield', '#title' => t('Name'),
+      '#size' => 32, '#maxlength' => 64, '#required' => TRUE,
+       '#default_value' => $entry['anonname']);
+    $anonymous_fields = (array) variable_get('guestbook_anonymous_fields', array('email','website'));
+    if (in_array('email', $anonymous_fields)) {
+      $form['anonemail'] = array(

+        '#type' => 'textfield', '#title' => t('E-Mail'),
+        '#size' => 32, '#maxlength' => 128,
+       '#default_value' => $entry['anonemail']);
+    }
+    if (in_array('website', $anonymous_fields)) {
+      $form['anonwebsite'] = array(
+        '#type' => 'textfield', '#title' => t('Homepage'),
+        '#size' => 32, '#maxlength' => 128,
+       '#default_value' => $entry['anonwebsite']);
+    }
+  }
+  $filter_tips = variable_get('guestbook_filter_tips', TRUE) ? _guestbook_form_filter_tips() : NULL;
+  $form['message'] = array(
+    '#type' => 'textarea', '#title' => t('Message'),
+    '#cols' => 32, '#rows' => GUESTBOOK_TEXTAREA_ROWS, '#description' => $filter_tips, '#required' => TRUE,
+    '#default_value' => $entry['message']);
+  $form['send'] = array(
+    '#type' => 'submit', '#value' => t('send'));
+  $form['uid'] = array(
+    '#type' => 'value', '#value' => $uid);
+  $form['access'] = array(
+    '#type' => 'value', '#value' => _guestbook_access('post', $uid));
+  $form['display'] = array(
+    '#type' => 'value', '#value' => 'page');
+  return $form;
+}
+
+function guestbook_edit_entry($uid, $entry_id) {
+  $output = drupal_get_form('guestbook_edit_entry_form', $uid, $entry_id);
+  return $output;
+}
+
+/**
+ * zelf toegevoegd om aangepaste guestbook entry op te slaan
+ *  gebaseerd op guestbook_delete_entry_confirm_submit() en guestbook_form_entry_submit()
+ *
+ * @param integer $uid nummer van het gastenboek
+ * @param integer $entry_id nummer van het gastenboekbericht
+ * @return string url
+ */
+function guestbook_edit_entry_form_submit($form_id, $form_values) {
+  global $user;
+
+  if (_guestbook_access('administer', $form_values['uid']) && $form_values['send']) {
+    if ($form_values['author'] == 0) {
+      // anonymous user
+      $result = db_query("UPDATE {guestbook}
+        SET anonname = '%s', anonemail = '%s', anonwebsite = '%s',
+        author = '%d', recipient = '%d', message = '%s'
+        WHERE id = %d", $form_values['anonname'], $form_values['anonemail'], $form_values['anonwebsite'],
+        $form_values['author'], $uid, $form_values['message'], $form_values['entry_id']);
+    }
+    else if ($form_values['author'] > 0) {
+      // registered user
+      $result = db_query("UPDATE {guestbook}
+        SET author = '%d', recipient = '%d', message = '%s'
+        WHERE id = %d", $form_values['author'], $uid, $form_values['message'], $form_values['entry_id']);
+    }
+  }
+  return 'guestbook/'. $form_values['uid'];
+}
+
function guestbook_delete_entry_confirm($uid, $entry_id) {
   $entry = db_fetch_array(db_query(
     "SELECT g.*, u1.name, u1.data, u1.picture, u2.name as commentby
@@ -639,6 +727,7 @@
       $pager = $_GET['page'] ? 'page='. $_GET['page'] : NULL;
       $output .= '<div class="links">&raquo; ';
       $output .= l(t('Delete entry'), "guestbook/$uid/delete/{$entry['id']}", array(), $pager) .'&nbsp;|&nbsp;';
+      $output .= l(t('edit entry'), "guestbook/$uid/edit/{$entry["id"]}", array(), $pager) ."&nbsp;|&nbsp;";
       $output .= l($entry['comment'] == '' ? t('Add comment') : t('Edit comment'), "guestbook/$uid/comment/{$entry['id']}", array(), $pager, 'comment-entry');
       $output .= '</div>';
     }

Ich wollte dies eigentlich auf drupal.org posten doch ich raffe es nicht wie mit den Userdaten von hier mich dort anmelden kann :( .

Gruß,
Chuck

‹ Bookmarken per Klick auf externer WebSite ModRewrite fuer andere imce Adresse ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Warum registrierst Du Dich

Eingetragen von quiptime (4972)
am 01.12.2007 - 04:20 Uhr

Warum registrierst Du Dich auf drupal.org nicht separat?

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

quiptime wrote: Warum

Eingetragen von Chuck (7)
am 01.12.2007 - 23:11 Uhr
quiptime schrieb

Warum registrierst Du Dich auf drupal.org nicht separat?

Hab ich ja jetzt auch gemacht....

Da ich mich aber gerade hier frisch angemeldet hatte und hier sowohl auch bei drupal.org stand das man sich dann nicht erneut registrieren müsste --> dachte ich lasse es mal sein....

Gruß,
Chuck

  • Anmelden oder Registrieren um Kommentare zu schreiben

welche datei ist das die ich

Eingetragen von Babalu (117)
am 11.08.2008 - 12:11 Uhr

welche datei ist das die ich umschreiben muss ?
ich nutze drupal 6.3, geht das dort auch mit dem guestbook modul ?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
Weiter

Neue Kommentare

  • Gefunden
    vor 6 Wochen 17 Stunden
  • Vielen Dank für die ausführlichen Hinweise...
    vor 6 Wochen 4 Tagen
  • Mögliche Ursachen und nächste Schritte
    vor 6 Wochen 4 Tagen
  • Was für einen Server benutzt
    vor 9 Wochen 18 Stunden
  • Wenn die Subdomain auf
    vor 9 Wochen 2 Tagen
  • ordnerstruktur
    vor 9 Wochen 3 Tagen
  • Die Subdomain muß auf den
    vor 9 Wochen 5 Tagen
  • Verwende doch das Tag dafür,
    vor 13 Wochen 9 Stunden
  • Guckst du hier: step by step
    vor 12 Wochen 6 Tagen
  • Guckst du hier: step by step
    vor 12 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250294
Registrierte User: 20535

Neue User:

  • DanielAltek
  • HilipPet
  • Henryskake

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 16 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association