Ignore:
Timestamp:
07/15/11 18:03:42 (13 years ago)
Author:
fernando-alberto
Message:

Ticket #1269 - Mergiando revisoes do branch22 de rev4644 ate rev4755

Location:
sandbox/expressoMail1_2/MailArchiver/2.2
Files:
27 edited
2 copied

Legend:

Unmodified
Added
Removed
  • sandbox/expressoMail1_2/MailArchiver/2.2/calendar/inc/class.uicalendar.inc.php

    r4427 r4778  
    20692069                                } 
    20702070                                 
    2071                                 $event['participants'] = Array($_SESSION['phpgw_info']['expressomail']['user']['account_id'] => $event['participants'][$_SESSION['phpgw_info']['expressomail']['user']['account_id']]); 
     2071                                $event['participants'] = Array($GLOBALS['phpgw_info']['user']['account_id'] => $event['participants'][$GLOBALS['phpgw_info']['user']['account_id']]); 
    20722072 
    20732073                                $overlapping_events = $this->bo->overlap( 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoAdmin1_2/inc/class.uimaillists.inc.php

    r4216 r4778  
    271271                                        else 
    272272                                        { 
    273                                                 $mail_not_found .= "<option value=" . $mail . ">" . $cn .  " [" . $array_users_uid[$mail] . "]</option>"; 
     273                                                $mail_not_found .= "<option value=" . $mail . ">"  . $array_users_uid[$mail] . "</option>"; 
    274274                                        } 
    275275                                } 
     
    277277                                if ($mail_not_found != '') 
    278278                                { 
    279                                         $opt_tmp_mail_not_found = '<option  value="-1" disabled>--------------------&nbsp;&nbsp;&nbsp;&nbsp;'.lang('emails did not find').'&nbsp;&nbsp;&nbsp;&nbsp;------------------ </option>'."\n"; 
     279                                        $opt_tmp_mail_not_found = '<option  value="-1" disabled>--------------------&nbsp;&nbsp;&nbsp;&nbsp;'.lang('external users').'&nbsp;&nbsp;&nbsp;&nbsp;------------------ </option>'."\n"; 
    280280                                        $ea_select_usersInMaillist .= $opt_tmp_mail_not_found . $mail_not_found; 
    281281                                } 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoAdmin1_2/js/jscode/maillists.js

    r3351 r4778  
    460460        return ufn.substring(0,(ufn.length-1)); 
    461461} 
     462function LTrim(value) 
     463{ 
     464        var w_space = String.fromCharCode(32); 
     465        var strTemp = ""; 
     466        var iTemp = 0; 
     467 
     468        var v_length = value ? value.length : 0; 
     469        if(v_length < 1) 
     470                return ""; 
     471 
     472        while(iTemp < v_length){ 
     473                if(value && value.charAt(iTemp) != w_space){ 
     474                        strTemp = value.substring(iTemp,v_length); 
     475                        break; 
     476                } 
     477                iTemp++; 
     478        } 
     479        return strTemp; 
     480} 
     481 
     482function validateEmail() 
     483{ 
     484 
     485        externalEmail = document.getElementById('ea_input_externalUser'); 
     486 
     487        if( externalEmail.value ) 
     488        { 
     489                //var element = arguments[0]; 
     490                var validate = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 
     491 
     492                if(this.LTrim(externalEmail.value) != "" && externalEmail.value != "") 
     493                { 
     494                        if(!validate.test(externalEmail.value)) 
     495                        { 
     496                                alert(get_lang('Email address is not valid') + '.'); 
     497                                externalEmail.focus(); 
     498                                return false; 
     499                        }else { 
     500                                this.add_externalUser2maillist(externalEmail.value); 
     501                        } 
     502                } 
     503 
     504        } 
     505} 
     506 
     507function add_externalUser2maillist(mailAddress) 
     508{ 
     509        input_externalUsers = mailAddress.toLowerCase(); //document.getElementById('ea_input_externalUser').value; 
     510        select_usersInMaillist = document.getElementById('ea_select_usersInMaillist'); 
     511 
     512        var count_externalUsers = input_externalUsers.length; 
     513        var count_usersInMaillist = select_usersInMaillist.options.length; 
     514        var new_options = ''; 
     515 
     516        var teste = ''; //Variavel que ira receber mensagem de alerta ao usuario; 
     517        var alerta = new Boolean(0); //Variavel que sera usada para verificar se o alerta ao usuario sera exibido ou nao; 
     518 
     519        //Laco abaixo compara se o valor escolhido em select_available_users ja existe em select_usersInMaillist 
     520        //se existir, adiciona o valor em teste e muda a variavel alerta para true; teste sera exibido em tela 
     521        //apenas de alerta  true; ver if no fim da funcao; 
     522        for(j = 0; j < count_usersInMaillist; j++) 
     523        { 
     524                var tmp = select_usersInMaillist.options[j].text 
     525 
     526                if(tmp.match(input_externalUsers)) 
     527                { 
     528                        teste = get_lang("User already belongs to the list") + "\n" + input_externalUsers + "\n"; 
     529                        alerta = new Boolean(1); 
     530                } 
     531        } 
     532 
     533        if(alerta != true) 
     534        { 
     535                if(document.all) 
     536                { 
     537                        if ( (select_usersInMaillist.innerHTML.indexOf('value='+input_externalUsers)) == '-1' ) 
     538                        { 
     539                                new_options +=  "<option value=" 
     540                                                        + input_externalUsers 
     541                                                        + ">" 
     542                                                        + input_extenalUsers 
     543                                                        + "</options>"; 
     544                        } 
     545                } 
     546                else 
     547                { 
     548                        if ( (select_usersInMaillist.innerHTML.indexOf('value="'+input_externalUsers+'"')) == '-1' ) 
     549                        { 
     550                                new_options +=  "<option value=" 
     551                                                        + input_externalUsers 
     552                                                        + ">" 
     553                                                        + input_externalUsers 
     554                                                        + "</options>"; 
     555                        } 
     556                } 
     557        } 
     558 
     559        if(alerta == true) 
     560        { 
     561                alert(teste); 
     562        } 
     563 
     564 
     565        if (new_options != '') 
     566        { 
     567                select_usersInMaillist.innerHTML = new_options + select_usersInMaillist.innerHTML; 
     568                select_usersInMaillist.outerHTML = select_usersInMaillist.outerHTML; 
     569        } 
     570 
     571        document.getElementById('ea_input_externalUser').value = ''; 
     572} 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoAdmin1_2/templates/default/maillists_form.tpl

    r3351 r4778  
    7575                                                        <b>{lang_users}:</b><br> 
    7676                                                        <select id="ea_select_available_users" style="width:400px; height:200px" multiple size="13"></select> 
     77                                                        <br/><br/>  
     78                                                        <b>{lang_external_user}:</b>  
     79                                                        <br/>  
     80                                                        <input id="ea_input_externalUser" size="35" type="text">  
     81                                                        <input id="input_user" value="Adicionar" onclick="javascript:validateEmail();" type="button">  
     82                                                        <br/>  
    7783                                                </td> 
    7884                                        </tr> 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/inc/class.ldap_functions.inc.php

    r4644 r4778  
    125125                        if (($field != 'null') && ($ID != 'null')) 
    126126                        { 
    127                                 $filter="(& (&(|(phpgwAccountType=u)(phpgwAccountType=g)(phpgwAccountType=l))(mail=*)) (|(cn=*$search_for*)(mail=*$search_for*)) (!(phpgwaccountvisible=-1)) )"; 
     127                                $filter="(& (&(|(phpgwAccountType=u)(phpgwAccountType=g)(phpgwAccountType=l)(phpgwAccountType=i)(phpgwAccountType=s))(mail=*)) (|(cn=*$search_for*)(mail=*$search_for*)) (!(phpgwaccountvisible=-1)) )"; 
    128128                                if($extendedinfo) 
    129129                                $justthese = array("cn", "mail", "telephoneNumber", "mobile", "phpgwAccountVisible", "uid", "employeeNumber", "ou"); 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/inc/class.rss.inc.php

    r3178 r4778  
    3333                exit; 
    3434        } 
    35         function getChannels(){ 
     35 
     36        private function createTableRSS() 
     37        { 
     38                $query = 'CREATE TABLE phpgw_userrss( uid INT NOT NULL,rss_url VARCHAR(1000),name varchar(50), PRIMARY KEY (uid,rss_url) );'; 
     39                 
     40                $GLOBALS['phpgw']->db->query($query); 
     41                 
     42                if ( $GLOBALS['phpgw']->db->Error ) 
     43                        return false; 
     44                else 
     45                        return true; 
     46        } 
     47         
     48        function getChannels() 
     49        { 
    3650                include('../header.inc.php'); 
    37                 $GLOBALS['phpgw']->db->query('SELECT rss_url,name FROM phpgw_userrss WHERE uid = '.$_SESSION['phpgw_session']['account_id']); 
    38                 while($GLOBALS['phpgw']->db->next_record()) 
    39                         $return[]=$GLOBALS['phpgw']->db->row(); 
    40                 return $return; 
     51                 
     52                $flag           = false; 
     53                $tableQuery = "select relname from pg_stat_user_tables order by relname;"; 
     54                 
     55                if( $GLOBALS['phpgw']->db->query( $tableQuery ) ) 
     56                { 
     57                        while( $GLOBALS['phpgw']->db->next_record() ) 
     58                        { 
     59                                $tables[] = $GLOBALS['phpgw']->db->row(); 
     60                        } 
     61                         
     62                        foreach( $tables as $tableName ) 
     63                        { 
     64                                if( strtolower( $tableName['relname'] ) === 'phpgw_userrss' ) 
     65                                { 
     66                                        $flag = true; 
     67                                } 
     68                        } 
     69                } 
     70                 
     71                if( !$flag ) 
     72                { 
     73                        $flag = $this->createTableRSS(); 
     74                } 
     75                 
     76                $query = 'SELECT rss_url,name FROM phpgw_userrss WHERE uid = '.$_SESSION['phpgw_session']['account_id'];                 
     77                 
     78                if( $GLOBALS['phpgw']->db->query($query) )  
     79                { 
     80                        while( $GLOBALS['phpgw']->db->next_record() ) 
     81                        { 
     82                                $return[] = $GLOBALS['phpgw']->db->row(); 
     83                        } 
     84                } 
     85 
     86                if( count($return) > 0 ) 
     87                        return $return; 
     88                else 
     89                        return ""; 
    4190        } 
    42         function addChannel($param){ 
     91         
     92        function addChannel($param) 
     93        { 
    4394                include('../header.inc.php'); 
    4495                $name = $GLOBALS['phpgw']->db->db_addslashes(htmlentities($param['name'])); 
     
    52103        } 
    53104 
    54         function removeChannel($param){ 
     105        function removeChannel($param) 
     106        { 
    55107                include('../header.inc.php'); 
    56108                $url = $GLOBALS['phpgw']->db->db_addslashes($param['url']); 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/inc/gotodownload.php

    r3369 r4778  
    5050        $newfilename = $newfilename ? $newfilename      : $filename; 
    5151        $strFileType = strrev(substr(strrev(strtolower($filename)),0,4)); 
     52        if(strpos($strFileType ,"." )===false) 
     53                $strFileType = strrev(substr(strrev(strtolower($newfilename)),0,4)); 
    5254 
    5355        downloadFile($strFileType, $filename, $newfilename, $fileContent, $encoding); 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/index.php

    r4659 r4778  
    2222        echo "<script src='../phpgwapi/js/jscalendar/calendar-setup.js?".$update_version."' type='text/javascript'></script>"; 
    2323        echo "<script src='../phpgwapi/js/jscalendar/lang/calendar-br.js?".$update_version."' type='text/javascript'></script>"; 
    24         echo '<script type="text/javascript" src="../phpgwapi/js/wz_dragdrop/wz_dragdrop.js?'.$update_version.'"></script> 
    25                 <script type="text/javascript" src="../phpgwapi/js/dJSWin/dJSWin.js?'.$update_version.'"></script>'; 
     24        echo "<script src='../phpgwapi/js/x_tools/xtools.js?".$update_version."' type='text/javascript'></script>"; 
     25        echo '<script type="text/javascript" src="../phpgwapi/js/wz_dragdrop/wz_dragdrop.js?'.$update_version.'"></script>'; 
     26        echo '<script type="text/javascript" src="../phpgwapi/js/dJSWin/dJSWin.js?'.$update_version.'"></script>'; 
    2627 
    2728         
     
    156157    // End Search Users characteres shared folders. 
    157158     
    158  
    159     // Set Imap Folder names options 
     159    // Begin Enabled Read RSS     
     160        if( isset( $current_config['expressoMail_enabled_read_rss'] ) )         
     161        { 
     162                echo '<script>var enabledReadRSS = "'.$current_config['expressoMail_enabled_read_rss'].'"</script>';  
     163        } 
     164        else 
     165        { 
     166                echo '<script>var enabledReadRSS = "false"; </script>'; 
     167        } 
     168 
     169        // Set Imap Folder names options 
    160170 
    161171    $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder']   = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder']     ? $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder']             : lang("Trash"); 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/common_functions.js

    r4661 r4778  
    653653} 
    654654 
    655 function editrss(){ 
    656         connector.loadScript("news_edit"); 
    657         if (typeof(news_edit) == 'undefined') 
    658         { 
    659                 setTimeout('editrss()',500); 
    660                 return false; 
    661         } 
    662         news_edit.makeWindow(); 
    663 } 
    664  
    665  
     655function editrss() 
     656{ 
     657 
     658    connector.loadScript("news_edit"); 
     659 
     660    if (typeof(news_edit) == 'undefined') 
     661    { 
     662            setTimeout('editrss()',500); 
     663            return false; 
     664    } 
     665    news_edit.makeWindow(); 
     666         
     667} 
    666668 
    667669 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/doiMenuData.js

    r4663 r4778  
    88        var _option1 = preferences.hide_folders == "1" ? false : true; 
    99                                                                 
    10         if (!expresso_offline) { 
    11                 var itens = new Array("preferences_mail()|" + get_lang("Preferences") + "|preferences.png", 
    12                                 "search_emails(\"\")|" + get_lang("Search") + "|search.png", 
    13                                 "filterbox()|" + get_lang("Edit filters") + "|filters.png", 
    14                                 "folderbox()|" + get_lang("Edit folders") + "|editfolders.png", 
    15                                 "sharebox()|" + get_lang("Share mailbox") + "|usersfolders.png", 
    16 //                              "editrss()|" + get_lang("Edit my news") + "|rss.png", 
    17                                 "empty_trash_imap()|" + get_lang("Empty trash") + "|trash.png"); 
    18                 if(window.google && google.gears && preferences.use_local_messages==1) { 
     10        if (!expresso_offline) 
     11        { 
     12                if( eval(enabledReadRSS ) == true )  
     13                { 
     14                        var itens = new Array(  "preferences_mail()|" + get_lang("Preferences") + "|preferences.png", 
     15                                                                        "search_emails(\"\")|" + get_lang("Search") + "|search.png", 
     16                                                                        "filterbox()|" + get_lang("Edit filters") + "|filters.png", 
     17                                                                        "folderbox()|" + get_lang("Edit folders") + "|editfolders.png", 
     18                                                                        "sharebox()|" + get_lang("Share mailbox") + "|usersfolders.png", 
     19                                                                        "editrss()|" + get_lang("Edit my news") + "|rss.png", 
     20                                                                        "empty_trash_imap()|" + get_lang("Empty trash") + "|trash.png"); 
     21                } 
     22                else 
     23                { 
     24                        var itens = new Array(  "preferences_mail()|" + get_lang("Preferences") + "|preferences.png", 
     25                                        "search_emails(\"\")|" + get_lang("Search") + "|search.png", 
     26                                        "filterbox()|" + get_lang("Edit filters") + "|filters.png", 
     27                                        "folderbox()|" + get_lang("Edit folders") + "|editfolders.png", 
     28                                        "sharebox()|" + get_lang("Share mailbox") + "|usersfolders.png", 
     29                                        "empty_trash_imap()|" + get_lang("Empty trash") + "|trash.png"); 
     30                         
     31                } 
     32                 
     33                if(window.google && google.gears && preferences.use_local_messages==1) 
     34                { 
    1935                        if(expresso_local_messages.is_offline_installed()) { 
    2036                                itens.push("force_check_queue()|" + get_lang("Send from queue") + "|queue.jpg"); 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/draw_api.js

    r4716 r4778  
    168168                        tree_folders = new dFTree({name: 'tree_folders'}); 
    169169 
    170                         var n_root = new dNode({id:'root', caption: get_lang("My Folders")}); 
    171                         tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. 
    172  
    173                         var unseen_in_mailbox = 0; 
    174                         var unseen_in_shared_folders = 0; 
    175                         for (var i=0; i<folders.length; i++){ 
    176                                 if (folders[i].folder_unseen > 0) 
    177                                 { 
    178                                         unseen_in_mailbox = parseInt( unseen_in_mailbox + folders[ i ].folder_unseen ); 
    179                                         if ( folders[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
    180                                                 unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); 
    181  
    182                                         var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+folders[i].folder_id+'_unseen" style=color:red>'+folders[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 
    183  
    184                                         if( folders[i].folder_name.toLowerCase() == 'inbox' ) 
    185                                                 Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>'; 
    186                                 } 
    187                                 else 
    188                                         var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name), onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 
    189  
    190                                 if (folders[i].folder_parent == '') 
    191                                         folders[i].folder_parent = 'root'; 
    192                                 else if (folders[i].folder_parent == 'user'){ 
    193  
    194                                         if (!tree_folders.getNodeById('user')){ 
    195                                                                                                 tmpFolderId = folders[i].folder_id.split(cyrus_delimiter).pop(); 
    196                                                                                                 if (tmpFolderId != folders[i].folder_name) 
    197                                                                                                 { 
    198                                                                                                         translatedFolders.add(tmpFolderId, folders[i].folder_name); 
    199                                                                                                 } 
    200                                                 var n_root_shared_folders = new dNode({id:'user', caption:get_lang("Shared folders"), plusSign:true}); 
    201                                                 tree_folders.add(n_root_shared_folders,'root'); 
    202                                         } 
    203                                 } 
    204                                 tree_folders.add(nn,folders[i].folder_parent); 
    205                         } 
     170                    var n_root = new dNode({id:'root', caption: get_lang("My Folders")}); 
     171                    tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. 
     172 
     173                    var unseen_in_mailbox = 0; 
     174                    var unseen_in_shared_folders = 0; 
     175                    for (var i=0; i<folders.length; i++) 
     176                    { 
     177                        if (folders[i].folder_unseen > 0) 
     178                        { 
     179                                unseen_in_mailbox = parseInt( unseen_in_mailbox + folders[ i ].folder_unseen ); 
     180                                if ( folders[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
     181                                        unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); 
     182 
     183                                var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+folders[i].folder_id+'_unseen" style=color:red>'+folders[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 
     184 
     185                                if( folders[i].folder_name.toLowerCase() == 'inbox' ) 
     186                                        Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>'; 
     187                        } 
     188                        else 
     189                            var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name), onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 
     190 
     191                        if (folders[i].folder_parent == '') 
     192                                folders[i].folder_parent = 'root'; 
     193                        else if (folders[i].folder_parent == 'user') 
     194                        { 
     195 
     196                            if (!tree_folders.getNodeById('user')) 
     197                            { 
     198                                tmpFolderId = folders[i].folder_id.split(cyrus_delimiter).pop(); 
     199                                if (tmpFolderId != folders[i].folder_name) 
     200                                { 
     201                                        translatedFolders.add(tmpFolderId, folders[i].folder_name); 
     202                                } 
     203                                var n_root_shared_folders = new dNode({id:'user', caption:get_lang("Shared folders"), plusSign:true}); 
     204                                tree_folders.add(n_root_shared_folders,'root'); 
     205                            } 
     206                        } 
     207                        tree_folders.add(nn,folders[i].folder_parent); 
     208                    } 
    206209                } 
    207210                //MAILARCHIVER 
     
    230233                }                 
    231234 
    232  
    233  
    234                 var handlerChannel = function(data){ 
    235                         if (data == null || typeof(data) == 'string') 
    236                                 return; 
    237                         /* 
    238                         *  RSS NEWS 
    239                         */ 
    240                         var root_rss = new dNode({ 
    241                                 id: "news_root", 
    242                                 caption: get_lang('News') 
    243                         }); 
    244                         tree_folders.add(root_rss, "root"); 
    245                         for(i=0; i < data.length; i++) 
    246                         { 
    247                                 var nodeNews = new dNode({ 
    248                                         id: "NEWS/"+data[i].name, 
    249                                         caption: data[i].name, 
    250                                         onClick: "open_rss('"+data[i].rss_url+"')", 
    251                                         plusSign: 0 
    252                                 }); 
    253                                 tree_folders.add(nodeNews,"news_root"); 
    254                         } 
    255                         var noden=document.getElementById('lnews_roottree_folders'); 
    256                         noden.style.backgroundImage="url(templates/"+template+"/images/menu/rss.png)"; 
    257                 } 
    258 //              cExecute('$this.rss.getChannels',handlerChannel); 
    259  
    260               
     235                var handlerChannel = function(data) 
     236                { 
     237 
     238                        if ( data == null || typeof(data) == 'string') 
     239                    {     
     240                                return false; 
     241                    } 
     242 
     243                    var nodeParent  = document.getElementById('content_folders'); 
     244                    var treeRss     = new dFTree({name: 'treeRss'}); 
     245                    var root_rss    = new dNode({id:'news_root', caption: get_lang("News")}); 
     246                     
     247                    treeRss.add(root_rss,'anything'); 
     248 
     249                    for( i=0; i < data.length; i++ ) 
     250                    { 
     251                        var nodeNews = new dNode( 
     252                        { 
     253                            id: "NEWS/"+data[i].name, 
     254                            caption: data[i].name, 
     255                            onClick: "open_rss('"+data[i].rss_url+"')", 
     256                            plusSign: 0 
     257                        }); 
     258                        treeRss.add(nodeNews,"news_root"); 
     259                    } 
     260                     
     261                    treeRss.draw( nodeParent ); 
     262                     
     263                    with ( document.getElementById('lnews_roottreeRss') ) 
     264                    { 
     265                        style.backgroundImage   = "url(templates/"+template+"/images/menu/rss.png)"; 
     266                        style.marginLeft        = "2px"; 
     267                    } 
     268 
     269                    if( nodeParent.firstChild.id != ("dftree_" + treeRss.name ) ) 
     270                    { 
     271                        var _folder     = Element(nodeParent.firstChild.id); 
     272                        var _rssNews    = Element("dftree_" + treeRss.name ); 
     273                         
     274                        nodeParent.insertBefore( _rssNews, _folder ); 
     275                    } 
     276                     
     277                } 
     278                 
     279       if( eval(enabledReadRSS ) == true )  
     280           cExecute('$this.rss.getChannels',handlerChannel); 
    261281 
    262282                tree_folders.draw(Element('content_folders')); 
     
    10871107                                var spanSender = document.createElement("SPAN"); 
    10881108                                spanSender.onmouseover = function (event) {this.style.textDecoration = "underline";try {InfoContact.begin(this,headers_msgs.from.email)} catch(e){};}; 
    1089                                 spanSender.onmouseout = function (){ try {this.style.textDecoration = "none"; clearTimeout(InfoContact.timeout);} catch(e){}}; 
     1109                                spanSender.onmouseout = function (){try {this.style.textDecoration = "none";clearTimeout(InfoContact.timeout);} catch(e){}}; 
    10901110                                spanSender.innerHTML =  headers_msgs.from.name != null ? headers_msgs.from.name : headers_msgs.from.email; 
    10911111                                if (spanSender.innerHTML.indexOf(" ") == '-1' && spanSender.innerHTML.length > 25){ 
     
    14221442        var option_hide_more = document.createElement("SPAN"); 
    14231443        option_hide_more.className = 'message_options'; 
    1424         option_hide_more.onmouseover=function () { this.className='message_options_active'; }; 
    1425         option_hide_more.onmouseout=function () { this.className='message_options' }; 
     1444        option_hide_more.onmouseover=function () {this.className='message_options_active';}; 
     1445        option_hide_more.onmouseout=function () {this.className='message_options'}; 
    14261446        options.align = 'right'; 
    14271447        option_hide_more.value = 'more_options'; 
     
    14461466        var option_mark_as_unseen = document.createElement("SPAN"); 
    14471467        option_mark_as_unseen.className = "message_options"; 
    1448         option_mark_as_unseen.onclick = function () { changeLinkState(this,'seen'); 
     1468        option_mark_as_unseen.onclick = function () {changeLinkState(this,'seen'); 
    14491469                proxy_mensagens.proxy_set_message_flag(folder_id,'unseen'); 
    14501470                write_msg(get_lang('Message marked as ')+get_lang("Unseen")); 
    14511471        }; 
    1452         option_mark_as_unseen.onmouseover=function () { this.className='message_options_active'; }; 
    1453         option_mark_as_unseen.onmouseout=function () { this.className='message_options' }; 
     1472        option_mark_as_unseen.onmouseover=function () {this.className='message_options_active';}; 
     1473        option_mark_as_unseen.onmouseout=function () {this.className='message_options'}; 
    14541474        option_mark_as_unseen.innerHTML = get_lang("Unseen"); 
    14551475 
     
    14571477        option_mark_important.className = 'message_options'; 
    14581478        option_mark_important.style.paddingLeft = "10px"; 
    1459         option_mark_important.onmouseover=function () { this.className='message_options_active'; }; 
    1460         option_mark_important.onmouseout=function () { this.className='message_options' }; 
     1479        option_mark_important.onmouseover=function () {this.className='message_options_active';}; 
     1480        option_mark_important.onmouseout=function () {this.className='message_options'}; 
    14611481 
    14621482        if (info_msg.Flagged == "F"){ 
     
    14741494        } 
    14751495        else{ 
    1476                 option_mark_important.onclick = function() { changeLinkState(this,'normal'); 
     1496                option_mark_important.onclick = function() {changeLinkState(this,'normal'); 
    14771497                        proxy_mensagens.proxy_set_message_flag(folder_id,'flagged'); 
    14781498                        write_msg(get_lang('Message marked as ')+get_lang("Important")); 
     
    14971517        option_forward.className = 'message_options'; 
    14981518        option_forward.onclick = function(){new_message('forward', ID);}; 
    1499         option_forward.onmouseover=function () { this.className='message_options_active'; }; 
    1500         option_forward.onmouseout=function () { this.className='message_options' }; 
     1519        option_forward.onmouseover=function () {this.className='message_options_active';}; 
     1520        option_forward.onmouseout=function () {this.className='message_options'}; 
    15011521        option_forward.innerHTML = get_lang('Forward'); 
    15021522        options.appendChild(space1); 
     
    15071527        option_reply.onclick = function(){new_message('reply_with_history', ID);}; 
    15081528        option_reply.innerHTML = get_lang('Reply'); 
    1509         option_reply.onmouseover=function () { this.className='message_options_active'; }; 
    1510         option_reply.onmouseout=function () { this.className='message_options' }; 
     1529        option_reply.onmouseover=function () {this.className='message_options_active';}; 
     1530        option_reply.onmouseout=function () {this.className='message_options'}; 
    15111531 
    15121532        options.appendChild(space2); 
     
    22182238                case 'important': 
    22192239                        { 
    2220                                 el.onclick = function(){changeLinkState(el,'normal');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'flagged'); write_msg(get_lang('Message marked as ')+get_lang("Important"))} 
     2240                                el.onclick = function(){changeLinkState(el,'normal');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'flagged');write_msg(get_lang('Message marked as ')+get_lang("Important"))} 
    22212241                                break; 
    22222242                        } 
     
    22362256                case 'unseen': 
    22372257                        { 
    2238                                 el.onclick = function(){  changeLinkState(el,'seen');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'unseen');write_msg(get_lang('Message marked as ')+get_lang("unseen"))} 
     2258                                el.onclick = function(){changeLinkState(el,'seen');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'unseen');write_msg(get_lang('Message marked as ')+get_lang("unseen"))} 
    22392259                                break; 
    22402260 
     
    22422262                case 'seen': 
    22432263                        { 
    2244                                 el.onclick = function(){  changeLinkState(el,'unseen');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'seen');write_msg(get_lang('Message marked as ')+get_lang("seen"))} 
     2264                                el.onclick = function(){changeLinkState(el,'unseen');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'seen');write_msg(get_lang('Message marked as ')+get_lang("seen"))} 
    22452265                                break; 
    22462266 
     
    23722392        input_replyto.style.width = "100%"; 
    23732393        input_replyto.setAttribute("wrap","soft"); 
    2374         input_replyto.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus', this.id);}; 
     2394        input_replyto.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer));search_contacts('onfocus', this.id);}; 
    23752395        input_replyto.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);}; 
    23762396 
     
    24552475        input_to.style.width = "100%"; 
    24562476        input_to.setAttribute("wrap","soft"); 
    2457         input_to.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus', this.id);}; 
     2477        input_to.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer));search_contacts('onfocus', this.id);}; 
    24582478        input_to.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);}; 
    24592479        if (!is_ie) 
     
    25512571        input_cc.setAttribute("tabIndex","1"); 
    25522572        input_cc.style.width = "100%"; 
    2553         input_cc.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);}; 
     2573        input_cc.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer));search_contacts('onfocus',this.id);}; 
    25542574        input_cc.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);}; 
    25552575        if (!is_ie) 
     
    26332653        input_cco.setAttribute("tabIndex","1"); 
    26342654        input_cco.style.width = "100%"; 
    2635         input_cco.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);}; 
     2655        input_cco.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer));search_contacts('onfocus',this.id);}; 
    26362656        input_cco.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);}; 
    26372657 
     
    27092729        a_cc_link.setAttribute("href","javascript:void(0)"); 
    27102730        a_cc_link.setAttribute("tabIndex","-1"); 
    2711         a_cc_link.onclick = function () {this.style.display='none';document.getElementById('tr_cc_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cc.focus(); return false;} 
     2731        a_cc_link.onclick = function () {this.style.display='none';document.getElementById('tr_cc_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cc.focus();return false;} 
    27122732        td2_link.appendChild(a_cc_link); 
    27132733        var space = document.createElement("span"); 
     
    27202740        a_cco_link.setAttribute("href","javascript:void(0)"); 
    27212741        a_cco_link.setAttribute("tabIndex","-1"); 
    2722         a_cco_link.onclick = function () {this.style.display='none';document.getElementById('tr_cco_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cco.focus(); return false;} 
     2742        a_cco_link.onclick = function () {this.style.display='none';document.getElementById('tr_cco_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cco.focus();return false;} 
    27232743        td2_link.appendChild(a_cco_link); 
    27242744        var space = document.createElement("span"); 
     
    27312751        a_replyto_link.setAttribute("href","javascript:void(0)"); 
    27322752        a_replyto_link.setAttribute("tabIndex","-1"); 
    2733         a_replyto_link.onclick = function () {this.style.display='none';document.getElementById('tr_replyto_'+ID).style.display='';document.getElementById('space_link_2_'+ID).style.display='none';input_replyto.focus(); return false;} 
     2753        a_replyto_link.onclick = function () {this.style.display='none';document.getElementById('tr_replyto_'+ID).style.display='';document.getElementById('space_link_2_'+ID).style.display='none';input_replyto.focus();return false;} 
    27342754        td2_link.appendChild(a_replyto_link); 
    27352755        tr_link.appendChild(td1_link); 
     
    28922912        var add_files = document.createElement("A"); 
    28932913        add_files.setAttribute("href", "javascript:void(0)"); 
    2894         add_files.onclick = function () { addFile(ID); return false;}; 
     2914        add_files.onclick = function () {addFile(ID);return false;}; 
    28952915        add_files.innerHTML =  get_lang("Attachments: add+"); 
    28962916        add_files.setAttribute("tabIndex","-1"); 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/news_edit.js

    r3178 r4778  
    1 function loadXMLDoc(fname) 
    2 { 
    3         var xmlDoc; 
    4         // code for IE 
    5         if (window.ActiveXObject) 
    6         { 
    7                 xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
    8         } 
    9         // code for Mozilla, Firefox, Opera, etc. 
    10         else if (document.implementation  
    11                         && document.implementation.createDocument) 
    12         { 
    13                 xmlDoc=document.implementation.createDocument("","",null); 
    14         } 
    15         else 
    16         { 
    17                 alert('Your browser cannot handle this script'); 
    18         } 
    19         xmlDoc.async=false; 
    20         xmlDoc.load(fname); 
    21         return(xmlDoc); 
    22 } 
    23  
    241 
    252function cnews_edit() 
    263{ 
    27         this.arrayWin = new Array(); 
    28         this.rssXml; 
     4    this.arrayWin = new Array(); 
     5    this.rssXml; 
     6    this.xtools = new xtools('/expressoMail1_2/'); 
    297} 
    308 
    319cnews_edit.prototype.read_rss = function(val) 
    3210{ 
    33         Element("border_id_0").innerHTML = get_lang('News')+'&nbsp;&nbsp;<font face="Verdana" size="1" color="#505050">[<span id="new_m">&nbsp;</span> / <span id="tot_m"></span>]</font>'; 
    34  
    35         Element("tot_m").innerHTML = 0; 
    36         Element('content_id_0').innerHTML = ''; 
    37         current_folder = "NEWS/"+val; 
    38         openTab.imapBox[0] = "NEWS/"+val; 
    39         this.rssXml = loadXMLDoc('controller.php?action=$this.rss.getContent&url='+escape(val)); 
    40         var xsl = loadXMLDoc('stylesheet/news_read.xsl'); 
    41  
    42         document.getElementById("content_id_0").innerHTML= '<tr class="message_header">'+ 
    43                 '<td width="1%"><input type="checkbox" id="chk_box_select_all_messages" class="checkbox"/></td>'+ 
    44                 '<td width="2%"/><td>   </td><td>   </td><td>  </td>'+ 
    45                 '<td width="16%" align="left">'+get_lang('Who')+'</td>'+ 
    46                 '<td width="50%" align="left">'+get_lang('subject')+'</td>'+ 
    47                 '<td width="17%" align="center">'+get_lang('date')+'</td>'+ 
    48                 '<td width="14%" align="center">'+get_lang('size')+'</td></tr>'; 
    49         // code for IE 
    50         if (window.ActiveXObject) 
    51         { 
    52                 ex=this.rssXml.transformNode(xsl); 
    53                 document.getElementById("content_id_0").innerHTML=ex; 
    54         } 
    55         // code for Mozilla, Firefox, Opera, etc. 
    56         else if (document.implementation && document.implementation.createDocument) 
    57         { 
    58                 xsltProcessor=new XSLTProcessor(); 
    59                 xsltProcessor.importStylesheet(xsl); 
    60                 resultDocument = xsltProcessor.transformToFragment(this.rssXml,document); 
    61                 document.getElementById("content_id_0").appendChild(resultDocument); 
    62                 resizeWindow(); 
    63         } 
    64  
    65         update_menu(); 
    66         var box = Element("tbody_box"); 
    67         if(box.childNodes.length > 1) 
    68                 updateBoxBgColor(box.childNodes); 
    69 } 
    70  
    71 cnews_edit.prototype.read_item = function(item_number){ 
    72         try { 
    73                 var description = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('description')[0].firstChild.nodeValue; 
    74         }catch(e){ 
    75                 return; 
    76         } 
    77         var title = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('title')[0].firstChild.nodeValue; 
    78         var pubDate = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('pubDate')[0].firstChild.nodeValue; 
    79         var link = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('link')[0].firstChild.nodeValue; 
    80         var owner = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('owner')[0]; 
    81         if (currentTab.toString().indexOf('news_') != -1) 
    82                 delete_border(currentTab); 
    83         var border_id = create_border(title, 'news_'+item_number); 
    84         if(!border_id) 
    85                 return false; 
    86  
    87           openTab.type[border_id] = 2; 
    88  
    89         var toolbarCode = "<div style='background-color: #FFF; font-size: larger;'>"+ 
    90         "<table class='table_message' style='width:100%;'><tr><td>"+(owner != undefined?owner.firstChild.nodeValue:get_lang('nobody'))+", "+pubDate+"</td>"+ 
    91         '<td width="30%" align="left">Marcar como: <span class="message_options">'+get_lang('unseen')+'</span></td>'+ 
    92         '<td nowrap="true" width="30%" align="right"><a target="_blank" href="'+link+'" style class="message_options">'+get_lang('Complete news')+'</a>'; 
    93         if (owner != undefined) 
    94                 toolbarCode += '<span>&nbsp;|&nbsp;</span><span class="message_options">'+get_lang('forward')+'</span><span>&nbsp;|&nbsp;</span>'+ 
    95                                 '<span class="message_options">Responder</span></td>'; 
    96         toolbarCode += '<td nowrap="true" width="40px" align="right">'+ 
    97         ( item_number == 1 ?  '<img style="cursor: default;" src="./templates/default/images/up.gray.button.png">' : 
    98         '<img onclick="news_edit.read_item('+(parseInt(item_number)-1)+')" style="cursor: default;" src="./templates/default/images/up.button.png">')+ 
    99         '<span>&nbsp;</span>'+ 
    100         (this.rssXml.getElementsByTagName('item')[parseInt(item_number)] == undefined ? '<img style="cursor: default;" src="./templates/default/images/down.gray.button.png">' : 
    101         '<img onclick="news_edit.read_item('+(parseInt(item_number)+1)+')" style="cursor: pointer;" src="./templates/default/images/down.button.png">')+ 
    102         "</td></tr></table><h2>"+title+"</h2><br>"+description+"</div>"; 
    103         Element('content_id_'+border_id).innerHTML = toolbarCode; 
    104         resizeWindow(); 
    105 } 
    106  
     11    Element("border_id_0").innerHTML    = get_lang('News')+'&nbsp;&nbsp;<font face="Verdana" size="1" color="#505050">[ <span id="tot_m"></span> ]</font>'; 
     12     
     13    current_folder = "NEWS/"+val; 
     14    openTab.imapBox[0] = "NEWS/"+val; 
     15     
     16    this.rssXml = this.xtools.load('controller.php?action=$this.rss.getContent&url='+escape(val)); 
     17 
     18    var langs =  
     19    { 
     20        'lang_who'      : get_lang('Who'), 
     21        'lang_subject'  : get_lang('subject'), 
     22        'lang_date'     : get_lang('date'), 
     23        'lang_size'     : get_lang('size') 
     24    }; 
     25     
     26    var _div = document.getElementById("content_id_0"); 
     27        _div.innerHTML = this.xtools.parse( this.rssXml, 'stylesheet/news_read.xsl' , langs ); 
     28     
     29    update_menu(); 
     30    var box = Element("tbody_box"); 
     31     
     32    if(box.childNodes.length > 1) 
     33        updateBoxBgColor(box.childNodes); 
     34     
     35    for( var i = 0 ; i < box.childNodes.length ; i++ ) 
     36    { 
     37        if( box.childNodes[i].childNodes[2].getAttribute("convertDate") ) 
     38        { 
     39            box.childNodes[i].childNodes[2].innerHTML = this.dateString(box.childNodes[i].childNodes[2].getAttribute("convertDate")); 
     40        } 
     41    } 
     42     
     43    Element("tot_m").innerHTML = box.childNodes.length - 1 ; 
     44} 
     45 
     46cnews_edit.prototype.read_item = function(item_number) 
     47{ 
     48    try  
     49    { 
     50        var description = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('description')[0].firstChild.nodeValue; 
     51    } 
     52    catch(e) 
     53    { 
     54        return; 
     55    } 
     56     
     57    var title = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('title')[0].firstChild.nodeValue; 
     58    var pubDate = this.dateString(this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('pubDate')[0].firstChild.nodeValue); 
     59    var link = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('link')[0].firstChild.nodeValue; 
     60    var owner = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('owner')[0]; 
     61    if (currentTab.toString().indexOf('news_') != -1) 
     62        delete_border(currentTab); 
     63    var border_id = create_border(title, 'news_'+item_number); 
     64    if(!border_id) 
     65        return false; 
     66 
     67    openTab.type[border_id] = 2; 
     68 
     69    var toolbarCode = "<div style='background-color: #FFF; font-size: larger;'>"+ 
     70                      "<table class='table_message' style='width:100%;'><tr><td>"+(owner != undefined?owner.firstChild.nodeValue:get_lang('nobody'))+", "+pubDate+"</td>"+ 
     71                      '<td width="30%" align="left"></td>'+ 
     72                      '<td nowrap="true" width="30%" align="right"><a target="_blank" href="'+link+'" style class="message_options">'+get_lang('Complete news')+'</a>'; 
     73    if ( owner != undefined ) 
     74        toolbarCode += '<span>&nbsp;|&nbsp;</span><span class="message_options">'+get_lang('forward')+'</span><span>&nbsp;|&nbsp;</span>'+ 
     75        '<span class="message_options">Responder</span></td>'; 
     76    toolbarCode += '<td nowrap="true" width="40px" align="right">'+ 
     77    ( item_number == 1 ?  '<img style="cursor: default;" src="./templates/default/images/up.gray.button.png">' : 
     78        '<img onclick="news_edit.read_item('+(parseInt(item_number)-1)+')" style="cursor: default;" src="./templates/default/images/up.button.png">')+ 
     79    '<span>&nbsp;</span>'+ 
     80    (this.rssXml.getElementsByTagName('item')[parseInt(item_number)] == undefined ? '<img style="cursor: default;" src="./templates/default/images/down.gray.button.png">' : 
     81        '<img onclick="news_edit.read_item('+(parseInt(item_number)+1)+')" style="cursor: pointer;" src="./templates/default/images/down.button.png">')+ 
     82    "</td></tr></table><h2>"+title+"</h2><br>"+description+"</div>"; 
     83    Element('content_id_'+border_id).innerHTML = toolbarCode; 
     84    resizeWindow(); 
     85} 
     86 
     87cnews_edit.prototype.dateString = function(StringDate) 
     88{ 
     89    var _date   = new Date(StringDate); 
     90     
     91    var _day    = ( (_date.getDate()).toString().length > 1 ) ? _date.getDate() : "0" + _date.getDate(); 
     92     
     93    var _month  = _date.getMonth() + 1; 
     94        _month  = ( _month.toString().length > 1 ) ? _month : "0" + _month; 
     95     
     96    var _year   = _date.getFullYear(); 
     97     
     98    return ( _day + "/" + _month + "/" + _year ); 
     99} 
    107100 
    108101cnews_edit.prototype.makeWindow = function(options) 
    109102{ 
    110         _this = this; 
    111  
    112         var el = document.createElement("DIV"); 
    113         el.style.visibility = "hidden"; 
    114         el.style.position = "absolute"; 
    115         el.style.left = "0px"; 
    116         el.style.top = "0px"; 
    117         el.style.width = "0px"; 
    118         el.style.height = "0px"; 
    119         el.id = 'dJSWin_newswin'; 
    120         document.body.appendChild(el); 
    121         el.innerHTML = "<table border=0><tbody><tr>"+ 
    122                 '<td valign="bottom"><input type="text" id="rssEnter" size="40"><input value="'+get_lang('subscribe')+ 
    123                 '" onclick="news_edit.subscribe();" type="button">'+ 
    124                 '<br>Enter de url of RSS service<br>'+ 
    125                 '</td></tr>'+ 
    126                 '<tr><td id="serv_table"></td></tr>'+ 
    127                 "</tbody></table><br>"; 
    128  
    129  
    130         var butt = Element('dJSWin_wfolders_bok') 
    131                 if (!butt){ 
    132                         butt = document.createElement('INPUT'); 
    133                         butt.id = 'dJSWin_wfolders_bok'; 
    134                         butt.type = 'button'; 
    135                         butt.value = get_lang('Close'); 
    136                         el.appendChild(butt); 
    137                 } 
    138         butt.onclick = function () 
    139         { 
    140                 news_edit.arrayWin[el.id].close(); 
    141         } 
    142  
    143  
    144                 _this.showWindow(el); 
    145         } 
    146  
    147         cnews_edit.prototype.showWindow = function (div) 
    148         { 
    149                 if(! div) { 
    150                         alert(get_lang('This list has no participants')); 
    151                         return; 
    152                 } 
    153  
    154                 if(! this.arrayWin[div.id]) 
    155                 { 
    156                         div.style.height = "280px"; 
    157                         div.style.width = "340px"; 
    158                         var title = ":: "+get_lang("News edit")+" ::"; 
    159                         var wHeight = div.offsetHeight + "px"; 
    160                         var wWidth =  div.offsetWidth   + "px"; 
    161                         div.style.width = div.offsetWidth - 5; 
    162  
    163                         win = new dJSWin({ 
    164                                 id: 'win_'+div.id, 
    165                                 content_id: div.id, 
    166                                 width: wWidth, 
    167                                 height: wHeight, 
    168                                 title_color: '#3978d6', 
    169                                 bg_color: '#eee', 
    170                                 title: title, 
    171                                 title_text_color: 'white', 
    172                                 button_x_img: '../phpgwapi/images/winclose.gif', 
    173                                 border: true }); 
    174                         this.arrayWin[div.id] = win; 
    175                         win.draw(); 
    176                 } 
    177                 else { 
    178                         win = this.arrayWin[div.id]; 
    179                 } 
    180                 win.open(); 
    181                 var handlerChannel = function(data){ 
    182                         document.getElementById("serv_table").innerHTML = ''; 
    183                         for(i=0; i < data.length; i++) 
    184                                 document.getElementById("serv_table").innerHTML += "<div><span>"+data[i].name+ 
    185                                 "</span><span></span><img onclick='news_edit.unsubscribe(\""+data[i].rss_url+"\",this)' src='../phpgwapi/templates/default/images/foldertree_trash.png'/></div>"; 
    186                 } 
    187                 cExecute('$this.rss.getChannels',handlerChannel); 
    188         } 
    189         cnews_edit.prototype.unsubscribe = function(url,el){ 
    190                 var rem_handler = function (data){ 
    191                         if (data != "Success") 
    192                                 if (data == "Error") 
    193                                         alert(get_lang("Database Error")); 
    194                                 else 
    195                                         alert(get_lang("Invalid entry")); 
    196                         else 
    197                         { 
    198                                 var pnode = el.parentNode; 
    199                                 pnode.parentNode.removeChild(pnode); 
    200                         } 
    201                 }; 
    202  
    203                 cExecute('$this.rss.removeChannel&url='+escape(url),rem_handler); 
    204         } 
    205         cnews_edit.prototype.subscribe = function(){ 
    206                 var val = Element('rssEnter').value; 
    207                 var rssXml = loadXMLDoc('controller.php?action=$this.rss.getContent&url='+escape(val)); 
    208                 var xsl = loadXMLDoc('stylesheet/news_add.xsl'); 
    209                 newTableEl = document.getElementById("serv_table"); 
    210                 // code for IE 
    211                 if (window.ActiveXObject) 
    212                 { 
    213                         ex=rssXml.transformNode(xsl); 
    214                         newTableEl.innerHTML='<div id="'+escape(val)+'">'+ex+'</div>'; 
    215                 } 
    216                 // code for Mozilla, Firefox, Opera, etc. 
    217                 else if (document.implementation && document.implementation.createDocument) 
    218                 { 
    219                         xsltProcessor=new XSLTProcessor(); 
    220                                 xsltProcessor.importStylesheet(xsl); 
    221                         resultDocument = xsltProcessor.transformToFragment(rssXml,document); 
    222                         var ndiv = document.createElement('DIV'); 
    223                         ndiv.id = escape(val); 
    224                         ndiv.appendChild(resultDocument); 
    225                         newTableEl.appendChild(ndiv); 
    226                 } 
    227                 var add_handler = function (data){ 
    228                         if (data != "Success") 
    229                                 if (data == "Error") 
    230                                         alert(get_lang("Database Error")); 
    231                                 else 
    232                                         alert(get_lang("Invalid entry")); 
    233                 }; 
    234                 if(!ndiv) 
    235                         var ndiv = document.getElementById(escape(val)); 
    236                 var name = ndiv.childNodes[1].innerHTML; 
    237                 cExecute('$this.rss.addChannel&url='+escape(val)+'&name='+name,add_handler); 
    238  
    239         }; 
     103    _this = this; 
     104 
     105    var params =  
     106    { 
     107        'lang_label1'       :   get_lang('Enter the URL of RSS service'), 
     108        'lang_label2'       :   get_lang('List of registered RSS'), 
     109        'lang_subscribe'    :   get_lang('Subscribe')  
     110    }; 
     111 
     112    var el = document.createElement("DIV"); 
     113        el.style.visibility = "hidden"; 
     114        el.style.position = "absolute"; 
     115        el.style.left = "0px"; 
     116        el.style.top = "0px"; 
     117        el.style.width = "0px"; 
     118        el.style.height = "0px"; 
     119        el.id = 'dJSWin_newswin'; 
     120        el.innerHTML = this.xtools.parse( this.xtools.xml('make_window'), 'stylesheet/makeWindow.xsl', params ); 
     121 
     122    document.body.appendChild(el); 
     123     
     124    var butt = Element('dJSWin_wfolders_bok'); 
     125     
     126    if ( !butt ) 
     127    { 
     128        butt = document.createElement('INPUT'); 
     129        butt.style.margin = "3px"; 
     130        butt.id = 'dJSWin_wfolders_bok'; 
     131        butt.type = 'button'; 
     132        butt.value = get_lang('Close'); 
     133        el.appendChild(butt); 
     134    } 
     135     
     136    butt.onclick = function () 
     137    { 
     138        news_edit.arrayWin[el.id].close(); 
     139    } 
     140 
     141    _this.showWindow(el); 
     142} 
     143 
     144cnews_edit.prototype.showWindow = function (div) 
     145{ 
     146    if(! this.arrayWin[div.id]) 
     147    { 
     148        div.style.height = "280px"; 
     149        div.style.width = "340px"; 
     150        var title = "<label style='margin-left:5px;'>:: "+get_lang("News edit")+" ::</label> "; 
     151        var wHeight = div.offsetHeight + "px"; 
     152        var wWidth =  div.offsetWidth   + "px"; 
     153        div.style.width = div.offsetWidth - 5; 
     154 
     155        win = new dJSWin({ 
     156            id: 'win_'+div.id, 
     157            content_id: div.id, 
     158            width: wWidth, 
     159            height: wHeight, 
     160            title_color: '#3978d6', 
     161            bg_color: '#eee', 
     162            title: title, 
     163            title_text_color: 'white', 
     164            button_x_img: '../phpgwapi/images/winclose.gif', 
     165            border: true 
     166        }); 
     167        this.arrayWin[div.id] = win; 
     168        win.draw(); 
     169    } 
     170    else 
     171    { 
     172        win = this.arrayWin[div.id]; 
     173    } 
     174     
     175    win.open(); 
     176     
     177    var handlerChannel = function( data ) 
     178    { 
     179        var _listRss =  document.getElementById("listRSS"); 
     180         
     181        if( data != null ) 
     182        { 
     183            for( var i = 0 ; i < data.length; i++) 
     184            {     
     185                _listRss.innerHTML += "<div>" + 
     186                                        "<img onclick='news_edit.unsubscribe(\""+data[i].rss_url+"\",this);' style='width:16px; height:16px; cursor: pointer;' src='../phpgwapi/templates/default/images/foldertree_trash.png' />" + 
     187                                        "<label style='margin-right: 2px'>"+data[i].name+"</label>" +                 
     188                                       "</div>"; 
     189            } 
     190        } 
     191    } 
     192     
     193    cExecute('$this.rss.getChannels',handlerChannel); 
     194} 
     195cnews_edit.prototype.unsubscribe = function(url,el) 
     196{ 
     197    var rem_handler = function (data) 
     198    { 
     199        if ( data != "Success" ) 
     200        {     
     201            if (data == "Error") 
     202                alert(get_lang("Database Error")); 
     203            else 
     204                alert(get_lang("Invalid entry")); 
     205        } 
     206        else 
     207        { 
     208           el.parentNode.parentNode.removeChild( el.parentNode ); 
     209        } 
     210    }; 
     211 
     212    cExecute('$this.rss.removeChannel&url='+escape(url),rem_handler); 
     213} 
     214cnews_edit.prototype.subscribe = function() 
     215{ 
     216    var newTableEl  = document.getElementById("listRSS"); 
     217    var val         = trim( Element('rssEnter').value ); 
     218     
     219    if( val != "" ) 
     220    { 
     221        this.rssXml = this.xtools.load('controller.php?action=$this.rss.getContent&url='+escape(val)); 
     222 
     223        var params = 
     224        { 
     225            'linkURL' : val 
     226        }; 
     227 
     228        var _div = document.createElement("div"); 
     229            _div.innerHTML = this.xtools.parse( this.rssXml, 'stylesheet/news_add.xsl', params ); 
     230 
     231        var add_handler = function (data) 
     232        { 
     233            if ( data != "Success" ) 
     234            { 
     235                if ( data == "Error" ) 
     236                    alert( get_lang("Database Error") ); 
     237                else 
     238                    alert( get_lang("Invalid entry") ); 
     239            } 
     240            else 
     241            { 
     242                newTableEl.appendChild(_div); 
     243            } 
     244        }; 
     245 
     246        try 
     247        { 
     248            if( _div.childNodes[2].getAttribute("titleRss") ) 
     249            {     
     250                var name = _div.childNodes[2].getAttribute("titleRss"); 
     251 
     252                cExecute('$this.rss.addChannel&url='+escape(val)+'&name='+name,add_handler); 
     253            } 
     254        } 
     255        catch(e){ } 
     256    } 
     257 
     258}; 
    240259 
    241260/* Build the Object */ 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/setup/phpgw_pt-br.lang

    r4718 r4778  
    8282Command for spam        admin   pt-br   Comando que será executado ao marcar como spam 
    8383Command for unmark spam admin   pt-br   Comando que será executado ao marcar como não-spam 
     84Complete news   expressoMail1_2 pt-br   Notícia completa 
    8485Config for expressoMail1_2      expressoMail1_2 pt-br   Configurações do expressoMail1_2 
    8586Config for ExpressoMail expressoMail1_2 pt-br   Configurações para o ExpressoMail 
     
    9192Crypted message expressoMail1_2 pt-br   Mensagem cifrada digitalmente 
    9293Cyrus IMAP Server       expressoMail1_2 pt-br   Servidor de IMAP Cyrus 
     94Database Error  expressoMail1_2 pt-br   Erro no Banco de Dados 
    9395Date:   expressoMail1_2 pt-br   Data: 
    9496Date    expressoMail1_2 pt-br   Data 
     
    9799Define some criterion to the fields Sender, To and Subject with more than 3 characters! expressoMail1_2 pt-br   Defina algum critério para os campos Remetente, Para, Assunto e Tamanho da mensagem com mais de 3 caracteres! 
    98100Enter a numerical value to the message size!    expressoMail1_2 pt-br   Informe um valor numérico para o tamanho da mensagem! 
     101Enter the URL of RSS service    expressoMail1_2 pt-br   Digite a URL do serviço RSS 
    99102Define some search parameters!  expressoMail1_2 pt-br   Defina alguns parâmetros para a busca! 
    100103Define the boxes to search!     expressoMail1_2 pt-br   Defina as pastas para a busca! 
     
    119122Do you really want to empty your trash folder?  expressoMail1_2 pt-br   Você tem certeza que deseja limpar sua lixeira? 
    120123Do you wanna receive an alert for new messages? expressoMail1_2 pt-br   Você quer receber um alerta para mensagens novas? 
    121 Do you want to automatically display the message header?        expressoMail1_2 pt-br   Você deseja exibir automaticamente o cabecalho da mensagem? 
     124Do you want to automatically display the message header?        expressoMail1_2 pt-br   Você deseja exibir automaticamente o cabeçalho da mensagem? 
    122125Do you want to block this e-mail?       expressoMail1_2 pt-br   Você gostaria de bloquear este e-mail? 
    123126Do you want to cache php requests in javascript?        admin   pt-br   Utilizar cache de requisições no javascript? 
     
    135138Edit filters    expressoMail1_2 pt-br   Editar Filtros 
    136139Edit folders    expressoMail1_2 pt-br   Editar Pastas 
     140Edit my news    expressoMail1_2 pt-br   Editar Rss 
    137141E-mail rule     expressoMail1_2 pt-br   regra do email 
    138142Emails of the account   expressoMail1_2 pt-br   Emails da conta 
     
    207211is to   expressoMail1_2 pt-br   é para 
    208212subject is      expressoMail1_2 pt-br   tem assunto 
     213Subscribe       expressoMail1_2 pt-br   Assinar 
    209214reject  expressoMail1_2 pt-br   Rejeitar 
    210215discard expressoMail1_2 pr-br   Descartar 
     
    250255in this message expressoMail1_2 pt-br   na mensagem 
    251256Invalid date on field %1        expressoMail1_2 pt-br   Data inválida no campo '%1' 
     257Invalid entry   expressoMail1_2 pt-br   Entrada Inválida 
    252258Invalid signature       expressoMail1_2 pt-br   Erro indeterminado: Não foi possível validar a assinatura digital da mensagem. 
    253259italic  expressoMail1_2 pt-br   Italico 
     
    278284List Catalog    expressoMail1_2 pt-br   Listar Catálogo 
    279285List    expressoMail1_2 pt-br   Listar 
     286List of registered RSS  expressoMail1_2 pt-br   Lista dos RSS cadastrados 
    280287list of the filters     expressoMail1_2 pt-br   Lista de filtros 
    281288Loading expressoMail1_2 pt-br   Carregando 
     
    332339New Message     expressoMail1_2 pt-br   Nova Mensagem 
    333340New rule        expressoMail1_2 pt-br   Nova Regra 
     341News edit       expressoMail1_2 pt-br   Editar notícias 
    334342Next    expressoMail1_2 pt-br   Próximo 
    335343Nickname        expressoMail1_2 pt-br   Apelido 
     
    528536The size of this message has exceeded  the limit (%1B). expressoMail1_2 pt-br   O tamanho desta mensagem excedeu o limite (maior que %1B). 
    529537The Timezone you're in. expressoMail1_2 pt-br   O fuso-horário em que você está. 
    530 There are folders with invalid format. If you want to fix now, click on button OK.      expressoMail1_2 pt-br   Algumas pastas possuem formato inválido.\n Para corrigi-las agora clique no botão 'OK'.  
     538There are folders with invalid format. If you want to fix now, click on button OK.      expressoMail1_2 pt-br   Algumas pastas possuem formato inválido.\n Para corrigi-las agora clique no botão 'OK'. 
    531539This is the number of messages shown in your mailbox per page   expressoMail1_2 pt-br   Este é o número de mensagens mostradas na sua caixa de correio por página 
    532540This list has no participants   expressoMail1_2 pt-br   Esta lista nao possui nenhum participante. 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/setup/setup.inc.php

    r4644 r4778  
    1616        $setup_info['expressoMail1_2']['tables'][]              = 'phpgw_expressomail_contacts'; 
    1717    $setup_info['expressoMail1_2']['tables'][]          = 'phpgw_certificados'; 
     18    $setup_info['expressoMail1_2']['tables'][]          = 'phpgw_userrss'; 
    1819        $setup_info['expressoMail1_2']['enable']        = 1; 
    1920 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/setup/tables_current.inc.php

    r1035 r4778  
    3333            'ix' => array(), 
    3434            'uc' => array() 
     35                ), 
     36                'phpgw_userrss' => array( 
     37                        'fd' => array( 
     38                                'uid'           => array('type' => 'int', 'nullable' => false  ), 
     39                                'rss_url'       => array('type' => 'varchar', 'precision' => 1000 ), 
     40                                'name'          => array('type' => 'varchar', 'precision' => 50) 
     41                        ), 
     42                        'pk' => array('uid','rss_url'), 
     43                        'fk' => array(), 
     44            'ix' => array(), 
     45            'uc' => array() 
    3546                ) 
    3647        ); 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/stylesheet/news_add.xsl

    r3178 r4778  
    11<?xml version="1.0" encoding="ISO-8859-1"?> 
    22<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    3 <xsl:template match="rss/channel"> 
    4         <span><xsl:value-of select = "title" /></span><span> - <xsl:value-of select="count(item)"/> news</span> 
    5         <img src='../phpgwapi/templates/default/images/foldertree_trash.png'> 
    6                 <xsl:attribute name="onclick"> 
    7                         news_edit.unsubscribe('<xsl:value-of select="link"/>',this); 
    8                 </xsl:attribute> 
    9         </img> 
    10 </xsl:template> 
     3     
     4    <xsl:param name="linkURL" /> 
     5     
     6    <xsl:template match="rss/channel"> 
     7         
     8        <img src='../phpgwapi/templates/default/images/foldertree_trash.png'> 
     9            <xsl:attribute name="onclick"> 
     10                    news_edit.unsubscribe('<xsl:value-of select="$linkURL"/>',this); 
     11            </xsl:attribute> 
     12            <xsl:attribute name="style"> 
     13                width:16px; height:16px; cursor: pointer; 
     14            </xsl:attribute> 
     15        </img> 
     16         
     17        <label titleRss="{title}"> 
     18            <xsl:value-of select = "title" /> 
     19        </label> 
     20         
     21    </xsl:template> 
     22     
    1123</xsl:stylesheet> 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/stylesheet/news_read.xsl

    r3178 r4778  
    11<?xml version="1.0" encoding="ISO-8859-1"?> 
    22<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    3         <xsl:template match="rss/channel"> 
    4         <div id="divScrollMain_0" style="overflow-y: scroll; overflow-x: hidden; width: 99.3%;"> 
    5         <table id="table_box" class="table_box" cellspacing="0" cellpadding="0"> 
    6                 <tbody id="tbody_box"> 
    7         <xsl:for-each select="item"> 
    8                 <xsl:variable name="itens" select='position()' /> 
    9                 <tr class="tr_msg_read"> 
    10                         <xsl:attribute name="onclick"> 
    11                                 news_edit.read_item('<xsl:value-of select="$itens"/>'); 
    12                         </xsl:attribute> 
    13                         <td width="1%" class="td_msg"><input type="checkbox" class="checkbox"/></td> 
    14                         <td width="1%" class="td_msg"/> 
    15                         <td width="1%" class="td_msg"><img title="Lida" src="templates/default/images/seen.gif"/></td> 
    16                         <td width="16%" class="td_msg"><span style="text-decoration: none;"><xsl:value-of select="owner"/></span></td> 
    17                         <td width="50%" class="td_msg"><xsl:value-of select="title"/></td> 
    18                         <td width="17%" align="center" class="td_msg" title="14/08/2010"><xsl:value-of select="pubDate"/></td> 
    19                         <td width="14%" nowrap="true" align="center" class="td_msg"><xsl:value-of select="string-length(description)"/></td> 
    20                 </tr> 
    21         </xsl:for-each> 
    22         </tbody> 
    23         </table> 
    24         </div> 
    25 </xsl:template> 
     3     
     4    <xsl:param name="lang_who" /> 
     5    <xsl:param name="lang_subject" /> 
     6    <xsl:param name="lang_date" /> 
     7    <xsl:param name="lang_size" /> 
     8     
     9    <xsl:template match="rss/channel"> 
     10         
     11        <div id="divScrollMain_0" style="overflow-y: scroll; overflow-x: hidden; width: 99.3%;"> 
     12            <table id="table_box" border="1" class="table_message_header_box" cellspacing="0" cellpadding="0"> 
     13                <tbody id="tbody_box"> 
     14                    <tr class="message_header" style="height:20px"> 
     15                        <td class="td_msg" style="width: 30%" align="left"> 
     16                            <span style="margin-left:10px;"><xsl:value-of select="$lang_who" /></span> 
     17                        </td> 
     18                        <td class="td_msg" style="width:40%" align="left"><xsl:value-of select="$lang_subject" /></td> 
     19                        <td class="td_msg" style="width:20%" align="center"><xsl:value-of select="$lang_date" /></td> 
     20                        <td class="td_msg" style="width:10%" align="center"><xsl:value-of select="$lang_size" /></td> 
     21                    </tr> 
     22                    <xsl:for-each select="item"> 
     23                        <xsl:variable name="itens" select='position()' /> 
     24                        <tr class="tr_msg_read" style="height:20px"> 
     25                            <xsl:attribute name="onclick"> 
     26                                news_edit.read_item('<xsl:value-of select="$itens"/>'); 
     27                            </xsl:attribute> 
     28                            <td class="td_msg" style="width:30%" align="left"><span style="margin-left:10px;"><xsl:value-of select="../title"/></span></td> 
     29                            <td class="td_msg" style="width:40%" align="left"><xsl:value-of select="title"/></td> 
     30                            <td class="td_msg" style="width:20%" align="center" convertDate="{pubDate}"><xsl:value-of select="pubDate"/></td> 
     31                            <td class="td_msg" style="width:10%" align="center"><xsl:value-of select="string-length(description)"/></td> 
     32                        </tr> 
     33                    </xsl:for-each> 
     34                </tbody>                 
     35             </table> 
     36        </div> 
     37         
     38    </xsl:template> 
     39     
    2640</xsl:stylesheet> 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/templates/default/config.tpl

    r4644 r4778  
    146146          <input type="text" id="minNum" value="{value_expressoMail_min_num_characters}" name="newsettings[expressoMail_min_num_characters]" size=2 maxlength=2 /> 
    147147       </td> 
    148    </tr>   
     148   </tr>  
     149   <tr bgcolor="{th_bg}"> 
     150                <td colspan="2"> 
     151                        &nbsp; 
     152                </td>            
     153   </tr> 
     154   <tr bgcolor="{row_on}"> 
     155       <td> 
     156           <label style="font-weight:bold;">Habilitar leitor de RSS</label> 
     157       </td> 
     158           <td> 
     159               <select id="enabledReadRSS" name="newsettings[expressoMail_enabled_read_rss]"> 
     160                    <option value="false" {selected_expressoMail_enabled_read_rss_false}>{lang_No}</option> 
     161                                <option value="true" {selected_expressoMail_enabled_read_rss_true}>{lang_Yes}</option>               
     162               </select> 
     163       </td> 
     164   </tr> 
    149165<!-- END body --> 
    150166<!-- BEGIN footer --> 
  • sandbox/expressoMail1_2/MailArchiver/2.2/mobile/inc/class.mobiletemplate.inc.php

    r4188 r4778  
    1919                        if( $template == "mini_desktop" ) 
    2020                        { 
     21                                $url_expresso = $this->getUrlExpresso() . "index.php"; 
     22                                 
    2123                                $this->template->set_file(array('home_t' => 'pc_template.tpl')); 
    2224                                $this->template->set_file(array('home_t_search_bar' => 'search_bar.tpl')); 
    2325                                $this->template->set_block('home_t_search_bar','search_bar'); 
    2426                                $this->template->set_var('search',$this->template->fp('out','search_bar')); 
     27                                $this->template->set_var('url_expresso',$url_expresso); 
    2528                                $this->template->set_var('lang_mini_mobile', lang('mini mobile')); 
    2629                                $this->template->set_var('lang_search_error_message',lang("need choose one option")); 
     
    133136                         
    134137                        $this->template->set_var('global_title', lang('expresso mini')); 
    135                         // button logout 
    136                         if( isset($_COOKIE['lem']) && isset($_COOKIE['pem']) ) 
    137                         { 
    138                                 $this->template->set_var('style_1','padding-left:65%;'); 
    139                                 $this->template->set_var('style_2','position:relative; float: right; display: none'); 
    140                         } 
    141                         else 
    142                         { 
    143                                 $this->template->set_var('style_1','position:absolute; float: left;'); 
    144                                 $this->template->set_var('style_2','position:relative; float: right; display: block'); 
    145                         } 
    146  
    147                         if( isset($_SESSION['mobile']['displayIOS']) && $_SESSION['mobile']['displayIOS'] == "true" ) 
    148                                 $this->template->set_var('display_IOS', "none"); 
    149                         else 
    150                                 $this->template->set_var('display_IOS', "block"); 
    151                                  
     138                        $this->template->set_var('style_1','position:absolute; float: left;'); 
     139                        $this->template->set_var('style_2','position:relative; float: right; display: block'); 
    152140                        $this->template->set_var('lang_tips', lang('Tips')); 
    153141                        $this->template->set_var('lang_logout', lang('logout')); 
    154142                        $this->template->set_var('lang_search', lang('search')); 
    155143                         
    156                         $this->template->set_var('href_logout', 'login.php?cd=1'); 
     144                        if( isset($_SESSION['mobile']['displayIOS']) && $_SESSION['mobile']['displayIOS'] == "true" ) 
     145                        { 
     146                                $this->template->set_var('display_IOS', "none"); 
     147                        } 
     148                        else 
     149                        { 
     150                                $this->template->set_var('display_IOS', "block"); 
     151                        } 
     152 
     153                        if( isset($_COOKIE['lem']) && isset($_COOKIE['pem']) ) 
     154                        { 
     155                                $this->template->set_var('href_logout', 'login.php?cd=logout_mobile'); 
     156                        } 
     157                        else 
     158                        { 
     159                                $this->template->set_var('href_logout', 'login.php?cd=1'); 
     160                        } 
    157161                } 
    158162                 
     
    249253                        return $url; 
    250254                } 
     255                 
     256                private function getUrlExpresso() 
     257                { 
     258                        $url_expresso = $GLOBALS['phpgw_info']['server']['webserver_url']; 
     259                        $url_expresso = ( !empty($url_expresso) ) ? $url_expresso : '/'; 
     260         
     261                        if(strrpos($url_expresso,'/') === false || strrpos($url_expresso,'/') != (strlen($url_expresso)-1)) 
     262                        { 
     263                                $url_expresso .= '/'; 
     264                        } 
     265 
     266                        return $url_expresso; 
     267                } 
    251268 
    252269                function get_back_link(){ 
  • sandbox/expressoMail1_2/MailArchiver/2.2/mobile/login.php

    r4134 r4778  
    1717        $GLOBALS['sessionid'] = @$_GET['sessionid'] ? $_GET['sessionid'] : @$_COOKIE['sessionid']; 
    1818         
    19         if(isset($GLOBALS['sessionid']) && $_GET['cd'] != 10 && $_GET['cd'] != 1) 
    20                 start_prefered_app(); 
     19        if( isset($GLOBALS['sessionid']) ) 
     20        { 
     21                if( $_GET['cd'] != 10 && $_GET['cd'] != 1 && $_GET['cd'] !== 'logout_mobile' ) 
     22                { 
     23                        start_prefered_app(); 
     24                } 
     25        } 
    2126                 
    2227        if ( $GLOBALS['phpgw_info']['server']['use_https'] > 0 ) 
     
    3540        $tmpl = CreateObject('phpgwapi.Template', PHPGW_SERVER_ROOT . '/mobile/templates/'.$GLOBALS['phpgw_info']['server']['template_set']); 
    3641        $GLOBALS['phpgw_info']['user']['preferences']['common']['template_set'] = $GLOBALS['phpgw_info']['login_template_set']; 
     42         
     43        //URL Expresso 
     44        $url_expresso = $GLOBALS['phpgw_info']['server']['webserver_url']; 
     45        $url_expresso = ( !empty($url_expresso) ) ? $url_expresso : '/'; 
     46         
     47        if(strrpos($url_expresso,'/') === false || strrpos($url_expresso,'/') != (strlen($url_expresso)-1)) 
     48        { 
     49                $url_expresso .= '/'; 
     50        } 
     51         
    3752        $tmpl->set_file(array('login_form' => 'login.tpl')); 
    3853        $tmpl->set_block('login_form','page'); 
    3954        $tmpl->set_block('login_form','success_message'); 
    4055        $tmpl->set_block('login_form','error_message'); 
     56        $tmpl->set_var('url_expresso', $url_expresso); 
     57        $tmpl->set_var('lang_username', lang('username')); 
     58        $tmpl->set_var('lang_password', lang('password')); 
     59        $tmpl->set_var('lang_login', lang('login')); 
     60         
    4161         
    4262        //verificando a mensagem erro ou sucesso 
     
    6888        function check_logoutcode($code) { 
    6989                switch($code) { 
     90                        case 'logout_mobile':  
    7091                        case 1: 
    7192                                logout(); 
     
    94115                                } 
    95116                                return lang('Your session could not be verified.'); 
     117                         
    96118                        default: 
    97119                                return ''; 
     
    108130        elseif(get_var('lem',array('GET','COOKIE')) && get_var('pem',array('GET','COOKIE'))) 
    109131        { 
    110                 if(!$_GET['cd'] || $_GET['cd'] == '1' || $_GET['cd'] == '10') {  
    111                         $submit = True; 
    112                         $login  = base64_decode(get_var('lem',array('GET','COOKIE'))); 
    113                         $passwd = base64_decode(get_var('pem',array('GET','COOKIE'))); 
    114                         $passwd_type = 'text'; 
    115                 } 
    116                 else { 
    117                         $GLOBALS['phpgw']->session->phpgw_setcookie('lem'); 
    118                         $GLOBALS['phpgw']->session->phpgw_setcookie('pem'); 
     132                if( $_GET['cd'] !== 'logout_mobile' ) 
     133                { 
     134                        if(!$_GET['cd'] || $_GET['cd'] == '1' || $_GET['cd'] == '10') 
     135                        {  
     136                                $submit = True; 
     137                                $login  = base64_decode(get_var('lem',array('GET','COOKIE'))); 
     138                                $passwd = base64_decode(get_var('pem',array('GET','COOKIE'))); 
     139                                $passwd_type = 'text'; 
     140                        } 
     141                        else 
     142                        { 
     143                                $GLOBALS['phpgw']->session->phpgw_setcookie('lem'); 
     144                                $GLOBALS['phpgw']->session->phpgw_setcookie('pem'); 
     145                        } 
    119146                } 
    120147        } 
     
    180207        $tmpl->set_var('charset',$GLOBALS['phpgw']->translation->charset()); 
    181208        $tmpl->set_var('cookie',$last_loginid); 
    182         $tmpl->set_var('lang_username', lang('username')); 
    183         $tmpl->set_var('lang_password', lang('password')); 
    184         $tmpl->set_var('lang_login', lang('login')); 
    185209        $tmpl->set_var('lang_notices', lang('notices')); 
    186210        $tmpl->set_var('website_title', $GLOBALS['phpgw_info']['server']['site_title']); 
  • sandbox/expressoMail1_2/MailArchiver/2.2/mobile/setup/phpgw_pt-br.lang

    r4051 r4778  
    6464This message don't have attachment(s)   mobile  pt-br   Este e-mail não possui anexo(s) 
    6565This message has the follow attachments:        mobile  pt-br   Esta mensagem possui anexo: 
     66Tips    mobile  pt-br   Dicas 
    6667Catalog mobile  pt-br   Catálogo 
    6768Phone   mobile  pt-br   Telefone 
  • sandbox/expressoMail1_2/MailArchiver/2.2/mobile/templates/default/login.tpl

    r4200 r4778  
    6363 
    6464                <div class="rodape">Projeto ExpressoLivre 2004 - 2010 :: Licen&ccedil;a de Software</div> 
    65                 <div class="rodape center"><a href="/login.php?dont_redirect_if_moble=1">Versão Clássica</a></div> 
     65                <div class="rodape center"><a href="{url_expresso}login.php?dont_redirect_if_moble=1">Versão Clássica</a></div> 
    6666        </body> 
    6767</html> 
  • sandbox/expressoMail1_2/MailArchiver/2.2/mobile/templates/default/pc_template.tpl

    r4200 r4778  
    9595                        <p>Projeto ExpressoLivre 2004 - 2010 :: Licen&ccedil;a de Software</p> 
    9696                        <p><a href="index.php?menuaction=mobile.ui_home.change_template&template=mini_mobile">{lang_mini_mobile}</a></p> 
    97                         <p><a href="/index.php">Versão Clássica</a></p> 
     97                        <p><a href="{url_expresso}">Versão Clássica</a></p> 
    9898                </div> 
    9999        </body> 
  • sandbox/expressoMail1_2/MailArchiver/2.2/mobile/templates/default/template.tpl

    r4149 r4778  
    1313                        <div style="position:absolute; float:left; width:50%;"> 
    1414                                <div style="position:relative; float:left;"> 
    15                                         <h1 onclick="window.location='index.php?menuaction=mobile.ui_home.index'">{global_title}</h1> 
     15                                        <h1 onclick="document.location='index.php?menuaction=mobile.ui_home.index'">{global_title}</h1> 
    1616                                </div> 
    1717                        </div> 
     
    1919                        <div style="position:relative; float:right; width:50%; margin:2px;"> 
    2020                                <div style="{style_1}"> 
    21                                         <h1 onclick="window.location='index.php?menuaction=mobile.ui_home.dicas'">Dicas</h1> 
     21                                        <h1 onclick="document.location='index.php?menuaction=mobile.ui_home.dicas'">{lang_tips}</h1> 
    2222                                </div> 
    2323                                 
    2424                                <div style="{style_2}"> 
    25                                         <h1 onclick="window.location='{href_logout}'">{lang_logout}</h1> 
     25                                        <h1 onclick="document.location='{href_logout}'">{lang_logout}</h1> 
    2626                                </div> 
    2727                        </div> 
  • sandbox/expressoMail1_2/MailArchiver/2.2/phpgwapi/inc/class.categories.inc.php

    r577 r4778  
    253253                        } 
    254254 
    255  
     255                        $this->app_name = pg_escape_string($this->app_name); 
    256256                        $sql = "SELECT".$table_column."FROM phpgw_categories WHERE (cat_appname='" . $this->app_name. "' ". 
    257257                                        ($grant_cats ? " AND".$grant_cats : "") .($global_cats ? " OR".$global_cats: ""). 
  • sandbox/expressoMail1_2/MailArchiver/2.2/setup/check_install.php

    r2 r4778  
    6363                                lang('*** Do NOT update your database via setup, as the update might be interrupted by the max_execution_time, which leaves your DB in an unrecoverable state (your data is lost) !!!') 
    6464                ), 
    65 /* not longer needed, as it gets set now on runtime (works even with safe_mode) 
    66                 'error_reporting' => array( 
    67                         'func' => 'php_ini_check', 
    68                         'value' => E_NOTICE, 
    69                         'verbose_value' => 'E_NOTICE', 
    70                         'check' => 'not set', 
    71                         'safe_mode' => 'error_reporting = E_ALL & ~E_NOTICE' 
    72                 ), 
    73 */ 
    7465                'magic_quotes_runtime' => array( 
    7566                        'func' => 'php_ini_check', 
     
    10596                        'save_mode' => 'max_execution_time = 30' 
    10697                ), 
    107 #               'mysql' => array( 
    108 #                       'func' => 'extension_check', 
    109 #                       'warning' => "<div id='setup_info'>" . lang('The %1 extension is needed, if you plan to use a %2 database.','mysql','MySQL').'</div>' 
    110 #               ), 
    11198                'ldap' => array( 
    11299                        'func' => 'extension_check', 
     
    128115                'mbstring.func_overload' => array( 
    129116                        'func' => 'php_ini_check', 
    130                         'value' => 7, 
    131                         'warning' => '<div id="setup_info">' . lang('The mbstring.func_overload = 7 is needed to fully support unicode (utf-8) or other multibyte-charsets.') . "</div>", 
    132                         'change' => extension_loaded('mbstring')  || function_exists('dl') && @dl(PHP_SHLIB_PREFIX.'mbstring.'.PHP_SHLIB_SUFFIX) ? 'mbstring.func_overload = 7' : '', 
     117                        'value' => 0, 
     118                        'warning' => '<div id="setup_info">' . lang('The mbstring.func_overload = 0 is needed to fully support unicode (utf-8) or other multibyte-charsets.') . "</div>", 
     119                        'change' => extension_loaded('mbstring')  || function_exists('dl') && @dl(PHP_SHLIB_PREFIX.'mbstring.'.PHP_SHLIB_SUFFIX) ? 'mbstring.func_overload = 0' : '', 
    133120                ), 
    134121                'imap' => array( 
     
    154141                        'is_writable' => True 
    155142                ), 
    156 #               'fudforum' => array( 
    157 #                       'func' => 'permission_check', 
    158 #                       'is_writable' => True, 
    159 #                       'only_if_exists' => True 
    160 #               ), 
    161 #               'gd' => array( 
    162 #                       'func' => 'gd_check' 
    163 #               ) 
    164143        ); 
    165144 
     
    474453                        $GLOBALS['phpgw_setup']->html->show_header(lang('Checking the Expresso Livre (eGroupWare) Installation'),False,'config',$ConfigDomain ? $ConfigDomain . '(' . @$phpgw_domain[$ConfigDomain]['db_type'] . ')' : ''); 
    475454                        echo '<h1>'.lang('Checking the Expresso Livre (eGroupWare) Installation')."</h1>\n"; 
    476                         # echo "<pre style=\"text-align: left;\">\n";; 
    477455                } 
    478456        } 
     
    492470        if ($run_by_webserver) 
    493471        { 
    494                 # echo "</pre>\n";; 
    495472 
    496473                if ($GLOBALS['phpgw_info']['setup']['stage']['header'] != 10) 
     
    519496                } 
    520497                $setup_tpl->pparse('out','T_footer'); 
    521                 //echo "</body>\n</html>\n"; 
    522498        } 
    523499?> 
Note: See TracChangeset for help on using the changeset viewer.