20 declare(strict_types=1);
    22 include_once 
"./Services/Table/classes/class.ilTable2GUI.php";
    39     public function __construct(
object $a_parent_obj, 
string $a_parent_cmd, $a_folder)
    42         $ilAccess = $DIC->access();
    44         $this->folder = $a_folder;
    49         if ($ilAccess->checkAccess(
"write", 
"", $this->folder->getRefId())) {
    60         $this->
setRowTemplate(
"tpl.lang_list_row_extended.html", 
"Services/Language");
    64         if ($ilAccess->checkAccess(
"write", 
"", $this->folder->getRefId())) {
    70             $this->
addMultiCommand(
"confirmUninstallChanges", $this->
lng->txt(
"lang_uninstall_changes"));
    83         $languages = $this->folder->getLanguages();
    88         foreach ($languages as $k => $l) {
    89             $data[] = array_merge($l, [
"key" => $k]);
    90             $names[] = $l[
'name'];
    91             $installed[] = str_starts_with($l[
"desc"], 
'installed') ? 1 : 2;
    95         array_multisort($installed, SORT_ASC, $names, SORT_ASC, 
$data);
   104     protected function fillRow(array $a_set): void
   108         $ilAccess = $DIC->access();
   113         if ($a_set[
"status"] ?? 
false) {
   114             $status = 
"<span class=\"small\"> (" . $this->
lng->txt($a_set[
"status"]) . 
")</span>";
   119         switch ($a_set[
"info"]) {
   120             case "file_not_found":
   121                 $remark = 
"<span class=\"smallred\"> " . $this->
lng->txt($a_set[
"info"]) . 
"</span>";
   129         if (
$ilSetting->get(
"lang_translate_" . $a_set[
"key"])) {
   130             $remark .= $remark ? 
'<br />' : 
'';
   131             $remark .= 
"<span class=\"smallgreen\"> " . $this->
lng->txt(
"language_translation_enabled") . 
"</span>";
   134         if ($a_set[
"desc"] !== 
"not_installed") {
   135             $this->tpl->setVariable(
   141             $this->tpl->setVariable(
   150         if ($ilAccess->checkAccess(
"write", 
"", $this->folder->getRefId()) && strpos(
   151             $a_set[
"description"],
   154             $this->
ctrl->setParameterByClass(
"ilobjlanguageextgui", 
"obj_id", $a_set[
"obj_id"]);
   155             $url = $this->
ctrl->getLinkTargetByClass(
"ilobjlanguageextgui", 
"");
   156             $a_set[
"name"] = 
'<a href="' . 
$url . 
'">' . $a_set[
"name"] . 
'</a>';
   159         $this->tpl->setVariable(
"VAL_LANGUAGE", $a_set[
"name"] . $status);
   160         $this->tpl->setVariable(
"VAL_STATUS", $this->
lng->txt($a_set[
"desc"]) . 
"<br/>" . $remark);
   162         if ($ilAccess->checkAccess(
"write", 
'', $this->folder->getRefId())) {
   163             $this->tpl->setVariable(
"OBJ_ID", $a_set[
"obj_id"]);
 
setFormAction(string $a_form_action, bool $a_multipart=false)
 
ilObjLanguageFolder $folder
 
setEnableTitle(bool $a_enabletitle)
 
setSelectAllCheckbox(string $a_select_all_checkbox, bool $a_select_all_on_top=false)
 
static countUsers(string $a_lang)
Count number of users that use a language. 
 
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
 
fillRow(array $a_set)
Fill table row. 
 
getItems()
Get language data. 
 
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template. 
 
Class ilObjLanguageFolder contains all function to manage language support for ILIAS3 install...
 
setLimit(int $a_limit=0, int $a_default_limit=0)
 
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)
 
disable(string $a_module_name)
 
static _getLastLocalChange(string $a_key)
get the date of the last local change $a_key language key Return change_date "yyyy-mm-dd hh:mm:ss" ...
 
addMultiCommand(string $a_cmd, string $a_text)
 
__construct(object $a_parent_obj, string $a_parent_cmd, $a_folder)
Constructor. 
 
setEnableHeader(bool $a_enableheader)