$categoriesOverview->setColumnAlignByArray(array('left', 'left', 'left', 'left', 'right')); $categoriesOverview->addRowHeadingByArray($columnHeading); $sql = 'SELECT * FROM ' . TBL_CATEGORIES . ' WHERE ( cat_org_id = ' . $gCurrentOrganization->getValue('org_id') . ' OR cat_org_id IS NULL ) AND cat_type = \'' . $getType . '\' ORDER BY cat_sequence ASC'; $categoryStatement = $gDb->query($sql); $flagTbodyWritten = false; $flagTbodyAllOrgasWritten = false; $category = new TableCategory($gDb); // Get data while ($cat_row = $categoryStatement->fetch()) { $category->clear(); $category->setArray($cat_row); if ($category->getValue('cat_system') == 1 && $getType === 'USF') { // da bei USF die Kategorie Stammdaten nicht verschoben werden darf, muss hier ein bischen herumgewurschtelt werden $categoriesOverview->addTableBody('id', 'cat_' . $category->getValue('cat_id')); } elseif ($category->getValue('cat_org_id') == 0 && $getType === 'USF') { // Kategorien über alle Organisationen kommen immer zuerst if (!$flagTbodyAllOrgasWritten) { $flagTbodyAllOrgasWritten = true; $categoriesOverview->addTableBody('id', 'cat_all_orgas'); } } else { if (!$flagTbodyWritten) { $flagTbodyWritten = true; $categoriesOverview->addTableBody('id', 'cat_list'); } }
// falls eine Kategorie von allen Orgas auf eine Bestimmte umgesetzt wurde oder anders herum, // dann muss die Sequenz fuer den alle Kategorien dieses Typs neu gesetzt werden if (isset($_POST['cat_org_id']) && $_POST['cat_org_id'] != $cat_org_merker) { $sequenceCategory = new TableCategory($gDb); $sequence = 0; $sql = 'SELECT * FROM ' . TBL_CATEGORIES . ' WHERE cat_type = "' . $getType . '" AND ( cat_org_id = ' . $gCurrentOrganization->getValue('org_id') . ' OR cat_org_id IS NULL ) ORDER BY cat_org_id ASC, cat_sequence ASC'; $categoriesStatement = $gDb->query($sql); while ($row = $categoriesStatement->fetch()) { ++$sequence; $sequenceCategory->clear(); $sequenceCategory->setArray($row); $sequenceCategory->setValue('cat_sequence', $sequence); $sequenceCategory->save(); } } $gNavigation->deleteLastUrl(); unset($_SESSION['categories_request']); header('Location: ' . $gNavigation->getUrl()); exit; } elseif ($getMode === 2) { // delete category try { if ($category->delete()) { echo 'done'; } } catch (AdmException $e) {
$headline = $gL10n->get('SYS_CREATE_VAR', $headline); } $gNavigation->addUrl(CURRENT_URL, $headline); // UserField-objekt anlegen $category = new TableCategory($gDb); if ($getCatId > 0) { $category->readDataById($getCatId); // Pruefung, ob die Kategorie zur aktuellen Organisation gehoert bzw. allen verfuegbar ist if ($category->getValue('cat_org_id') > 0 && $category->getValue('cat_org_id') != $gCurrentOrganization->getValue('org_id')) { $gMessage->show($gL10n->get('SYS_NO_RIGHTS')); } } if (isset($_SESSION['categories_request'])) { // durch fehlerhafte Eingabe ist der User zu diesem Formular zurueckgekehrt // nun die vorher eingegebenen Inhalte ins Objekt schreiben $category->setArray($_SESSION['categories_request']); if (!isset($_SESSION['categories_request']['show_in_several_organizations'])) { $category->setValue('cat_org_id', $gCurrentOrganization->getValue('org_id')); } unset($_SESSION['categories_request']); } // create html page object $page = new HtmlPage($headline); // add back link to module menu $categoryCreateMenu = $page->getMenu(); $categoryCreateMenu->addItem('menu_item_back', $gNavigation->getPreviousUrl(), $gL10n->get('SYS_BACK'), 'back.png'); // show form $form = new HtmlForm('categories_edit_form', $g_root_path . '/adm_program/modules/categories/categories_function.php?cat_id=' . $getCatId . '&type=' . $getType . '&mode=1', $page); // systemcategories should not be renamed $fieldPropertyCatName = FIELD_REQUIRED; if ($category->getValue('cat_system') == 1) {