/** * get client information from current as xml result set * * @param string $sid current session id * * @return XMLResultSet containing columns installation_id, installation_version, installation_url, installation_description, installation_default_language */ function getNIC($sid) { $this->initAuth($sid); $this->initIlias(); if (!$this->__checkSession($sid)) { return $this->__raiseError($this->__getMessage(), $this->__getMessageCode()); } global $rbacsystem, $rbacreview, $ilLog, $rbacadmin, $ilSetting, $ilClientIniFile; if (!is_object($ilClientIniFile)) { return $this->__raiseError("Client ini is not initialized", "Server"); } $auth_modes = ilAuthUtils::_getActiveAuthModes(); $auth_mode_default = strtoupper(ilAuthUtils::_getAuthModeName(array_shift($auth_modes))); $auth_mode_names = array(); foreach ($auth_modes as $mode) { $auth_mode_names[] = strtoupper(ilAuthUtils::_getAuthModeName($mode)); } include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php'; include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordXMLWriter.php'; // create advanced meta data record xml $record_ids = array(); $record_types = ilAdvancedMDRecord::_getAssignableObjectTypes(); foreach ($record_types as $type) { $records = ilAdvancedMDRecord::_getActivatedRecordsByObjectType($type); foreach ($records as $record) { $record_ids[] = $record->getRecordId(); } } $record_ids = array_unique($record_ids); $advmwriter = new ilAdvancedMDRecordXMLWriter($record_ids); $advmwriter->write(); // create user defined fields record xml, simulate empty user records include_once "./Services/User/classes/class.ilUserXMLWriter.php"; $udfWriter = new ilUserXMLWriter(); $users = array(); $udfWriter->setObjects($users); $udfWriter->start(); // todo: get information from client id, read from ini file specificied $client_details[] = array("installation_id" => IL_INST_ID, "installation_version" => ILIAS_VERSION, "installation_url" => ILIAS_HTTP_PATH, "installation_description" => $ilClientIniFile->readVariable("client", "description"), "installation_language_default" => $ilClientIniFile->readVariable("language", "default"), "installation_session_expire" => $ilClientIniFile->readVariable("session", "expire"), "installation_php_postmaxsize" => $this->return_bytes(ini_get("post_max_size")), "authentication_methods" => join(",", $auth_mode_names), "authentication_default_method" => $auth_mode_default, "installation_udf_xml" => $udfWriter->getXML(), "installation_advmd_xml" => $advmwriter->xmlDumpMem(false)); // store into xml result set include_once './webservice/soap/classes/class.ilXMLResultSet.php'; $xmlResult = new ilXMLResultSet(); $xmlResult->addArray($client_details, true); // create writer and return xml include_once './webservice/soap/classes/class.ilXMLResultSetWriter.php'; $xmlResultWriter = new ilXMLResultSetWriter($xmlResult); $xmlResultWriter->start(); return $xmlResultWriter->getXML(); }
/** * Export records * * @access public */ public function exportRecords() { if (!isset($_POST['record_id'])) { ilUtil::sendFailure($this->lng->txt('select_one')); $this->showRecords(); return false; } // all records have to be exportable $fail = array(); foreach ($_POST['record_id'] as $record_id) { if (!$this->getPermissions()->hasPermission(ilAdvancedMDPermissionHelper::CONTEXT_RECORD, $record_id, ilAdvancedMDPermissionHelper::ACTION_RECORD_EXPORT)) { $record = ilAdvancedMDRecord::_getInstanceByRecordId($record_id); $fail[] = $record->getTitle(); } } if ($fail) { ilUtil::sendFailure($this->lng->txt('msg_no_perm_copy') . " " . implode(", ", $fail), true); $this->ctrl->redirect($this, "showRecords"); } include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordXMLWriter.php'; $xml_writer = new ilAdvancedMDRecordXMLWriter($_POST['record_id']); $xml_writer->write(); include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordExportFiles.php'; $export_files = new ilAdvancedMDRecordExportFiles(); $export_files->create($xml_writer->xmlDumpMem()); ilUtil::sendSuccess($this->lng->txt('md_adv_records_exported')); $this->showFiles(); }
/** * Export records * * @access public */ public function exportRecords() { if (!isset($_POST['record_id'])) { ilUtil::sendFailure($this->lng->txt('select_one')); $this->showRecords(); return false; } include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordXMLWriter.php'; $xml_writer = new ilAdvancedMDRecordXMLWriter($_POST['record_id']); $xml_writer->write(); include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordExportFiles.php'; $export_files = new ilAdvancedMDRecordExportFiles(); $export_files->create($xml_writer->xmlDumpMem()); ilUtil::sendSuccess($this->lng->txt('md_adv_records_exported')); $this->showFiles(); }