/**
  * Constructor
  *
  * Note:
  * The GET param 'obj_id' is the language object id
  * The GET param 'ref_id' is the language folder (if present)
  *
  * @param    mixed       data (ignored)
  * @param    int         id (ignored)
  * @param    boolean     call-by-reference (ignored)
  */
 function ilObjLanguageExtGUI($a_data, $a_id = 0, $a_call_by_reference = false)
 {
     global $lng, $ilCtrl, $ilClientIniFile;
     // language maintenance strings are defined in administration
     $lng->loadLanguageModule("administration");
     $lng->loadLanguageModule("meta");
     //  view mode ('translate' or empty) determins available table filters
     $ilCtrl->saveParameter($this, "view_mode");
     // type and id of get the bound object
     $this->type = "lng";
     if (!($this->id = $_GET['obj_id'])) {
         $this->id = ilObjLanguageAccess::_lookupId($lng->getUserLanguage());
     }
     // do all generic GUI initialisations
     $this->ilObjectGUI($a_data, $this->id, false, true);
     // initialize the array to store session variables for extended language maintenance
     if (!is_array($_SESSION['lang_ext_maintenance'])) {
         $_SESSION['lang_ext_maintenance'] = array();
     }
     $this->session =& $_SESSION['lang_ext_maintenance'];
     // read the lang mode
     $this->langmode = $ilClientIniFile->readVariable("system", "LANGMODE");
 }