protected function getActiveAdvMDRecords($a_id) { include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php'; $active = array(); foreach (ilAdvancedMDRecord::_getActivatedRecordsByObjectType("glo", "term") as $record_obj) { $active[] = $record_obj->getRecordId(); } return array_intersect($active, ilAdvancedMDRecord::getObjRecSelection($a_id, "term")); }
/** * create client tag * * @param ilSetting $setting */ private function __buildClient($setting) { $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)); } // determine skins/styles $skin_styles = array(); include_once "./Services/Style/classes/class.ilStyleDefinition.php"; $styleDefinition = new ilStyleDefinition(); include_once "./Services/Style/classes/class.ilObjStyleSettings.php"; $templates = $styleDefinition->getAllTemplates(); if (is_array($templates)) { foreach ($templates as $template) { // get styles information of template $styleDef =& new ilStyleDefinition($template["id"]); $styleDef->startParsing(); $styles = $styleDef->getStyles(); foreach ($styles as $style) { if (!ilObjStyleSettings::_lookupActivatedStyle($template["id"], $style["id"])) { continue; } $skin_styles[] = $template["id"] . ":" . $style["id"]; } } } // timezones include_once 'Services/Calendar/classes/class.ilTimeZone.php'; $this->xmlStartTag("Client", array("inst_id" => $setting->get("inst_id"), "id" => $setting->clientid, "enabled" => $setting->access == 1 ? "TRUE" : "FALSE", "default_lang" => $setting->language)); $this->xmlEndTag("Client"); return; // END here due to security reasons. $this->xmlElement("Name", null, $setting->get("inst_name")); $this->xmlElement("Description", null, $setting->description); $this->xmlElement("Institution", null, $setting->get("inst_institution")); $this->xmlStartTag("Responsible"); $this->xmlElement("Firstname", null, $setting->get("admin_firstname")); $this->xmlElement("Lastname", null, $setting->get("admin_lastname")); $this->xmlElement("Title", null, $setting->get("admin_title")); $this->xmlElement("Institution", null, $setting->get("admin_institution")); $this->xmlElement("Position", null, $setting->get("admin_position")); $this->xmlElement("Email", null, $setting->get("admin_email")); $this->xmlElement("Street ", null, $setting->get("admin_street")); $this->xmlElement("ZipCode ", null, $setting->get("admin_zipcode")); $this->xmlElement("City", null, $setting->get("admin_city")); $this->xmlElement("Country", null, $setting->get("admin_country")); $this->xmlElement("Phone", null, $setting->get("admin_phone")); $this->xmlEndTag("Responsible"); $this->xmlStartTag("Settings"); $this->xmlElement("Setting", array("key" => "error_recipient"), $setting->get("error_recipient")); $this->xmlElement("Setting", array("key" => "feedback_recipient"), $setting->get("feedback_recipient")); $this->xmlElement("Setting", array("key" => "session_expiration"), $setting->session); $this->xmlElement("Setting", array("key" => "soap_enabled"), $setting->get("soap_user_administration")); $this->xmlElement("Setting", array("key" => "authentication_methods"), join(",", $auth_mode_names)); $this->xmlElement("Setting", array("key" => "authentication_default_method"), $auth_mode_default); $this->xmlElement("Setting", array("key" => "skins"), join(",", $skin_styles)); $this->xmlElement("Setting", array("key" => "default_skin"), $setting->default_skin_style); $this->xmlElement("Setting", array("key" => "default_timezone"), ilTimeZone::_getDefaultTimeZone()); $this->xmlElement("Setting", array("key" => "default_hits_per_page"), $setting->default_hits_per_page); $this->xmlElement("Setting", array("key" => "default_show_users_online"), $setting->default_show_users_online); $this->xmlEndTag("Settings"); if ($this->exportAdvMDDefs) { // create advanced meta data record xml include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php'; include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordXMLWriter.php'; $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); $this->xmlStartTag('AdvancedMetaDataRecords'); if (count($record_ids) > 0) { foreach ($record_ids as $record_id) { $record_obj = ilAdvancedMDRecord::_getInstanceByrecordId($record_id); $record_obj->toXML($this); } } $this->xmlEndTag('AdvancedMetaDataRecords'); } if ($this->exportUDFDefs) { // create user defined fields record xml include_once "./Services/User/classes/class.ilUserDefinedFields.php"; $udf_data =& ilUserDefinedFields::_newInstance(); $udf_data->addToXML($this); } $this->xmlEndTag("Client"); }
/** * Parse table cells */ private function parseTableCells() { global $ilUser; $data = $this->getRowData(); $html = ""; include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php'; if ($this->getSelectedOnly()) { $recs = ilAdvancedMDRecord::_getSelectedRecordsByObject($this->obj_type, $this->obj_id, $this->sub_type); } else { $recs = ilAdvancedMDRecord::_getActivatedRecordsByObjectType($this->obj_type, $this->sub_type); } foreach ($recs as $record_obj) { include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php'; foreach (ilAdvancedMDFieldDefinition::_getDefinitionsByRecordId($record_obj->getRecordId()) as $def) { if ($this->handleECSDefinitions($def)) { continue; } $html .= "<td class='std'>" . $data['md_' . $def->getFieldId()] . "</td>"; } } return $html; }
private function parseInfoPage() { include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php'; foreach (ilAdvancedMDRecord::_getActivatedRecordsByObjectType($this->obj_type) as $record_obj) { $this->info->addSection($record_obj->getTitle()); include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php'; foreach (ilAdvancedMDFieldDefinition::_getDefinitionsByRecordId($record_obj->getRecordId()) as $def) { include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDValue.php'; $value = ilAdvancedMDValue::_getInstance($this->obj_id, $def->getFieldId()); switch ($def->getFieldType()) { case ilAdvancedMDFieldDefinition::TYPE_TEXT: if ($value->getValue()) { $this->info->addProperty($def->getTitle(), $value->getValue()); } break; case ilAdvancedMDFieldDefinition::TYPE_SELECT: if ($value->getValue()) { $this->info->addProperty($def->getTitle(), $value->getValue()); } break; case ilAdvancedMDFieldDefinition::TYPE_DATE: if ($value->getValue()) { $this->info->addProperty($def->getTitle(), ilDatePresentation::formatDate(new ilDate($value->getValue(), IL_CAL_UNIX))); } break; case ilAdvancedMDFieldDefinition::TYPE_DATETIME: if ($value->getValue()) { $this->info->addProperty($def->getTitle(), ilDatePresentation::formatDate(new ilDateTime($value->getValue(), IL_CAL_UNIX))); } break; } } } }
/** * 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(); }
/** * Get all available AdvancedMDRecord objects for OrgUnits/Types * * @return array */ public static function getAvailableAdvancedMDRecords() { if (is_array(self::$amd_records_available)) { return self::$amd_records_available; } self::$amd_records_available = ilAdvancedMDRecord::_getActivatedRecordsByObjectType('orgu', 'orgu_type'); return self::$amd_records_available; }