55                        include_once(
"./Services/Object/exceptions/class.ilObjectException.php");
 
   70                if (!isset(self::$instances[
$a_type][$a_obj_id]))
 
   72                        self::$instances[
$a_type][$a_obj_id] = 
new self($a_obj_id, 
$a_type);
 
   75                return self::$instances[
$a_type][$a_obj_id];
 
   86                $this->obj_id = $a_val;
 
  106                $this->languages = $a_val;
 
  139                foreach($this->languages as $k => $v)
 
  141                        if($v[
"lang_default"])
 
  147                return $lng->getDefaultLanguage();
 
  159        function addLanguage($a_lang, $a_title, $a_description, $a_default, $a_force = 
false)
 
  161                if ($a_lang != 
"" && (!isset($this->languages[$a_lang]) || $a_force))
 
  165                                foreach ($this->languages as $k => 
$l)
 
  167                                        $this->languages[$k][
"lang_default"] = 
false;
 
  170                        $this->languages[$a_lang] = array(
"lang_code" => $a_lang, 
"lang_default" => $a_default,
 
  171                                "title" => $a_title, 
"description" => $a_description);
 
  182                foreach ($this->languages as 
$l)
 
  184                        if (
$l[
"lang_default"])
 
  199                foreach ($this->languages as $k => 
$l)
 
  201                        if (
$l[
"lang_default"])
 
  203                                $this->languages[$k][
"title"] = $a_title;
 
  215                foreach ($this->languages as 
$l)
 
  217                        if (
$l[
"lang_default"])
 
  219                                return $l[
"description"];
 
  232                foreach ($this->languages as $k => 
$l)
 
  234                        if (
$l[
"lang_default"])
 
  236                                $this->languages[$k][
"description"] = $a_description;
 
  251                        unset($this->languages[$a_lang]);
 
  261                $set = $this->db->query(
"SELECT * FROM il_translations ".
 
  262                        " WHERE id = ".$this->db->quote($this->getObjId(), 
"integer") .
 
  263                        " AND id_type = " . $this->db->quote($this->getType(), 
"text")
 
  265                while ($rec = $this->db->fetchAssoc($set))
 
  267                        $this->
addLanguage($rec[
"lang_code"], $rec[
"title"], $rec[
"description"], $rec[
"lang_default"]);
 
  276                $this->db->manipulate(
"DELETE FROM il_translations ".
 
  277                        " WHERE id = ".$this->db->quote($this->getObjId(), 
"integer").
 
  278                        " AND id_type = " . $this->db->quote($this->
getType(), 
"text")
 
  291                        $this->db->manipulate(
$t = 
"INSERT INTO il_translations ".
 
  292                                "(id, id_type, title, description, lang_code, lang_default) VALUES (".
 
  293                                $this->db->quote($this->getObjId(), 
"integer").
",".
 
  294                                $this->db->quote($this->
getType(), 
"text").
",".
 
  295                                $this->db->quote($trans[
"title"], 
"text").
",".
 
  296                                $this->db->quote($trans[
"description"], 
"text").
",".
 
  297                                $this->db->quote(
$l, 
"text").
",".
 
  298                                $this->db->quote($trans[
"lang_default"], 
"integer").
 
  312                $target_ml = 
new self($a_obj_id, $this->
getType());
 
  331                        $writer->
xmlStartTag(
'translation',array(
'language' => $k, 
'default' => $v[
'lang_default'] ? 1 : 0));
 
  332                        $writer->
xmlElement(
'title',array(),$v[
'title']);
 
  333                        $writer->
xmlElement(
'description', array(), $v[
'description']);
 
  347        public function fromXML(SimpleXMLElement $root)
 
  349                if($root->translations)
 
  351                        $root = $root->translations;
 
  354                foreach($root->translation as $trans)
 
  357                                (
string)trim($trans[
"language"]),
 
  358                                (
string)trim($trans->title),
 
  359                                (
string)trim($trans->description),
 
  360                                (
int)$trans[
"default"] != 0?
true:
false 
An exception for terminatinating execution or to throw for unit testing.
Class handles translation mode for an object.
toXml(ilXmlWriter $writer)
Export.
setLanguages(array $a_val)
Set languages.
setObjId($a_val)
Set object id.
copy($a_obj_id)
Copy multilinguality settings.
addLanguage($a_lang, $a_title, $a_description, $a_default, $a_force=false)
Add language.
__construct($a_obj_id, $a_type)
Constructor.
removeLanguage($a_lang)
Remove language.
static getInstance($a_obj_id, $a_type)
Get instance.
getDefaultTitle()
Get default title.
getDefaultDescription()
Get default description.
fromXML(SimpleXMLElement $root)
xml import
getLanguages()
Get languages.
setDefaultDescription($a_description)
Set default description.
setDefaultTitle($a_title)
Set default title.
Base exception class for object service.
xmlEndTag($tag)
Writes an endtag.
xmlStartTag($tag, $attrs=NULL, $empty=FALSE, $encode=TRUE, $escape=TRUE)
Writes a starttag.
xmlElement($tag, $attrs=NULL, $data=Null, $encode=TRUE, $escape=TRUE)
Writes a basic element (no children, just textual content)