if (!$gCurrentUser->editAnnouncements()) { $gMessage->show($gL10n->get('SYS_NO_RIGHTS')); } // Initialize and check the parameters $getAnnId = admFuncVariableIsValid($_GET, 'ann_id', 'int'); $getHeadline = admFuncVariableIsValid($_GET, 'headline', 'string', array('defaultValue' => $gL10n->get('ANN_ANNOUNCEMENTS'))); // set headline of the script if ($getAnnId > 0) { $headline = $gL10n->get('SYS_EDIT_VAR', $gL10n->get('ANN_ANNOUNCEMENT')); } else { $headline = $gL10n->get('SYS_CREATE_VAR', $gL10n->get('ANN_ANNOUNCEMENT')); } // add current url to navigation stack $gNavigation->addUrl(CURRENT_URL, $headline); // Create announcements object $announcement = new TableAnnouncement($gDb); if ($getAnnId > 0) { $announcement->readDataById($getAnnId); // Pruefung, ob der Termin zur aktuellen Organisation gehoert bzw. global ist if (!$announcement->editRight()) { $gMessage->show($gL10n->get('SYS_NO_RIGHTS')); } } if (isset($_SESSION['announcements_request'])) { // durch fehlerhafte Eingabe ist der User zu diesem Formular zurueckgekehrt // nun die vorher eingegebenen Inhalte ins Objekt schreiben $announcement->setArray($_SESSION['announcements_request']); unset($_SESSION['announcements_request']); } // create html page object $page = new HtmlPage($headline);
$gMessage->setForwardUrl($gHomepage); $gMessage->show($gL10n->get('SYS_RSS_DISABLED')); } // Nachschauen ob RSS ueberhaupt aktiviert ist bzw. das Modul oeffentlich zugaenglich ist if ($gPreferences['enable_announcements_module'] != 1) { // das Modul ist deaktiviert $gMessage->show($gL10n->get('SYS_MODULE_DISABLED')); } //Objekt anlegen $announcements = new ModuleAnnouncements(); /*** 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('ANN_RECENT_ANNOUNCEMENTS_OF_ORGA', $gCurrentOrganization->getValue('org_longname')), $gCurrentOrganization->getValue('org_longname')); //Wenn Ankündigungen vorhanden laden if ($announcements->getDataSetCount() > 0) { $announcement = new TableAnnouncement($gDb); $rows = $announcements->getDataset(0, 10); // Dem RSSfeed-Objekt jetzt die RSSitems zusammenstellen und hinzufuegen foreach ($rows['recordset'] as $row) { // ausgelesene Ankuendigungsdaten in Announcement-Objekt schieben $announcement->clear(); $announcement->setArray($row); // set data for attributes of this entry $title = $announcement->getValue('ann_headline'); $description = $announcement->getValue('ann_description'); $link = $g_root_path . '/adm_program/modules/announcements/announcements.php?id=' . $announcement->getValue('ann_id') . '&headline=' . $getHeadline; $author = $row['create_name']; $pubDate = date('r', strtotime($announcement->getValue('ann_timestamp_create'))); // add entry to RSS feed $rss->addItem($title, $description, $link, $author, $pubDate); }
} if ($gCurrentUser->isWebmaster()) { // show link to system preferences of announcements $announcementsMenu->addItem('menu_item_preferences', $g_root_path . '/adm_program/modules/preferences/preferences.php?show_option=announcements', $gL10n->get('SYS_MODULE_PREFERENCES'), 'options.png', 'right'); } if ($announcementsCount === 0) { // no announcements found if ($getId > 0) { $page->addHtml('<p>' . $gL10n->get('SYS_NO_ENTRY') . '</p>'); } else { $page->addHtml('<p>' . $gL10n->get('SYS_NO_ENTRIES') . '</p>'); } } else { // get all recordsets $announcementsArray = $announcements->getDataSet($getStart, $announcementsPerPage); $announcement = new TableAnnouncement($gDb); // show all announcements foreach ($announcementsArray['recordset'] as $row) { $announcement->clear(); $announcement->setArray($row); $page->addHtml(' <div class="panel panel-primary" id="ann_' . $announcement->getValue('ann_id') . '"> <div class="panel-heading"> <div class="pull-left"> <img class="admidio-panel-heading-icon" src="' . THEME_PATH . '/icons/announcements.png" alt="' . $announcement->getValue('ann_headline') . '" />' . $announcement->getValue('ann_headline') . ' </div> <div class="pull-right text-right">' . $announcement->getValue('ann_timestamp_create', $gPreferences['system_date'])); // aendern & loeschen duerfen nur User mit den gesetzten Rechten if ($gCurrentUser->editAnnouncements()) { if ($announcement->editRight()) { $page->addHtml('
// Datenbank erstellen fall sie nicht existiert if (check_db() != true) { $sql = 'CREATE TABLE ' . TBL_USER_HISTORY . ' (hist_id int(10) unsigned NOT NULL AUTO_INCREMENT, hist_description text CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (hist_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;'; $result = $gDb->query($sql); } // show link to edit history $historyMenu->addItem('menu_item_edit_history', $g_root_path . '/adm_plugins/history_plugin/history_edit.php?hist_id=' . $getId . '&?headline=' . $getHeadline, '<i class="fa fa-pencil" alt="' . $gL10n->get('SYS_EDIT_VAR', $getHeadline) . '" title="' . $gL10n->get('SYS_EDIT_VAR', $getHeadline) . '"></i><div class="iconDescription">Text bearbeiten</div>', ''); } // Output Database Entry if available if (check_db() == true) { // get all recordsets $historysArray = $historys->getDataSet(); $history = new TableAnnouncement($gDb); if ($historysArray['numResults'] != 0) { /// show all history foreach ($historysArray['recordset'] as $row) { $history->clear(); $history->setArray($row); $page->addHtml(' <div class="panel panel-primary" id="hist_' . $history->getValue('hist_id') . '"> <div class="panel-body">' . $history->getValue('hist_description') . '</div> </div>'); } // Ende foreach } else { if (!$gCurrentUser->isWebmaster()) { $gMessage->show($gL10n->get('SYS_NO_DATA_FOUND')); }
require_once '../../system/common.php'; require_once '../../system/login_valid.php'; // check if the module is enabled for use if ($gPreferences['enable_announcements_module'] == 0) { // module is disabled $gMessage->show($gL10n->get('SYS_MODULE_DISABLED')); } // pruefen, ob der User auch die entsprechenden Rechte hat if (!$gCurrentUser->editAnnouncements()) { $gMessage->show($gL10n->get('SYS_NO_RIGHTS')); } // Initialize and check the parameters $getAnnId = admFuncVariableIsValid($_GET, 'ann_id', 'numeric'); $getMode = admFuncVariableIsValid($_GET, 'mode', 'numeric', array('requireValue' => true)); // Ankuendigungsobjekt anlegen $announcement = new TableAnnouncement($gDb); if ($getAnnId > 0) { $announcement->readDataById($getAnnId); // Pruefung, ob die Ankuendigung zur aktuellen Organisation gehoert bzw. global ist if ($announcement->editRight() == false) { $gMessage->show($gL10n->get('SYS_NO_RIGHTS')); } } $_SESSION['announcements_request'] = $_POST; if ($getMode == 1) { if (isset($_POST['ann_global']) == false) { $_POST['ann_global'] = 0; } if (strlen($_POST['ann_headline']) == 0) { $gMessage->show($gL10n->get('SYS_FIELD_EMPTY', $gL10n->get('SYS_HEADLINE'))); }
if ($gCurrentUser->isWebmaster()) { // show link to system preferences of announcements // @ptabaden: changed icons $announcementsMenu->addItem('menu_item_preferences', $g_root_path . '/adm_program/modules/preferences/preferences.php?show_option=announcements', '<i class="fa fa-cog" alt="' . $gL10n->get('SYS_MODULE_PREFERENCES') . '" title="' . $gL10n->get('SYS_MODULE_PREFERENCES') . '"></i><div class="iconDescription">' . $gL10n->get('SYS_MODULE_PREFERENCES') . '</div>', '', 'right'); } if ($announcementsCount === 0) { // no announcements found if ($getId > 0) { $page->addHtml('<p>' . $gL10n->get('SYS_NO_ENTRY') . '</p>'); } else { $page->addHtml('<p>' . $gL10n->get('SYS_NO_ENTRIES') . '</p>'); } } else { // get all recordsets $announcementsArray = $announcements->getDataSet($getStart, $announcementsPerPage); $announcement = new TableAnnouncement($gDb); // show all announcements foreach ($announcementsArray['recordset'] as $row) { $announcement->clear(); $announcement->setArray($row); $page->addHtml(' <div class="panel panel-primary" id="ann_' . $announcement->getValue('ann_id') . '"> <div class="panel-heading"> <h2>' . $announcement->getValue('ann_headline') . ' </h2> <div class="date-info"><h4>' . $announcement->getValue('ann_timestamp_create', $gPreferences['system_date']) . '<div class="date-actions">'); // aendern & loeschen duerfen nur User mit den gesetzten Rechten if ($gCurrentUser->editAnnouncements()) { if ($announcement->editRight()) { // @ptabaden: changed icons $page->addHtml('
$plg_show_preview = 0; } // Sprachdatei des Plugins einbinden $gL10n->addLanguagePath(PLUGIN_PATH . '/' . $plugin_folder . '/languages'); // Objekt anlegen $plg_announcements = new ModuleAnnouncements(); echo '<div id="plugin_' . $plugin_folder . '" class="admidio-plugin-content">'; if ($plg_show_headline == 1) { echo '<h3>' . $gL10n->get('PLG_SIDEBAR_ANNOUNCEMENTS_HEADLINE') . '</h3>'; } if ($plg_announcements->getDataSetCount() == 0) { echo $gL10n->get('SYS_NO_ENTRIES'); } else { // Daten holen $plg_getAnnouncements = $plg_announcements->getDataSet(0, $plg_announcements_count); $plg_announcement = new TableAnnouncement($gDb); foreach ($plg_getAnnouncements['recordset'] as $plg_row) { $plg_announcement->clear(); $plg_announcement->setArray($plg_row); echo '<div><a class="' . $plg_link_class . '" href="' . $g_root_path . '/adm_program/modules/announcements/announcements.php?id=' . $plg_announcement->getValue("ann_id") . '&headline=' . $gL10n->get('PLG_ANNOUNCEMENTS_HEADLINE') . '" target="' . $plg_link_target . '">'; if ($plg_max_char_per_word > 0) { $plg_new_headline = ""; unset($plg_words); // Woerter unterbrechen, wenn sie zu lang sind $plg_words = explode(" ", $plg_announcement->getValue('ann_headline')); foreach ($plg_words as $plg_key => $plg_value) { if (strlen($plg_value) > $plg_max_char_per_word) { $plg_new_headline = $plg_new_headline . ' ' . substr($plg_value, 0, $plg_max_char_per_word) . '-<br />' . substr($plg_value, $plg_max_char_per_word); } else { $plg_new_headline = $plg_new_headline . ' ' . $plg_value; }
// Sprachdatei des Plugins einbinden $gL10n->addLanguagePath(PLUGIN_PATH . '/' . $plugin_folder . '/languages'); // set database to admidio, sometimes the user has other database connections at the same time $gDb->setCurrentDB(); //Objekt anlegen $plg_announcements = new ModuleAnnouncements(); echo '<div id="plugin_' . $plugin_folder . '" class="admidio-plugin-content">'; if ($plg_show_headline == 1) { echo '<h3>' . $gL10n->get('PLG_SIDEBAR_ANNOUNCEMENTS_HEADLINE') . '</h3>'; } if ($plg_announcements->getDataSetCount() == 0) { echo $gL10n->get('SYS_NO_ENTRIES'); } else { //Daten holen $plg_getAnnouncements = $plg_announcements->getDataSet(0, $plg_announcements_count); $plg_announcement = new TableAnnouncement($gDb); foreach ($plg_getAnnouncements['recordset'] as $plg_row) { $plg_announcement->clear(); $plg_announcement->setArray($plg_row); echo '<a class="' . $plg_link_class . '" href="' . $g_root_path . '/adm_program/modules/announcements/announcements.php?id=' . $plg_announcement->getValue("ann_id") . '&headline=' . $gL10n->get('PLG_ANNOUNCEMENTS_HEADLINE') . '" target="' . $plg_link_target . '">'; if ($plg_max_char_per_word > 0) { $plg_new_headline = ""; unset($plg_words); // Woerter unterbrechen, wenn sie zu lang sind $plg_words = explode(" ", $plg_announcement->getValue('ann_headline')); foreach ($plg_words as $plg_key => $plg_value) { if (strlen($plg_value) > $plg_max_char_per_word) { $plg_new_headline = $plg_new_headline . ' ' . substr($plg_value, 0, $plg_max_char_per_word) . '-<br />' . substr($plg_value, $plg_max_char_per_word); } else { $plg_new_headline = $plg_new_headline . ' ' . $plg_value; }
// Datenbank erstellen fall sie nicht existiert if (check_db() != true) { $sql = 'CREATE TABLE ' . TBL_USER_STS . ' (sts_id int(10) unsigned NOT NULL AUTO_INCREMENT, sts_description text CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (sts_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;'; $result = $gDb->query($sql); } // show link to edit Startseite $stsMenu->addItem('menu_item_edit_sts', $g_root_path . '/adm_plugins/sts_plugin/sts_edit.php?sts_id=' . $getId . '&?headline=' . $getHeadline, '<i class="fa fa-pencil" alt="' . $gL10n->get('SYS_EDIT_VAR', $getHeadline) . '" title="' . $gL10n->get('SYS_EDIT_VAR', $getHeadline) . '"></i><div class="iconDescription">Text bearbeiten</div>', ''); } // Output Database Entry if available if (check_db() == true) { // get all recordsets $stssArray = $stss->getDataSet(); $sts = new TableAnnouncement($gDb); if ($stssArray['numResults'] != 0) { /// show all sts foreach ($stssArray['recordset'] as $row) { $sts->clear(); $sts->setArray($row); $page->addHtml(' <div class="panel panel-primary" id="sts_' . $sts->getValue('sts_id') . '"> <div class="panel-body">' . $sts->getValue('sts_description') . '</div> </div>'); } // Ende foreach } else { if (!$gCurrentUser->isWebmaster()) { $gMessage->show($gL10n->get('SYS_NO_DATA_FOUND')); }