ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
class.ilObjLanguageFolderGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4
17require_once "./Services/Language/classes/class.ilObjLanguage.php";
18require_once "./Services/Object/classes/class.ilObjectGUI.php";
19
21{
27 function ilObjLanguageFolderGUI($a_data,$a_id,$a_call_by_reference)
28 {
29 $this->type = "lngf";
30 $this->ilObjectGUI($a_data,$a_id,$a_call_by_reference, false);
31 $_GET["sort_by"] = "language";
32 }
33
39 function viewObject()
40 {
41 global $rbacsystem, $ilSetting, $tpl, $ilToolbar, $lng;
42
43 if (!$rbacsystem->checkAccess("visible,read",$this->object->getRefId()))
44 {
45 $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
46 }
47
48 // refresh
49 if ($ilSetting->get("lang_ext_maintenance") == "1")
50 {
51 $ilToolbar->addButton($lng->txt("refresh_languages"),
52 $this->ctrl->getLinkTarget($this, "confirmRefresh"));
53 }
54 else
55 {
56 $ilToolbar->addButton($lng->txt("refresh_languages"),
57 $this->ctrl->getLinkTarget($this, "refresh"));
58 }
59
60 // check languages
61 $ilToolbar->addButton($lng->txt("check_languages"),
62 $this->ctrl->getLinkTarget($this, "checkLanguage"));
63
64 // extended language maintenance
65 if ($rbacsystem->checkAccess("write",$this->object->getRefId()))
66 {
67 if ($ilSetting->get("lang_ext_maintenance") == "1")
68 {
69 $ilToolbar->addButton($lng->txt("disable_ext_lang_maint"),
70 $this->ctrl->getLinkTarget($this, "disableExtendedLanguageMaintenance"));
71 }
72 else
73 {
74 $ilToolbar->addButton($lng->txt("enable_ext_lang_maint"),
75 $this->ctrl->getLinkTarget($this, "enableExtendedLanguageMaintenance"));
76 }
77 }
78
79 include_once("./Services/Language/classes/class.ilLanguageTableGUI.php");
80 $ltab = new ilLanguageTableGUI($this, "view", $this->object);
81 $tpl->setContent($ltab->getHTML());
82 }
83
87 function installObject()
88 {
89 $this->lng->loadLanguageModule("meta");
90
91 if (!isset($_POST["id"]))
92 {
93 $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
94 }
95
96 foreach ($_POST["id"] as $obj_id)
97 {
98 $langObj = new ilObjLanguage($obj_id);
99 $key = $langObj->install();
100
101 if ($key != "")
102 {
103 $lang_installed[] = $key;
104 }
105
106 unset($langObj);
107 }
108
109 if (isset($lang_installed))
110 {
111 if (count($lang_installed) == 1)
112 {
113 $this->data = $this->lng->txt("meta_l_" . $lang_installed[0]) . " " . strtolower($this->lng->txt("installed")) . ".";
114 }
115 else
116 {
117 foreach ($lang_installed as $lang_key)
118 {
119 $langnames[] = $this->lng->txt("meta_l_" . $lang_key);
120 }
121 $this->data = implode(", ",$langnames) . " " . strtolower($this->lng->txt("installed")) . ".";
122 }
123 }
124 else
125 {
126 $this->data = $this->lng->txt("languages_already_installed");
127 }
128
129 $this->out();
130 }
131
132
137 {
138 $this->lng->loadLanguageModule("meta");
139
140 if (!isset($_POST["id"]))
141 {
142 $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
143 }
144
145 foreach ($_POST["id"] as $obj_id)
146 {
147 $langObj = new ilObjLanguage($obj_id);
148 $key = $langObj->install();
149
150 if ($key != "")
151 {
152 $lang_installed[] = $key;
153 }
154
155 unset($langObj);
156
157 $langObj = new ilObjLanguage($obj_id);
158 $key = $langObj->install('local');
159
160 if ($key != "")
161 {
162 $local_installed[] = $key;
163 }
164
165 unset($langObj);
166 }
167
168 if (isset($lang_installed))
169 {
170 if (count($lang_installed) == 1)
171 {
172 $this->data = $this->lng->txt("meta_l_" . $lang_installed[0]) . " " . strtolower($this->lng->txt("installed")) . ".";
173 }
174 else
175 {
176 foreach ($lang_installed as $lang_key)
177 {
178 $langnames[] = $this->lng->txt("meta_l_" . $lang_key);
179 }
180 $this->data = implode(", ",$langnames) . " " . strtolower($this->lng->txt("installed")) . ".";
181 }
182 }
183
184 if (isset($local_installed))
185 {
186 if (count($local_installed) == 1)
187 {
188 $this->data .= " " . $this->lng->txt("meta_l_" . $local_installed[0]) . " " . $this->lng->txt("local_language_file") . " " . strtolower($this->lng->txt("installed")) . ".";
189 }
190 else
191 {
192 foreach ($local_installed as $lang_key)
193 {
194 $langnames[] = $this->lng->txt("meta_l_" . $lang_key);
195 }
196 $this->data .= " " . implode(", ",$langnames) . " " . $this->lng->txt("local_language_files") . " " . strtolower($this->lng->txt("installed")) . ".";
197 }
198 }
199 else
200 {
201 $this->data .= " " . $this->lng->txt("local_languages_already_installed");
202 }
203
204 $this->out();
205 }
206
207
212 {
213 $this->lng->loadLanguageModule("meta");
214
215 if (!isset($_POST["id"]))
216 {
217 $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
218 }
219
220 // uninstall all selected languages
221 foreach ($_POST["id"] as $obj_id)
222 {
223 $langObj = new ilObjLanguage($obj_id);
224 if (!($sys_lang = $langObj->isSystemLanguage()))
225 if (!($usr_lang = $langObj->isUserLanguage()))
226 {
227 $key = $langObj->uninstall();
228 if ($key != "")
229 $lang_uninstalled[] = $key;
230 }
231 unset($langObj);
232 }
233
234 // generate output message
235 if (isset($lang_uninstalled))
236 {
237 if (count($lang_uninstalled) == 1)
238 {
239 $this->data = $this->lng->txt("meta_l_".$lang_uninstalled[0])." ".$this->lng->txt("uninstalled");
240 }
241 else
242 {
243 foreach ($lang_uninstalled as $lang_key)
244 {
245 $langnames[] = $this->lng->txt("meta_l_".$lang_key);
246 }
247
248 $this->data = implode(", ",$langnames)." ".$this->lng->txt("uninstalled");
249 }
250 }
251 elseif ($sys_lang)
252 {
253 $this->data = $this->lng->txt("cannot_uninstall_systemlanguage");
254 }
255 elseif ($usr_lang)
256 {
257 $this->data = $this->lng->txt("cannot_uninstall_language_in_use");
258 }
259 else
260 {
261 $this->data = $this->lng->txt("languages_already_uninstalled");
262 }
263
264 $this->out();
265 }
266
270 function refreshObject()
271 {
273 $this->data = $this->lng->txt("languages_updated");
274 $this->out();
275 }
276
277
282 {
283 global $lng;
284
285 $this->data = $this->lng->txt("selected_languages_updated");
286 $lng->loadLanguageModule("meta");
287
288 $refreshed = array();
289 foreach ($_POST["id"] as $id)
290 {
291 $langObj = new ilObjLanguage($id, false);
292 if ($langObj->refresh())
293 {
294 $refreshed[] = $langObj->getKey();
295 $this->data .= "<br />". $lng->txt("meta_l_".$langObj->getKey());
296 }
297 unset($langObj);
298 }
299
301 $this->out();
302 }
303
304
309 {
310 $this->lng->loadLanguageModule("meta");
311
312 require_once './Services/User/classes/class.ilObjUser.php';
313
314 if (!isset($_POST["id"]))
315 {
316 $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
317 }
318
319 if (count($_POST["id"]) != 1)
320 {
321 $this->ilias->raiseError($this->lng->txt("choose_only_one_language")."<br/>".$this->lng->txt("action_aborted"),$this->ilias->error_obj->MESSAGE);
322 }
323
324 $obj_id = $_POST["id"][0];
325
326 $newUserLangObj = new ilObjLanguage($obj_id);
327
328 if ($newUserLangObj->isUserLanguage())
329 {
330 $this->ilias->raiseError($this->lng->txt("meta_l_".$newUserLangObj->getKey())." ".$this->lng->txt("is_already_your")." ".$this->lng->txt("user_language")."<br/>".$this->lng->txt("action_aborted"),$this->ilias->error_obj->MESSAGE);
331 }
332
333 if ($newUserLangObj->isInstalled() == false)
334 {
335 $this->ilias->raiseError($this->lng->txt("meta_l_".$newUserLangObj->getKey())." ".$this->lng->txt("language_not_installed")."<br/>".$this->lng->txt("action_aborted"),$this->ilias->error_obj->MESSAGE);
336 }
337
338 $curUser = new ilObjUser($_SESSION["AccountId"]);
339 $curUser->setLanguage($newUserLangObj->getKey());
340 $curUser->update();
341 //$this->setUserLanguage($new_lang_key);
342
343 $this->data = $this->lng->txt("user_language")." ".$this->lng->txt("changed_to")." ".$this->lng->txt("meta_l_".$newUserLangObj->getKey()).".";
344
345 $this->out();
346 }
347
348
353 {
354 $this->lng->loadLanguageModule("meta");
355
356 if (!isset($_POST["id"]))
357 {
358 $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
359 }
360
361 if (count($_POST["id"]) != 1)
362 {
363 $this->ilias->raiseError($this->lng->txt("choose_only_one_language")."<br/>".$this->lng->txt("action_aborted"),$this->ilias->error_obj->MESSAGE);
364 }
365
366 $obj_id = $_POST["id"][0];
367
368 $newSysLangObj = new ilObjLanguage($obj_id);
369
370 if ($newSysLangObj->isSystemLanguage())
371 {
372 $this->ilias->raiseError($this->lng->txt("meta_l_".$newSysLangObj->getKey())." is already the system language!<br>Action aborted!",$this->ilias->error_obj->MESSAGE);
373 }
374
375 if ($newSysLangObj->isInstalled() == false)
376 {
377 $this->ilias->raiseError($this->lng->txt("meta_l_".$newSysLangObj->getKey())." is not installed. Please install that language first.<br>Action aborted!",$this->ilias->error_obj->MESSAGE);
378 }
379
380 $this->ilias->setSetting("language", $newSysLangObj->getKey());
381
382 // update ini-file
383 $this->ilias->ini->setVariable("language","default",$newSysLangObj->getKey());
384 $this->ilias->ini->write();
385
386 $this->data = $this->lng->txt("system_language")." ".$this->lng->txt("changed_to")." ".$this->lng->txt("meta_l_".$newSysLangObj->getKey()).".";
387
388 $this->out();
389 }
390
391
396 {
397 //$langFoldObj = new ilObjLanguageFolder($_GET["obj_id"]);
398 //$this->data = $langFoldObj->checkAllLanguages();
399 $this->data = $this->object->checkAllLanguages();
400 $this->out();
401 }
402
403
404 function out()
405 {
406 ilUtil::sendInfo($this->data,true);
407 $this->ctrl->redirect($this, "view");
408 }
409
410 function getAdminTabs(&$tabs_gui)
411 {
412 $this->getTabs($tabs_gui);
413 }
414
420 function getTabs(&$tabs_gui)
421 {
422 global $rbacsystem;
423
424 if ($rbacsystem->checkAccess("visible,read",$this->object->getRefId()))
425 {
426 $tabs_gui->addTarget("settings",
427 $this->ctrl->getLinkTarget($this, "view"), array("view",""), "", "");
428 }
429
430 if ($rbacsystem->checkAccess('edit_permission',$this->object->getRefId()))
431 {
432 $tabs_gui->addTarget("perm_settings",
433 $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"), array("perm","info","owner"), 'ilpermissiongui');
434 }
435 }
436
437 function &executeCommand()
438 {
439 $next_class = $this->ctrl->getNextClass($this);
440 $cmd = $this->ctrl->getCmd();
441 $this->prepareOutput();
442
443 switch($next_class)
444 {
445 case 'ilpermissiongui':
446 include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
447 $perm_gui =& new ilPermissionGUI($this);
448 $ret =& $this->ctrl->forwardCommand($perm_gui);
449 break;
450
451 default:
452 if(!$cmd)
453 {
454 $cmd = "view";
455 }
456 $cmd .= "Object";
457 $this->$cmd();
458
459 break;
460 }
461 return true;
462 }
463
468 {
469 global $ilSetting, $ilCtrl;
470
471 $ilSetting->set("lang_ext_maintenance", 1);
472 $ilCtrl->redirect($this, "view");
473 }
474
479 {
480 global $ilSetting, $ilCtrl;
481
482 $ilSetting->set("lang_ext_maintenance", 0);
483 $ilCtrl->redirect($this, "view");
484 }
485
487 {
488 global $ilCtrl, $lng;
489
490 include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
491 $conf_screen = new ilConfirmationGUI();
492 $conf_screen->setFormAction($ilCtrl->getFormAction($this));
493 $conf_screen->setHeaderText($lng->txt("lang_refresh_confirm"));
494 $conf_screen->addItem("d", "d", $lng->txt("lang_refresh_confirm_info"));
495 $conf_screen->setCancel($lng->txt("cancel"), "view");
496 $conf_screen->setConfirm($lng->txt("ok"), "refresh");
497
498 $this->tpl->setContent($conf_screen->getHTML());
499 }
500
502 {
503 global $ilCtrl, $lng;
504
505 if (!isset($_POST["id"]))
506 {
507 $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
508 }
509
510 $lng->loadLanguageModule("meta");
511 include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
512 $conf_screen = new ilConfirmationGUI();
513 $conf_screen->setFormAction($ilCtrl->getFormAction($this));
514 $conf_screen->setHeaderText($lng->txt("lang_refresh_confirm_selected"));
515 foreach ($_POST["id"] as $id)
516 {
517 $lang_title = ilObject::_lookupTitle($id);
518 $conf_screen->addItem("id[]", $id, $lng->txt("meta_l_".$lang_title));
519 }
520 $conf_screen->addItem("d", "d", $lng->txt("lang_refresh_confirm_info"));
521 $conf_screen->setCancel($lng->txt("cancel"), "view");
522 $conf_screen->setConfirm($lng->txt("ok"), "refreshSelected");
523 $this->tpl->setContent($conf_screen->getHTML());
524 }
525
529 function getActions()
530 {
531 global $ilSetting;
532
533 // standard actions for container
534 return array(
535 "install" => array("name" => "install", "lng" => "install"),
536 "installLocal" => array("name" => "installLocal", "lng" => "install_local"),
537 "uninstall" => array("name" => "uninstall", "lng" => "uninstall"),
538 "refresh" => $ilSetting->get("lang_ext_maintenance") == "1" ?
539 array("name" => "confirmRefreshSelected", "lng" => "refresh") :
540 array("name" => "RefreshSelected", "lng" => "refresh"),
541 "setSystemLanguage" => array("name" => "setSystemLanguage", "lng" => "setSystemLanguage"),
542 "setUserLanguage" => array("name" => "setUserLanguage", "lng" => "setUserLanguage")
543 );
544 }
545
546
547} // END class.ilObjLanguageFolderGUI
548?>
$_GET["client_id"]
Confirmation screen class.
Class ilObjLanguageFolderGUI.
checkLanguageObject()
check all languages
setSystemLanguageObject()
set the system language
installLocalObject()
Install local language modifications.
refreshSelectedObject()
update selected languages
ilObjLanguageFolderGUI($a_data, $a_id, $a_call_by_reference)
Constructor.
viewObject()
show installed languages
enableExtendedLanguageMaintenanceObject()
Enable extended language maintenance.
getAdminTabs(&$tabs_gui)
administration tabs show only permissions and trash folder
refreshObject()
update all installed languages
getTabs(&$tabs_gui)
get tabs @access public
disableExtendedLanguageMaintenanceObject()
Disable extended language maintenance.
Class ilObjLanguage.
static refreshPlugins($a_lang_keys=null)
static refreshAll()
Refresh all installed languages.
Class ilObjectGUI Basic methods of all Output classes.
ilObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor @access public.
prepareOutput()
prepare output
static _lookupTitle($a_id)
lookup object title
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
$_POST['username']
Definition: cron.php:12
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
global $ilCtrl
Definition: ilias.php:18
redirection script todo: (a better solution should control the processing via a xml file)
global $ilSetting
Definition: privfeed.php:40
$cmd
Definition: sahs_server.php:35