55            include_once(
"./Services/Object/exceptions/class.ilObjectException.php");
 
   70        if (!isset(self::$instances[$a_obj_id])) {
 
   74        return self::$instances[$a_obj_id];
 
   85        $this->obj_id = $a_val;
 
  105        $this->master_lang = $a_val;
 
  125        $this->languages = $a_val;
 
  146    public function addLanguage($a_lang, $a_title, $a_description, $a_default, $a_force = 
false)
 
  148        if ($a_lang != 
"" && (!isset($this->languages[$a_lang]) || $a_force)) {
 
  150                foreach ($this->languages as $k => $l) {
 
  151                    $this->languages[$k][
"lang_default"] = 
false;
 
  154            $this->languages[$a_lang] = array(
"lang_code" => $a_lang, 
"lang_default" => $a_default,
 
  155                "title" => $a_title, 
"description" => $a_description);
 
  166        foreach ($this->languages as $l) {
 
  167            if ($l[
"lang_default"]) {
 
  171        if (count($this->languages) == 0) {
 
  184        foreach ($this->languages as $k => $l) {
 
  185            if ($l[
"lang_default"]) {
 
  186                $this->languages[$k][
"title"] = $a_title;
 
  198        foreach ($this->languages as $l) {
 
  199            if ($l[
"lang_default"]) {
 
  200                return $l[
"description"];
 
  203        if (count($this->languages) == 0) {
 
  216        foreach ($this->languages as $k => $l) {
 
  217            if ($l[
"lang_default"]) {
 
  218                $this->languages[$k][
"description"] = $a_description;
 
  230        foreach ($this->languages as $l) {
 
  231            if ($l[
"lang_default"]) {
 
  232                return $l[
"lang_code"];
 
  247            unset($this->languages[$a_lang]);
 
  259        $this->content_activated = $a_val;
 
  277        $set = $this->db->query(
 
  278            "SELECT * FROM obj_content_master_lng " .
 
  279            " WHERE obj_id = " . $this->db->quote($this->getObjId(), 
"integer")
 
  281        if ($rec = $this->db->fetchAssoc($set)) {
 
  289        $set = $this->db->query(
 
  290            "SELECT * FROM object_translation " .
 
  291            " WHERE obj_id = " . $this->db->quote($this->getObjId(), 
"integer")
 
  293        while ($rec = $this->db->fetchAssoc($set)) {
 
  294            $this->
addLanguage($rec[
"lang_code"], $rec[
"title"], $rec[
"description"], $rec[
"lang_default"]);
 
  301    public function delete()
 
  303        $this->db->manipulate(
 
  304            "DELETE FROM obj_content_master_lng " .
 
  305            " WHERE obj_id = " . $this->db->quote($this->getObjId(), 
"integer")
 
  307        $this->db->manipulate(
 
  308            "DELETE FROM object_translation " .
 
  309            " WHERE obj_id = " . $this->db->quote($this->getObjId(), 
"integer")
 
  318        $this->db->manipulate(
 
  319            "DELETE FROM obj_content_master_lng " .
 
  320            " WHERE obj_id = " . $this->db->quote($this->getObjId(), 
"integer")
 
  332            $this->db->manipulate(
"INSERT INTO obj_content_master_lng " .
 
  333                "(obj_id, master_lang) VALUES (" .
 
  334                $this->db->quote($this->getObjId(), 
"integer") . 
"," .
 
  341                    "description" => 
"", 
"lang_code" => $this->
getMasterLanguage(), 
"lang_default" => 1);
 
  343            foreach ($this->languages as $l => $trans) {
 
  345                    $this->languages[$l][
"lang_default"] = 1;
 
  347                    $this->languages[$l][
"lang_default"] = 0;
 
  353            $this->db->manipulate($t = 
"INSERT INTO object_translation " .
 
  354                "(obj_id, title, description, lang_code, lang_default) VALUES (" .
 
  355                $this->db->quote($this->getObjId(), 
"integer") . 
"," .
 
  356                $this->db->quote($trans[
"title"], 
"text") . 
"," .
 
  357                $this->db->quote($trans[
"description"], 
"text") . 
"," .
 
  358                $this->db->quote($l, 
"text") . 
"," .
 
  359                $this->db->quote($trans[
"lang_default"], 
"integer") .
 
  371    public function copy($a_obj_id)
 
  395            isset($langs[$a_lang]) &&
 
An exception for terminatinating execution or to throw for unit testing.
Base exception class for object service.
Class handles translation mode for an object.
getDefaultTitle()
Get default title.
deactivateContentTranslation()
Deactivate content translation.
getDefaultDescription()
Get default description.
getEffectiveContentLang($a_lang, $a_parent_type)
Get effective language for given language.
copy($a_obj_id)
Copy multilinguality settings.
addLanguage($a_lang, $a_title, $a_description, $a_default, $a_force=false)
Add language.
removeLanguage($a_lang)
Remove language.
setDefaultDescription($a_description)
Set default description.
getLanguages()
Get languages.
getDefaultLanguage()
Get default language.
setLanguages(array $a_val)
Set languages.
setObjId($a_val)
Set object id.
setDefaultTitle($a_title)
Set default title.
setMasterLanguage($a_val)
Set master language.
__construct($a_obj_id)
Constructor.
static getInstance($a_obj_id)
Get instance.
getContentActivated()
Get activated for content.
setContentActivated($a_val)
Set activated for content.
getMasterLanguage()
Get master language.
static _lookupTitle($a_id)
lookup object title
static _lookupDescription($a_id)
lookup object description
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.