Class ilObjLanguageFolderGUI. More...
Inheritance diagram for ilObjLanguageFolderGUI:
Collaboration diagram for ilObjLanguageFolderGUI:Public Member Functions | |
| ilObjLanguageFolderGUI ($a_data, $a_id, $a_call_by_reference) | |
| Constructor. | |
| viewObject () | |
| show installed languages | |
| displayList () | |
| display object list | |
| installObject () | |
| install languages | |
| installLocalObject () | |
| Install local language modifications. | |
| uninstallObject () | |
| uninstall language | |
| refreshObject () | |
| update all installed languages | |
| setUserLanguageObject () | |
| set user language | |
| setSystemLanguageObject () | |
| set the system language | |
| checkLanguageObject () | |
| check all languages | |
| out () | |
| getAdminTabs (&$tabs_gui) | |
| administration tabs show only permissions and trash folder | |
| getTabs (&$tabs_gui) | |
| get tabs public | |
| & | executeCommand () |
| execute command | |
| enableExtendedLanguageMaintenanceObject () | |
| Enable extended language maintenance. | |
| disableExtendedLanguageMaintenanceObject () | |
| Disable extended language maintenance. | |
| confirmRefreshObject () | |
Class ilObjLanguageFolderGUI.
ilObjLanguageFolderGUI: ilPermissionGUI
Definition at line 40 of file class.ilObjLanguageFolderGUI.php.
| ilObjLanguageFolderGUI::checkLanguageObject | ( | ) |
check all languages
Definition at line 621 of file class.ilObjLanguageFolderGUI.php.
References out().
{
//$langFoldObj = new ilObjLanguageFolder($_GET["obj_id"]);
//$this->data = $langFoldObj->checkAllLanguages();
$this->data = $this->object->checkAllLanguages();
$this->out();
}
Here is the call graph for this function:| ilObjLanguageFolderGUI::confirmRefreshObject | ( | ) |
Definition at line 712 of file class.ilObjLanguageFolderGUI.php.
References $ilCtrl, and ilObject::$lng.
{
global $ilCtrl, $lng;
include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
$conf_screen = new ilConfirmationGUI();
$conf_screen->setFormAction($ilCtrl->getFormAction($this));
$conf_screen->setHeaderText($lng->txt("lang_refresh_confirm"));
$conf_screen->addItem("d", "d", $lng->txt("lang_refresh_confirm_info"));
$conf_screen->setCancel($lng->txt("cancel"), "view");
$conf_screen->setConfirm($lng->txt("ok"), "refresh");
$this->tpl->setContent($conf_screen->getHTML());
}
| ilObjLanguageFolderGUI::disableExtendedLanguageMaintenanceObject | ( | ) |
Disable extended language maintenance.
Definition at line 704 of file class.ilObjLanguageFolderGUI.php.
References $ilCtrl, and $ilSetting.
{
global $ilSetting, $ilCtrl;
$ilSetting->set("lang_ext_maintenance", 0);
$ilCtrl->redirect($this, "view");
}
| ilObjLanguageFolderGUI::displayList | ( | ) |
display object list
public
Reimplemented from ilObjectGUI.
Definition at line 219 of file class.ilObjLanguageFolderGUI.php.
References $_GET, ilObjectGUI::$data, $tbl, ilObjectGUI::$tree, ilObjectGUI::showActions(), and ilUtil::switchColor().
Referenced by viewObject().
{
global $tree, $rbacsystem;
require_once "./Services/Table/classes/class.ilTableGUI.php";
// load template for table
$this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html");
// load template for table content data
$this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html");
$num = 0;
$this->tpl->setVariable("FORMACTION",
$this->ctrl->getFormAction($this));
// create table
$tbl = new ilTableGUI();
// title & header columns
//$tbl->setTitle($this->lng->txt("obj_".$this->object->getType()),"icon_".$this->object->getType().".gif",$this->lng->txt("obj_".$this->object->getType()));
//$tbl->setHelp("tbl_help.php","icon_help.gif",$this->lng->txt("help"));
//$tbl->disable("header");
$tbl->disable("title");
foreach ($this->data["cols"] as $val)
{
$header_names[] = $this->lng->txt($val);
}
$tbl->setHeaderNames($header_names);
$header_params = array("ref_id" => $this->ref_id);
$tbl->setHeaderVars($this->data["cols"],$header_params);
// control
$tbl->setOrderColumn($_GET["sort_by"]);
$tbl->setOrderDirection($_GET["sort_order"]);
$tbl->setLimit(0);
$tbl->setOffset(0);
$tbl->setMaxCount($this->maxcount);
$tbl->disable("sort");
// SHOW VALID ACTIONS
$this->tpl->setVariable("COLUMN_COUNTS",count($this->data["cols"]));
$this->showActions();
// footer
$tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
//$tbl->disable("footer");
// render table
$tbl->render();
if (is_array($this->data["data"][0]))
{
//table cell
for ($i=0; $i < count($this->data["data"]); $i++)
{
$data = $this->data["data"][$i];
$ctrl = $this->data["ctrl"][$i];
// color changing
$css_row = ilUtil::switchColor($i+1,"tblrow1","tblrow2");
$this->tpl->setCurrentBlock("checkbox");
$this->tpl->setVariable("CHECKBOX_ID",$ctrl["obj_id"]);
$this->tpl->setVariable("CSS_ROW",$css_row);
$this->tpl->parseCurrentBlock();
$this->tpl->setCurrentBlock("table_cell");
$this->tpl->setVariable("CELLSTYLE", "tblrow1");
$this->tpl->parseCurrentBlock();
foreach ($data as $key => $val)
{
$this->tpl->setCurrentBlock("text");
$this->tpl->setVariable("TEXT_CONTENT", $val);
$this->tpl->parseCurrentBlock();
$this->tpl->setCurrentBlock("table_cell");
$this->tpl->parseCurrentBlock();
} //foreach
$this->tpl->setCurrentBlock("tbl_content");
$this->tpl->setVariable("CSS_ROW", $css_row);
$this->tpl->parseCurrentBlock();
} //for
} //if is_array
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjLanguageFolderGUI::enableExtendedLanguageMaintenanceObject | ( | ) |
Enable extended language maintenance.
Definition at line 693 of file class.ilObjLanguageFolderGUI.php.
References $ilCtrl, and $ilSetting.
{
global $ilSetting, $ilCtrl;
$ilSetting->set("lang_ext_maintenance", 1);
$ilCtrl->redirect($this, "view");
}
| & ilObjLanguageFolderGUI::executeCommand | ( | ) |
execute command
Reimplemented from ilObjectGUI.
Definition at line 663 of file class.ilObjLanguageFolderGUI.php.
References $cmd, $ret, and ilObjectGUI::prepareOutput().
{
$next_class = $this->ctrl->getNextClass($this);
$cmd = $this->ctrl->getCmd();
$this->prepareOutput();
switch($next_class)
{
case 'ilpermissiongui':
include_once("./classes/class.ilPermissionGUI.php");
$perm_gui =& new ilPermissionGUI($this);
$ret =& $this->ctrl->forwardCommand($perm_gui);
break;
default:
if(!$cmd)
{
$cmd = "view";
}
$cmd .= "Object";
$this->$cmd();
break;
}
return true;
}
Here is the call graph for this function:| ilObjLanguageFolderGUI::getAdminTabs | ( | &$ | tabs_gui | ) |
administration tabs show only permissions and trash folder
Reimplemented from ilObjectGUI.
Definition at line 636 of file class.ilObjLanguageFolderGUI.php.
References getTabs().
{
$this->getTabs($tabs_gui);
}
Here is the call graph for this function:| ilObjLanguageFolderGUI::getTabs | ( | &$ | tabs_gui | ) |
get tabs public
| object | tabs gui object |
Reimplemented from ilObjectGUI.
Definition at line 646 of file class.ilObjLanguageFolderGUI.php.
Referenced by getAdminTabs().
{
global $rbacsystem;
if ($rbacsystem->checkAccess("visible,read",$this->object->getRefId()))
{
$tabs_gui->addTarget("settings",
$this->ctrl->getLinkTarget($this, "view"), array("view",""), "", "");
}
if ($rbacsystem->checkAccess('edit_permission',$this->object->getRefId()))
{
$tabs_gui->addTarget("perm_settings",
$this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"), array("perm","info","owner"), 'ilpermissiongui');
}
}
Here is the caller graph for this function:| ilObjLanguageFolderGUI::ilObjLanguageFolderGUI | ( | $ | a_data, | |
| $ | a_id, | |||
| $ | a_call_by_reference | |||
| ) |
Constructor.
public
Definition at line 47 of file class.ilObjLanguageFolderGUI.php.
References $_GET, and ilObjectGUI::ilObjectGUI().
{
$this->type = "lngf";
$this->ilObjectGUI($a_data,$a_id,$a_call_by_reference, false);
$_GET["sort_by"] = "language";
}
Here is the call graph for this function:| ilObjLanguageFolderGUI::installLocalObject | ( | ) |
Install local language modifications.
Definition at line 363 of file class.ilObjLanguageFolderGUI.php.
References ilObjectGUI::$obj_id, and out().
{
if (!isset($_POST["id"]))
{
$this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
}
foreach ($_POST["id"] as $obj_id)
{
$langObj = new ilObjLanguage($obj_id);
$key = $langObj->install();
if ($key != "")
{
$lang_installed[] = $key;
}
unset($langObj);
$langObj = new ilObjLanguage($obj_id);
$key = $langObj->install('local');
if ($key != "")
{
$local_installed[] = $key;
}
unset($langObj);
}
if (isset($lang_installed))
{
if (count($lang_installed) == 1)
{
$this->data = $this->lng->txt("lang_" . $lang_installed[0]) . " " . strtolower($this->lng->txt("installed")) . ".";
}
else
{
foreach ($lang_installed as $lang_key)
{
$langnames[] = $this->lng->txt("lang_" . $lang_key);
}
$this->data = implode(", ",$langnames) . " " . strtolower($this->lng->txt("installed")) . ".";
}
}
if (isset($local_installed))
{
if (count($local_installed) == 1)
{
$this->data .= " " . $this->lng->txt("lang_" . $local_installed[0]) . " " . $this->lng->txt("local_language_file") . " " . strtolower($this->lng->txt("installed")) . ".";
}
else
{
foreach ($local_installed as $lang_key)
{
$langnames[] = $this->lng->txt("lang_" . $lang_key);
}
$this->data .= " " . implode(", ",$langnames) . " " . $this->lng->txt("local_language_files") . " " . strtolower($this->lng->txt("installed")) . ".";
}
}
else
{
$this->data .= " " . $this->lng->txt("local_languages_already_installed");
}
$this->out();
}
Here is the call graph for this function:| ilObjLanguageFolderGUI::installObject | ( | ) |
install languages
Definition at line 316 of file class.ilObjLanguageFolderGUI.php.
References ilObjectGUI::$obj_id, and out().
{
if (!isset($_POST["id"]))
{
$this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
}
foreach ($_POST["id"] as $obj_id)
{
$langObj = new ilObjLanguage($obj_id);
$key = $langObj->install();
if ($key != "")
{
$lang_installed[] = $key;
}
unset($langObj);
}
if (isset($lang_installed))
{
if (count($lang_installed) == 1)
{
$this->data = $this->lng->txt("lang_" . $lang_installed[0]) . " " . strtolower($this->lng->txt("installed")) . ".";
}
else
{
foreach ($lang_installed as $lang_key)
{
$langnames[] = $this->lng->txt("lang_" . $lang_key);
}
$this->data = implode(", ",$langnames) . " " . strtolower($this->lng->txt("installed")) . ".";
}
}
else
{
$this->data = $this->lng->txt("languages_already_installed");
}
$this->out();
}
Here is the call graph for this function:| ilObjLanguageFolderGUI::out | ( | ) |
Definition at line 630 of file class.ilObjLanguageFolderGUI.php.
References ilUtil::sendInfo().
Referenced by checkLanguageObject(), installLocalObject(), installObject(), refreshObject(), setSystemLanguageObject(), setUserLanguageObject(), and uninstallObject().
{
ilUtil::sendInfo($this->data,true);
$this->ctrl->redirect($this, "view");
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjLanguageFolderGUI::refreshObject | ( | ) |
update all installed languages
Definition at line 493 of file class.ilObjLanguageFolderGUI.php.
References $lang, ilObject::_getObjectsByType(), and out().
{
$languages = ilObject::_getObjectsByType("lng");
foreach ($languages as $lang)
{
$langObj = new ilObjLanguage($lang["obj_id"],false);
if ($langObj->isInstalled() == true)
{
if ($langObj->check())
{
$langObj->flush();
$langObj->insert();
$langObj->setTitle($langObj->getKey());
$langObj->setDescription($langObj->getStatus());
$langObj->update();
$langObj->optimizeData();
if ($langObj->isLocal() == true)
{
if ($langObj->check('local'))
{
$langObj->insert('local');
$langObj->setTitle($langObj->getKey());
$langObj->setDescription($langObj->getStatus());
$langObj->update();
$langObj->optimizeData();
}
}
}
}
unset($langObj);
}
$this->data = $this->lng->txt("languages_updated");
$this->out();
}
Here is the call graph for this function:| ilObjLanguageFolderGUI::setSystemLanguageObject | ( | ) |
set the system language
Definition at line 580 of file class.ilObjLanguageFolderGUI.php.
References ilObjectGUI::$obj_id, and out().
{
if (!isset($_POST["id"]))
{
$this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
}
if (count($_POST["id"]) != 1)
{
$this->ilias->raiseError($this->lng->txt("choose_only_one_language")."<br/>".$this->lng->txt("action_aborted"),$this->ilias->error_obj->MESSAGE);
}
$obj_id = $_POST["id"][0];
$newSysLangObj = new ilObjLanguage($obj_id);
if ($newSysLangObj->isSystemLanguage())
{
$this->ilias->raiseError($this->lng->txt("lang_".$newSysLangObj->getKey())." is already the system language!<br>Action aborted!",$this->ilias->error_obj->MESSAGE);
}
if ($newSysLangObj->isInstalled() == false)
{
$this->ilias->raiseError($this->lng->txt("lang_".$newSysLangObj->getKey())." is not installed. Please install that language first.<br>Action aborted!",$this->ilias->error_obj->MESSAGE);
}
$this->ilias->setSetting("language", $newSysLangObj->getKey());
// update ini-file
$this->ilias->ini->setVariable("language","default",$newSysLangObj->getKey());
$this->ilias->ini->write();
$this->data = $this->lng->txt("system_language")." ".$this->lng->txt("changed_to")." ".$this->lng->txt("lang_".$newSysLangObj->getKey()).".";
$this->out();
}
Here is the call graph for this function:| ilObjLanguageFolderGUI::setUserLanguageObject | ( | ) |
set user language
Definition at line 538 of file class.ilObjLanguageFolderGUI.php.
References $_SESSION, ilObjectGUI::$obj_id, and out().
{
require_once './Services/User/classes/class.ilObjUser.php';
if (!isset($_POST["id"]))
{
$this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
}
if (count($_POST["id"]) != 1)
{
$this->ilias->raiseError($this->lng->txt("choose_only_one_language")."<br/>".$this->lng->txt("action_aborted"),$this->ilias->error_obj->MESSAGE);
}
$obj_id = $_POST["id"][0];
$newUserLangObj = new ilObjLanguage($obj_id);
if ($newUserLangObj->isUserLanguage())
{
$this->ilias->raiseError($this->lng->txt("lang_".$newUserLangObj->getKey())." ".$this->lng->txt("is_already_your")." ".$this->lng->txt("user_language")."<br/>".$this->lng->txt("action_aborted"),$this->ilias->error_obj->MESSAGE);
}
if ($newUserLangObj->isInstalled() == false)
{
$this->ilias->raiseError($this->lng->txt("lang_".$newUserLangObj->getKey())." ".$this->lng->txt("language_not_installed")."<br/>".$this->lng->txt("action_aborted"),$this->ilias->error_obj->MESSAGE);
}
$curUser = new ilObjUser($_SESSION["AccountId"]);
$curUser->setLanguage($newUserLangObj->getKey());
$curUser->update();
//$this->setUserLanguage($new_lang_key);
$this->data = $this->lng->txt("user_language")." ".$this->lng->txt("changed_to")." ".$this->lng->txt("lang_".$newUserLangObj->getKey()).".";
$this->out();
}
Here is the call graph for this function:| ilObjLanguageFolderGUI::uninstallObject | ( | ) |
uninstall language
Definition at line 436 of file class.ilObjLanguageFolderGUI.php.
References ilObjectGUI::$obj_id, and out().
{
if (!isset($_POST["id"]))
{
$this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
}
// uninstall all selected languages
foreach ($_POST["id"] as $obj_id)
{
$langObj = new ilObjLanguage($obj_id);
if (!($sys_lang = $langObj->isSystemLanguage()))
if (!($usr_lang = $langObj->isUserLanguage()))
{
$key = $langObj->uninstall();
if ($key != "")
$lang_uninstalled[] = $key;
}
unset($langObj);
}
// generate output message
if (isset($lang_uninstalled))
{
if (count($lang_uninstalled) == 1)
{
$this->data = $this->lng->txt("lang_".$lang_uninstalled[0])." ".$this->lng->txt("uninstalled");
}
else
{
foreach ($lang_uninstalled as $lang_key)
{
$langnames[] = $this->lng->txt("lang_".$lang_key);
}
$this->data = implode(", ",$langnames)." ".$this->lng->txt("uninstalled");
}
}
elseif ($sys_lang)
{
$this->data = $this->lng->txt("cannot_uninstall_systemlanguage");
}
elseif ($usr_lang)
{
$this->data = $this->lng->txt("cannot_uninstall_language_in_use");
}
else
{
$this->data = $this->lng->txt("languages_already_uninstalled");
}
$this->out();
}
Here is the call graph for this function:| ilObjLanguageFolderGUI::viewObject | ( | ) |
show installed languages
public
Reimplemented from ilObjectGUI.
Definition at line 59 of file class.ilObjLanguageFolderGUI.php.
References $_GET, $ilSetting, displayList(), formatDate(), and ilUtil::sortArray().
{
global $rbacsystem, $ilSetting;
if (!$rbacsystem->checkAccess("visible,read",$this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
}
//add template for buttons
$this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");
if ($ilSetting->get("lang_ext_maintenance") == "1")
{
$this->tpl->setCurrentBlock("btn_cell");
$this->tpl->setVariable("BTN_LINK",
$this->ctrl->getLinkTarget($this, "confirmRefresh"));
$this->tpl->setVariable("BTN_TXT",$this->lng->txt("refresh_languages"));
$this->tpl->parseCurrentBlock();
}
else
{
$this->tpl->setCurrentBlock("btn_cell");
$this->tpl->setVariable("BTN_LINK",
$this->ctrl->getLinkTarget($this, "refresh"));
$this->tpl->setVariable("BTN_TXT",$this->lng->txt("refresh_languages"));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("btn_cell");
$this->tpl->setVariable("BTN_LINK",
$this->ctrl->getLinkTarget($this, "checkLanguage"));
$this->tpl->setVariable("BTN_TXT",$this->lng->txt("check_languages"));
$this->tpl->parseCurrentBlock();
// extended language maintenance
if ($rbacsystem->checkAccess("write",$this->object->getRefId()))
{
if ($ilSetting->get("lang_ext_maintenance") == "1")
{
$this->tpl->setCurrentBlock("btn_cell");
$this->tpl->setVariable("BTN_LINK",
$this->ctrl->getLinkTarget($this, "disableExtendedLanguageMaintenance"));
$this->tpl->setVariable("BTN_TXT",$this->lng->txt("disable_ext_lang_maint"));
$this->tpl->parseCurrentBlock();
}
else
{
$this->tpl->setCurrentBlock("btn_cell");
$this->tpl->setVariable("BTN_LINK",
$this->ctrl->getLinkTarget($this, "enableExtendedLanguageMaintenance"));
$this->tpl->setVariable("BTN_TXT",$this->lng->txt("enable_ext_lang_maint"));
$this->tpl->parseCurrentBlock();
}
}
//prepare objectlist
$this->data = array();
$this->data["data"] = array();
$this->data["ctrl"] = array();
$this->data["cols"] = array("","language","status","last_change", "usr_agreement");
$languages = $this->object->getLanguages();
foreach ($languages as $lang_key => $lang_data)
{
$status = "";
// set status info (in use or systemlanguage)
if ($lang_data["status"])
{
$status = "<span class=\"small\"> (".$this->lng->txt($lang_data["status"]).")</span>";
}
// set remark color
switch ($lang_data["info"])
{
case "file_not_found":
$remark = "<span class=\"smallred\"> ".$this->lng->txt($lang_data["info"])."</span>";
break;
case "new_language":
$remark = "<span class=\"smallgreen\"> ".$this->lng->txt($lang_data["info"])."</span>";
break;
default:
$remark = "";
break;
}
if (file_exists("./Customizing/clients/".CLIENT_ID."/agreement/".
"agreement_".$lang_key.".html"))
{
$agreement_exists_str = $this->lng->txt("available")." (".$this->lng->txt("client").")";
}
else if (file_exists("./Customizing/global/agreement/".
"agreement_".$lang_key.".html"))
{
$agreement_exists_str = $this->lng->txt("available");
}
else
{
if ($lang_data["status"] == "system_language")
{
$agreement_exists_str = "<b>".$this->lng->txt("missing")."</b>";
}
else
{
$agreement_exists_str = $this->lng->txt("missing");
}
}
// make language name clickable
if ($rbacsystem->checkAccess("write",$this->object->getRefId()))
{
if ($ilSetting->get("lang_ext_maintenance") == "1")
{
if (substr($lang_data["description"],0,9) == "installed")
{
$this->ctrl->setParameterByClass("ilobjlanguageextgui","obj_id",$lang_data["obj_id"]);
$url = $this->ctrl->getLinkTargetByClass("ilobjlanguageextgui","");
$lang_data["name"] = '<a href="'.$url.'">'.$lang_data["name"].'</a>';
}
}
}
// visible data part
$this->data["data"][] = array(
"language" => $lang_data["name"].$status,
"status" => $this->lng->txt($lang_data["desc"])."<br/>".$remark,
"last_change" => $lang_data["last_update"],
"obj_id" => $lang_data["obj_id"],
"agreement" => $agreement_exists_str
);
}
$this->maxcount = count($this->data["data"]);
// sorting array
$this->data["data"] = ilUtil::sortArray($this->data["data"],$_GET["sort_by"],$_GET["sort_order"]);
// now compute control information
foreach ($this->data["data"] as $key => $val)
{
$this->data["ctrl"][$key] = array(
"obj_id" => $val["obj_id"],
"type" => $val["type"]
);
unset($this->data["data"][$key]["obj_id"]);
$this->data["data"][$key]["last_change"] = ilFormat::formatDate($this->data["data"][$key]["last_change"]);
}
$this->displayList();
}
Here is the call graph for this function:
1.7.1