ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjLanguageFolderGUI Class Reference

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
 refreshSelectedObject ()
 update selected 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 ()
 confirmRefreshSelectedObject ()
 getActions ()
 Get Actions.
- Public Member Functions inherited from ilObject
 ilObject ($a_id=0, $a_reference=true)
 Constructor public.
 withReferences ()
 determines wehter objects are referenced or not (got ref ids or not)
 read ($a_force_db=false)
 read object data from db into object
 getId ()
 get object id public
 setId ($a_id)
 set object id public
 setRefId ($a_id)
 set reference id public
 getRefId ()
 get reference id public
 getType ()
 get object type public
 setType ($a_type)
 set object type public
 getPresentationTitle ()
 get presentation title Normally same as title Overwritten for sessions
 getTitle ()
 get object title public
 getUntranslatedTitle ()
 get untranslated object title public
 setTitle ($a_title)
 set object title
 getDescription ()
 get object description
 setDescription ($a_desc)
 set object description
 getLongDescription ()
 get object long description (stored in object_description)
 getImportId ()
 get import id
 setImportId ($a_import_id)
 set import id
 _lookupObjIdByImportId ($a_import_id)
 getOwner ()
 get object owner
 getOwnerName ()
 _lookupOwnerName ($a_owner_id)
 lookup owner name for owner id
 setOwner ($a_owner)
 set object owner
 getCreateDate ()
 get create date public
 getLastUpdateDate ()
 get last update date public
 setObjDataRecord ($a_record)
 set object_data record (note: this method should only be called from the ilObjectFactory class)
 create ()
 create
 update ()
 update object in db
 MDUpdateListener ($a_element)
 Meta data update listener.
 createMetaData ()
 create meta data entry
 updateMetaData ()
 update meta data entry
 deleteMetaData ()
 delete meta data entry
 updateOwner ()
 update owner of object in db
 _getIdForImportId ($a_import_id)
 get current object id for import id (static)
 _getAllReferences ($a_id)
 get all reference ids of object
 _lookupTitle ($a_id)
 lookup object title
 _lookupDescription ($a_id)
 lookup object description
 _lookupLastUpdate ($a_id, $a_as_string=false)
 lookup last update
 _getLastUpdateOfObjects ($a_objs)
 Get last update for a set of media objects.
 _lookupObjId ($a_id)
 _setDeletedDate ($a_ref_id)
 only called in ilTree::saveSubTree
 _resetDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes
 _writeTitle ($a_obj_id, $a_title)
 write title to db (static)
 _writeDescription ($a_obj_id, $a_desc)
 write description to db (static)
 _writeImportId ($a_obj_id, $a_import_id)
 write import id to db (static)
 _lookupType ($a_id, $a_reference=false)
 lookup object type
 _isInTrash ($a_ref_id)
 checks wether object is in trash
 _hasUntrashedReference ($a_obj_id)
 checks wether an object has at least one reference that is not in trash
 _lookupObjectId ($a_ref_id)
 lookup object id
 _getObjectsDataForType ($a_type, $a_omit_trash=false)
 get all objects of a certain type
 putInTree ($a_parent_ref)
 maybe this method should be in tree object!?
 setPermissions ($a_parent_ref)
 set permissions of object
 createReference ()
 creates reference for object
 countReferences ()
 count references of object
 delete ()
 delete object or referenced object (in the case of a referenced object, object data is only deleted if last reference is deleted) This function removes an object entirely from system!!
 initDefaultRoles ()
 init default roles settings Purpose of this function is to create a local role folder and local roles, that are needed depending on the object type If you want to setup default local roles you MUST overwrite this method in derived object classes (see ilObjForum for an example) public
 createRoleFolder ()
 creates a local role folder
 notify ($a_event, $a_ref_id, $a_parent_non_rbac_id, $a_node_id, $a_params=0)
 notifys an object about an event occured Based on the event passed, each object may decide how it reacts.
 setRegisterMode ($a_bool)
 isUserRegistered ($a_user_id=0)
 requireRegistration ()
 getXMLZip ()
 getHTMLDirectory ()
 cloneObject ($a_target_id, $a_copy_id=0)
 Clone object permissions, put in tree ...
 appendCopyInfo ($a_target_id, $a_copy_id)
 Prepend Copy info if object with same name exists in that container.
 cloneDependencies ($a_target_id, $a_copy_id)
 Clone object dependencies.
 cloneMetaData ($target_obj)
 Copy meta data.
- Public Member Functions inherited from ilObjectGUI
 ilObjectGUI ($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
 Constructor public.
 withReferences ()
 determines wether objects are referenced or not (got ref ids or not)
 setCreationMode ($a_mode=true)
 if true, a creation screen is displayed the current $_GET[ref_id] don't belong to the current class! the mode is determined in ilrepositorygui
 getCreationMode ()
 get creation mode
 assignObject ()
 prepareOutput ()
 prepare output
 setTitleAndDescription ()
 called by prepare output
 showUpperIcon ()
 showMountWebfolderIcon ()
 setTabs ()
 set admin tabs public
 setAdminTabs ()
 set admin tabs public
 getHTML ()
 setActions ($a_actions="")
 set possible actions for objects in list.
 setSubObjects ($a_sub_objects="")
 set possible subobjects for this object.
 setLocator ()
 set Locator
 addLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded)
 omitLocator ($a_omit=true)
 addAdminLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded)
 undeleteObject ()
 get object back from trash
 insertSavedNodes ($a_source_id, $a_dest_id, $a_tree_id, &$a_affected_ids)
 recursive method to insert all saved nodes of the clipboard (maybe this function could be moved to a rbac class ?)
 confirmedDeleteObject ()
 confirmed deletion if object -> objects are moved to trash
 cancelDeleteObject ()
 cancel deletion of object
 removeFromSystemObject ()
 remove objects from trash bin and all entries therefore every object needs a specific deleteObject() method
 removeDeletedNodes ($a_node_id, $a_checked, $a_delete_objects, &$a_affected_ids)
 remove already deleted objects within the objects in trash recursive function
 createObject ()
 create new object form
 cancelObject ($in_rep=false)
 cancel action and go back to previous page public
 saveObject ()
 save object
 importObject ()
 import new object form
 editObject ()
 edit object
 displayEditForm ($fields)
 display edit form (usually called by editObject)
 updateObject ()
 updates object entry in object_data
 afterUpdate ()
 permObject ()
 show permissions of current node
 getFormAction ($a_cmd, $a_formaction="")
 get form action for command (command is method name without "Object", e.g.
 setFormAction ($a_cmd, $a_formaction)
 set specific form action for command
 getReturnLocation ($a_cmd, $a_location="")
 get return location for command (command is method name without "Object", e.g.
 setReturnLocation ($a_cmd, $a_location)
 set specific return location for command
 getTargetFrame ($a_cmd, $a_target_frame="")
 get target frame for command (command is method name without "Object", e.g.
 setTargetFrame ($a_cmd, $a_target_frame)
 set specific target frame for command
 permSaveObject ()
 save permissions
 isVisible ($a_ref_id, $a_type)
 deleteObject ($a_error=false)
 display deletion confirmation screen only for referenced objects.
 trashObject ()
 show trash content of object
 addRoleObject ()
 adds a local role This method is only called when choose the option 'you may add local roles'.
 showActions ($with_subobjects=false)
 show possible action (form buttons)
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu)
 getTemplateFile ($a_cmd, $a_type="")
 get a template blockfile format: tpl.
 getTitlesByRefId ($a_ref_ids)
 get Titles of objects this method is used for error messages in methods cut/copy/paste
 __showButton ($a_cmd, $a_text, $a_target= '')
 hitsperpageObject ()
__initTableGUI ()
 __setTableGUIBasicData (&$tbl, &$result_set, $a_from="")
 standard implementation for tables use 'from' variable use different initial setting of table
 __showClipboardTable ($a_result_set, $a_from="")
 infoObject ()
 __buildRoleFilterSelect ()
 __filterRoles ($a_roles, $a_filter)
 ownerObject ()
 changeOwnerObject ()
 redirectToRefId ($a_ref_id, $a_cmd="")
 redirects to (repository) view per ref id usually to a container and usually used at the end of a save/import method where the object gui type (of the new object) doesn't match with the type of the current $_GET["ref_id"] value
 fillCloneTemplate ($a_tpl_varname, $a_type)
 Fill object clone template This method can be called from any object GUI class that wants to offer object cloning.
 fillCloneSearchTemplate ($a_tpl_varname, $a_type)
 Add an object search in case the number of existing objects is too big to offer a selection list.
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI.
 copyWizardHasOptions ($a_mode)
 Check if there is any modules specific option.
 getCenterColumnHTML ()
 Get center column.
 getRightColumnHTML ()
 Display right column.
 setColumnSettings ($column_gui)
 May be overwritten in subclasses.
 checkPermission ($a_perm, $a_cmd="")

Additional Inherited Members

- Static Public Member Functions inherited from ilObject
static _getIdsForTitle ($title, $type= '')
 _exists ($a_id, $a_reference=false)
 checks if an object exists in object_data
static _getObjectsByType ($a_obj_type="")
 Get objects by type.
static _prepareCloneSelection ($a_ref_ids, $new_type)
 Prepare copy wizard object selection.
static _getIcon ($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
- Data Fields inherited from ilObject
 $ilias
 $lng
 $id
 $ref_id
 $type
 $title
 $untranslatedTitle
 $desc
 $long_desc
 $owner
 $create_date
 $last_update
 $import_id
 $register = false
 $referenced
 $objectList
 $max_title
 $max_desc
 $add_dots
 $obj_data_record
 object_data record
- Data Fields inherited from ilObjectGUI
const COPY_WIZARD_NEEDS_PAGE = 1
 $ilias
 $objDefinition
 $tpl
 $tree
 $lng
 $data
 $object
 $ref_id
 $obj_id
 $maxcount
 $formaction
 $return_location
 $target_frame
 $tab_target_script
 $actions
 $sub_objects
 $omit_locator = false
- Protected Member Functions inherited from ilObjectGUI
 searchCloneSourceObject ()
 Search clone source by title.
 buildCloneSelect ($existing_objs)
 Build a select box for clonable objects (permission write)

Detailed Description

Member Function Documentation

ilObjLanguageFolderGUI::checkLanguageObject ( )

check all languages

Definition at line 669 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 760 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::confirmRefreshSelectedObject ( )

Definition at line 775 of file class.ilObjLanguageFolderGUI.php.

References ilObject\$id, $ilCtrl, ilObject\$lng, and ilObject\_lookupTitle().

{
global $ilCtrl, $lng;
if (!isset($_POST["id"]))
{
$this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
}
$lng->loadLanguageModule("meta");
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_selected"));
foreach ($_POST["id"] as $id)
{
$lang_title = ilObject::_lookupTitle($id);
$conf_screen->addItem("id[]", $id, $lng->txt("meta_l_".$lang_title));
}
$conf_screen->addItem("d", "d", $lng->txt("lang_refresh_confirm_info"));
$conf_screen->setCancel($lng->txt("cancel"), "view");
$conf_screen->setConfirm($lng->txt("ok"), "refreshSelected");
$this->tpl->setContent($conf_screen->getHTML());
}

+ Here is the call graph for this function:

ilObjLanguageFolderGUI::disableExtendedLanguageMaintenanceObject ( )

Disable extended language maintenance.

Definition at line 752 of file class.ilObjLanguageFolderGUI.php.

References $ilCtrl, and $ilSetting.

{
$ilSetting->set("lang_ext_maintenance", 0);
$ilCtrl->redirect($this, "view");
}
ilObjLanguageFolderGUI::displayList ( )

display object list

public

Reimplemented from ilObjectGUI.

Definition at line 220 of file class.ilObjLanguageFolderGUI.php.

References $_GET, ilObjectGUI\$data, 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 741 of file class.ilObjLanguageFolderGUI.php.

References $ilCtrl, and $ilSetting.

{
$ilSetting->set("lang_ext_maintenance", 1);
$ilCtrl->redirect($this, "view");
}
& ilObjLanguageFolderGUI::executeCommand ( )

execute command

Reimplemented from ilObjectGUI.

Definition at line 711 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::getActions ( )

Get Actions.

Reimplemented from ilObjectGUI.

Definition at line 803 of file class.ilObjLanguageFolderGUI.php.

References $ilSetting.

{
global $ilSetting;
// standard actions for container
return array(
"install" => array("name" => "install", "lng" => "install"),
"installLocal" => array("name" => "installLocal", "lng" => "install_local"),
"uninstall" => array("name" => "uninstall", "lng" => "uninstall"),
"refresh" => $ilSetting->get("lang_ext_maintenance") == "1" ?
array("name" => "confirmRefreshSelected", "lng" => "refresh") :
array("name" => "RefreshSelected", "lng" => "refresh"),
"setSystemLanguage" => array("name" => "setSystemLanguage", "lng" => "setSystemLanguage"),
"setUserLanguage" => array("name" => "setUserLanguage", "lng" => "setUserLanguage")
);
}
ilObjLanguageFolderGUI::getAdminTabs ( $tabs_gui)

administration tabs show only permissions and trash folder

Reimplemented from ilObjectGUI.

Definition at line 684 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

Parameters
objecttabs gui object

Reimplemented from ilObjectGUI.

Definition at line 694 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 364 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 317 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 678 of file class.ilObjLanguageFolderGUI.php.

References ilUtil\sendInfo().

Referenced by checkLanguageObject(), installLocalObject(), installObject(), refreshObject(), refreshSelectedObject(), 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 494 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('keep_local');
$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::refreshSelectedObject ( )

update selected languages

Definition at line 539 of file class.ilObjLanguageFolderGUI.php.

References ilObject\$id, ilObject\$lng, and out().

{
global $lng;
$this->data = $this->lng->txt("selected_languages_updated");
$lng->loadLanguageModule("meta");
foreach ($_POST["id"] as $id)
{
$langObj = new ilObjLanguage($id, false);
if ($langObj->isInstalled() == true)
{
if ($langObj->check())
{
$langObj->flush('keep_local');
$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();
}
}
}
$this->data .= "<br />". $lng->txt("meta_l_".$langObj->getKey());
}
unset($langObj);
}
$this->out();
}

+ Here is the call graph for this function:

ilObjLanguageFolderGUI::setSystemLanguageObject ( )

set the system language

Definition at line 628 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 586 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 437 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(), ilDatePresentation\formatDate(), IL_CAL_DATETIME, 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"] = ilDatePresentation::formatDate(new ilDateTime($this->data["data"][$key]["last_change"],IL_CAL_DATETIME));
}
$this->displayList();
}

+ Here is the call graph for this function:


The documentation for this class was generated from the following file: