function &getGeneral() { include_once 'Services/Migration/DBUpdate_426/classes/class.ilMDGeneral.php'; if ($id = ilMDGeneral::_getId($this->getRBACId(), $this->getObjId())) { $gen =& new ilMDGeneral(); $gen->setMetaId($id); return $gen; } return false; }
/** * test General * @group IL_Init * @return */ public function testGeneral() { include_once './Services/MetaData/classes/class.ilMDGeneral.php'; include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; $con = new ilMDGeneral(1, 2, 'xxx'); $con->setCoverage('Easy'); $ret = $con->save(); $this->assertGreaterThan(0, $ret); $con->setCoverage('Medium'); $con->update(); $con->read(); $desc = $con->getCoverage(); $this->assertEquals('Medium', $desc); $con->delete(); }
/** * Update keywords from input array * @param ilMDGeneral $a_md_section * @param array $a_keywords lang => keywords */ public static function updateKeywords(ilMDGeneral $a_md_section, array $a_keywords) { // trim keywords $new_keywords = array(); foreach ($a_keywords as $lang => $keywords) { foreach ($keywords as $keyword) { $keyword = trim($keyword); if ($keyword != "" && !(is_array($new_keywords[$lang]) && in_array($keyword, $new_keywords[$lang]))) { $new_keywords[$lang][] = $keyword; } } } // update existing author entries (delete if not entered) foreach ($ids = $a_md_section->getKeywordIds() as $id) { $md_key = $a_md_section->getKeyword($id); $lang = $md_key->getKeywordLanguageCode(); // entered keyword already exists if (is_array($new_keywords[$lang]) && in_array($md_key->getKeyword(), $new_keywords[$lang])) { unset($new_keywords[$lang][array_search($md_key->getKeyword(), $new_keywords[$lang])]); } else { $md_key->delete(); } } // insert entered, but not existing keywords foreach ($new_keywords as $lang => $key_arr) { foreach ($key_arr as $keyword) { if ($keyword != "") { $md_key = $a_md_section->addKeyword(); $md_key->setKeyword(ilUtil::stripSlashes($keyword)); $md_key->setKeywordLanguage(new ilMDLanguageItem($lang)); $md_key->save(); } } } }
function toXML(&$writer) { $writer->xmlStartTag('MetaData'); // General if (is_object($gen =& $this->getGeneral())) { $gen->setExportMode($this->getExportMode()); $gen->toXML($writer); } else { // Defaults include_once 'Services/MetaData/classes/class.ilMDGeneral.php'; $gen = new ilMDGeneral($this->getRBACId(), $this->getObjId(), $this->getObjType()); // added type, alex, 31 Oct 2007 $gen->setExportMode($this->getExportMode()); $gen->toXML($writer); } // Lifecycle if (is_object($lif =& $this->getLifecycle())) { $lif->toXML($writer); } // Meta-Metadata if (is_object($met =& $this->getMetaMetadata())) { $met->toXML($writer); } // Technical if (is_object($tec =& $this->getTechnical())) { $tec->toXML($writer); } // Educational if (is_object($edu =& $this->getEducational())) { $edu->toXML($writer); } // Rights if (is_object($rig =& $this->getRights())) { $rig->toXML($writer); } // Relations foreach ($this->getRelationIds() as $id) { $rel =& $this->getRelation($id); $rel->toXML($writer); } // Annotations foreach ($this->getAnnotationIds() as $id) { $ann =& $this->getAnnotation($id); $ann->toXML($writer); } // Classification foreach ($this->getClassificationIds() as $id) { $cla =& $this->getClassification($id); $cla->toXML($writer); } $writer->xmlEndTag('MetaData'); }