$gMessage->show($gL10n->get('SYS_MODULE_DISABLED')); } // Initialize and check the parameters $getHeadline = admFuncVariableIsValid($_GET, 'headline', 'string', array('defaultValue' => $gL10n->get('GBO_GUESTBOOK'))); // die 10 letzten Eintraege aus der DB fischen... $sql = 'SELECT * FROM ' . TBL_GUESTBOOK . ' WHERE gbo_org_id = ' . $gCurrentOrganization->getValue('org_id') . ' AND gbo_locked = 0 ORDER BY gbo_timestamp_create DESC LIMIT 10 '; $statement = $gDb->query($sql); // ab hier wird der RSS-Feed zusammengestellt // create RSS feed object with channel information $rss = new RSSfeed($gCurrentOrganization->getValue('org_longname') . ' - ' . $getHeadline, $gCurrentOrganization->getValue('org_homepage'), $gL10n->get('GBO_LATEST_GUESTBOOK_ENTRIES_OF_ORGA', $gCurrentOrganization->getValue('org_longname')), $gCurrentOrganization->getValue('org_longname')); $guestbook = new TableGuestbook($gDb); // Dem RSSfeed-Objekt jetzt die RSSitems zusammenstellen und hinzufuegen while ($row = $statement->fetch()) { // ausgelesene Gaestebuchdaten in Guestbook-Objekt schieben $guestbook->clear(); $guestbook->setArray($row); // set data for attributes of this entry $title = $guestbook->getValue('gbo_name'); $description = $guestbook->getValue('gbo_text'); $link = $g_root_path . '/adm_program/modules/guestbook/guestbook.php?id=' . $guestbook->getValue('gbo_id'); $author = $guestbook->getValue('gbo_name'); $pubDate = date('r', strtotime($guestbook->getValue('gbo_timestamp_create'))); // add entry to RSS feed $rss->addItem($title, $description, $link, $author, $pubDate); } // jetzt nur noch den Feed generieren lassen $rss->buildFeed();
// Pruefung, ob der Eintrag zur aktuellen Organisation gehoert if ($guestbook->getValue('gbo_org_id') != $gCurrentOrganization->getValue('org_id')) { $gMessage->show($gL10n->get('SYS_NO_RIGHTS')); } } // Wenn keine ID uebergeben wurde, der User aber eingeloggt ist koennen zumindest // Name, Emailadresse und Homepage vorbelegt werden... if ($getGboId === 0 && $gValidLogin) { $guestbook->setValue('gbo_name', $gCurrentUser->getValue('FIRST_NAME') . ' ' . $gCurrentUser->getValue('LAST_NAME')); $guestbook->setValue('gbo_email', $gCurrentUser->getValue('EMAIL')); $guestbook->setValue('gbo_homepage', $gCurrentUser->getValue('WEBSITE')); } if (isset($_SESSION['guestbook_entry_request'])) { // durch fehlerhafte Eingabe ist der User zu diesem Formular zurueckgekehrt // nun die vorher eingegebenen Inhalte ins Objekt schreiben $guestbook->setArray($_SESSION['guestbook_entry_request']); unset($_SESSION['guestbook_entry_request']); } if (!$gValidLogin && $gPreferences['flooding_protection_time'] != 0) { // Falls er nicht eingeloggt ist, wird vor dem Ausfuellen des Formulars noch geprueft ob der // User innerhalb einer festgelegten Zeitspanne unter seiner IP-Adresse schon einmal // einen GB-Eintrag erzeugt hat... $ipAddress = $_SERVER['REMOTE_ADDR']; $sql = 'SELECT COUNT(*) FROM ' . TBL_GUESTBOOK . ' WHERE unix_timestamp(gbo_timestamp_create) > unix_timestamp()-' . $gPreferences['flooding_protection_time'] . ' AND gbo_org_id = ' . $gCurrentOrganization->getValue('org_id') . ' AND gbo_ip_address = \'' . $guestbook->getValue('gbo_ip_address') . '\''; $statement = $gDb->query($sql); $row = $statement->fetch(); if ($row[0] > 0) {