function mainEdit($get) { //function mainEdit($recno, $uuid, $package, $profil, $copy=TRUE) { $recno = isset($get['recno']) && $get['recno'] != '' ? htmlspecialchars($get['recno']) : -1; $uuid = isset($get['uuid']) && $get['uuid'] != '' ? htmlspecialchars($get['uuid']) : ''; if ($recno == -1 && $uuid == '' && isset($get['id'])) { $uuid = $get['id'] != '' ? htmlspecialchars($get['id']) : ''; } $package = isset($get['package']) && $get['package'] != '' ? htmlspecialchars($get['package']) : ''; $profil = isset($get['profil']) && $get['profil'] != '' ? htmlspecialchars($get['profil']) : ''; $copy = isset($get['copy']) && $get['copy'] == FALSE ? FALSE : TRUE; $rs = array(); $rs['akce'] = 'error'; $rs['ok'] = FALSE; $rs['report'] = ''; $rs['data'] = ''; $md_record = new MdRecord(); if ($uuid != '') { if ($copy === FALSE) { $md_record->setTableMode('tmp'); } $record = $md_record->getMd('uuid', $uuid); if ($record['report'] != 'ok') { $rs['report'] = $record['report']; require PHPINC_DIR . '/templates/404_record.php'; return $rs; } if ($record['right'] != 'w') { $rs['report'] = 'Not rights'; require PHPINC_DIR . '/templates/403.php'; return $rs; } $recno = $record['md']['RECNO']; } if ($recno > -1) { $recnoSession = getEditValueFromSession($recno, 'recno', 'recnoTmp'); if ($recnoSession != '' && $recnoSession != -1) { $copy = FALSE; if ($profil == '') { $profil = getEditValueFromSession($recno, 'recno', 'profil'); } if ($package == '') { $package = getEditValueFromSession($recno, 'recno', 'package'); } $recno = $recnoSession; } if ($copy === TRUE) { $pom = $md_record->copyRecordToTmp($recno); $recnoTmp = $pom['recno_tmp']; setEditId2Session('recno', $recno); setEditId2Session('recnoTmp', $recnoTmp); setUrlEdit2Session(); } else { $recnoTmp = $recno; } if ($recnoTmp == -1) { $rs['report'] = $pom['report']; require PHPINC_DIR . '/templates/403.php'; return $rs; } if ($package == '' && $profil == '') { $package = 1; $profil = START_PROFIL; } $md_record->setTableMode('tmp'); //echo $profil; FIXME? $record = $md_record->getMdValues($recnoTmp, $value_lang = 'xxx', $profil, $package); if ($record['report'] != 'ok' || $record['user_right'] != 'w') { Debugger::log('[micka_main_lib.mainEdit] ' . "Recno={$recnoTmp}, " . $record['report'], 'ERROR'); $rs['report'] = $record['report']; require PHPINC_DIR . '/templates/403.php'; return $rs; } $rs['publisher'] = $record['publisher']; $rs['saver'] = $record['saver']; $rs['hierarchy'] = array_key_exists('hierarchy', $record) ? $record['hierarchy'] : ''; $rs['data']['md']['RECNO'] = $recnoTmp; $rs['data']['md']['MD_STANDARD'] = $record['md']['MD_STANDARD']; $rs['data']['md']['LANG'] = $record['md']['LANG']; $rs['data']['md']['TITLE'] = $record['md']['TITLE']; $rs['data']['md']['UUID'] = $record['md']['UUID']; $rs['data']['md']['PXML'] = $record['md']['PXML']; $rs['data']['md']['DATA_TYPE'] = $record['md']['DATA_TYPE']; $rs['data']['md']['VIEW_GROUP'] = $record['md']['VIEW_GROUP']; $rs['data']['md']['EDIT_GROUP'] = $record['md']['EDIT_GROUP']; if ($record['md']['MD_STANDARD'] == 0 || $record['md']['MD_STANDARD'] == 10) { foreach ($record['md_values'] as $value) { if ($value['MD_ID'] == 11 || $value['MD_ID'] == 5063) { if ($value['LANG'] == MICKA_LANG) { $rs['data']['md']['TITLE'] = $value['MD_VALUE']; break; } } } } if (isset($record['template']) && $record['template'] != '') { // micka LITE $rs['data']['md']['PXML'] = $record['md']['PXML']; $rs['akce'] = 'lite'; $rs['template'] = $record['template']; $rs['profil'] = $record['profil']; $rs['ok'] = TRUE; return $rs; } $rs['data']['package'] = $record['md_value_package']; if ($record['md_value_profil'] == -1 && $record['md']['MD_STANDARD'] == 0) { $rs['data']['profil'] = 0; } elseif ($record['md_value_profil'] == -1 && $record['md']['MD_STANDARD'] == 10) { $rs['data']['profil'] = 100; } else { $rs['data']['profil'] = $record['md_value_profil']; } $rs['data']['keywords_uri'] = $md_record->getKeywordsUri($recnoTmp); require PHPPRG_DIR . '/MdEditForm.php'; $form = new EditForm(); $rs['data']['md_values'] = $form->getEditForm($record['md']['MD_STANDARD'], $recnoTmp, $record['md']['LANG'], $record['md_value_profil'], $record['md_value_package'], $record['md_values']); $rs['data']['md_values_end'] = $form->getEditFormEnd(); $rs['akce'] = 'edit'; return $rs; } else { Debugger::log('[micka_main_lib.mainEdit] ' . 'Not complete input!', 'ERROR'); $rs['report'] = 'Not complete input!'; require PHPINC_DIR . '/templates/404_record.php'; return $rs; } }