function connect()
 {
     $this->db = DbConn::getInstance();
     $this->org_chart = array();
     // Cache org_chart group
     $query = " SELECT oc.id_dir, oc.translation, oct.idst_oc, oct.idst_ocd " . " FROM %adm_org_chart AS oc " . "\tJOIN %adm_org_chart_tree AS oct " . "\t\tON (oc.id_dir = oct.idOrg) " . " WHERE lang_code = '" . Lang::get() . "'";
     $result = $this->db->query($query);
     while ($o = $this->db->fetch_obj($result)) {
         $name_index = strtolower(trim(addslashes($o->translation)));
         $this->org_chart[$name_index] = $o;
     }
     $tmp = $this->aclm->getGroup(false, '/oc_0');
     $this->root_oc = $tmp[0];
     $tmp = $this->aclm->getGroup(false, '/ocd_0');
     $this->root_ocd = $tmp[0];
     // Cache user levels
     $this->levels = $this->aclm->getAdminLevels();
     $this->preference = new AdminPreference();
     // Cache admin profiles
     $this->m_ar = new AdminrulesAdm();
     $tmp = $this->m_ar->getGroupForDropdown();
     unset($tmp[0]);
     $this->admin_profiles = array_flip($tmp);
     // Cache public admin profiles
     $this->m_ap = new PublicadminrulesAdm();
     $tmp = $this->m_ap->getGroupForDropdown();
     unset($tmp[0]);
     $this->public_profiles = array_flip($tmp);
     return true;
 }