Changeset 317


Ignore:
Timestamp:
06/17/08 14:43:30 (16 years ago)
Author:
niltonneto
Message:

Versionamento feito pelo desenvolvedor (jakjr).

Location:
trunk/expressoAdmin1_2
Files:
18 added
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoAdmin1_2/controller.php

    r2 r317  
    2121        else 
    2222                return $_SESSION['response'] = 'false'; 
    23          
     23                 
    2424        // Load dinamically class file. 
    2525        if($app == '$this') 
    2626                $filename = 'inc/class.'.$class.'.inc.php'; 
     27        else if( strpos($app, '$this/') !== false) 
     28        { 
     29                $filename = str_replace('$this/','',$app) . '.php'; 
     30                include_once($filename); 
     31                exit; 
     32        } 
    2733        else 
    2834                $filename = '../'.$app.'/inc/class.'.$class.'.inc.php'; 
    2935                 
    30         include_once($filename);         
     36        include_once($filename); 
    3137         
    3238        // Create new Object  (class loaded).    
  • trunk/expressoAdmin1_2/inc/class.functions.inc.php

    r283 r317  
    4949                        { 
    5050                                case list_users: 
    51                                         if ($array_acl[acl_add_users] || $array_acl[acl_edit_users] || $array_acl[acl_delete_users] || $array_acl[acl_change_users_password] || $array_acl[acl_change_users_quote] || $array_acl[acl_edit_sambausers_attributes] || $array_acl[acl_view_users] || $array_acl[acl_manipulate_corporative_information]) 
     51                                        if ($array_acl[acl_add_users] || $array_acl[acl_edit_users] || $array_acl[acl_delete_users] || $array_acl[acl_change_users_password] || $array_acl[acl_change_users_quote] || $array_acl[acl_edit_sambausers_attributes] || $array_acl[acl_view_users] || $array_acl[acl_manipulate_corporative_information] || $array_acl[acl_edit_users_phonenumber] ) 
    5252                                                return true; 
    5353                                        break; 
     
    8585                                                return true; 
    8686                                        break; 
     87 
     88                                case list_institutional_accounts: 
     89                                        if ($array_acl[acl_add_institutional_accounts] || $array_acl[acl_edit_institutional_accounts] || $array_acl[acl_delete_institutional_accounts]) 
     90                                                return true; 
     91                                        break; 
     92 
    8793 
    8894                                default: 
     
    288294                 
    289295                // Make a array read humam 
    290                 // Last acl:    1.073.741.824 
     296                // Last acl:    2.147.483.648 -> edit users phonephone 
     297                // Last acl:    4.294.967.296 -> add institutional accounts 
     298                // Last acl:    8.589.934.592 -> edit institutional accounts 
     299                // Last acl:   17.179.869.184 -> remove institutional accounts 
    291300                function make_array_acl($acl) 
    292301                { 
     
    322331                                                                "acl_manipulate_corporative_information", 
    323332                                                                "acl_edit_users_picture", 
    324                                                                 "acl_edit_scl_email_lists" 
     333                                                                "acl_edit_scl_email_lists", 
     334                                                                "acl_edit_users_phonenumber", 
     335                                                                "acl_add_institutional_accounts", 
     336                                                                "acl_edit_institutional_accounts", 
     337                                                                "acl_remove_institutional_accounts" 
    325338                                                                ); 
    326339                         
     
    334347                                $bin = '1' . $bin; 
    335348                                 
    336                                 $array_acl[$right] = $acl & bindec($bin); 
    337                         }                        
     349                                $array_acl[$right] = $this->safeBitCheck(bindec($bin), $acl); 
     350                        } 
    338351                        return $array_acl; 
    339                         /* 
    340                         $array_acl['acl_add_users'] = $acl & 1; 
    341                         $array_acl['acl_edit_users'] = $acl & 2; 
    342                         $array_acl['acl_delete_users'] = $acl & 4; 
    343                         //8 
    344                         $array_acl['acl_add_groups'] = $acl & 16; 
    345                         $array_acl['acl_edit_groups'] = $acl & 32; 
    346                         $array_acl['acl_delete_groups'] = $acl & 64; 
    347                         $array_acl['acl_change_users_password'] = $acl & 128; 
    348                         $array_acl['acl_add_maillists'] = $acl & 256; 
    349                         $array_acl['acl_edit_maillists'] = $acl & 512; 
    350                         $array_acl['acl_delete_maillists'] = $acl & 1024; 
    351                         //2048 
    352                         $array_acl['acl_create_sectors'] = $acl & 4096; 
    353                         $array_acl['acl_edit_sectors'] = $acl & 8192; 
    354                         $array_acl['acl_delete_sectors'] = $acl & 16384; 
    355                         $array_acl['acl_edit_sambausers_attributes'] = $acl & 32768; 
    356                         $array_acl['acl_view_global_sessions'] = $acl & 65536; 
    357                         $array_acl['acl_view_logs'] = $acl & 131072; 
    358                         $array_acl['acl_change_users_quote'] = $acl & 262144; 
    359                         $array_acl['acl_set_user_default_password'] = $acl & 524288; 
    360                         $array_acl['acl_create_computers'] = $acl & 1048576; 
    361                         $array_acl['acl_edit_computers'] = $acl & 2097152; 
    362                         $array_acl['acl_delete_computers'] = $acl & 4194304; 
    363                         $array_acl['acl_rename_users'] = $acl & 8388608; 
    364                         $array_acl['acl_edit_sambadomains'] = $acl & 16777216; 
    365                         $array_acl['acl_view_users'] = $acl & 33554432; 
    366                         $array_acl['acl_edit_email_groups'] = $acl & 67108864; 
    367                         $array_acl['acl_empty_user_inbox'] = $acl & 134217728; 
    368                         $array_acl['acl_manipulate_corporative_information'] = $acl & 268435456; 
    369                         $array_acl['acl_edit_users_picture'] = $acl & 536870912; 
    370                         return $array_acl; 
    371                         */ 
     352                } 
     353 
     354                function safeBitCheck($number,$comparison) 
     355                { 
     356                $binNumber = base_convert($number,10,2); 
     357                $binComparison = strrev(base_convert($comparison,10,2)); 
     358                        $str = strlen($binNumber); 
     359                 
     360                if ( ($str <= strlen($binComparison)) && ($binComparison{$str-1}==="1") ) 
     361                        return '1'; 
     362                else 
     363                        return '0'; 
    372364                } 
    373365                 
     
    748740                } 
    749741                 
     742                function lang($key) 
     743                { 
     744                        if ($_SESSION['phpgw_info']['expressoAdmin']['lang'][$key]) 
     745                                return $_SESSION['phpgw_info']['expressoAdmin']['lang'][$key]; 
     746                        else 
     747                                return $key . '*'; 
     748                } 
    750749        } 
    751750         
  • trunk/expressoAdmin1_2/inc/class.group.inc.php

    r86 r317  
    5252                        //Retira os uids duplicados se existir 
    5353                        $array_tmp = array(); 
    54                         $array_tmp = array_unique($params['members']); 
     54                        $array_tmp = @array_unique($params['members']); 
    5555                        $params['members'] = $array_tmp; 
    5656 
     
    6767                                $id = $next_id['id']; 
    6868                        } 
    69                         // Pega ID do BD e incrementa de 1. 
    70                         //$id = (($this->db_functions->get_next_id()) + 1); 
    71                         // Incrementa o id no BD. 
    72                         //$this->db_functions->increment_id($id,'groups'); 
    7369                         
    7470                        // Cria array para incluir no LDAP 
     
    9086                                $group_info['mail'] = $params['email']; 
    9187                         
    92                         if (count($params['members'])) 
     88                        if ( (count($params['members'])) && (is_array($params['members'])) ) 
    9389                        { 
    9490                                foreach ($params['members'] as $index => $uidnumber) 
     
    122118                        { 
    123119                                $return['status'] = false; 
    124                                 $return['msg'] .= $result['msg']; 
     120                                if ($result['error_number'] == '65') 
     121                                        $return['msg'] .= "Não foi possível criar este grupo pois os schemas do servidor LDAP estão desatualizados.\n" . 
     122                                                                                "O Administrador deve atualizar o diretório /etc/ldap/schema/ e re-inicializar o ldap.\n". 
     123                                                                                "Uma versão atualizada deste arquivo pode ser encontrada no site:\n" . 
     124                                                                                "www.expressolivre.org -> Downloads -> schema.tgz"; 
     125                                else 
     126                                        $return['msg'] .= $result['msg']; 
    125127                        } 
    126128                         
     
    215217                                { 
    216218                                        $return['status'] = false; 
    217                                         $return['msg'] .= $result['msg']; 
     219                                        if ($result['error_number'] == '65') 
     220                                                $return['msg'] .= "Não foi possível salvar alguns atributos deste grupo pois os schemas do servidor LDAP estão desatualizados.\n" . 
     221                                                                                        "O Administrador deve atualizar o diretório /etc/ldap/schema/ e re-inicializar o ldap.\n". 
     222                                                                                        "Uma versão atualizada deste arquivo pode ser encontrada no site:\n" . 
     223                                                                                        "www.expressolivre.org -> Downloads -> schema.tgz"; 
     224                                        else 
     225                                                $return['msg'] .= $result['msg']; 
    218226                                } 
    219227                        }                        
     
    283291                        { 
    284292                                $result = $this->ldap_functions->add_user_attributes($dn, $ldap_add); 
     293                                 
    285294                                if (!$result['status']) 
    286295                                { 
    287296                                        $return['status'] = false; 
    288                                         $return['msg'] .= $result['msg']; 
     297                                        if ($result['error_number'] == '65') 
     298                                                $return['msg'] .= "Não foi possível adicionar alguns atributos deste gruupo pois os schemas do servidor LDAP estão desatualizados.\n" . 
     299                                                                                        "O Administrador deve atualizar o diretório /etc/ldap/schema/ e re-inicializar o ldap.\n". 
     300                                                                                        "Uma versão atualizada deste arquivo pode ser encontrada no site:\n" . 
     301                                                                                        "www.expressolivre.org -> Downloads -> schema.tgz"; 
     302                                        else 
     303                                                $return['msg'] .= $result['msg']; 
    289304                                } 
    290305                        } 
  • trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php

    r221 r317  
    616616                if (!@ldap_add ( $this->ldap, $dn, $entry )) 
    617617                { 
    618                         $result['status'] = false; 
    619                         $result['msg'] = "Erro na funcao ldap_functions->ldap_add_entry ($dn).\nRetorno do servidor:" . ldap_error($this->ldap); 
     618                        $result['status']               = false; 
     619                        $result['error_number'] = ldap_errno($this->ldap); 
     620                        $result['msg']                  = "Erro na funcao ldap_functions->ldap_add_entry ($dn).\nRetorno do servidor:" . ldap_errno($this->ldap) . ldap_error($this->ldap); 
    620621                } 
    621622                else 
     
    743744                { 
    744745                        $result['status'] = false; 
    745                         $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist ($mail).\nRetorno do servidor:" . ldap_error($ldapMasterConnect); 
     746                        if (ldap_errno($ldapMasterConnect) == '50') 
     747                        { 
     748                                $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist.\n" . 
     749                                                                 "O usuário utilizado para gravação no LDAP, DEVE ter direito de escrita.\n". 
     750                                                                 "O usuário " . $_SESSION['phpgw_info']['expresso']['cc_ldap_server']['acc'] . " não tem este direito.\n". 
     751                                                                 "Edite \"Configuração Global do Catálogo\", no módulo Administrador, Catálogo de Endereços e adicione um usuário com direitos de escrita."; 
     752                        }                                         
     753                        else 
     754                                $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist.\nRetorno do servidor:" . ldap_error($ldapMasterConnect); 
    746755                } 
    747756                 
     
    794803                { 
    795804                        $result['status'] = false; 
    796                         $result['msg'] = "Erro na funcao ldap_functions->remove_user2maillist ($mail).\n\nRetorno do servidor:" . ldap_error($this->ldap); 
     805                        if (ldap_errno($ldapMasterConnect) == '50') 
     806                        { 
     807                                $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist.\n" . 
     808                                                                 "O usuário utilizado para gravação no LDAP, DEVE ter direito de escrita.\n". 
     809                                                                 "O usuário " . $_SESSION['phpgw_info']['expresso']['cc_ldap_server']['acc'] . " não tem este direito.\n". 
     810                                                                 "Edite \"Configuração Global do Catálogo\", no módulo Administrador, Catálogo de Endereços e adicione um usuário com direitos de escrita."; 
     811                        }                                         
     812                        else 
     813                                $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist.\nRetorno do servidor:" . ldap_error($ldapMasterConnect); 
    797814                } 
    798815                ldap_close($ldapMasterConnect); 
     
    12711288                { 
    12721289                        $return['status'] = false; 
     1290                        $return['error_number'] = ldap_errno($this->ldap); 
    12731291                        $return['msg'] = 'Erro em ldap_funcitons->replace_user_attributes: ' . ldap_error($this->ldap); 
    12741292                } 
     
    12841302                { 
    12851303                        $return['status'] = false; 
     1304                        $return['error_number'] = ldap_errno($this->ldap); 
    12861305                        $return['msg'] = 'Erro em ldap_funcitons->add_user_attributes: ' . ldap_error($this->ldap); 
    12871306                } 
     
    13601379                        } 
    13611380                } 
    1362                          
     1381                 
     1382                //INSTITUTIONAL ACCOUNTS 
     1383                $attrs = array(); 
     1384                $attrs['mailForwardingAddress'] = $user_info['mail']; 
     1385                 
     1386                $justthese = array("dn"); 
     1387                $filter="(&(phpgwAccountType=i)(mailforwardingaddress=".$user_info['mail']."))"; 
     1388                $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 
     1389            $entries = ldap_get_entries($this->ldap, $search); 
     1390                 
     1391                for ($i=0; $i<$entries['count']; $i++) 
     1392                { 
     1393                        if ( !@ldap_mod_del($this->ldap, $entries[$i]['dn'], $attrs) ) 
     1394                        { 
     1395                                $result['status'] = false; 
     1396                                $result['msg'] = "Erro na funcao ldap_functions->delete_user, instutional_accounts.\nRetorno do servidor:" . ldap_error($this->ldap); 
     1397                        } 
     1398                } 
     1399                 
    13631400                // MAILLISTS 
    13641401                $attrs = array(); 
     
    13871424                                { 
    13881425                                        $return['status'] = false; 
    1389                                         $return['msg'] .= 'Erro em ldap_funcitons->delete_user, listas de email: ' . ldap_error($this->ldap); 
     1426                                        if (ldap_errno($ldapMasterConnect) == '50') 
     1427                                        { 
     1428                                                $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist.\n" . 
     1429                                                                                 "O usuário utilizado para gravação no LDAP, DEVE ter direito de escrita.\n". 
     1430                                                                                 "O usuário " . $_SESSION['phpgw_info']['expresso']['cc_ldap_server']['acc'] . " não tem este direito.\n". 
     1431                                                                                "Edite \"Configuração Global do Catálogo\", no módulo Administrador, Catálogo de Endereços e adicione um usuário com direitos de escrita."; 
     1432                                        } 
     1433                                        else 
     1434                                                $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist.\nRetorno do servidor:" . ldap_error($ldapMasterConnect); 
    13901435                                } 
    13911436                        } 
     
    16011646                return $return; 
    16021647        } 
     1648        function exist_domain_name_sid($sambadomainname, $sambasid) 
     1649        { 
     1650                $context = $GLOBALS['phpgw_info']['server']['ldap_context']; 
     1651 
     1652                $justthese = array("dn","sambaDomainName"); 
     1653                $filter="(&(objectClass=sambaDomain)(sambaSID=$sambasid)(sambaDomainName=$sambadomainname))"; 
     1654                $search = ldap_search($this->ldap, $context, $filter, $justthese); 
     1655            $count_entries = ldap_count_entries($this->ldap, $search); 
     1656             
     1657            if ($count_entries > 0) 
     1658                return true; 
     1659            else 
     1660                return false; 
     1661        } 
    16031662         
    16041663        function add_sambadomain($sambadomainname, $sambasid, $context) 
     
    16151674                { 
    16161675                        $return['status'] = false; 
    1617                         $return['msg'] = "Erro na funcao ldap_functions->add_sambadomain ($dn).\nRetorno do servidor: " . ldap_error($this->ldap); 
     1676                        $return['msg'] = "Erro ao adicionar Samba Domain"; 
    16181677                } 
    16191678                else 
     
    16701729        } 
    16711730         
    1672          
     1731        function create_institutional_accounts($params) 
     1732        { 
     1733                /* Begin: Access verification */ 
     1734                if (!$this->functions->check_acl($_SESSION['phpgw_info']['expresso']['user']['account_lid'], 'add_institutional_accounts')) 
     1735                { 
     1736                        $return['status'] = false; 
     1737                        $return['msg'] = $this->functions->lang('You do not have right to create institutional accounts') . "."; 
     1738                        return $return; 
     1739                } 
     1740                 
     1741                $access_granted = false; 
     1742                foreach ($this->manager_contexts as $idx=>$manager_context) 
     1743                { 
     1744                        if (stristr($params['context'], $manager_context)) 
     1745                        { 
     1746                                $access_granted = true; 
     1747                                break; 
     1748                        } 
     1749                } 
     1750                if (!$access_granted) 
     1751                { 
     1752                        $return['status'] = false; 
     1753                        $return['msg'] = $this->functions->lang('You do not have access to this organization') . "."; 
     1754                        return $return; 
     1755                } 
     1756                /* End: Access verification */ 
     1757 
     1758                /* Begin: Validation */ 
     1759                if ( (empty($params['cn'])) || (empty($params['mail'])) ) 
     1760                { 
     1761                        $result['status'] = false; 
     1762                        $result['msg']  = $this->functions->lang('Field mail or name is empty'); 
     1763                        return $result; 
     1764                } 
     1765 
     1766                if (! eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$", $params['mail']) ) 
     1767                { 
     1768                        $result['status'] = false; 
     1769                        $result['msg']  = $this->functions->lang('Field mail is not formed correcty') . '.'; 
     1770                        return $result; 
     1771                } 
     1772 
     1773                $uid = 'institutional_account_' . $params['mail']; 
     1774                $dn = "uid=$uid," . $params['context']; 
     1775 
     1776                $filter = "(mail=".$params['mail'].")"; 
     1777                $justthese = array("cn"); 
     1778                $search = @ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 
     1779                $entries = @ldap_get_entries($this->ldap,$search); 
     1780                if ($entries['count'] != 0) 
     1781                { 
     1782                        $result['status'] = false; 
     1783                        $result['msg'] = $this->functions->lang('Field mail already in use'); 
     1784                        return $result; 
     1785                } 
     1786                /* End: Validation */ 
     1787                                                 
     1788                $info = array(); 
     1789                $info['cn']                                     = $params['cn']; 
     1790                $info['sn']                                     = $params['cn']; 
     1791                $info['uid']                            = $uid; 
     1792                $info['mail']                           = $params['mail']; 
     1793                $info['phpgwAccountType']       = 'i'; 
     1794                $info['objectClass'][]          = 'inetOrgPerson'; 
     1795                $info['objectClass'][]          = 'phpgwAccount'; 
     1796                $info['objectClass'][]          = 'top'; 
     1797                $info['objectClass'][]          = 'person'; 
     1798                $info['objectClass'][]          = 'qmailUser'; 
     1799                $info['objectClass'][]          = 'organizationalPerson'; 
     1800                 
     1801                if ($params['accountStatus'] == 'on') 
     1802                { 
     1803                        $info['accountStatus'] = 'active'; 
     1804                } 
     1805                if ($params['phpgwAccountVisible'] == 'on') 
     1806                { 
     1807                        $info['phpgwAccountVisible'] = '-1'; 
     1808                } 
     1809                 
     1810                if (!empty($params['owners'])) 
     1811                { 
     1812                        foreach($params['owners'] as $index=>$uidnumber) 
     1813                        { 
     1814                                $info['mailForwardingAddress'][] = $this->uidnumber2mail($uidnumber); 
     1815                        } 
     1816                }                
     1817                 
     1818                $result = array(); 
     1819                if (!@ldap_add ( $this->ldap, $dn, $info )) 
     1820                { 
     1821                        $result['status'] = false; 
     1822                        $result['msg']  = $this->functions->lang('Error in function') . ' ldap_functions->create_institutional_accounts'; 
     1823                        $result['msg'] .= "\n" . $this->functions->lang('Server return') . ': ' . ldap_error($this->ldap); 
     1824                } 
     1825                else 
     1826                        $result['status'] = true; 
     1827                 
     1828                return $result; 
     1829        } 
     1830         
     1831        function save_institutional_accounts($params) 
     1832        { 
     1833                /* Begin: Access verification */ 
     1834                if (!$this->functions->check_acl($_SESSION['phpgw_info']['expresso']['user']['account_lid'], 'edit_institutional_accounts')) 
     1835                { 
     1836                        $return['status'] = false; 
     1837                        $return['msg'] = $this->functions->lang('You do not have right to edit institutional accounts') . "."; 
     1838                        return $return; 
     1839                } 
     1840                $access_granted = false; 
     1841                foreach ($this->manager_contexts as $idx=>$manager_context) 
     1842                { 
     1843                        if (stristr($params['context'], $manager_context)) 
     1844                        { 
     1845                                $access_granted = true; 
     1846                                break; 
     1847                        } 
     1848                } 
     1849                if (!$access_granted) 
     1850                { 
     1851                        $return['status'] = false; 
     1852                        $return['msg'] = $this->functions->lang('You do not have access to this organization') . "."; 
     1853                        return $return; 
     1854                } 
     1855                /* End: Access verification */ 
     1856                 
     1857                /* Begin: Validation */ 
     1858                if ( (empty($params['cn'])) || (empty($params['mail'])) ) 
     1859                { 
     1860                        $result['status'] = false; 
     1861                        $result['msg']  = $this->functions->lang('Field mail or name is empty') . '.'; 
     1862                        return $result; 
     1863                } 
     1864 
     1865                if (! eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$", $params['mail']) ) 
     1866                { 
     1867                        $result['status'] = false; 
     1868                        $result['msg']  = $this->functions->lang('Field mail is not formed correcty') . '.'; 
     1869                        return $result; 
     1870                } 
     1871 
     1872                $uid = 'institutional_account_' . $params['mail']; 
     1873                $dn = strtolower("uid=$uid," . $params['context']); 
     1874                $anchor = strtolower($params['anchor']); 
     1875 
     1876                $filter = "(mail=".$params['mail'].")"; 
     1877                $justthese = array("cn"); 
     1878                $search = @ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 
     1879                $entries = @ldap_get_entries($this->ldap,$search); 
     1880                 
     1881                if ( ($entries['count'] > 1) || (($entries['count'] == 1) && ($entries[0]['dn'] != $anchor)) ) 
     1882                { 
     1883                        $result['status'] = false; 
     1884                        $result['msg'] = $this->functions->lang('Field mail already in use.'); 
     1885                        return $result; 
     1886                } 
     1887                /* End: Validation */ 
     1888                 
     1889                $result = array(); 
     1890                $result['status'] = true; 
     1891                 
     1892                if ($anchor != $dn) 
     1893                { 
     1894                        if (!@ldap_rename($this->ldap, $anchor, "uid=$uid", $params['context'], true)) 
     1895                        { 
     1896                                $result['status'] = false; 
     1897                                $result['msg']  = $this->functions->lang('Error in function') . ' ldap_functions->save_institutional_accounts: ldap_rename'; 
     1898                                $result['msg'] .= "\n" . $this->functions->lang('Server return') . ': ' . ldap_error($this->ldap); 
     1899                        } 
     1900                } 
     1901                 
     1902                $info = array(); 
     1903                $info['cn']                                     = $params['cn']; 
     1904                $info['sn']                                     = $params['cn']; 
     1905                $info['uid']                            = $uid; 
     1906                $info['mail']                           = $params['mail']; 
     1907                 
     1908                if ($params['accountStatus'] == 'on') 
     1909                        $info['accountStatus'] = 'active'; 
     1910                else 
     1911                        $info['accountStatus'] = array(); 
     1912                 
     1913                if ($params['phpgwAccountVisible'] == 'on') 
     1914                        $info['phpgwAccountVisible'] = '-1'; 
     1915                else 
     1916                        $info['phpgwAccountVisible'] = array(); 
     1917                 
     1918                if (!empty($params['owners'])) 
     1919                { 
     1920                        foreach($params['owners'] as $index=>$uidnumber) 
     1921                        { 
     1922                                $mailForwardingAddress = $this->uidnumber2mail($uidnumber); 
     1923                                if ($mailForwardingAddress != '') 
     1924                                        $info['mailForwardingAddress'][] = $mailForwardingAddress; 
     1925                        } 
     1926                } 
     1927                else 
     1928                        $info['mailForwardingAddress'] = array(); 
     1929                 
     1930                if (!@ldap_modify ( $this->ldap, $dn, $info )) 
     1931                { 
     1932                        $result['status'] = false; 
     1933                        $result['msg']  = $this->functions->lang('Error in function') . ' ldap_functions->save_institutional_accounts: ldap_modify'; 
     1934                        $result['msg'] .= "\n" . $this->functions->lang('Server return') . ': ' . ldap_error($this->ldap); 
     1935                } 
     1936 
     1937                return $result; 
     1938        } 
     1939         
     1940        function get_institutional_accounts($params) 
     1941        { 
     1942                if (!$this->functions->check_acl($_SESSION['phpgw_info']['expresso']['user']['account_lid'], 'list_institutional_accounts')) 
     1943                { 
     1944                        $return['status'] = false; 
     1945                        $return['msg'] = $this->functions->lang('You do not have right to list institutional accounts') . "."; 
     1946                        return $return; 
     1947                } 
     1948 
     1949                $input = $params['input']; 
     1950                $justthese = array("cn", "mail", "uid"); 
     1951                $trs = array(); 
     1952                                 
     1953                foreach ($this->manager_contexts as $idx=>$context) 
     1954                { 
     1955                $institutional_accounts = ldap_search($this->ldap, $context, ("(&(phpgwAccountType=i)(|(mail=$input*)(cn=*$input*)))"), $justthese); 
     1956                $entries = ldap_get_entries($this->ldap, $institutional_accounts); 
     1957                 
     1958                        for ($i=0; $i<$entries['count']; $i++) 
     1959                        { 
     1960                                $tr = "<tr class='normal' onMouseOver=this.className='selected' onMouseOut=this.className='normal'><td onClick=edit_institutional_account('".$entries[$i]['uid'][0]."')>" . $entries[$i]['cn'][0] . "</td><td onClick=edit_institutional_account('".$entries[$i]['uid'][0]."')>" . $entries[$i]['mail'][0] . "</td><td align='center' onClick=delete_institutional_accounts('".$entries[$i]['uid'][0]."')><img HEIGHT='16' WIDTH='16' src=./expressoAdmin1_2/templates/default/images/delete.png></td></tr>"; 
     1961                                $trs[$tr] = $entries[$i]['cn'][0]; 
     1962                        } 
     1963                } 
     1964         
     1965        $trs_string = ''; 
     1966        if (count($trs)) 
     1967        { 
     1968                natcasesort($trs); 
     1969                foreach ($trs as $tr=>$cn) 
     1970                { 
     1971                        $trs_string .= $tr; 
     1972                } 
     1973        } 
     1974         
     1975        $return['status'] = 'true'; 
     1976        $return['trs'] = $trs_string; 
     1977        return $return; 
     1978        } 
     1979         
     1980        function get_institutional_account_data($params) 
     1981        { 
     1982                if (!$this->functions->check_acl($_SESSION['phpgw_info']['expresso']['user']['account_lid'], 'edit_institutional_accounts')) 
     1983                { 
     1984                        $return['status'] = false; 
     1985                        $return['msg'] = $this->functions->lang('You do not have right to list institutional accounts') . "."; 
     1986                        return $return; 
     1987                } 
     1988                 
     1989                $uid = $params['uid']; 
     1990                $justthese = array("accountStatus", "phpgwAccountVisible", "cn", "mail", "mailForwardingAddress"); 
     1991                                 
     1992        $institutional_accounts = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], ("(&(phpgwAccountType=i)(uid=$uid))"), $justthese); 
     1993        $entrie = ldap_get_entries($this->ldap, $institutional_accounts); 
     1994                 
     1995                if ($entrie['count'] != 1) 
     1996                { 
     1997                        $return['status'] = 'false'; 
     1998                        $return['msg'] = 'Problemas carregando dados.'; 
     1999                } 
     2000                else 
     2001                { 
     2002                        $tmp_user_context = split(",", $entrie[0]['dn']); 
     2003                        $tmp_reverse_user_context = array_reverse($tmp_user_context); 
     2004                        array_pop($tmp_reverse_user_context); 
     2005                        $return['user_context'] = implode(",", array_reverse($tmp_reverse_user_context)); 
     2006                         
     2007                        $return['status'] = 'true'; 
     2008                        $return['accountStatus']                = $entrie[0]['accountstatus'][0]; 
     2009                        $return['phpgwAccountVisible']  = $entrie[0]['phpgwaccountvisible'][0]; 
     2010                        $return['cn']                                   = $entrie[0]['cn'][0]; 
     2011                        $return['mail']                                 = $entrie[0]['mail'][0]; 
     2012 
     2013                        if ($entrie[0]['mailforwardingaddress']['count'] > 0) 
     2014                        { 
     2015                                $a_cn = array(); 
     2016                                for ($i=0; $i<$entrie[0]['mailforwardingaddress']['count']; $i++) 
     2017                                { 
     2018                                        $tmp = $this->mailforwardingaddress2uidnumber($entrie[0]['mailforwardingaddress'][$i]); 
     2019                                        if (!$tmp) {} 
     2020                                        else 
     2021                                                $a_cn[$tmp['uidnumber']] = $tmp['cn']; 
     2022                                } 
     2023                                natcasesort($a_cn); 
     2024                                foreach($a_cn as $uidnumber => $cn) 
     2025                                { 
     2026                                        $return['owners'] .= '<option value='. $uidnumber .'>' . $cn . '</option>'; 
     2027                                } 
     2028                        } 
     2029                } 
     2030                 
     2031                return $return; 
     2032        } 
     2033         
     2034        function mailforwardingaddress2uidnumber($mail) 
     2035        { 
     2036                $justthese = array("uidnumber","cn"); 
     2037        $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], ("(&(phpgwAccountType=u)(mail=$mail))"), $justthese); 
     2038        $entrie = ldap_get_entries($this->ldap, $search); 
     2039                if ($entrie['count'] != 1) 
     2040                        return false; 
     2041                else 
     2042                { 
     2043                        $return['uidnumber'] = $entrie[0]['uidnumber'][0]; 
     2044                        $return['cn'] = $entrie[0]['cn'][0]; 
     2045                        return $return; 
     2046                } 
     2047        } 
     2048         
     2049        function delete_institutional_account_data($params) 
     2050        { 
     2051                if (!$this->functions->check_acl($_SESSION['phpgw_info']['expresso']['user']['account_lid'], 'remove_institutional_accounts')) 
     2052                { 
     2053                        $return['status'] = false; 
     2054                        $return['msg'] = $this->functions->lang('You do not have right to delete institutional accounts') . "."; 
     2055                        return $return; 
     2056                } 
     2057 
     2058                $uid = $params['uid']; 
     2059                $return['status'] = true; 
     2060                                 
     2061                $justthese = array("cn"); 
     2062        $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], ("(&(phpgwAccountType=i)(uid=$uid))"), $justthese); 
     2063        $entrie = ldap_get_entries($this->ldap, $search); 
     2064                if ($entrie['count'] > 1) 
     2065                { 
     2066                        $return['status'] = false; 
     2067                        $return['msg']  = $this->functions->lang('More then one uid was found'); 
     2068                        return $return; 
     2069                }                
     2070                if ($entrie['count'] == 0) 
     2071                { 
     2072                        $return['status'] = false; 
     2073                        $return['msg']  = $this->functions->lang('No uid was found'); 
     2074                        return $return; 
     2075                }                
     2076                 
     2077                $dn = $entrie[0]['dn']; 
     2078                if (!@ldap_delete($this->ldap, $dn)) 
     2079                { 
     2080                        $return['status'] = false; 
     2081                        $return['msg']  = $this->functions->lang('Error in function') . " ldap_functions->delete_institutional_accounts: ldap_delete"; 
     2082                        $return['msg'] .= "\n" . $this->functions->lang('Server return') . ': ' . ldap_error($this->ldap); 
     2083                        return $return; 
     2084                } 
     2085                 
     2086                return $return; 
     2087        } 
     2088         
     2089        function replace_mail_from_institutional_account($newMail, $oldMail) 
     2090        { 
     2091                $filter = "(&(phpgwAccountType=i)(mailforwardingaddress=$oldMail))"; 
     2092                $justthese = array("dn"); 
     2093                $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 
     2094                $entries = ldap_get_entries($this->ldap, $search); 
     2095                $result['status'] = true; 
     2096                for ($i=0; $i<$entries['count']; $i++) 
     2097                { 
     2098                        $attrs['mailforwardingaddress'] = $oldMail; 
     2099                        $res1 = @ldap_mod_del($this->ldap, $entries[$i]['dn'], $attrs); 
     2100                        $attrs['mailforwardingaddress'] = $newMail; 
     2101                        $res2 = @ldap_mod_add($this->ldap, $entries[$i]['dn'], $attrs); 
     2102                 
     2103                        if ((!$res1) || (!$res2)) 
     2104                        { 
     2105                                $result['status'] = false; 
     2106                                $return['msg']  = $this->functions->lang('Error in function') . " ldap_functions->replace_mail_from_institutional_account."; 
     2107                        } 
     2108                } 
     2109                 
     2110                return $result; 
     2111        } 
    16732112} 
    16742113?> 
  • trunk/expressoAdmin1_2/inc/class.uiaccounts.inc.php

    r309 r317  
    6262                                $context_display .= '<br>'.$tmp_context; 
    6363                        } 
    64                          
    6564                        // Verifica se o administrador tem acesso. 
    6665                        if (!$this->functions->check_acl($account_lid,'list_users')) 
     
    136135                                        ($this->functions->check_acl($account_lid,'edit_sambausers_attributes')) ||   
    137136                                        ($this->functions->check_acl($account_lid,'change_users_quote')) || 
    138                                         ($this->functions->check_acl($account_lid,'manipulate_corporative_information')) 
     137                                        ($this->functions->check_acl($account_lid,'manipulate_corporative_information')) || 
     138                                        ($this->functions->check_acl($account_lid,'edit_users_phonenumber')) 
    139139                                        )  
    140140                                        $can_edit = True; 
     
    369369                                (!$this->functions->check_acl($manager_account_lid,'edit_sambausers_attributes')) && 
    370370                                (!$this->functions->check_acl($manager_account_lid,'view_users')) && 
    371                                 (!$this->functions->check_acl($manager_account_lid,'manipulate_corporative_information')) 
     371                                (!$this->functions->check_acl($manager_account_lid,'manipulate_corporative_information')) && 
     372                                (!$this->functions->check_acl($manager_account_lid,'edit_users_phonenumber')) 
    372373                                ) 
    373374                        { 
     
    385386                                $disabled = 'disabled'; 
    386387                                $disabled_samba = ''; 
     388                        } 
     389                        // SOMENTE ALTERAÇÃO DE TELEFONE 
     390                        if ((!$this->functions->check_acl($manager_account_lid,'edit_users')) && ($this->functions->check_acl($manager_account_lid,'edit_users_phonenumber'))) 
     391                        { 
     392                                $disabled = 'disabled'; 
     393                                $disabled_phonenumber = ''; 
    387394                        } 
    388395                        // TOTAIS MENOS O SAMBA 
  • trunk/expressoAdmin1_2/inc/class.uidomains.inc.php

    r309 r317  
    178178                                return; 
    179179                        } 
    180                          
    181                         $return = $this->ldap_functions->add_sambadomain(strtoupper($_POST['sambadomainname']), $_POST['sambasid'], $_POST['context']); 
    182                         if (!$return['status']) 
    183                         { 
    184                                 $_POST['error_messages'] = $return['msg']; 
    185                                 ExecMethod('expressoAdmin1_2.uidomains.add'); 
    186                                 return; 
     180 
     181                        if (!$this->ldap_functions->exist_domain_name_sid($_POST['sambadomainname'], $_POST['sambasid'])) 
     182                        { 
     183                                $return = $this->ldap_functions->add_sambadomain(strtoupper($_POST['sambadomainname']), $_POST['sambasid'], $_POST['context']); 
     184                                if (!$return['status']) 
     185                                { 
     186                                        $_POST['error_messages'] = $return['msg']; 
     187                                        ExecMethod('expressoAdmin1_2.uidomains.add'); 
     188                                        return; 
     189                                } 
    187190                        } 
    188191                         
  • trunk/expressoAdmin1_2/inc/class.uimanagers.inc.php

    r309 r317  
    256256                                //Cria vetor da ACL 
    257257                                $manager_acl = $this->functions->make_array_acl($manager['acl']); 
    258  
    259258                                //Pesquisa no Banco e pega os valores dos apps. 
    260259                                $query = "SELECT * FROM phpgw_expressoadmin_apps WHERE manager_lid = '" . $_GET['manager_lid'] . "' AND context = '" . $_GET['context'] . "'"; 
     
    327326                                { 
    328327                                        if ($first_time) 
    329                                                 $p->set_var($atribute, $manager_acl[$atribute] != '' ? 'checked' : ''); 
     328                                                $p->set_var($atribute, $manager_acl[$atribute] === '1' ? 'checked' : ''); 
    330329                                        else 
    331                                                 $p->set_var($atribute, $_POST[$atribute] != '' ? 'checked' : '');  
     330                                                $p->set_var($atribute, $_POST[$atribute] === '1' ? 'checked' : '');  
    332331                                } 
    333332                                // Setar os langs do tpl. 
  • trunk/expressoAdmin1_2/inc/class.user.inc.php

    r309 r317  
    132132                                if (($this->current_config['expressoAdmin_samba_support'] == 'true') && ($params['use_attrs_samba'] == 'on')) 
    133133                                { 
     134                                         
     135                                        // Qualquer um que crie um usuário, deve ter permissão para adicionar a senha samba. 
    134136                                        // Verifica o acesso do gerente aos atributos samba 
    135                                         if ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_sambausers_attributes')) 
    136                                         { 
     137                                        //if ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_sambausers_attributes')) 
     138                                        //{ 
    137139                                                //Verifica se o binario para criar as senhas do samba exite. 
    138140                                                if (!is_file('/home/expressolivre/mkntpwd')) 
     
    162164                                                        $user_info['sambaPwdMustChange']        = '2147483647'; 
    163165                                                } 
    164                                         } 
     166                                        //} 
    165167                                } 
    166168                                 
     
    292294                                (!$this->functions->check_acl($manager_account_lid,'change_users_password')) && 
    293295                                (!$this->functions->check_acl($manager_account_lid,'edit_sambausers_attributes')) && 
    294                                 (!$this->functions->check_acl($manager_account_lid,'manipulate_corporative_information')) 
     296                                (!$this->functions->check_acl($manager_account_lid,'manipulate_corporative_information')) && 
     297                                (!$this->functions->check_acl($manager_account_lid,'edit_users_phonenumber')) 
    295298                                ) 
    296299                        { 
     
    340343                                        $ldap_mod_replace['mail'] = $new_values['mail']; 
    341344                                        $this->ldap_functions->replace_user2maillists($new_values['mail'], $old_values['mail']); 
     345                                        $this->ldap_functions->replace_mail_from_institutional_account($new_values['mail'], $old_values['mail']); 
    342346                                        $this->db_functions->write_log("alterado mail do usuario",'',$dn,'',''); 
    343347                                } 
     
    354358                                } 
    355359                                */ 
    356                                 if (($diff['telephonenumber']) && ($old_values['telephonenumber'] != '')) 
    357                                 { 
    358                                         $ldap_mod_replace['telephonenumber'] = $new_values['telephonenumber']; 
    359                                         $this->db_functions->write_log("alterado telephonenumber do usuario",'',$dn,'',''); 
    360                                 } 
    361360                                //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
    362361                                // Passwd Expired - Com atributo 
     
    397396                                         
    398397                                        $this->db_functions->write_log("alterado password do usuario",'',$dn,'',''); 
     398                                } 
     399                        } 
     400 
     401                        if ( ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_users')) ||  
     402                             ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_users_phonenumber')) ) 
     403                        { 
     404                                if (($diff['telephonenumber']) && ($old_values['telephonenumber'] != '')) 
     405                                { 
     406                                        $ldap_mod_replace['telephonenumber'] = $new_values['telephonenumber']; 
     407                                        $this->db_functions->write_log("alterado telephonenumber do usuario",'',$dn,'',''); 
    399408                                } 
    400409                        } 
  • trunk/expressoAdmin1_2/index.php

    r309 r317  
    3535        $var = Array( 
    3636                'lang_user_accounts'    => lang('User Accounts'), 
     37                'lang_institutional_accounts'=> lang('Institutional Accounts'), 
    3738                'lang_user_groups'              => lang('User Groups'), 
    3839                'lang_email_lists'              => lang('Email Lists'), 
     
    4748        $template->pfp('out','body'); 
    4849         
     50        /* save lang and session */ 
     51        /* 
     52        if (!empty($GLOBALS['phpgw_info']['expresso'])) 
     53        { 
     54                $_SESSION['phpgw_info']['expresso'] = $GLOBALS['phpgw_info']['expresso']; 
     55        }*/ 
     56         
     57        if (empty($_SESSION['phpgw_info']['expressoAdmin']['lang'])) 
     58        { 
     59                $_SESSION['phpgw_info']['expressoAdmin']['user']['preferences']['common']['lang'] = $GLOBALS['phpgw_info']['user']['preferences']['common']['lang']; 
     60                $fn = './setup/phpgw_'.$_SESSION['phpgw_info']['expressoAdmin']['user']['preferences']['common']['lang'].'.lang'; 
     61                if (file_exists($fn)) 
     62                { 
     63                        $fp = fopen($fn,'r'); 
     64                        while ($data = fgets($fp,16000)) 
     65                        { 
     66                                list($message_id,$app_name,$null,$content) = explode("\t",substr($data,0,-1)); 
     67                                $_SESSION['phpgw_info']['expressoAdmin']['lang'][$message_id] = $content; 
     68                        } 
     69                        fclose($fp); 
     70                } 
     71        } 
     72 
    4973        $GLOBALS['phpgw']->common->phpgw_footer(); 
    5074?> 
  • trunk/expressoAdmin1_2/js/jscode/connector.js

    r18 r317  
    4646                        var div = document.getElementById('divProgressBar'); 
    4747                 
    48                         if(! div) {                                                                                              
     48                        if(! div) { 
     49                        try{ 
    4950                                div = document.createElement("DIV"); 
    5051                                div.style.visibility    = "hidden";              
     
    7980                                        document.body.appendChild(div);                                                                                                                          
    8081                                } 
     82                        } 
     83                        catch(e){} 
    8184                        }                                                                
    8285        }        
     
    340343                                                                var data = _thisObject.unserialize(oxmlhttp.responseText); 
    341344                                                                if(debug_controller) { 
    342                                                                         document.getElementById("debug_controller").innerHTML += oxmlhttp.responseText; 
    343                                                                         document.getElementById("debug_controller").innerHTML += "<br>-------------------------------------------------------------------------------------<br>"; 
     345                                                                        try{ 
     346                                                                                document.getElementById("debug_controller").innerHTML += oxmlhttp.responseText; 
     347                                                                                document.getElementById("debug_controller").innerHTML += "<br>-------------------------------------------------------------------------------------<br>"; 
     348                                                                        } 
     349                                                                        catch(e){} 
    344350                                                                }                                                                        
    345351                                                                handler(data); 
     
    421427        { 
    422428                div = document.getElementById('divProgressBar'); 
    423                 div.style.visibility = 'hidden'; 
    424                 this.isVisibleBar = false; 
     429                if ( (div) && (this.isVisibleBar) ) 
     430                { 
     431                        div.style.visibility = 'hidden'; 
     432                        this.isVisibleBar = false; 
     433                } 
    425434        } 
    426435         
    427436        cConnector.prototype.showProgressBar = function() 
    428437        { 
    429         div = document.getElementById('divProgressBar'); 
    430                 div.style.visibility = 'visible'; 
    431                 this.isVisibleBar = true; 
     438                div = document.getElementById('divProgressBar'); 
     439                if(div) 
     440                { 
     441                        div.style.visibility = 'visible'; 
     442                        this.isVisibleBar = true; 
     443                } 
     444                else 
     445                        this.isVisibleBar = false; 
    432446        } 
    433447 
  • trunk/expressoAdmin1_2/js/jscode/maillists.js

    r309 r317  
    320320var finderTimeout = ''; 
    321321 
    322 // Funcoes                                                                                       
     322// Funcoes 
    323323function optionFinderTimeout(obj) 
    324324{ 
  • trunk/expressoAdmin1_2/js/jscode/managers.js

    r309 r317  
    22function copy_manager(manager) 
    33{ 
    4         var new_manager = prompt("Digite o login do novo gerente:",""); 
    5          
     4        if (!(new_manager = prompt("Digite o login do novo gerente:",""))) 
     5        { 
     6                return; 
     7        } 
     8 
    69        var handler_copy_manager = function(data) 
    710        { 
  • trunk/expressoAdmin1_2/templates/default/accounts_form.tpl

    r309 r317  
    4242                <tr bgcolor={row_on}> 
    4343                        <td>{lang_search_organization}:</td> 
    44                         <td><input type="text" id="organization_search" autocomplete="off" size=20 onKeyUp="javascript:search_organization(this.value, 'ea_combo_org_info');" onBlur="javascript:sinc_combos_org(context.value); get_available_groups(context.value); get_available_maillists(context.value); get_available_sambadomains(context.value, '{type}')"></td> 
     44                        <td><input type="text" id="organization_search" {disabled} autocomplete="off" size=20 onKeyUp="javascript:search_organization(this.value, 'ea_combo_org_info');" onBlur="javascript:sinc_combos_org(context.value); get_available_groups(context.value); get_available_maillists(context.value); get_available_sambadomains(context.value, '{type}')"></td> 
    4545                </tr> 
    4646 
     
    8686                <tr bgcolor={row_off}> 
    8787                        <td width="15%">{lang_phone}:</td> 
    88                         <td width="35%"><input type="text" name="telephonenumber" id="telephonenumber" value="{telephonenumber}" autocomplete="off" {disabled} size=20 onkeyUp="FormataValor(event, this);"></input>&nbsp;</td> 
     88                        <td width="35%"><input type="text" name="telephonenumber" id="telephonenumber" value="{telephonenumber}" autocomplete="off" {disable_phonenumber} size=20 maxlength=13 onkeyUp="FormataValor(event, this);"></input>&nbsp;</td> 
    8989                        <td>&nbsp;</td> 
    9090                        <td rowspan="4" width="35%" style="display:{display_picture}"> 
  • trunk/expressoAdmin1_2/templates/default/index.tpl

    r309 r317  
    11<!-- BEGIN body --> 
    2 <table width="90%" border="0" cellspacing="4" cellpadding="0" align="center">  
     2<table width="90%" border="0" cellspacing="10" cellpadding="0" align="center">  
    33        <tr> 
    44                <td width="1%" align="center"> 
     
    77                <td> 
    88                        <a href="../index.php?menuaction=expressoAdmin1_2.uiaccounts.list_users">{lang_user_accounts}</a> 
     9                </td> 
     10        </tr>  
     11        <tr> 
     12                <td width="1%" align="center"> 
     13                        <img HEIGHT='24' WIDTH='24' src='./templates/default/images/institutional_account.png'> 
     14                </td> 
     15                <td> 
     16                        <a href="../index.php?menuaction=expressoAdmin1_2.institutional_accounts.index">{lang_institutional_accounts}</a> 
    917                </td> 
    1018        </tr>  
  • trunk/expressoAdmin1_2/templates/default/managers_form.tpl

    r309 r317  
    5555                                         
    5656                                        <!-- BEGIN ACL CONTROL --> 
     57                                        <!-- last acl: 2147483648 --> 
    5758                                        <table id="ea_table_acl"> 
    5859                                            <tr bgcolor="{color_font2}"> 
     
    101102                                                        <td><input type="checkbox" name="acl_manipulate_corporative_information" value="268435456" {acl_manipulate_corporative_information}></td> 
    102103                                                </tr> 
     104                                                 
    103105                                                <tr bgcolor="{color_font2}" align='right'> 
    104106                                                        <td>{lang_view_user}:</td> 
    105107                                                        <td><input type="checkbox" name="acl_view_users" value="33554432" {acl_view_users}></td> 
     108                                                         
     109                                                        <td>{lang_add_institutional_accounts}:</td> 
     110                                                        <td><input type="checkbox" name="acl_add_institutional_accounts" value="4294967296" {acl_add_institutional_accounts}></td> 
    106111                                                </tr> 
    107112                                                <tr bgcolor="{color_font1}" align='right'> 
    108113                                                        <td>{lang_edit_users_picture}:</td> 
    109114                                                        <td><input type="checkbox" name="acl_edit_users_picture" value="536870912" {acl_edit_users_picture}></td> 
    110                                                 </tr> 
    111                                                 <tr bgcolor="{color_font2}" align='right'> 
     115                                                         
     116                                                        <td>{lang_edit_institutional_accounts}:</td> 
     117                                                        <td><input type="checkbox" name="acl_edit_institutional_accounts" value="8589934592" {acl_edit_institutional_accounts}></td> 
     118                                                </tr> 
     119                                                <tr bgcolor="{color_font2}" align='right'> 
     120                                                        <td>{lang_edit_users_phonenumber}:</td> 
     121                                                        <td><input type="checkbox" name="acl_edit_users_phonenumber" value="2147483648" {acl_edit_users_phonenumber}></td> 
     122                                                         
     123                                                        <td>{lang_remove_institutional_accounts}:</td> 
     124                                                        <td><input type="checkbox" name="acl_remove_institutional_accounts" value="17179869184" {acl_remove_institutional_accounts}></td> 
     125                                                </tr> 
     126                                                 
     127                                                <tr bgcolor="{color_font1}" align='right'> 
    112128                                                        <td>{lang_change_users_password}:</td> 
    113129                                                        <td><input type="checkbox" name="acl_change_users_password" value="128" {acl_change_users_password}></td> 
    114130                                                </tr> 
    115                                                 <tr bgcolor="{color_font1}" align='right'> 
     131                                                <tr bgcolor="{color_font2}" align='right'> 
    116132                                                        <td>{lang_change_users_quote}:</td> 
    117133                                                        <td><input type="checkbox" name="acl_change_users_quote" value="262144" {acl_change_users_quote}></td> 
    118134                                                </tr> 
    119                                                 <tr bgcolor="{color_font2}" align='right'> 
     135                                                <tr bgcolor="{color_font1}" align='right'> 
    120136                                                        <td>{lang_set_default_users_password}:</td> 
    121137                                                        <td><input type="checkbox" name="acl_set_user_default_password" value="524288" {acl_set_user_default_password}></td> 
    122138                                                </tr> 
    123                                                 <tr bgcolor="{color_font1}" align='right'> 
     139                                                <tr bgcolor="{color_font2}" align='right'> 
    124140                                                        <td>{lang_empty_user_inbox}:</td> 
    125141                                                        <td><input type="checkbox" name="acl_empty_user_inbox" value="134217728" {acl_empty_user_inbox}></td> 
Note: See TracChangeset for help on using the changeset viewer.