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 - 02: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 - 03: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 - 22: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 - 11: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

  • Нужен совет по выбору оптимального варианта
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
Weiter

Neue Kommentare

  • Naja ich habe nichts an den
    vor 1 Woche 2 Tagen
  • Ich sehe ja dein Theme nicht
    vor 1 Woche 3 Tagen
  • Zwischenzeitlich habe ich
    vor 1 Woche 5 Tagen
  • Ok ich habe die anderen
    vor 1 Woche 5 Tagen
  • Toll
    vor 1 Woche 6 Tagen
  • Vielen Dank
    vor 1 Woche 6 Tagen
  • Vielen Dank für diese sehr
    vor 1 Woche 6 Tagen
  • Wieso willst du dass denn
    vor 1 Woche 6 Tagen
  • Oh, der Klassiker unter den
    vor 1 Woche 6 Tagen
  • Naja ich achte immer drauf on
    vor 2 Wochen 10 Stunden

Statistik

Beiträge im Forum: 250259
Registrierte User: 20473

Neue User:

  • Josephtup
  • JeffreyPaf
  • StevenEness

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 20 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