24 require_once (
"Services/MetaData/classes/class.ilMDLanguageItem.php");
60 $this->ilias =& $ilias;
62 $this->import_id = array();
64 $this->language = array();
65 $this->description = array();
66 $this->keyword = array();
67 $this->technicals = array();
69 $this->structure =
"";
74 $this->
setID($this->content_obj->getId());
88 $this->bibliography_attr = $a_data;
100 $this->
abstract = $a_data;
112 $this->bib_item_data[$a_bib_item_nr][
"$a_key"] = $a_value;
126 $this->bib_item_data[$a_bib_item_nr][
"$a_key"] = array_merge($this->bib_item_data[$a_bib_item_nr][
"$a_key"],array($a_value));
132 return $this->bib_item_data;
142 return $this->bibliography_attr ? $this->bibliography_attr : array();
191 $this->xml = $this->nested_obj->export($this->content_obj->getId(),
"bib");
205 $this->encoding = $a_encoding;
234 include_once(
"./Services/Xml/classes/class.ilNestedSetXML.php");
237 $this->nested_obj->init($this->
getID(),
"bib");
239 return $this->nested_obj->initDom();
244 if ($a_booktitle ==
"")
246 $a_booktitle =
"NO TITLE";
249 $this->booktitle = $a_booktitle;
254 return $this->booktitle;
259 $this->edition = $a_edition;
264 return $this->edition;
269 $this->publisher = $a_publisher;
274 return $this->publisher;
279 $this->year = $a_year;
292 $this->meta = $a_data;
317 $this->type = $a_type;
331 $this->$a_name = $a_data;
345 $p =
"//Bibliography";
350 $nodes = $this->nested_obj->getDomContent($p, $a_name, $a_index);
361 return $this->$a_name;
368 $bibData = $this->
create();
372 $bibData[
"booktitle"] = $this->nested_obj->getFirstDomContent(
"//Bibliography/BibItem/Booktitle");
373 $bibData[
"edition"] = $this->nested_obj->getFirstDomContent(
"//Bibliography/BibItem/Edition");
374 $bibData[
"publisher"] = $this->nested_obj->getFirstDomContent(
"//Bibliography/BibItem/Publisher");
375 $bibData[
"year"] = $this->nested_obj->getFirstDomContent(
"//Bibliography/BibItem/Year");
381 $this->
setYear($bibData[
"year"]);
397 $bibData[
"booktitle"] =
"NO TITLE";
399 $bibData[
"edition"] =
"N/A";
400 $bibData[
"publisher"] =
"";
401 $bibData[
"year"] =
"N/A";
405 <BibItem Type="" Label="">
406 <Identifier Catalog="ILIAS" Entry="il__' . $this->
getType() .
'_' . $this->
getID() .
'"></Identifier>
407 <Language Language="' . $this->ilias->account->getLanguage() .
'"></Language>
408 <Booktitle Language="' . $this->ilias->account->getLanguage() .
'">'. $bibData[
"booktitle"] .
'</Booktitle>
409 <Edition>'. $bibData[
"edition"] .
'</Edition>
410 <HowPublished Type=""></HowPublished>
411 <Publisher>'. $bibData[
"publisher"] .
'</Publisher>
412 <Year>'. $bibData[
"year"] .
'</Year>
417 $this->nested_obj->import(
$xml, $this->
getID(),
"bib");
425 function delete($a_name, $a_path, $a_index)
434 $p =
"//Bibliography";
439 $this->nested_obj->deleteDomNode($p, $a_name, $a_index);
440 $this->nested_obj->updateFromDom();
447 function add($a_name, $a_path, $a_index = 0)
454 $p =
"//Bibliography";
459 $attributes = array();
460 # echo "Index: " . $a_index . " | Path: " . $p . " | Name: " . $a_name . "<br>\n";
463 case "BibItem" :
$xml =
'
464 <BibItem Type="" Label="">
465 <Identifier Catalog="ILIAS" Entry="il__' . $this->
getType() .
'_' . $this->
getID() .
'"></Identifier>
466 <Language Language="' . $this->ilias->account->getLanguage() .
'"></Language>
467 <Booktitle Language="' . $this->ilias->account->getLanguage() .
'">NO TITLE</Booktitle>
468 <Edition>N/A</Edition>
469 <HowPublished Type=""></HowPublished>
470 <Publisher></Publisher>
475 $this->nested_obj->addXMLNode($p,
$xml, $a_index);
477 case "Identifier" : $value =
"";
478 $attributes[0] = array(
"name" =>
"Catalog",
"value" =>
"");
479 $attributes[1] = array(
"name" =>
"Entry",
"value" =>
"");
480 $this->nested_obj->addDomNode($p, $a_name, $value, $attributes, $a_index);
484 case "Language" : $value =
"";
485 $attributes[0] = array(
"name" =>
"Language", value => $this->ilias->account->getLanguage());
486 $this->nested_obj->addDomNode($p, $a_name, $value, $attributes, $a_index);
488 case "Author" :
$xml =
'
490 <Lastname></Lastname>
493 $this->nested_obj->addXMLNode($p,
$xml, $a_index);
495 case "HowPublished" : $value =
"";
496 $attributes[0] = array(
"name" =>
"Type", value =>
"");
497 $this->nested_obj->addDomNode($p, $a_name, $value, $attributes, $a_index);
499 case "Series" :
$xml =
'
501 <SeriesTitle></SeriesTitle>
504 $this->nested_obj->addXMLNode($p,
$xml, $a_index);
506 default : $value =
"";
508 $this->nested_obj->addDomNode($p, $a_name, $value, $attributes, $a_index);
511 $this->nested_obj->updateFromDom();
518 $lng->loadLanguageModule(
"meta");
520 $cntcodes = array (
"DE",
"ES",
"FR",
"GB",
"AT",
"CH",
"AF",
"AL",
"DZ",
"AS",
"AD",
"AO",
521 "AI",
"AQ",
"AG",
"AR",
"AM",
"AW",
"AU",
"AT",
"AZ",
"BS",
"BH",
"BD",
"BB",
"BY",
522 "BE",
"BZ",
"BJ",
"BM",
"BT",
"BO",
"BA",
"BW",
"BV",
"BR",
"IO",
"BN",
"BG",
"BF",
523 "BI",
"KH",
"CM",
"CA",
"CV",
"KY",
"CF",
"TD",
"CL",
"CN",
"CX",
"CC",
"CO",
"KM",
524 "CG",
"CK",
"CR",
"CI",
"HR",
"CU",
"CY",
"CZ",
"DK",
"DJ",
"DM",
"DO",
"TP",
"EC",
525 "EG",
"SV",
"GQ",
"ER",
"EE",
"ET",
"FK",
"FO",
"FJ",
"FI",
"FR",
"FX",
"GF",
"PF",
526 "TF",
"GA",
"GM",
"GE",
"DE",
"GH",
"GI",
"GR",
"GL",
"GD",
"GP",
"GU",
"GT",
"GN",
527 "GW",
"GY",
"HT",
"HM",
"HN",
"HU",
"IS",
"IN",
"ID",
"IR",
"IQ",
"IE",
"IL",
"IT",
528 "JM",
"JP",
"JO",
"KZ",
"KE",
"KI",
"KP",
"KR",
"KW",
"KG",
"LA",
"LV",
"LB",
"LS",
529 "LR",
"LY",
"LI",
"LT",
"LU",
"MO",
"MK",
"MG",
"MW",
"MY",
"MV",
"ML",
"MT",
"MH",
530 "MQ",
"MR",
"MU",
"YT",
"MX",
"FM",
"MD",
"MC",
"MN",
"MS",
"MA",
"MZ",
"MM",
"NA",
531 "NR",
"NP",
"NL",
"AN",
"NC",
"NZ",
"NI",
"NE",
"NG",
"NU",
"NF",
"MP",
"NO",
"OM",
532 "PK",
"PW",
"PA",
"PG",
"PY",
"PE",
"PH",
"PN",
"PL",
"PT",
"PR",
"QA",
"RE",
"RO",
533 "RU",
"RW",
"KN",
"LC",
"VC",
"WS",
"SM",
"ST",
"SA",
"CH",
"SN",
"SC",
"SL",
"SG",
534 "SK",
"SI",
"SB",
"SO",
"ZA",
"GS",
"ES",
"LK",
"SH",
"PM",
"SD",
"SR",
"SJ",
"SZ",
535 "SE",
"SY",
"TW",
"TJ",
"TZ",
"TH",
"TG",
"TK",
"TO",
"TT",
"TN",
"TR",
"TM",
"TC",
536 "TV",
"UG",
"UA",
"AE",
"GB",
"UY",
"US",
"UM",
"UZ",
"VU",
"VA",
"VE",
"VN",
"VG",
537 "VI",
"WF",
"EH",
"YE",
"ZR",
"ZM",
"ZW");
539 foreach($cntcodes as $cntcode)
541 $cntrs[$cntcode] = $lng->txt(
"meta_c_".$cntcode);
551 $this->language = $a_lang;
567 $lng->loadLanguageModule(
"meta");
569 $lngcodes = array(
"aa",
"ab",
"af",
"am",
"ar",
"as",
"ay",
"az",
"ba",
"be",
"bg",
"bh",
570 "bi",
"bn",
"bo",
"br",
"ca",
"co",
"cs",
"cy",
"da",
"de",
"dz",
"el",
"en",
"eo",
571 "es",
"et",
"eu",
"fa",
"fi",
"fj",
"fo",
"fr",
"fy",
"ga",
"gd",
"gl",
"gn",
"gu",
572 "ha",
"he",
"hi",
"hr",
"hu",
"hy",
"ia",
"ie",
"ik",
"id",
"is",
"it",
"iu",
"ja",
573 "jv",
"ka",
"kk",
"kl",
"km",
"kn",
"ko",
"ks",
"ku",
"ky",
"la",
"ln",
"ru",
"rw",
574 "sa",
"sd",
"sg",
"sh",
"si",
"sk",
"sl",
"sm",
"sn",
"so",
"sq",
"sr",
"ss",
"st",
575 "su",
"sv",
"sw",
"ta",
"te",
"tg",
"th",
"ti",
"tk",
"tl",
"tn",
"to",
"tr",
"ts",
576 "tt",
"tw",
"ug",
"uk",
"ur",
"uz",
"vi",
"vo",
"wo",
"xh",
"yi",
"yo",
"za",
"zh",
579 foreach($lngcodes as $lngcode)
581 $langs[$lngcode] = $lng->txt(
"meta_l_".$lngcode);