$xhtxmldoc->xmd_remove_element($chEl); continue; } if (($mdt_rec = $mdStore->mds_get(BID . '.' . $chId)) === FALSE) { $mdt = $mdObj->mdo_generate_default_xml_metadata(); } else { $mdt = $mdt_rec; } $xhtxmldocchild = new xmddoc(explode("\n", $mdt)); !$xhtxmldocchild->error or give_up($chId . ': ' . $xhtxmldocchild->error); // make stuff below a parameter? copy some already in importmanifest? $xhtxmldoc->xmd_copy_foreign_child($xhtxmldocchild, $xhtxmldocchild->xmd_select_single_element('title'), $chEl); $xhtxmldoc->xmd_copy_foreign_child($xhtxmldocchild, $xhtxmldocchild->xmd_select_single_element('resource'), $chEl); $after_last = $after_last || $chId == $id_range_last; } $xhtDoc = define_htt(HTT . '.htt', $urlp, $_course['path']); $xhtDoc->xht_xmldoc = $xhtxmldoc; $xhtDoc->xht_param['mdt'] = $xhtxmldoc->xmd_xml(); // GENERATE OUTPUT ------------------------------------------------------------> foreach (explode("\n", $xhtDoc->htt_array['HTTP']) as $httpXtra) { if ($httpXtra) { $httpHeadXtra[] = $httpXtra; } } $xhtDoc->xht_get_lang = 'get_lang'; function resource_for($e) { return $e; } // dummy, '=/' not used here $xhtDoc->xht_resource = 'resource_for';
} // XML and DB STUFF -----------------------------------------------------------> $is_allowed_to_edit = isset($_user['user_id']) && $is_courseMember && api_is_allowed_to_edit(); $mdStore = new mdstore($is_allowed_to_edit); if (($mdt_rec = $mdStore->mds_get(EID)) === FALSE) { // no record, default XML $mdt = $mdObj->mdo_generate_default_xml_metadata(); } else { $mdt = $mdt_rec; } $xhtxmldoc = new xmddoc(explode("\n", $mdt)); $httfile = $xhtxmldoc->error ? 'md_editxml.htt' : HTT . '.htt'; if (!$xhtxmldoc->error && $mdt_rec !== FALSE && method_exists($mdObj, 'mdo_override')) { $mdt = $mdObj->mdo_override($xhtxmldoc); } $xhtDoc = define_htt($httfile, $urlp, $_course['path']); define('HSH', md5($mdt . LFN . $nameTools . get_lang('Sorry') . $httfile . implode('{}', $xhtDoc->htt_array))); // cached HTML depends on LFN+HTT $xhtDoc->xht_param['traceinfo'] = $xhtxmldoc->error; $xhtDoc->xht_param['dbrecord'] = $mdt_rec !== FALSE ? 'TRUE' : ''; $xhtDoc->xht_xmldoc = $xhtxmldoc; if ($is_allowed_to_edit) { $xhtDoc->xht_param['isallowedtoedit'] = 'TRUE'; } // MD updates to Doc and DB if ($is_allowed_to_edit && isset($_POST['mda'])) { $mdt = $mdStore->mds_update_xml_and_mdt($mdObj, $xhtDoc->xht_xmldoc, get_magic_quotes_gpc() ? stripslashes($_POST['mda']) : $_POST['mda'], EID, $xhtDoc->xht_param['traceinfo'], $mdt_rec !== FALSE); if ($mdt_rec !== FALSE) { if (strpos($xhtDoc->xht_param['traceinfo'], 'DELETE') !== FALSE) { $xhtDoc->xht_param['dbrecord'] = ''; }