Changeset 72


Ignore:
Timestamp:
09/24/07 10:22:29 (17 years ago)
Author:
niltonneto
Message:

* empty log message *

Location:
trunk
Files:
25 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php

    r69 r72  
    769769                                $result['sn']                                   = $entry[0]['sn'][0]; 
    770770                                $result['telephonenumber']              = $entry[0]['telephonenumber'][0]; 
     771                                $result['passwd_expired']               = $entry[0]['phpgwlastpasswdchange'][0]; 
    771772                                $result['phpgwaccountstatus']   = $entry[0]['phpgwaccountstatus'][0]; 
    772773                                $result['phpgwaccountvisible']  = $entry[0]['phpgwaccountvisible'][0]; 
  • trunk/expressoAdmin1_2/inc/class.uiaccounts.inc.php

    r64 r72  
    256256                                'lang_lists_permission'                 => lang('Email Lists'), 
    257257                                'lang_aplication_permission'    => lang('Aplication Permission'),        
     258                                'lang_search_organization'              => lang('Search Organiztion'), 
    258259                                'lang_organizations'                    => lang('Organizations'), 
    259260                                'lang_sector'                                   => lang('Sector'), 
     
    263264                                'lang_password'                                 => lang('Password'), 
    264265                                'lang_re-password'                              => lang('Re-Password'), 
     266                                'lang_passwd_expired'                   => lang('Password expired'), 
    265267                                'lang_changepassword'                   => lang('Change password'),                              
    266268                                'lang_phone'                                    => lang('Phone'), 
     
    274276                                'sectors'                                               => $sectors, 
    275277                                'combo_organizations'                   => $sectors, 
     278                                'passwd_expired_checked'                => 'CHECKED', 
    276279                                'changepassword_checked'                => 'CHECKED', 
    277280                                'phpgwaccountstatus_checked'    => 'CHECKED', 
     
    565568                                'lang_aplication_permission'    => lang('Aplication Permission'),        
    566569                                'lang_organizations'                    => lang('Organizations'), 
     570                                'lang_search_organization'              => lang('Search Organiztion'), 
    567571                                'lang_sector'                                   => lang('Sector'), 
    568572                                'lang_account_lid'                              => lang('Login ID'), 
    569573                                'lang_firstname'                                => lang('First Name'), 
    570574                                'lang_lastname'                                 => lang('Last Name'), 
     575                                'lang_passwd_expired'                   => lang('Password expired'), 
    571576                                'lang_password'                                 => lang('Password'), 
    572577                                'lang_phone'                                    => lang('Phone'), 
     
    592597                                'display_tr_default_password'   => $this->functions->check_acl($manager_account_lid,'set_user_default_password') ? '' : 'none', 
    593598                                 
     599                                'passwd_expired_checked'                => $user_info['passwd_expired'] == '0' ? 'CHECKED' : '', 
    594600                                'changepassword_checked'                => $user_info['changepassword'] == '1' ? 'CHECKED' : '', 
    595601                                'phpgwaccountstatus_checked'    => $user_info['phpgwaccountstatus'] == 'A' ? 'CHECKED' : '', 
  • trunk/expressoAdmin1_2/inc/class.user.inc.php

    r69 r72  
    8989                                $user_info['userPassword']                              = '{md5}' . base64_encode(pack("H*",md5($params['password1']))); 
    9090                                 
     91                                if ($params['passwd_expired'] == '1') 
     92                                        $user_info['phpgwLastPasswdChange'] = '0'; 
     93                                 
    9194                                // Gerenciar senhas RFC2617 
    9295                                if ($this->current_config['expressoAdmin_userPasswordRFC2617'] == 'true') 
     
    270273                        $dn = 'uid=' . $old_values['uid'] . ',' . strtolower($old_values['context']); 
    271274                        $diff = array_diff($new_values, $old_values); 
     275                        /* 
     276                        echo '<pre>'; 
     277                        echo '--- OLD: '; 
     278                        print_r($old_values['passwd_expired']); 
     279                        echo '<br>--- NEW: '; 
     280                        print_r($new_values['passwd_expired']); 
     281                        echo '<br>'; 
     282                        print_r($diff); 
     283                        return; 
     284                        */ 
    272285                         
    273286                        $manager_account_lid = $_SESSION['phpgw_session']['session_lid']; 
     
    339352                                        $ldap_mod_replace['telephonenumber'] = $new_values['telephonenumber']; 
    340353                                        $this->db_functions->write_log("alterado telephonenumber do usuario",'',$dn,'',''); 
     354                                } 
     355                                //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
     356                                // Passwd Expired - Com atributo 
     357                                if (($old_values['passwd_expired'] != '') && ($new_values['passwd_expired'] == '1')) 
     358                                { 
     359                                        $ldap_mod_replace['phpgwlastpasswdchange'] = '0'; 
     360                                        $this->db_functions->write_log("Expirado senha do usuário",'',$dn,'',''); 
    341361                                } 
    342362                        } 
     
    457477                                        $ldap_remove['telephonenumber'] = array(); 
    458478                                        $this->db_functions->write_log("removido telephonenumber do usuario",'',$dn,'',''); 
     479                                } 
     480                                //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
     481                                // Passwd Expired - Sem atributo 
     482                                if (($old_values['passwd_expired'] == '') && ($new_values['passwd_expired'] == '1')) 
     483                                { 
     484                                        $ldap_add['phpgwlastpasswdchange'] = '0'; 
     485                                        $this->db_functions->write_log("Expirado senha do usuário",'',$dn,'',''); 
     486                                } 
     487                                if (($old_values['passwd_expired'] == '0') && ($new_values['passwd_expired'] == '')) 
     488                                { 
     489                                        $ldap_remove['phpgwlastpasswdchange'] = array(); 
     490                                        $this->db_functions->write_log("Removido expiração da senha do usuário",'',$dn,'',''); 
    459491                                } 
    460492                                //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
  • trunk/expressoAdmin1_2/js/jscode/users.js

    r64 r72  
    546546        finderTimeout_maillist = setTimeout("optionFinder_maillist('"+obj.id+"')",500); 
    547547} 
    548 function optionFinder_maillist(id) {     
     548function optionFinder_maillist(id) { 
    549549        var oWait = document.getElementById("ea_span_searching_maillist"); 
    550550        var oText = document.getElementById(id); 
     
    681681        return true; 
    682682} 
     683 
     684function search_organization(key) 
     685{ 
     686        var organizations = document.getElementById('ea_combo_org_info'); 
     687        var RegExp_org = new RegExp("\\b"+key, "i"); 
     688         
     689        for(i = 0; i < organizations.length; i++) 
     690        { 
     691                if (RegExp_org.test(organizations[i].text)) 
     692                { 
     693                        organizations[i].selected = true; 
     694                        return; 
     695                } 
     696        } 
     697} 
  • trunk/expressoAdmin1_2/templates/default/accounts_form.tpl

    r64 r72  
    4141        <table width="90%" border="0" cellspacing="4"> 
    4242                <tr bgcolor={row_on}> 
     43                        <td>{lang_search_organization}:</td> 
     44                        <td><input type="text" id="organization_search" autocomplete="off" size=20 onKeyUp="javascript:search_organization(this.value);" onBlur="javascript:sinc_combos_org(context.value); get_available_groups(context.value); get_available_maillists(context.value); get_available_sambadomains(context.value, '{type}')"></td> 
     45                </tr> 
     46 
     47                <tr bgcolor={row_off}> 
    4348                        <td>{lang_organizations}:</td> 
    4449                        <td><select {disabled} id="ea_combo_org_info" name="context" onchange="javascript:sinc_combos_org(this.value); get_available_groups(this.value); get_available_maillists(this.value); get_available_sambadomains(this.value, '{type}')">{sectors}</select></td> 
    4550                </tr> 
    4651                                                         
    47                 <tr bgcolor={row_off}> 
     52                <tr bgcolor={row_on}> 
    4853                        <td>{lang_account_lid}:</td> 
    4954                        <td> 
     
    5762                </tr> 
    5863                 
    59                 <tr bgcolor={row_on}> 
     64                <tr bgcolor={row_off}> 
    6065                        <td width="15%">{lang_firstname}:</td> 
    6166                        <td width="35%"><input type="text" name="givenname" value="{givenname}" autocomplete="off" {disabled} size=42></input>&nbsp;</td> 
     
    8994                        </td> 
    9095                </tr> 
    91                                                  
    92                 <tr bgcolor={row_off}> 
    93                         <td colspan="2">{lang_changepassword}:</td>                      
     96 
     97                <tr bgcolor={row_on}> 
     98                        <td colspan="2">{lang_passwd_expired}:</td> 
     99                        <td><input type="checkbox" {passwd_expired_checked} {disabled} name="passwd_expired" id="passwd_expired" value="1"</td> 
     100                </tr> 
     101 
     102                <tr bgcolor={row_off}> 
     103                        <td colspan="2">{lang_changepassword}:</td> 
    94104                        <td><input type="checkbox" {changepassword_checked} {disabled} name="changepassword" id="changepassword" value="1"</td> 
    95105                </tr> 
  • trunk/expressoMail1_2/inc/class.functions.inc.php

    r69 r72  
    33                 
    44                 
     5                function CallVoipConnect($params){ 
     6                        $fromNumber = $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['telephone_number']; 
     7                        if(!$fromNumber) 
     8                                return false; 
     9                        $fromNumber = substr($fromNumber,strlen($fromNumber) - 4, strlen($fromNumber) - 1); 
     10                        $toNumber       = $params['to'] ? substr($params['to'],strlen($params['to']) - 4, strlen($params['to']) - 1) : 0; 
     11                         
     12                        $voipServer     = $_SESSION['phpgw_info']['expressomail']['server']['voip_server']; 
     13                        $voipUrl        = $_SESSION['phpgw_info']['expressomail']['server']['voip_url']; 
     14                        $voipPort       = $_SESSION['phpgw_info']['expressomail']['server']['voip_port']; 
     15                         
     16                        // Se for celular, passa os digitos do número e conecta com outro VoIP Server..... 
     17                        if($params['typePhone'] == 'mob'){ 
     18                                $toNumber       = $params['to']; 
     19                                $voipServer     = $_SESSION['phpgw_info']['expressomail']['server']['voip_server']; 
     20                                $voipUrl        = $_SESSION['phpgw_info']['expressomail']['server']['voip_url']; 
     21                                $voipPort       = $_SESSION['phpgw_info']['expressomail']['server']['voip_port'];                                
     22                        }        
     23                                 
     24                        if(!$voipServer || !$voipUrl || !$voipPort) 
     25                                return false; 
     26                        $url            = "http://".$voipServer.":".$voipPort.$voipUrl."?magic=1333&acao=liga&ramal=".$fromNumber."&numero=".$toNumber;                  
     27                        $sMethod = 'GET '; 
     28            $crlf = "\r\n"; 
     29            $sRequest = " HTTP/1.1" . $crlf; 
     30            $sRequest .= "Host: localhost" . $crlf; 
     31            $sRequest .= "Accept: */* " . $crlf; 
     32            $sRequest .= "Connection: Close" . $crlf . $crlf;             
     33            $sRequest = $sMethod . $url . $sRequest;     
     34            $sockHttp = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);             
     35            if (!$sockHttp)  { 
     36                return false; 
     37            } 
     38            $resSocketConnect = socket_connect($sockHttp, $voipServer, $voipPort); 
     39            if (!$resSocketConnect) { 
     40                return false; 
     41            } 
     42            $resSocketWrite = socket_write($sockHttp, $sRequest, strlen($sRequest)); 
     43            if (!$resSocketWrite) { 
     44                return false; 
     45            }     
     46            $sResponse = '';     
     47            while ($sRead = socket_read($sockHttp, 512)) { 
     48                $sResponse .= $sRead; 
     49            }             
     50             
     51            socket_close($sockHttp);             
     52            $pos = strpos($sResponse, $crlf . $crlf); 
     53            return substr($sResponse, $pos + 2 * strlen($crlf));                                                                         
     54                } 
     55 
    556                function getDirContents($dir){ 
    657                        //$dir = dirname($dir); 
     
    52103                 
    53104                function getLang($key){ 
    54                         if ($_SESSION['phpgw_info']['expressomail']['lang'][$key]) 
    55                                 return $_SESSION['phpgw_info']['expressomail']['lang'][$key]; 
    56                         else 
    57                                 return $key . '*'; 
     105                        return $_SESSION['phpgw_info']['expressomail']['lang'][$key];                    
    58106                } 
    59107 
  • trunk/expressoMail1_2/inc/class.ldap_functions.inc.php

    r64 r72  
    4545                        { 
    4646                                $filter="(&(|(phpgwAccountType=u)(phpgwAccountType=l))(|(cn=*$search_for*)(sn=*$search_for*)(mail=$search_for*)))"; 
    47                                 $justthese = array("cn", "mail", "telephoneNumber", "phpgwAccountVisible", "uid"); 
     47                                $justthese = array("cn", "mail", "telephoneNumber", "mobile", "phpgwAccountVisible", "uid"); 
    4848                        } 
    4949                        else 
    5050                        { 
    5151                                $filter="(&(phpgwAccountType=u)(|(cn=*$search_for*)(sn=*$search_for*)(mail=$search_for*)))"; 
    52                                 $justthese = array("cn", "mail", "telephoneNumber", "phpgwAccountVisible", "jpegPhoto", "uid"); 
     52                                $justthese = array("cn", "mail", "telephoneNumber", "mobile", "phpgwAccountVisible", "jpegPhoto", "uid"); 
    5353                        } 
    5454                         
     
    6969                                if ($info[$i]["phpgwaccountvisible"][0] == '-1') 
    7070                                        continue; 
    71                                 $tmp[$info[$i]["mail"][0] . '%' . $info[$i]["telephonenumber"][0] . '%' . $info[$i]["uid"][0] . '%' . $info[$i]["jpegphoto"]['count']] = $info[$i]["cn"][0]; 
     71                                $tmp[$info[$i]["mail"][0] . '%' . $info[$i]["telephonenumber"][0] . '%'. $info[$i]["mobile"][0] . '%' . $info[$i]["uid"][0] . '%' . $info[$i]["jpegphoto"]['count']] = $info[$i]["cn"][0]; 
    7272                        } 
    7373                        natcasesort($tmp); 
     
    8080                                        $contacts_result[$i] = array(); 
    8181                                        $contacts_result[$i]["cn"] = $cn; 
    82                                         list ($contacts_result[$i]["mail"], $contacts_result[$i]["phone"]) = split ('%', $info); 
     82                                        list ($contacts_result[$i]["mail"], $contacts_result[$i]["phone"], $contacts_result[$i]["mobile"]) = split ('%', $info); 
    8383                                        $i++; 
    8484                                } 
     
    8787                        { 
    8888                                $options = ''; 
     89                                include_once("class.functions.inc.php"); 
     90                                $functions = new functions;                                              
     91                                 
    8992                                foreach ($tmp as $info => $cn) 
    9093                                { 
    9194                                        $contacts_result[$i] = array(); 
    9295                                        $contacts_result[$i]["cn"] = $cn; 
    93                                         list ($contacts_result[$i]["mail"], $contacts_result[$i]["phone"], $contacts_result[$i]["uid"], $contacts_result[$i]["jpegphoto"]) = split ('%', $info); 
     96                                        list ($contacts_result[$i]["mail"], $contacts_result[$i]["phone"], $contacts_result[$i]["mobile"], $contacts_result[$i]["uid"], $contacts_result[$i]["jpegphoto"]) = split ('%', $info); 
    9497                                         
    9598                                        if ($contacts_result[$i]['jpegphoto']) 
     
    99102                                         
    100103                                        // '<tr class="quicksearchcontacts_unselected" onClick="javascript:QuickSearchUser.select_cc(this)">' . 
     104                                        $phoneUser = $contacts_result[$i]['phone']; 
     105                                         
     106                                        if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['voip_enabled'] && $phoneUser) { 
     107                                                $phoneUser = '<a title="'.$functions->getLang("Call to Comercial Number").'" href="#" onclick="InfoContact.connectVoip(\''.$phoneUser.'\',\'com\')">'.$phoneUser.'</a>'; 
     108                                                if($contacts_result[$i]['mobile']){ 
     109                                                $phoneUser .= ' / <a title="'.$functions->getLang("Call to Mobile Number").'" href="#" onclick="InfoContact.connectVoip(\''.$contacts_result[$i]['mobile'].'\',\'mob\')">'.$contacts_result[$i]['mobile'].'</a>'; 
     110                                                } 
     111                                        } 
    101112                                        $options .= 
    102113                                                '<tr class="quicksearchcontacts_unselected">' . 
    103114                                                        '<td class="cc" width="1%">' . 
    104                                                                 '<a onClick="javascript:QuickSearchUser.create_new_message(\''.$contacts_result[$i]["cn"].'\', \''.$contacts_result[$i]["mail"].'\')">' . 
     115                                                                '<a title="'.$functions->getLang("Write message").'" onClick="javascript:QuickSearchUser.create_new_message(\''.$contacts_result[$i]["cn"].'\', \''.$contacts_result[$i]["mail"].'\')">' . 
    105116                                                                        $photo_link . 
    106117                                                                '</a>' . 
     
    108119                                                        '<td class="cc">' . 
    109120                                                                '<span name="cn">' . $contacts_result[$i]['cn'] . '</span>' . '<br>' . 
    110                                                                 '<a href="#" onClick="javascript:QuickSearchUser.create_new_message(\''.$contacts_result[$i]["cn"].'\', \''.$contacts_result[$i]["mail"].'\')">'.$contacts_result[$i]['mail'].'</a><br>'. 
    111                                                                 $contacts_result[$i]['phone'] . 
     121                                                                '<a title="'.$functions->getLang("Write message").'" onClick="javascript:QuickSearchUser.create_new_message(\''.$contacts_result[$i]["cn"].'\', \''.$contacts_result[$i]["mail"].'\')">' . 
     122                                                                        '<font color=blue>' . 
     123                                                                                '<span name="mail">' . $contacts_result[$i]['mail'] . '</span>' . '<br>' . 
     124                                                                        '</font>' . 
     125                                                                '</a>' . 
     126                                                                $phoneUser . 
    112127                                                        '</td>' . 
    113128                                                '</tr>'; 
     
    382397                { 
    383398                        $filter="(&(phpgwAccountType=u)(mail=$email))";          
    384                         $justthese = array("cn","uid","telephoneNumber","jpegPhoto"); 
     399                        $justthese = array("cn","uid","telephoneNumber","jpegPhoto","mobile"); 
    385400                        $sr=ldap_search($this->ds, $this->ldap_context, $filter, $justthese); 
    386401                        $entry = ldap_first_entry($this->ds, $sr);                       
     
    390405                                                  "uid" => @ldap_get_values($this->ds, $entry, "uid"), 
    391406                                                  "type" => "global", 
     407                                                  "mobile" =>  @ldap_get_values($this->ds, $entry, "mobile"), 
    392408                                                  "telefone" =>  @ldap_get_values($this->ds, $entry, "telephonenumber")); 
    393409 
  • trunk/expressoMail1_2/index.php

    r70 r72  
    1515                <script type="text/javascript" src="../phpgwapi/js/dJSWin/dJSWin.js?'.$update_version.'"></script>'; 
    1616                 
     17         
     18        //Enable/Disable VoIP Service 
     19        $voip_enabled = false; 
     20 
    1721        // Get Data from ldap_manager and emailadmin. 
    1822        $ldap_manager = CreateObject('contactcenter.bo_ldap_manager'); 
     
    2529        $_SESSION['phpgw_info']['expressomail']['user']['email'] = $GLOBALS['phpgw']->preferences->values['email']; 
    2630        $_SESSION['phpgw_info']['user']['preferences']['expressoMail'] = array( 
     31                        'voip_enabled'                                          => $voip_enabled, 
     32                        'telephone_number'                                      => $GLOBALS['phpgw_info']['user']['telephonenumber'], 
    2733                        'max_email_per_page'                            => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['max_email_per_page'], 
    2834                'save_deleted_msg'                                      => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_deleted_msg'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_deleted_msg'] : "0", 
  • trunk/expressoMail1_2/js/InfoContact.js

    r63 r72  
    5454} 
    5555 
     56emInfoContact.prototype.connectVoip = function (phoneUser, typePhone){ 
     57        var handler_connectVoip = function(data){ 
     58                if(!data) { 
     59                        alert(get_lang("Error contacting VoIP server.")); 
     60                } 
     61                else{ 
     62                        alert(get_lang("Requesting a VoIP call")+":\n"+data); 
     63                } 
     64        } 
     65        cExecute ("$this.functions.callVoipConnect&to="+phoneUser+"&typePhone="+typePhone, handler_connectVoip); 
     66} 
     67 
    5668emInfoContact.prototype.show = function (data){ 
    5769        var _this = this; 
     
    7284                        cn = cn.toString().substring(0,30) + "..."; 
    7385                 
     86                var phoneUser = data.telefone; 
     87                if(preferences.voip_enabled && phoneUser) { 
     88                        phoneUser = "<a title=\""+get_lang("Call to Comercial Number")+"\" href=\"#\" onclick=\"InfoContact.connectVoip('"+phoneUser+"', 'com')\">"+phoneUser+"</a>"; 
     89                        if(data.mobile){ 
     90                                phoneUser += " / <a title=\""+get_lang("Call to Mobile Number")+"\" href=\"#\" onclick=\"InfoContact.connectVoip('"+data.mobile+"', 'mob')\">"+data.mobile+"</a>"; 
     91                        } 
     92                } 
    7493 
    7594                Element("card_cc_td").innerHTML = "<table cellpadding=0 cellspacing=0 border=0 height='100%' width='100%'><tr><td width='70' height='93' style='padding-top:5px;padding-left:6px' align='center' valign='center'>"+ 
     
    7796                                                                                        "<br><img align='center' src='templates/default/images/"+(data.type)+"_catalog.png'><font size=1 color=BLACK>&nbsp;<b>"+get_lang("Sender's Information")+"</b></font>"+ 
    7897                                                                                        _this.verifyIM(data.uid,data.email)+ 
    79                                                                                         "<br><img align='center' src='templates/default/images/phone.gif'>&nbsp;<font  size=1  color=BLACK>"+(data.telefone ? data.telefone : get_lang("None") )+"</font>"+ 
     98                                                                                        "<br><img align='center' src='templates/default/images/phone.gif'>&nbsp;<font  size=1  color=BLACK>"+(phoneUser ? phoneUser : get_lang("None") )+"</font>"+ 
    8099                                                                                        "</td></tr><tr><td valign='top' align='center' colspan='2'>"+ 
    81100                                                                                        "<font size=1 color=BLACK>"+cn+"</font>"+ 
  • trunk/expressoMail1_2/js/abas.js

    r58 r72  
    115115        parent_bb.insertBefore(td, bb); 
    116116         
    117         if(id_value) 
     117        if(id_value && id_value.match(/_r$/))    
    118118                _dragArea.makeDragged(td, id_value,td.value); 
    119119 
  • trunk/expressoMail1_2/js/draw_api.js

    r69 r72  
    124124                                return; 
    125125                        Element("border_id_0").innerHTML = "&nbsp;" + folder_name + '&nbsp;<font face="Verdana" size="1" color="#505050">[<span id="new_m">&nbsp;</span> / <span id="tot_m">0</span>]</font>'; 
    126                         draw_box(data, get_current_folder()); 
     126                        draw_box(data, current_folder); 
    127127                        draw_paging(data.num_msgs); 
    128128                        Element("tot_m").innerHTML = data.num_msgs; 
     
    130130                        alternate_border(0); 
    131131                } 
    132                 cExecute ("$this.imap_functions.get_range_msgs2&folder="+get_current_folder()+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 
     132                cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 
    133133        } 
    134134        else 
     
    252252 
    253253        var content_id_0 = document.getElementById("content_id_0"); 
    254         content_id_0.innerHTML = ''; 
     254        //content_id_0.innerHTML = ''; 
    255255         
    256256        table_message_header_box = document.getElementById("table_message_header_box"); 
     
    553553                        } 
    554554                }        
    555  
    556555                if (td_element3.innerHTML.indexOf(" ") == '-1' && td_element3.innerHTML.length > 25){ 
    557556                        td_element3.innerHTML = td_element3.innerHTML.substring(0,25) + "..."; 
     
    573572                if(!is_ie){ 
    574573                        td_element4.innerHTML += "</a>"; 
    575                         tr_element.onmouseover = function(){/*Element("a_message_"+this.id).focus();*/}; 
    576                 } 
     574                        tr_element.onmouseover = function(){}; 
     575                } 
     576                 
    577577 
    578578                td_element5 = document.createElement("TD"); 
     
    634634        update_menu(); 
    635635} 
    636  
    637636function draw_header_box(){ 
    638  
    639637        switch(sort_box_type){ 
    640638                case 'SORTFROM': 
     
    652650                default: 
    653651                        type_name = get_lang("Date"); 
    654  
    655                 break; 
    656         } 
    657  
     652                        break; 
     653        } 
     654        Element("message_header_SORTFROM").innerHTML    = get_lang("Who"); 
     655        Element("message_header_SORTSUBJECT").innerHTML = get_lang("Subject"); 
     656        Element("message_header_SORTARRIVAL").innerHTML = get_lang("Date"); 
     657        Element("message_header_SORTSIZE").innerHTML    = get_lang("Size");      
    658658        Element("message_header_"+(sort_box_type.lastIndexOf("SORT") != "-1" ? sort_box_type : "SORTARRIVAL") ).innerHTML = "<B>"+type_name+"</B><img src ='templates/default/images/arrow_"+(sort_box_reverse == 1 ? 'desc' : 'asc')+"endant.gif'>"; 
    659659} 
  • trunk/expressoMail1_2/js/main.js

    r71 r72  
    169169 
    170170function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name){ 
    171         if (folder == 'null') { 
     171        if (folder == 'null') 
    172172                folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : get_current_folder();                     
    173         } 
    174173 
    175174        var handler_move_msgs = function(data){ 
     
    202201                                delete_border(data.border_ID,'false'); 
    203202                } 
    204                 if(folder == get_current_folder()){ 
     203                if(folder == get_current_folder()) 
    205204                        Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) - data.msgs_number.length;                     
    206                 } 
    207205                refresh(); 
    208206        } 
  • trunk/expressoMail1_2/js/search.js

    r69 r72  
    161161        // Form resultado; 
    162162        searchE.prototype.mount_result = function(data){ 
     163 
    163164                //This func returns the most recent date 
    164165                function date_comp(a,b) 
     
    174175                        return data2 - data1; 
    175176                } 
    176                  
    177177                var nw_array = new Array; 
    178178                data = data.substr(2, data.length - 4); 
     
    180180                var cont = parseInt(0); 
    181181                var_tmp.sort(date_comp); 
     182 
    182183                for(var i=0; i < var_tmp.length; i++){ 
    183184                        if(var_tmp[i] != ""){ 
     
    186187                        } 
    187188                } 
     189 
    188190                var table = document.createElement("TABLE"); 
    189191                        table.id    = "table_result"; 
    190192                        table.width = "100%"; 
    191                 if(is_ie){ 
     193 
     194/*              if(is_ie){ 
    192195                        table.cellPadding  = '0'; 
    193196                        table.cellSpacing = '0'; 
     
    197200                        table.setAttribute( "cellpadding", "0"); 
    198201                        table.setAttribute( "border", "1"); 
    199                 } 
     202                }*/ 
    200203                var tbody = document.createElement("TBODY"); 
    201204                if(nw_array.length > 0){ 
     
    205208                for( var i=0; i < nw_array.length; i++){ 
    206209                        var tr = document.createElement("TR"); 
    207                 var color = "#F0F0F0"; 
    208                         tr.style.background  =  color; 
     210                //var color = "#F0F0F0"; 
     211                        //tr.style.background  =  color; 
     212                        tr.className = 'tr_msg_read'; 
    209213 
    210214                        if (nw_array[i].match(/.*--.*--\w*--\d{2}\/\d{2}\/\d{4}--\d+? \w*b--\d*$/g) == null) //subject with "--" 
     
    222226                        else 
    223227                        { 
    224                                 alert(nw_array[i]); 
    225228                        var aux = nw_array[i].split("--"); 
    226229                        } 
     
    229232                                        var mailbox = aux[0]; 
    230233                                        var uid_msg = aux[5]; 
    231                                         var td = document.createElement("TD"); 
    232                                         td.style.border = "1px solid #FFFFFF"; 
    233                                         td.style.height = "20px"; 
     234                                        var td = document.createElement("TD");                                   
     235                                         
    234236                                if( j <= 4){ 
    235237                                        if( j == 0){ 
    236                                                 td.width = "10%";                                        
     238                                                td.style.width = "10%";                                  
    237239                                                var nm_box = aux[0].split(cyrus_delimiter); 
    238240                                                var td1 = nm_box.pop(); 
     241                                                td.setAttribute("NoWrap","true"); 
     242                                                td.style.overflow = "hidden"; 
    239243                                                if(td1 == "INBOX"){ 
    240244                                                        var td1  = "Caixa de Entrada"; 
     
    244248                                                var subject_encode = url_encode(aux[2]); 
    245249                                                td.width = "25%";                                        
    246                                                 var td1  = '<a href=javascript:void(0) onclick=EsearchE.open_msg(\"' + url_encode(mailbox) + '\",\"' + uid_msg + '\",\"' + subject_encode + '\")>' + aux[1].substr(0,25) + '</a>'; 
     250                                                var td1  =  '<div style="width:100%;overflow:hidden">'+aux[1]+"</div>"; 
    247251                                        } 
    248252                                        if( j == 2){ 
    249253                                                var subject_encode = url_encode(aux[2]); 
    250254                                                td.width = "45%";                                        
    251                                                 var td1  = '<a href=javascript:void(0) onclick=EsearchE.open_msg(\"' + url_encode(mailbox) + '\",\"' + uid_msg + '\",\"' + subject_encode + '\")>' + aux[2].substr(0,60) + '...</a>'; 
     255                                                var td1  = '<div style="width:100%;overflow:hidden"><a href=javascript:void(0) onclick=EsearchE.open_msg(\"' + url_encode(mailbox) + '\",\"' + uid_msg + '\",\"' + subject_encode + '\")>' + aux[2] +'</a></div>'; 
    252256 
    253257                                        } 
     
    271275                } 
    272276                table.appendChild(tbody); 
    273                  
    274277                search_tabs += 1; 
    275278                var border_id = create_border(get_lang("Search Results"), "search_" + search_tabs); 
    276279                var content = document.getElementById('content_id_' + "search_" + search_tabs);  
    277280                if(is_ie) 
    278                 Element("border_table").width = "99.5%"; 
     281                        Element("border_table").width = "99.5%"; 
    279282                 
    280283                /* Put header */ 
     
    303306                td_element5 = document.createElement("TD"); 
    304307                td_element5.setAttribute("width", "10%"); 
    305                 td_element5.align = "right"; 
     308                td_element5.align = "center"; 
    306309                td_element5.innerHTML = get_lang("Size"); 
    307310         
  • trunk/instant_messenger/IMManager.php

    r67 r72  
    206206               if ( ($readSocket !== false) && ($connection_close_timeout === false ) && ($connection_close_server === false )) 
    207207               { 
     208                  $_SESSION['phpgw_info']['instant_messenger']['IM_disconnect'] = false; 
    208209                  if ( !empty($readSocket) ) 
    209210                  { 
     
    246247               else 
    247248               { 
     249                $_SESSION['phpgw_info']['instant_messenger']['IM_disconnect'] = true; 
    248250                close($pSession);                        
    249251               } 
  • trunk/instant_messenger/inc/class.Ujabber.inc.php

    r68 r72  
    115115   } 
    116116    
     117   function reconnect() 
     118   { 
     119      require_once("IMConfigure.php"); 
     120 
     121      $_transport = TRANSPORT_NON_SECURITY; 
     122      $_port = PORT_NON_SECURITY; 
     123 
     124                $SERVER = "127.0.0.1"; 
     125 
     126                $fp  = ""; 
     127                @$fp = stream_socket_client($_transport . "://" . $SERVER . ":" . $_port, $errno, $errstr, 10); 
     128 
     129                if ( $fp ) 
     130                { 
     131                        fwrite($fp, "GET /" . CONNECT . ";" . session_id() . " HTTP/1.1\r\nHost: " . $SERVER . ":" . $_port . "\r\nAccept: */*\r\n\r\n"); 
     132                        return 'true'; 
     133                } 
     134                else 
     135                        return 'false'; 
     136   }  
     137    
    117138   /* 
    118139    * Contacts 
  • trunk/instant_messenger/js/im_functions.js

    r70 r72  
    11        function IM() 
    22        { 
    3            this._listen     = true; 
    43           this.vcards      = false; 
    54           this.labelVcard  = []; 
     
    3130        IM.prototype.listen = function() 
    3231        { 
    33            if ( !this._listen ) 
    34               return false; 
    35  
    3632           var _this = this; 
    37            var handler = function(data) 
     33           var handler = function(XMLdata) 
    3834           { 
    3935              try 
     
    4541                                } 
    4642 
    47                     _this.getContacts(data); 
    48                     _this.getPresence(data); 
    49                                 _this.getComposing(data); 
    50                     _this.getMessages(data); 
    51                                 _this.getVcard(data); 
     43                    _this.getContacts(XMLdata); 
     44                    _this.getPresence(XMLdata); 
     45                                _this.getComposing(XMLdata); 
     46                    _this.getMessages(XMLdata); 
     47                                _this.getVcard(XMLdata); 
    5248 
    5349                if(!_this.vcards) 
     
    5652                        _this.vcards = true; 
    5753                    } 
     54 
    5855              }catch(e){} 
    5956 
    60               _this._listen = true; 
    6157              setTimeout('IM.listen()', 3000); 
    6258           }; 
     
    801797   }; 
    802798 
    803    IM.prototype.setStatus = function(pStatus) 
    804    { 
    805       try 
    806       { 
    807               var handler = function() 
    808               { 
    809               }; 
    810               im_menu_action.menu('fast_menu_im', null); 
    811  
    812               if ( pStatus == 'custom' ) 
    813               { 
    814                 pStatus = prompt('Personalize seu Status : '); 
    815                 pStatus = 'show=' + statusFlag + '&status=' + pStatus; 
    816               } 
    817               else 
    818               { 
    819                 if ( pStatus == 'unavailable' ) 
    820                 { 
    821                                 this.ImgStatus(pStatus); 
    822                         pStatus = 'type=' + pStatus; 
    823                 } 
    824                 else 
    825                 { 
    826                  try 
    827                  { 
    828                                 this.ImgStatus(pStatus); 
    829                                 pStatus = 'show=' + pStatus; 
    830                  }catch(e){} 
    831                 } 
    832               } 
    833                   XMLTools.request('$this.Ujabber.setPresence', 'POST', handler, pStatus); 
    834           } 
    835           catch(e){} 
    836    }; 
     799        IM.prototype.setStatus = function(pStatus) 
     800        { 
     801                try 
     802                { 
     803                        var handler = function() 
     804                        { 
     805                        }; 
     806 
     807                        if ( func.byId('fast_menu_im').style.display == 'block' ) 
     808                                im_menu_action.menu('fast_menu_im', null); 
     809                         
     810                        if ( pStatus == 'custom' ) 
     811                        { 
     812                                pStatus = prompt('Personalize seu Status : '); 
     813                                pStatus = 'show=' + statusFlag + '&status=' + pStatus; 
     814                        } 
     815                        else 
     816                        { 
     817                                if ( pStatus == 'unavailable' ) 
     818                                { 
     819                                        this.ImgStatus(pStatus); 
     820                                        pStatus = 'type=' + pStatus; 
     821                                } 
     822                                else 
     823                                { 
     824                                        try 
     825                                        { 
     826                                                this.ImgStatus(pStatus); 
     827                                                pStatus = 'show=' + pStatus; 
     828                                        } 
     829                                        catch(e) 
     830                                        {} 
     831                                } 
     832                        } 
     833                        XMLTools.request('$this.Ujabber.setPresence', 'POST', handler, pStatus); 
     834                } 
     835                catch(e) 
     836                {} 
     837        }; 
    837838 
    838839   IM.prototype.ImgStatus = function(pStatus) 
     
    845846   IM.prototype.setAway = function() 
    846847   { 
    847       if ( statusFlag != 'available' ) 
     848      if ( statusFlag != 'available' || this._listen > 0 ) 
    848849         return false; 
    849850 
     
    860861   }; 
    861862 
    862    IM.prototype.infoContact = function(pUid) 
    863    { 
    864       var info = false; 
    865       var div_allg = document.getElementById('all_groups'); 
    866       var elements = div_allg.firstChild; 
    867       while ( elements ) 
    868       { 
    869          var childs = elements.firstChild; 
    870          while( childs ) 
    871          { 
    872             if(childs.tagName == "DIV" && childs.id.indexOf(pUid) === 0 ) 
    873             { 
    874                info = {'jid':childs.id, 'src':childs.firstChild.src}; 
    875                break; 
    876             } 
    877             childs = childs.nextSibling; 
    878          } 
    879          if ( !info ) 
    880             elements = elements.nextSibling; 
    881          else 
    882             break; 
    883       } 
    884       return info; 
    885    }; 
     863        IM.prototype.infoContact = function(pUid) 
     864        { 
     865                try 
     866                { 
     867                        var info = false; 
     868                        var div_allg = document.getElementById('all_groups'); 
     869                        var elements = div_allg.firstChild; 
     870                        while ( elements ) 
     871                        { 
     872                                var childs = elements.firstChild; 
     873                                while( childs ) 
     874                                { 
     875                                        if(childs.tagName == "DIV" && childs.id.indexOf(pUid) === 0 ) 
     876                                        { 
     877                                                info = {'jid':childs.id, 'src':childs.firstChild.src}; 
     878                                                break; 
     879                                        } 
     880                                        childs = childs.nextSibling; 
     881                                } 
     882                                if ( !info ) 
     883                                        elements = elements.nextSibling; 
     884                                else 
     885                                        break; 
     886                        } 
     887                        return info; 
     888                } 
     889                catch(e) 
     890                { 
     891                        return false; 
     892                } 
     893        }; 
    886894 
    887895var IM = new IM(); 
  • trunk/login.php

    r35 r72  
    102102                        case 5: 
    103103                                return '<font color="FF0000">' . lang('Bad login or password') . '</font>'; 
     104 
     105                        case 6: 
     106                                return '<font color="FF0000">' . lang('Your password has expired, and you do not have access to change it') . '</font>'; 
    104107                                 
    105108                        case 98: 
     
    298301        if($GLOBALS['phpgw_info']['server']['use_prefix_organization']) 
    299302        { 
    300 //              Início - Temporário: Para período de adaptação dos usuários, usando sem organização. 
    301 //              $organization_select =  "<tr><td width='96' class='loginLabel' align='right'>".lang("organization").":&nbsp;</td>". 
    302 //              $organization_select .= "<td align='left' style='font-weight:bold' class='loginLabel' colspan=2><a style='font-weight:normal;font-decoration:none;text-decoration:none' href='javascript:void(0)' onclick='alert(\"Não é preciso mais selecionar a Organização.\\r\\n Digite apenas o usuário e a senha!\")' onmouseover='this.style.cursor=\"help\"'> automático</a></td></tr>"; 
    303 //              Fim - Temporário: Para período de adaptação dos usuários, usando sem organização.                
    304303                $organization_select = "<tr><td width=\"66\" class=\"loginLabel\">"; 
    305304                $organization_select .= lang("organization").":</td>"; 
  • trunk/phpgwapi/inc/class.auth_ldap.inc.php

    r44 r72  
    138138                        $allValues = ldap_get_entries($ds, $sri); 
    139139                        $entry['userpassword'] = $this->encrypt_password($new_passwd); 
     140                        $entry['phpgwlastpasswdchange'] = time(); 
    140141                         
    141142                        /* SAMBA Begin's*/ 
  • trunk/phpgwapi/templates/celepar/navbar.inc.php

    r25 r72  
    1313        function parse_navbar($force = False) 
    1414        { 
    15                  
    1615                $GLOBALS['celepar_tpl'] = createobject('phpgwapi.Template',PHPGW_TEMPLATE_DIR); 
    1716 
     
    221220                                . lang('Current users') . ': ' . $GLOBALS['phpgw']->session->total() . '</a>'; 
    222221                        } 
    223                         $now = time(); 
     222                        $now = time();                   
    224223                        $var['user_info'] = '<b>'.$GLOBALS['phpgw']->common->display_fullname() .'</b>'. ' - ' 
    225224                        . lang($GLOBALS['phpgw']->common->show_date($now,'l')) . ' ' 
     
    229228                                $var['frontend_name'] = " - ".$GLOBALS['phpgw_info']['server']['use_frontend_name']; 
    230229 
    231                         if($GLOBALS['phpgw_info']['user']['lastpasswd_change'] == 0) 
    232                         { 
     230                        if($GLOBALS['phpgw_info']['user']['lastpasswd_change'] == '0') 
     231                        { 
     232                                $changepasswd_url = $_SERVER['HTTP_HOST'] . $GLOBALS['phpgw_info']['server']['webserver_url'] . '/preferences/changepassword.php?cd=1'; 
     233                                 
     234                                if ($GLOBALS['phpgw_info']['server']['use_https'] > 0) 
     235                                        $changepasswd_url = 'https://' . $changepasswd_url; 
     236                                else 
     237                                        $changepasswd_url = 'http://' . $changepasswd_url; 
     238                                 
     239                                echo '<script>' . 
     240                                                'if(location.href.indexOf("changepassword.php") == -1){' . 
     241                                                        'location.href = "' . $changepasswd_url . '"' . 
     242                                                '}' . 
     243                                         '</script>'; 
     244                                 
     245                                /* 
    233246                                $api_messages = lang('You are required to change your password during your first login') 
    234247                                . '<br> Click this image on the navbar: <img src="' 
    235248                                . $GLOBALS['phpgw']->common->image('preferences','navbar.gif').'">'; 
    236                         } 
     249                                */ 
     250                        } 
     251                        /* 
    237252                        elseif($GLOBALS['phpgw_info']['user']['lastpasswd_change'] < time() - (86400*30)) 
    238253                        { 
    239254                                $api_messages = lang('it has been more then %1 days since you changed your password',30); 
    240255                        } 
    241  
     256                        */ 
     257                        /* 
    242258                        // This is gonna change 
    243259                        if(isset($cd)) 
    244260                        { 
    245261                                $var['messages'] = $api_messages . '<br>' . checkcode($cd); 
    246                         } 
     262                        }*/ 
    247263 
    248264                        $var['logo_file'] = $GLOBALS['phpgw']->common->image('phpgwapi',$GLOBALS['phpgw_info']['server']['login_logo_file']?$GLOBALS['phpgw_info']['server']['login_logo_file']:'logo'); 
  • trunk/preferences/changepassword.php

    r35 r72  
    2626        if(!$GLOBALS['phpgw']->acl->check('changepassword', 1) || $_POST['cancel']) 
    2727        { 
     28                if(($GLOBALS['phpgw_info']['user']['lastpasswd_change'] == '0') && (!$_POST['cancel'])) 
     29                        $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/login.php','cd=6')); 
     30                 
    2831                if ($GLOBALS['phpgw_info']['server']['use_https'] == 1) 
    2932                        Header('Location: http://' . $_SERVER['HTTP_HOST'] . $GLOBALS['phpgw_info']['server']['webserver_url'] . '/preferences/index.php'); 
     
    4346        $GLOBALS['phpgw']->template->set_var('lang_cancel',lang('Cancel')); 
    4447        $GLOBALS['phpgw']->template->set_var('form_action',$GLOBALS['phpgw']->link('/preferences/changepassword.php')); 
     48 
     49        if ($_GET['cd'] == 1) 
     50        { 
     51                $lang1 = lang('Your password has expired'); 
     52                $lang2 = lang('You must register a new password'); 
     53                $GLOBALS['phpgw']->template->set_var('messages',"<font color=red><h1>$lang1.<br>$lang2.</h1></font>"); 
     54        } 
    4555 
    4656        if ($GLOBALS['phpgw_info']['server']['auth_type'] != 'ldap') 
     
    6676                        $errors[] = lang('The two passwords are not the same'); 
    6777                } 
     78                else if ($a_passwd == $n_passwd) 
     79                { 
     80                        $errors[] = lang('Your old password and your new password are the same. Choose a different new password'); 
     81                } 
    6882                else if (! $n_passwd) 
    6983                { 
     
    7589                }                
    7690                # password that start with a-Z or 0-9 and contain _.-!@#$%&*+=| will be accepted. 
    77                 else if (! ereg ("(^[a-zA-Z0-9_.\-\!@#$%&*+=|]*)$", $n_passwd ) ) 
     91                //else if (! ereg ("(^[a-zA-Z0-9_.\-\!@#$%&*+=|]*)$", $n_passwd ) ) 
     92                //else if (! ereg ("(^[a-zA-Z0-9_.\-\!@#$%&*+=|\(\)\^\~\}\{\[\]\/\\\"\'\:\;\?]*)$", $n_passwd ) ) 
     93                else if (! ereg ("([]^[a-zA-Z0-9\_\.\-\!\@\#\$\%\&\*\+\=\|\(\)\^\~\}\{\/\\\"\'\:\;\?]*)$", $n_passwd ) ) 
    7894                {                        
    7995                        $errors[] = lang('Your password contains characters not allowed'); 
    8096                }                
    8197                # password must contain 2 special letters, numbers or special characters 
    82                 else if ($GLOBALS['phpgw_info']['server']['num_special_letters_userpass'] && ! ereg ("([0-9_.\-!@#$%&*+=|]){".$GLOBALS['phpgw_info']['server']['num_special_letters_userpass'].",}", $n_passwd ) ) 
     98                //else if ($GLOBALS['phpgw_info']['server']['num_special_letters_userpass'] && ! ereg ("([0-9_.\-!@#$%&*+=|]){".$GLOBALS['phpgw_info']['server']['num_special_letters_userpass'].",}", $n_passwd ) ) 
     99                //else if ($GLOBALS['phpgw_info']['server']['num_special_letters_userpass'] && ! ereg ("([0-9_.\-!@#$%&*+=|\(\)\^\~\}\{\[\]\/\\\"\'\:\;\?]){".$GLOBALS['phpgw_info']['server']['num_special_letters_userpass']."}", $n_passwd ) ) 
     100                else if ($GLOBALS['phpgw_info']['server']['num_special_letters_userpass'] && ! ereg ("([][0-9\_\.\-\!\@\#\$\%\&\*\+\=\|\(\)\^\~\}\{\/\\\"\'\:\;\?]){".$GLOBALS['phpgw_info']['server']['num_special_letters_userpass']."}", $n_passwd ) ) 
    83101                { 
    84102                        $errors[] = lang('Your password must contain at least %1 numbers or characters special', $GLOBALS['phpgw_info']['server']['num_special_letters_userpass']); 
Note: See TracChangeset for help on using the changeset viewer.