Changeset 4957


Ignore:
Timestamp:
08/19/11 10:46:17 (13 years ago)
Author:
alexandrecorreia
Message:

Ticket #2083 - Corrigido para que a add de novos RSS é feito apenas pelo administrador

Location:
branches/2.2/expressoMail1_2
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/expressoMail1_2/inc/class.rss.inc.php

    r4688 r4957  
    11<?php 
     2 
     3include('../header.inc.php'); 
    24 
    35class rss 
    46{ 
    5  
    6         function rss (){ 
    7         } 
    87        // BEGIN of functions. 
    9         function getContent($param){ 
     8        function getContent($param) 
     9        { 
    1010                $daurl=$param['url']; 
     11                 
    1112                if (preg_match('/http(s)?:\/\//i',$daurl,$matches) == 0) 
    1213                        $daurl = 'http://'.$daurl; 
     
    3435        } 
    3536 
    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          
    4837        function getChannels() 
    4938        { 
    50                 include('../header.inc.php'); 
     39                $query  = "SELECT config_value FROM phpgw_config WHERE config_name = 'expressoMail_enabled_read_rss';"; 
    5140                 
    52                 $flag           = false; 
    53                 $tableQuery = "select relname from pg_stat_user_tables order by relname;"; 
    54                  
    55                 if( $GLOBALS['phpgw']->db->query( $tableQuery ) ) 
     41                if( $GLOBALS['phpgw']->db->query( $query ) ) 
    5642                { 
    5743                        while( $GLOBALS['phpgw']->db->next_record() ) 
    5844                        { 
    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                                 } 
     45                                $result = $GLOBALS['phpgw']->db->row(); 
    6846                        } 
    6947                } 
    7048                 
    71                 if( !$flag ) 
     49                if( $result['config_value'] === 'true' ) 
    7250                { 
    73                         $flag = $this->createTableRSS(); 
     51                        $query = "SELECT * FROM phpgw_config WHERE config_name = 'expressoMail_list_rss';"; 
     52                         
     53                        if( $GLOBALS['phpgw']->db->query($query) )  
     54                        { 
     55                                while( $GLOBALS['phpgw']->db->next_record() ) 
     56                                { 
     57                                        $result = $GLOBALS['phpgw']->db->row(); 
     58                                } 
     59                        } 
     60         
     61                        if( $result['config_value'] ) 
     62                        { 
     63                                $i              = 0; 
     64                                $rss    = unserialize($result['config_value']); 
     65                                 
     66                                foreach( $rss as $item ) 
     67                                { 
     68                                        $tmp = explode( "|", $item ); 
     69                                        $return[$i]['rss_url']  = $tmp[0]; 
     70                                        $return[$i++]['name']   = $tmp[1]; 
     71                                } 
     72         
     73                                return $return; 
     74                        } 
     75                        else 
     76                                return ""; 
    7477                } 
    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 ""; 
    9078        } 
    9179         
    92         function addChannel($param) 
     80        /*function addChannel($param) 
    9381        { 
    94                 include('../header.inc.php'); 
    95                 $name = $GLOBALS['phpgw']->db->db_addslashes(htmlentities($param['name'])); 
    96                 $url = $GLOBALS['phpgw']->db->db_addslashes($param['url']); 
    97                 $GLOBALS['phpgw']->db->query('INSERT INTO phpgw_userrss values('.$_SESSION['phpgw_session']['account_id'].',\''.$url.'\',\''.$name.'\');',__LINE__,__FILE__); 
     82 
     83                $name   = $GLOBALS['phpgw']->db->db_addslashes(htmlentities($param['name'])); 
     84                $url    = $GLOBALS['phpgw']->db->db_addslashes($param['url']); 
     85                $query  = 'INSERT INTO phpgw_userrss values('.$_SESSION['phpgw_session']['account_id'].',\''.$url.'\',\''.$name.'\');'; 
     86                 
     87                error_log( print_r( $query, true ), 3, "/tmp/log" ); 
     88                 
     89                $GLOBALS['phpgw']->db->query( $query ,__LINE__,__FILE__ ); 
    9890                if ($GLOBALS['phpgw']->db->Error) 
    99                             return "Error"; 
     91                        return "Error"; 
    10092                else 
    101                             return "Success"; 
     93                        return "Success"; 
    10294 
    10395        } 
     
    10597        function removeChannel($param) 
    10698        { 
    107                 include('../header.inc.php'); 
    10899                $url = $GLOBALS['phpgw']->db->db_addslashes($param['url']); 
    109100                $GLOBALS['phpgw']->db->query('DELETE FROM phpgw_userrss where rss_url = \''.$url.'\';',__LINE__,__FILE__); 
     
    112103                else 
    113104                            return "Success"; 
    114         } 
     105        }*/ 
    115106 
    116107} 
  • branches/2.2/expressoMail1_2/inc/hook_admin.inc.php

    r1040 r4957  
    2626        $file = Array( 
    2727                'Site Configuration' => $GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiconfig.index&appname=' . $appname), 
     28                'RSS Reader' => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoMail1_2.uiconfigRSS.editRss') 
    2829        ); 
     30         
    2931//Do not modify below this line 
    3032        display_section($appname,$title,$file); 
  • branches/2.2/expressoMail1_2/js/abas.js

    r4952 r4957  
    3434        if (spanD) 
    3535                spanD.style.display = (openTab.type[ID] == 0 ? '' : 'none'); 
    36  
     36         
     37        if( document.getElementById('divScrollMain_0') != null ) 
     38        { 
     39                var _RSS = document.getElementById('divScrollMain_0'); 
     40        }        
     41         
    3742        var footer_menu = Element("footer_menu");        
    3843        if (footer_menu) { 
    39                 footer_menu.style.display = (openTab.type[ID] != 4 ? '' : 'none'); 
    40                  
     44 
     45                var attrRSS = _RSS.getAttribute("rss"); 
     46                 
     47                if( attrRSS == "rss" ) 
     48                { 
     49                        footer_menu.style.display = "none";      
     50                } 
     51                else 
     52                { 
     53                        footer_menu.style.display = (openTab.type[ID] != 4 ? '' : 'none'); 
     54                } 
     55                                 
    4156                var options_search = Element('span_options'); 
    4257                if (options_search){ 
     
    337352                } 
    338353        if(j == 1) 
    339                 Element("footer_menu").style.display = ''; 
     354        {        
     355                if( document.getElementById('divScrollMain_0') != null ) 
     356                { 
     357                        var _RSS = document.getElementById('divScrollMain_0'); 
     358                }        
     359                 
     360                var attrRSS = _RSS.getAttribute("rss"); 
     361                 
     362                if( attrRSS == "rss" ) 
     363                { 
     364                        Element("footer_menu").style.display = 'none';                   
     365                } 
     366                else 
     367                { 
     368                        Element("footer_menu").style.display = ''; 
     369                }                
     370        } 
     371         
    340372        BordersArray = new_BordersArray; 
    341373 
  • branches/2.2/expressoMail1_2/js/doiMenuData.js

    r4684 r4957  
    1010        if (!expresso_offline) 
    1111        { 
    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                 } 
     12                var itens = new Array(  "preferences_mail()|" + get_lang("Preferences") + "|preferences.png", 
     13                                "search_emails(\"\")|" + get_lang("Search") + "|search.png", 
     14                                "filterbox()|" + get_lang("Edit filters") + "|filters.png", 
     15                                "folderbox()|" + get_lang("Edit folders") + "|editfolders.png", 
     16                                "sharebox()|" + get_lang("Share mailbox") + "|usersfolders.png", 
     17                                "empty_trash_imap()|" + get_lang("Empty trash") + "|trash.png"); 
    3218                 
    3319                if(preferences.use_local_messages==1) 
  • branches/2.2/expressoMail1_2/js/draw_api.js

    r4688 r4957  
    115115        else{ 
    116116                if (!expresso_offline) 
    117                 { 
     117                { 
    118118                    tree_folders = new dFTree({name: 'tree_folders'}); 
    119119 
     
    159159                } 
    160160 
    161                 var handlerChannel = function(data) 
     161       var handlerChannel = function(data) 
     162       { 
     163            
     164                if ( data == null || typeof(data) == 'string') 
     165                {     
     166                        return false; 
     167                } 
     168 
     169                var nodeParent  = document.getElementById('content_folders'); 
     170                var treeRss     = new dFTree({name: 'treeRss'}); 
     171                var root_rss    = new dNode({id:'news_root', caption: get_lang("News")}); 
     172                     
     173                treeRss.add(root_rss,'anything'); 
     174 
     175                for( i=0; i < data.length; i++ ) 
    162176                { 
    163  
    164                         if ( data == null || typeof(data) == 'string') 
    165                     {     
    166                                 return false; 
    167                     } 
    168  
    169                     var nodeParent  = document.getElementById('content_folders'); 
    170                     var treeRss     = new dFTree({name: 'treeRss'}); 
    171                     var root_rss    = new dNode({id:'news_root', caption: get_lang("News")}); 
    172                      
    173                     treeRss.add(root_rss,'anything'); 
    174  
    175                     for( i=0; i < data.length; i++ ) 
     177                    var nodeNews = new dNode( 
    176178                    { 
    177                         var nodeNews = new dNode( 
    178                         { 
    179179                            id: "NEWS/"+data[i].name, 
    180180                            caption: data[i].name, 
    181181                            onClick: "open_rss('"+data[i].rss_url+"')", 
    182182                            plusSign: 0 
    183                         }); 
    184                         treeRss.add(nodeNews,"news_root"); 
    185                     } 
     183                     }); 
     184                     treeRss.add(nodeNews,"news_root"); 
     185                } 
    186186                     
    187                     treeRss.draw( nodeParent ); 
     187                treeRss.draw( nodeParent ); 
    188188                     
    189                     with ( document.getElementById('lnews_roottreeRss') ) 
    190                     { 
    191                         style.backgroundImage   = "url(templates/"+template+"/images/menu/rss.png)"; 
    192                         style.marginLeft        = "2px"; 
    193                     } 
    194  
    195                     if( nodeParent.firstChild.id != ("dftree_" + treeRss.name ) ) 
    196                     { 
    197                         var _folder     = Element(nodeParent.firstChild.id); 
    198                         var _rssNews    = Element("dftree_" + treeRss.name ); 
     189                with ( document.getElementById('lnews_roottreeRss') ) 
     190                { 
     191                     style.backgroundImage   = "url(templates/"+template+"/images/menu/rss.png)"; 
     192                     style.marginLeft        = "2px"; 
     193                } 
     194 
     195                if( nodeParent.firstChild.id != ("dftree_" + treeRss.name ) ) 
     196                { 
     197                     var _folder     = Element(nodeParent.firstChild.id); 
     198                     var _rssNews    = Element("dftree_" + treeRss.name ); 
    199199                         
    200                         nodeParent.insertBefore( _rssNews, _folder ); 
    201                     } 
     200                     nodeParent.insertBefore( _rssNews, _folder ); 
     201                } 
    202202                     
    203                 } 
    204                  
    205        if( eval(enabledReadRSS ) == true )  
    206            cExecute('$this.rss.getChannels',handlerChannel); 
    207  
     203           } 
     204        
     205       if( eval(enabledReadRSS ) == true ) 
     206       {         
     207           setTimeout(function() 
     208           { 
     209             cExecute('$this.rss.getChannels',handlerChannel); 
     210           }, 2000); 
     211       } 
     212        
    208213                /** 
    209                  * Pastas locais 
    210                  */ 
     214                * Pastas locais 
     215                */ 
    211216                if (preferences.use_local_messages==1 || expresso_offline) { 
    212217                        if (!window.google || !google.gears) { 
  • branches/2.2/expressoMail1_2/js/news_edit.js

    r4684 r4957  
    99cnews_edit.prototype.read_rss = function(val) 
    1010{ 
    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      
     11    document.getElementById("border_id_0").innerHTML    = get_lang('News')+'&nbsp;&nbsp;<font face="Verdana" size="1" color="#505050">[ <span id="tot_m"></span> ]</font>'; 
     12 
    1313    current_folder = "NEWS/"+val; 
    1414    openTab.imapBox[0] = "NEWS/"+val; 
     
    2323        'lang_size'     : get_lang('size') 
    2424    }; 
    25      
     25 
     26    // Div 
    2627    var _div = document.getElementById("content_id_0"); 
    2728        _div.innerHTML = this.xtools.parse( this.rssXml, 'stylesheet/news_read.xsl' , langs ); 
    2829     
     30    resizeWindow();     
     31 
     32    var footerMenu = document.getElementById("footer_menu"); 
     33 
     34    // footer Menu; 
     35    if( footerMenu ) 
     36    { 
     37                footerMenu.style.display = "none"; 
     38    } 
     39         
    2940    update_menu(); 
    30     var box = Element("tbody_box"); 
     41     
     42    var box = document.getElementById("tbody_box"); 
    3143     
    3244    if(box.childNodes.length > 1) 
     
    4153    } 
    4254     
    43     Element("tot_m").innerHTML = box.childNodes.length - 1 ; 
     55    document.getElementById("tot_m").innerHTML = box.childNodes.length - 1 ; 
    4456} 
    4557 
     
    5567    } 
    5668     
    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) 
     69    var title   = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('title')[0].firstChild.nodeValue; 
     70    var pubDate = this.dateString(this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('pubDate')[0].firstChild.nodeValue); 
     71    var link    = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('link')[0].firstChild.nodeValue; 
     72    var owner   = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('owner')[0]; 
     73     
     74    if ( currentTab.toString().indexOf('news_') != -1 ) 
    6275        delete_border(currentTab); 
    63     var border_id = create_border(title, 'news_'+item_number); 
     76     
     77    var border_id = create_border(title, 'news_'+item_number, "RSS" ); 
     78     
    6479    if(!border_id) 
    6580        return false; 
     
    6883 
    6984    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>'+ 
     85                      "<table class='table_message' style='width:100%;'><tr><td>"+pubDate+"</td>"+ 
     86                      "<td width='30%' align='left'></td>"+ 
     87                      "<td nowrap='true' width='30%' align='right'><a target='_blank' href='"+link+"' style class='message_options'>"+get_lang("Complete news")+"</a>"; 
     88     
     89     
     90    toolbarCode +=  '<td nowrap="true" width="40px" align="right">'+ 
     91                            ( item_number == 1 ?  '<img style="cursor: default;" src="./templates/default/images/up.gray.button.png">' : 
     92                                '<img onclick="news_edit.read_item('+(parseInt(item_number)-1)+')" style="cursor: default;" src="./templates/default/images/up.button.png">')+ 
     93                                '<span>&nbsp;</span>'+ 
    8094    (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">')+ 
     95    '<img onclick="news_edit.read_item('+(parseInt(item_number)+1)+')" style="cursor: pointer;" src="./templates/default/images/down.button.png">')+ 
    8296    "</td></tr></table><h2>"+title+"</h2><br>"+description+"</div>"; 
    83     Element('content_id_'+border_id).innerHTML = toolbarCode; 
     97     
     98    document.getElementById('content_id_'+border_id).innerHTML = toolbarCode; 
     99     
    84100    resizeWindow(); 
     101     
     102    var footerMenu = document.getElementById("footer_menu"); 
     103 
     104    // footer Menu; 
     105    if( footerMenu ) 
     106    { 
     107                footerMenu.style.display = "none"; 
     108    } 
    85109} 
    86110 
     
    99123} 
    100124 
    101 cnews_edit.prototype.makeWindow = function(options) 
    102 { 
    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  
    144 cnews_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 } 
     125cnews_edit.prototype.trim = function(inputString) 
     126{ 
     127        if (typeof inputString != "string") 
     128                return inputString; 
     129         
     130        var retValue = inputString; 
     131        var ch = retValue.substring(0, 1); 
     132         
     133        while (ch == " ") 
     134        { 
     135                retValue = retValue.substring(1, retValue.length); 
     136                ch = retValue.substring(0, 1); 
     137        } 
     138                ch = retValue.substring(retValue.length-1, retValue.length); 
     139         
     140        while ( ch == " ") 
     141        { 
     142                retValue = retValue.substring(0, retValue.length-1); 
     143                ch = retValue.substring(retValue.length-1, retValue.length); 
     144        } 
     145         
     146        while (retValue.indexOf("  ") != -1)  
     147        { 
     148                retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); 
     149        } 
     150         
     151        return retValue; 
     152} 
     153 
     154 
    195155cnews_edit.prototype.unsubscribe = function(url,el) 
    196156{ 
    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 } 
     157        var _select = document.getElementById("list_rss"); 
     158         
     159        for( var i = 0 ; i < _select.options.length; i++ ) 
     160        { 
     161                if( _select.options[i].selected == true ) 
     162                { 
     163                        _select.removeChild(_select.options[i]); 
     164                        i--; 
     165                } 
     166        } 
     167} 
     168 
    214169cnews_edit.prototype.subscribe = function() 
    215170{ 
    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  
     171        var _select = document.getElementById("list_rss"); 
     172         
     173    var _rssUrl = this.trim( document.getElementById('rssEnter').value ); 
     174 
     175    if( _rssUrl != "" ) 
     176    { 
     177        var _lang = document.getElementById('lang_can_not_access_this_rss').value 
     178         
     179        try 
     180        { 
     181                this.rssXml = this.xtools.load('expressoMail1_2/controller.php?action=$this.rss.getContent&url='+escape(_rssUrl)); 
     182                 
     183                title = this.rssXml.getElementsByTagName("title"); 
     184         
     185                if( title.length > 0 && this.trim(title[0].childNodes[0].nodeValue) != "" ) 
     186                { 
     187                        var flag = false; 
     188                         
     189                        for( var i = 0; i < _select.options.length; i++ ) 
     190                        { 
     191                                if( this.trim( _select.options[i].value ) == this.trim( _rssUrl ) ) 
     192                                { 
     193                                        flag = true; 
     194                                } 
     195                        } 
     196                         
     197                        if( !flag ) 
     198                        { 
     199                                var _value = _rssUrl + "|" + title[0].childNodes[0].nodeValue; 
     200                                _select.options[_select.length] = new Option( title[0].childNodes[0].nodeValue, _value , false, true ); 
     201                        } 
     202                         
     203                        document.getElementById('rssEnter').value = ""; 
     204                } 
     205                else 
     206                { 
     207                        alert( _lang + "!!" ); 
     208                } 
     209        } 
     210        catch(e) 
     211        { 
     212                alert( _lang + "!!" ); 
     213        } 
     214    } 
    258215}; 
    259216 
  • branches/2.2/expressoMail1_2/setup/phpgw_pt-br.lang

    r4922 r4957  
    1111Access right    expressoMail1_2 pt-br   Direitos de acesso 
    1212Action  expressoMail1_2 pt-br   Ação 
     13Add     expressoMail1_2 pt-br   Adicionar 
    1314Add BCC expressoMail1_2 pt-br   Adicionar CCo 
    1415Add CC  expressoMail1_2 pt-br   Adicionar CC 
     
    6162Call to Mobile Number   expressoMail1_2 pt-br   Discar para Telefone Celular 
    6263cancel  expressoMail1_2 pt-br   Cancelar 
     64Can not access this RSS expressoMail1_2 pt-br   Não é possível acessar este RSS 
    6365cannot create folder. try other folder name     expressoMail1_2 pt-br   Erro ao criar a pasta. Certifique-se de que não tentou criá-la com um nome que contém a palavra \"local_\" ou que possui algum caractere especial. 
    6466cannot rename folder. try other folder name     expressoMail1_2 pt-br   Impossível renomear pasta, tente outro nome. 
     
    148150Enable Quick Reply      expressoMail1_2 pt-br   Responder rápido (com histórico e ao remetente) 
    149151Enable this option if you want to read the next message everytime you delete a message  expressoMail1_2 pt-br   Habilite esta opção se você quiser ler a mensagem seguinte sempre que você apagar uma mensagem 
     152Enable RSS reader       expressoMail1_2 pt-br   Habilitar leitor de RSS 
    150153Enabling this options you will be able to store messages in your local computer expressoMail1_2 pt-br   Ao ativar esta opção você será capaz de armazenar mensagens no seu computador local 
    151154End of archive messages expressoMail1_2 pt-br   Fim do arquivamento de mensagens 
     
    154157Enter the name of the new folder:       expressoMail1_2 pt-br   Insira o nome da nova pasta:  
    155158Enter with link URL:    expressoMail1_2 pt-br   Entre com a URL do link: 
     159Enter the URL of the RSS service        expressoMail1_2 pt-br   Digite a URL do serviço RSS 
    156160Erase Folder    expressoMail1_2 pt-br   Apagar Pasta 
    157161Erase the message       expressoMail1_2 pt-br   Apague a mensagem 
     
    423427Rows    expressoMail1_2 pt-br   Linhas 
    424428Rule    expressoMail1_2 pt-br   Regra 
     429RSS Reader      common  pt-br   Leitor de RSS 
     430RSS Manager     expressoMail1_2 pt-br   Gerenciador de RSS 
    425431Saturday        expressoMail1_2 pt-br   Sábado 
    426432Save as Draft   expressoMail1_2 pt-br   Salvar como Rascunho 
     
    654660Valid Until     expressoMail1_2 en      Valido ate 
    655661Serial Number   expressoMail1_2 en      Numero de serie 
    656 Automaticaly create Default local folders?      expressoMail1_2 pt-br   Criar automaticamente pastas locais padrão? 
     662Automaticaly create Default local folders?      expressoMail1_2 pt-br   Criar automáticamente pastas locais padrão? 
    657663Enable this option if you want to automaticaly create the Inbox, Draft, Trash and Sent folders  expressoMail1_2 pt-br   Ative essa opção para que as pastas Caixa de entrada, Lixeira, Enviada e Rascunhos sejam criadas automáticamente no arquivamento local. 
    658664View extended information about users?  expressoMail1_2 pt-br   Ver informações extendidas nas buscas por usuários? 
  • branches/2.2/expressoMail1_2/setup/tables_current.inc.php

    r4688 r4957  
    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() 
    4635                ) 
    4736        ); 
  • branches/2.2/expressoMail1_2/templates/default/config.tpl

    r4684 r4957  
    147147       </td> 
    148148   </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> 
    165149<!-- END body --> 
    166150<!-- BEGIN footer --> 
Note: See TracChangeset for help on using the changeset viewer.