55 $this->toolbar = $DIC->toolbar();
56 $this->
user = $DIC->user();
57 $lng = $DIC->language();
65 include_once(
"./Services/Multilingualism/classes/class.ilMultilingualism.php");
76 $this->title_descr_only = $a_val;
94 $next_class = $this->ctrl->getNextClass($this);
96 switch ($next_class) {
98 $cmd = $this->ctrl->getCmd(
"listTranslations");
99 if (in_array($cmd, array(
"listTranslations",
"saveTranslations",
100 "addTranslation",
"deleteTranslations",
"activateContentMultilinguality",
101 "confirmRemoveLanguages",
"removeLanguages",
"confirmDeactivateContentMultiLang",
"saveLanguages",
102 "saveContentTranslationActivation",
"deactivateContentMultiLang",
"addLanguages"))) {
114 $this->lng->loadLanguageModule(
"translation");
119 include_once(
"./Services/Multilingualism/classes/class.ilMultilingualismTableGUI.php");
126 if ($a_get_post_values) {
128 foreach (
$_POST[
"title"] as $k => $v) {
129 $vals[] = array(
"title" => $v,
130 "desc" =>
$_POST[
"desc"][$k],
131 "lang" =>
$_POST[
"lang"][$k],
132 "default" => (
$_POST[
"default"] == $k));
136 $data = $this->obj_trans->getLanguages();
137 foreach (
$data as $k => $v) {
138 $data[$k][
"default"] = $v[
"lang_default"];
139 $data[$k][
"desc"] = $v[
"description"];
140 $data[$k][
"lang"] = $v[
"lang_code"];
143 $data[
"Fobject"][++$k][
"title"] =
"";
147 $this->tpl->setContent(
$table->getHTML());
154 $ilToolbar->addButton(
155 $this->lng->txt(
"obj_add_languages"),
156 $this->ctrl->getLinkTarget($this,
"addLanguages")
167 if (!isset(
$_POST[
"default"])) {
174 if (array_key_exists(
"",
$_POST[
"lang"])) {
181 if (count(array_unique(
$_POST[
"lang"])) < count(
$_POST[
"lang"])) {
188 $this->obj_trans->setLanguages(array());
190 foreach (
$_POST[
"title"] as $k => $v) {
192 $is_default = (
$_POST[
"default"] == $k);
194 $this->obj_trans->addLanguage(
201 $this->obj_trans->save();
203 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
204 $this->ctrl->redirect($this,
"listTranslations");
212 foreach (
$_POST[
"title"] as $k => $v) {
213 if (
$_POST[
"check"][$k]) {
215 if ($k !=
$_POST[
"default"]) {
216 unset(
$_POST[
"title"][$k]);
217 unset(
$_POST[
"desc"][$k]);
218 unset(
$_POST[
"lang"][$k]);
243 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
248 include_once(
"./Services/MetaData/classes/class.ilMDLanguageItem.php");
258 include_once(
"./Services/MetaData/classes/class.ilMDLanguageItem.php");
268 $form->setTitle(
$lng->txt(
"obj_add_languages"));
269 $form->addCommandButton(
"saveLanguages",
$lng->txt(
"save"));
270 $form->addCommandButton(
"listTranslations",
$lng->txt(
"cancel"));
273 $form->setTitle(
$lng->txt(
"obj_activate_content_lang"));
275 $form->setTitle(
$lng->txt(
"obj_activate_multilang"));
277 $form->addCommandButton(
"saveContentTranslationActivation",
$lng->txt(
"save"));
278 $form->addCommandButton(
"listTranslations",
$lng->txt(
"cancel"));
294 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
296 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
298 $cgui->setHeaderText(
$lng->txt(
"obj_deactivate_content_transl_conf"));
300 $cgui->setHeaderText(
$lng->txt(
"obj_deactivate_multilang_conf"));
303 $cgui->setCancel(
$lng->txt(
"cancel"),
"listTranslations");
304 $cgui->setConfirm(
$lng->txt(
"confirm"),
"deactivateContentMultiLang");
305 $tpl->setContent($cgui->getHTML());
332 if (
$form->checkInput()) {
333 $ad =
$form->getInput(
"additional_langs");
338 foreach ($ad as
$l) {
343 if (!count($this->obj_trans->getLanguages())) {
347 $this->obj_trans->addLanguage($l, $this->start_title, $this->start_description, $std);
351 $this->obj_trans->save();
353 $ilCtrl->redirect($this,
"listTranslations");
355 $form->setValuesByPost();
370 $lng->loadLanguageModule(
"meta");
372 if (!is_array(
$_POST[
"lang"]) || count(
$_POST[
"lang"]) == 0) {
374 $ilCtrl->redirect($this,
"listTranslations");
376 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
378 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
379 $cgui->setHeaderText(
$lng->txt(
"obj_conf_delete_lang"));
380 $cgui->setCancel(
$lng->txt(
"cancel"),
"listTranslations");
381 $cgui->setConfirm(
$lng->txt(
"remove"),
"removeLanguages");
384 $cgui->addItem(
"lang[]", $i,
$lng->txt(
"meta_l_" . $i));
387 $tpl->setContent($cgui->getHTML());
399 if (is_array(
$_POST[
"lang"])) {
400 $langs = $this->obj_trans->getLanguages();
401 foreach ($langs as $k =>
$l) {
403 $this->obj_trans->removeLanguage();
406 $this->obj_trans->save();
409 $ilCtrl->redirect($this,
"listTranslations");
418 $this->start_title = $a_title;
419 $this->start_description = $a_description;
GUI class for object translation handling.
static getInstance($a_obj_id, $a_type)
Get instance.
saveTranslations()
Save translations.
saveLanguages()
Save languages.
getTitleDescrOnlyMode()
Get enable title/description only mode.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(isset($_POST['submit'])) $form
confirmDeactivateContentMultiLang()
Confirm page translation creation.
deleteTranslations()
Remove translation.
TableGUI class for title/description translations.
setStartValues($a_title, $a_description)
listTranslations($a_get_post_values=false, $a_add=false)
List translations.
setTitleDescrOnlyMode($a_val)
Set enable title/description only mode.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
addLanguages(ilPropertyFormGUI $form=null)
Add language.
removeLanguages()
Remove languages.
confirmRemoveLanguages()
Confirm remove languages.
getMultiLangForm($a_add=false)
Get multi language form.
static getLogger($a_component_id)
Get component logger.
executeCommand()
Execute command.
if(empty($password)) $table
__construct($a_obj_id, $a_type)
ilTranslationGUI constructor.
Confirmation screen class.