function mainSave($post) { $rs = array(); $rs['akce'] = 'error'; $rs['ok'] = FALSE; $rs['report'] = ''; $rs['data'] = ''; $recno = isset($post['recno']) ? htmlspecialchars($_POST['recno']) : -1; $uuid = $post['uuid'] != '' ? htmlspecialchars($post['uuid']) : ''; $block = $post['block'] != '' ? htmlspecialchars($post['block']) : -2; $nextblock = $post['nextblock'] != '' ? htmlspecialchars($post['nextblock']) : -2; $profil = $post['profil'] != '' ? htmlspecialchars($post['profil']) : -2; $nexprofil = $post['nextprofil'] != '' ? htmlspecialchars($post['nextprofil']) : -2; $mds = $post['mds'] != '' ? htmlspecialchars($post['mds']) : -2; $data_type = isset($post['data_type']) ? htmlspecialchars($post['data_type']) : -1; $edit_group = isset($post['edit_group']) ? htmlspecialchars($post['edit_group']) : ''; $view_group = isset($post['view_group']) ? htmlspecialchars($post['view_group']) : ''; $ende = array_key_exists('ende', $post) ? htmlspecialchars($post['ende']) : 0; if ($recno == '' || $recno < 1 || $ende == 0 || count($post) < 6 || $mds < 0) { Debugger::log('[micka_main_lib.mainSave] ' . "Not complete input data! recno={$recno}, mds={$mds}, ende={$ende}, count=" . count($post), 'ERROR'); require PHPINC_DIR . '/templates/404_record.php'; } // odstranění ošetření dat způsobeného direktivou magic_quotes_gpc if (get_magic_quotes_gpc()) { $process = array(&$post); while (list($key, $val) = each($process)) { foreach ($val as $k => $v) { unset($process[$key][$k]); if (is_array($v)) { $process[$key][$key < 5 ? $k : stripslashes($k)] = $v; $process[] =& $process[$key][$key < 5 ? $k : stripslashes($k)]; } else { $process[$key][stripslashes($k)] = stripslashes($v); } } } } if (array_key_exists('fileIdentifier_0_TXT', $post)) { // Micka Lite require PHPPRG_DIR . '/CswClient.php'; require WWW_DIR . '/lite/resources/Kote.php'; require PHPPRG_DIR . '/micka_lib_php5.php'; require PHPPRG_DIR . '/MdImport.php'; $cswClient = new CSWClient(); $input = Kote::processForm(beforeSaveRecord($post)); $params = array('datestamp' => date('Y-m-d'), 'lang' => 'cze'); $xmlstring = $cswClient->processTemplate($input, WWW_DIR . '/lite/resources/kote2iso.xsl', $params); $importer = new MetadataImport(); $importer->setTableMode('tmp'); $md = array(); $md['file_type'] = 'WMS'; $md['edit_group'] = MICKA_USER; $md['view_group'] = MICKA_USER; $md['mds'] = 0; $md['lang'] = 'cze'; $lang_main = 'cze'; $md['update_type'] = 'lite'; $report = $importer->import($xmlstring, $md['file_type'], MICKA_USER, $md['edit_group'], $md['view_group'], $md['mds'] = 0, $md['lang'], $lang_main, $params = false, $md['update_type']); $md_record = new MdRecord(); $md_record->setTableMode('tmp'); $record = $md_record->getMd('recno', $recno); // Administrace záznamu if ($record['right'] == 'w') { $data = array(); $data['data_type'] = $data_type; if ($edit_group != '') { $data['edit_group'] = $edit_group; } if ($view_group != '') { $data['view_group'] = $view_group; } $md_record->updateMdFromImport($recno, $data); } } else { // Micka $md_record = new MdRecord(); $pom = $md_record->setTmpMdValues($post); if ($pom['ok'] === FALSE) { $rs['report'] = $pom['report']; return $rs; } $record = $md_record->getMd('recno', $recno); } if ($nextblock == -1) { // -1: Ukončit editaci $rs['data'] = $record['md']; $md_record->copyTmpRecordToMd(); $md_record->deleteTmpRecords(); $rs['akce'] = 'search'; $rs['ok'] = TRUE; } elseif ($nextblock == -2) { // -2: Uložení do MD a pokračování v editaci $md_record->copyTmpRecordToMd(); } elseif ($nextblock == -20 || $nextblock == -22) { // -20: průběžné uložení a xml // -22: průběžné uložení a nabídka uložení xml $rs['akce'] = $nextblock == -22 ? 'sxml' : 'xml'; $rs['data'] = $record['md']['PXML']; return $rs; } elseif ($nextblock == -21) { // -21: průběžné uložení a validace $rs['akce'] = 'valid'; $rs['data'] = $record['md']['UUID']; return $rs; } elseif ($nextblock == -19) { // -19: validace $rs['valid'] = TRUE; } if ($nextblock != -1) { // průběžné uložení, jiný profil if ($nexprofil > -1 && $nexprofil != '-19') { $profil = $nexprofil; } if ($nextblock > -1) { $block = $nextblock; } setEditId2Session('profil', $profil); setEditId2Session('package', $block); $rs['akce'] = 'edit'; $rs['ok'] = TRUE; $rs['data']['recno'] = $recno; $rs['data']['uuid'] = ''; $rs['data']['package'] = $block; $rs['data']['profil'] = $profil; } if ($rs['akce'] == 'edit') { $redirectUrl = getUrlEditFromSession(); } else { unsetEditValue2Session(); $redirectUrl = getUrlSearchFromSession(); } //return $rs; return $redirectUrl; }
<?php // micka - lite ver. 2.0 date_default_timezone_set('Europe/Prague'); require dirname(__FILE__) . "/../include/application/CswClient.php"; require dirname(__FILE__) . "/resources/kote_cfg.php"; require dirname(__FILE__) . "/resources/Kote.php"; $cswClient = new CSWClient(); session_start(); // *************************** MAIN ***************************** //---uprava vstupu $lang = $_REQUEST['lang'] ? $_REQUEST['lang'] : 'cze'; if ($_REQUEST["action"] != 'pasPrint') { $_REQUEST["creationDate"] = Kote::date2iso($_REQUEST["creationDate"]); $_REQUEST["publicationDate"] = Kote::date2iso($_REQUEST["publicationDate"]); $_REQUEST["revisionDate"] = Kote::date2iso($_REQUEST["revisionDate"]); } $input = Kote::processForm($_REQUEST); $params = array('datestamp' => date('Y-m-d'), 'lang' => $lang, 'mickaURL' => MICKA_URL); if ($_REQUEST["action-save"]) { // --- ulozeni do CSW $s = $cswClient->processTemplate($input, dirname(__FILE__) . '/resources/kote2iso.xsl', $params); $cswClient->prepareUpdate($s); $cswClient->setParams("debug=1"); $s = $cswClient->runRequest(KOTE_SERVICE, "kote", dirname(__FILE__) . '/resources/transaction2kote.xsl', 'SID@' . $_COOKIE[CSW_TOKEN], ''); echo $s; } else { if ($_REQUEST["action-xml"]) { header("Content-type: application/xml"); //echo $input; exit; reset($_REQUEST);
<?php // priklad nacteni formulare require dirname(__FILE__) . "/../include/application/CswClient.php"; require dirname(__FILE__) . "/resources/Kote.php"; $cswClient = new CSWClient(); // zobrazeni XML if ($_REQUEST['action']) { $input = Kote::processForm($_REQUEST); $params = array('datestamp' => date('Y-m-d'), 'lang' => 'cze'); header("Content-type: application/xml"); echo $cswClient->processTemplate($input, dirname(__FILE__) . '/resources/kote2iso.xsl', $params); } else { $params = array('recno' => 1, 'select_profil' => 5); $s = file_get_contents("resources/priklad_inspire.xml"); echo $cswClient->processTemplate($s, dirname(__FILE__) . '/resources/kote-micka.xsl', $params); }
<?php $xmlHead = "<?xml version='1.0' encoding='UTF-8'?" . ">"; require '../include/application/micka_config.php'; require PHPPRG_DIR . "/CswClient.php"; if ($_REQUEST['serviceURL']) { $csw = new CSWClient(); $csw->reqData = $xmlHead . $_REQUEST['qstr']; $csw->setParams("debug={$_REQUEST['debuk']}|typeNames={$_REQUEST['typeNames']}|sortBy={$sort}|startPosition=1|maxRecords=25"); $csw->method = $_REQUEST['method']; if ($_REQUEST['template'] == 1) { $tmpl = CSW_XSL . "/iso2rss.xsl"; } if ($_REQUEST['template'] == 2) { $tmpl = CSW_XSL . "/iso2json.xsl"; } $s = $csw->runRequest($_REQUEST['serviceURL'], "pokus", $tmpl, $_REQUEST["user"], $_REQUEST["pwd"], array('startPosition' => 1)); if ($_REQUEST['debuk']) { $s = htmlspecialchars_decode($s); } else { if (!$_REQUEST['template']) { header("Content-type: application/xml"); } else { if ($_REQUEST['template'] == 1) { header("Content-type: application/xhtml+xml; charset=utf-8"); } else { if ($_REQUEST['template'] == 2) { header("Content-type: application/json; charset=utf-8"); } } }