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

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • 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
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 3 Wochen 13 Stunden
  • Vielen Dank für Ihren
    vor 3 Wochen 3 Tagen
  • Composer ist sehr ratsam
    vor 3 Wochen 5 Tagen
  • Vielen Dank für den
    vor 4 Wochen 17 Stunden
  • Die alten CMS Vergleiche von contentmanager.de
    vor 4 Wochen 1 Tag
  • Gut gemacht
    vor 4 Wochen 1 Tag
  • Layout Builder etc. z.B. für Landing Pages
    vor 4 Wochen 1 Tag
  • Links
    vor 4 Wochen 3 Tagen
  • Moin,wow, sehr gutes
    vor 4 Wochen 4 Tagen
  • Dass ist eine spannende
    vor 4 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250316
Registrierte User: 20566

Neue User:

  • Robertspaft
  • drupalthemes
  • rofilm

» 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 241 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