$gL10n->get('ANN_ANNOUNCEMENTS'))); $getCatId = admFuncVariableIsValid($_GET, 'cat_id', 'int'); $getId = admFuncVariableIsValid($_GET, 'id', 'int'); $getDateFrom = admFuncVariableIsValid($_GET, 'date_from', 'date'); $getDateTo = admFuncVariableIsValid($_GET, 'date_to', 'date'); // check if module is enabled if ((int) $gSettingsManager->get('enable_announcements_module') === 0) { // module is disabled $gMessage->show($gL10n->get('SYS_MODULE_DISABLED')); // => EXIT } elseif((int) $gSettingsManager->get('enable_announcements_module') === 2) { // Access only with valid login require(__DIR__ . '/../../system/login_valid.php'); } // create object for announcements $announcements = new ModuleAnnouncements(); $announcements->setParameter('id', $getId); $announcements->setParameter('cat_id', $getCatId); $announcements->setDateRange($getDateFrom, $getDateTo); // get parameters and number of recordsets $announcementsCount = $announcements->getDataSetCount(); // Navigation of the module starts here $gNavigation->addStartUrl(CURRENT_URL, $getHeadline); // create html page object $page = new HtmlPage($getHeadline); $page->enableModal(); // add rss feed to announcements if($gSettingsManager->getBool('enable_rss')) { $page->addRssFile( safeUrl(ADMIDIO_URL.FOLDER_MODULES.'/announcements/rss_announcements.php', array('headline' => $getHeadline)), $gL10n->get('SYS_RSS_FEED_FOR_VAR', array($gCurrentOrganization->getValue('org_longname').' - '.$getHeadline)) ); } // number of announcements per page if($gSettingsManager->getInt('announcements_per_page') > 0) { $announcementsPerPage = $gSettingsManager->getInt('announcements_per_page'); } else { $announcementsPerPage = $announcementsCount; } // get module menu $announcementsMenu = $page->getMenu(); if(count($gCurrentUser->getAllEditableCategories('ANN')) > 0) { // show link to create new announcement $announcementsMenu->addItem( 'menu_item_new_announcement', safeUrl(ADMIDIO_URL.FOLDER_MODULES.'/announcements/announcements_new.php', array('headline' => $getHeadline)), $gL10n->get('SYS_CREATE_ENTRY'), 'add.png' ); } $page->addJavascript(' $("#cat_id").change(function() { $("#navbar_cat_id_form").submit(); });', true ); $navbarForm = new HtmlForm('navbar_cat_id_form', safeUrl(ADMIDIO_URL.FOLDER_MODULES.'/announcements/announcements.php', array('headline' => $getHeadline)), $page, array('type' => 'navbar', 'setFocus' => false)); $navbarForm->addSelectBoxForCategories( 'cat_id', $gL10n->get('SYS_CATEGORY'), $gDb, 'ANN', HtmlForm::SELECT_BOX_MODUS_FILTER, array('defaultValue' => $getCatId) ); $announcementsMenu->addForm($navbarForm->show(false)); if($gCurrentUser->editAnnouncements()) { // if no calendar selectbox is shown, then show link to edit calendars $announcementsMenu->addItem( 'admMenuItemCategories', safeUrl(ADMIDIO_URL.FOLDER_MODULES.'/categories/categories.php', array('type' => 'ANN')), $gL10n->get('SYS_MAINTAIN_CATEGORIES'), 'application_view_tile.png' ); } if($gCurrentUser->isAdministrator()) { // show link to system preferences of announcements $announcementsMenu->addItem( 'menu_item_preferences', safeUrl(ADMIDIO_URL.FOLDER_MODULES.'/preferences/preferences.php', array('show_option' => 'announcements')), $gL10n->get('SYS_MODULE_PREFERENCES'), 'options.png', 'right' ); } if($announcementsCount === 0) { // no announcements found if($getId > 0) { $page->addHtml('
'.$gL10n->get('SYS_NO_ENTRY').'
'); } else { $page->addHtml(''.$gL10n->get('SYS_NO_ENTRIES').'
'); } } 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); $annId = (int) $announcement->getValue('ann_id'); $annHeadline = noHTML($announcement->getValue('ann_headline')); $page->addHtml(' '); } // Ende foreach // If necessary show links to navigate to next and previous recordsets of the query $baseUrl = safeUrl(ADMIDIO_URL.FOLDER_MODULES.'/announcements/announcements.php', array('headline' => $getHeadline, 'cat_id' => $getCatId)); $page->addHtml(admFuncGeneratePagination($baseUrl, $announcementsCount, $announcementsPerPage, $getStart)); } // show html of complete page $page->show();