48 $ilDB = $DIC->database();
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"]) {
181 foreach ($this->languages as $k =>
$l) {
182 if (
$l[
"lang_default"]) {
183 $this->languages[$k][
"title"] = $a_title;
195 foreach ($this->languages as
$l) {
196 if ($l[
"lang_default"]) {
197 return $l[
"description"];
210 foreach ($this->languages as $k =>
$l) {
211 if (
$l[
"lang_default"]) {
212 $this->languages[$k][
"description"] = $a_description;
226 unset($this->languages[$a_lang]);
238 $this->content_activated = $a_val;
256 $set = $this->db->query(
257 "SELECT * FROM obj_content_master_lng " .
258 " WHERE obj_id = " . $this->db->quote($this->getObjId(),
"integer")
260 if ($rec = $this->db->fetchAssoc($set)) {
268 $set = $this->db->query(
269 "SELECT * FROM object_translation " .
270 " WHERE obj_id = " . $this->db->quote($this->getObjId(),
"integer")
272 while ($rec = $this->db->fetchAssoc($set)) {
273 $this->
addLanguage($rec[
"lang_code"], $rec[
"title"], $rec[
"description"], $rec[
"lang_default"]);
280 public function delete()
282 $this->db->manipulate(
283 "DELETE FROM obj_content_master_lng " .
284 " WHERE obj_id = " . $this->db->quote($this->getObjId(),
"integer")
286 $this->db->manipulate(
287 "DELETE FROM object_translation " .
288 " WHERE obj_id = " . $this->db->quote($this->getObjId(),
"integer")
297 $this->db->manipulate(
298 "DELETE FROM obj_content_master_lng " .
299 " WHERE obj_id = " . $this->db->quote($this->getObjId(),
"integer")
311 $this->db->manipulate(
"INSERT INTO obj_content_master_lng " .
312 "(obj_id, master_lang) VALUES (" .
313 $this->db->quote($this->getObjId(),
"integer") .
"," .
314 $this->db->quote($this->getMasterLanguage(),
"text") .
320 "description" =>
"",
"lang_code" => $this->
getMasterLanguage(),
"lang_default" => 1);
322 foreach ($this->languages as
$l => $trans) {
324 $this->languages[
$l][
"lang_default"] = 1;
326 $this->languages[
$l][
"lang_default"] = 0;
332 $this->db->manipulate(
$t =
"INSERT INTO object_translation " .
333 "(obj_id, title, description, lang_code, lang_default) VALUES (" .
334 $this->db->quote($this->getObjId(),
"integer") .
"," .
335 $this->db->quote($trans[
"title"],
"text") .
"," .
336 $this->db->quote($trans[
"description"],
"text") .
"," .
337 $this->db->quote(
$l,
"text") .
"," .
338 $this->db->quote($trans[
"lang_default"],
"integer") .
350 public function copy($a_obj_id)
374 isset($langs[$a_lang]) &&
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
getMasterLanguage()
Get master language.
copy($a_obj_id)
Copy multilinguality settings.
getLanguages()
Get languages.
deactivateContentTranslation()
Deactivate content translation.
__construct($a_obj_id)
Constructor.
setDefaultDescription($a_description)
Set default description.
getEffectiveContentLang($a_lang, $a_parent_type)
Get effective language for given language.
setLanguages(array $a_val)
Set languages.
Base exception class for object service.
addLanguage($a_lang, $a_title, $a_description, $a_default, $a_force=false)
Add language.
getDefaultDescription()
Get default description.
setContentActivated($a_val)
Set activated for content.
setObjId($a_val)
Set object id.
getContentActivated()
Get activated for content.
setDefaultTitle($a_title)
Set default title.
getDefaultTitle()
Get default title.
removeLanguage($a_lang)
Remove language.
Create styles array
The data for the language used.
static getInstance($a_obj_id)
Get instance.
Class handles translation mode for an object.
setMasterLanguage($a_val)
Set master language.