Changeset 5c6d1ac in github


Ignore:
Timestamp:
May 12, 2012 10:47:51 AM (13 months ago)
Author:
Thomas Bruederli <bruederli@…>
Branches:
release-0.8
Children:
b3da048
Parents:
568e26c (diff), 02cf44e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'release-0.8' of github.com:roundcube/roundcubemail into release-0.8

Files:
9 edited

Legend:

Unmodified
Added
Removed
  • .htaccess

    r57d15d50 r82e1bd2  
    3131RewriteRule ^favicon\.ico$ skins/default/images/favicon.ico 
    3232# security rules 
    33 RewriteRule .svn/ - [F] 
     33RewriteRule .git/ - [F] 
    3434RewriteRule ^README|INSTALL|LICENSE|SQL|bin|CHANGELOG$ - [F] 
    3535</IfModule> 
  • CHANGELOG

    raca50c1 r02cf44e  
    22=========================== 
    33 
     4- Fix handling of "usemap" attribute (#1488472) 
     5- Fix handling of some HTML tags e.g. IMG (#1488471) 
     6- Use similar language as a fallback for plugin localization (#1488401) 
    47- Fix issue where signature wasn't re-added on draft compose (#1488322) 
    58- Update to TinyMCE 3.5 (#1488459) 
  • README.md

    rce81074 rdac31dd  
    66ATTENTION 
    77--------- 
    8 This is just a snapshot of the current SVN repository and is **NOT A STABLE 
     8This is just a snapshot from the GIT repository and is **NOT A STABLE 
    99version of Roundcube**. It's not recommended to replace an existing installation 
    1010of Roundcube with this version. Also using a separate database for this 
  • program/include/rcmail.php

    ra9c1b87 r71ced07  
    11681168 
    11691169      // include user language files 
    1170       if ($lang != 'en' && is_dir(INSTALL_PATH . 'program/localization/' . $lang)) { 
     1170      if ($lang != 'en' && $lang != 'en_US' && is_dir(INSTALL_PATH . 'program/localization/' . $lang)) { 
    11711171        include_once(INSTALL_PATH . 'program/localization/' . $lang . '/labels.inc'); 
    11721172        include_once(INSTALL_PATH . 'program/localization/' . $lang . '/messages.inc'); 
  • program/include/rcube_plugin.php

    r479af905 r71ced07  
    153153  { 
    154154    $domain = $this->ID; 
    155  
    156     $lang = $_SESSION['language']; 
     155    $lang   = $_SESSION['language']; 
     156    $langs  = array_unique(array('en_US', $lang)); 
    157157    $locdir = slashify(realpath(slashify($this->home) . $dir)); 
    158     $texts = array(); 
     158    $texts  = array(); 
     159 
     160    // Language aliases used to find localization in similar lang, see below 
     161    $aliases = array( 
     162        'de_CH' => 'de_DE', 
     163        'es_AR' => 'es_ES', 
     164        'fa_AF' => 'fa_IR', 
     165        'nl_BE' => 'nl_NL', 
     166        'pt_BR' => 'pt_PT', 
     167        'zh_CN' => 'zh_TW', 
     168    ); 
    159169 
    160170    // use buffering to handle empty lines/spaces after closing PHP tag 
    161171    ob_start(); 
    162172 
    163     foreach (array('en_US', $lang) as $lng) { 
     173    foreach ($langs as $lng) { 
    164174      $fpath = $locdir . $lng . '.inc'; 
    165175      if (is_file($fpath) && is_readable($fpath)) { 
    166         include($fpath); 
     176        include $fpath; 
    167177        $texts = (array)$labels + (array)$messages + (array)$texts; 
     178      } 
     179      else if ($lng != 'en_US') { 
     180        // Find localization in similar language (#1488401) 
     181        $alias = null; 
     182        if (!empty($aliases[$lng])) { 
     183          $alias = $aliases[$lng]; 
     184        } 
     185        else if ($key = array_search($lng, $aliases)) { 
     186          $alias = $key; 
     187        } 
     188 
     189        if (!empty($alias)) { 
     190          $fpath = $locdir . $alias . '.inc'; 
     191          if (is_file($fpath) && is_readable($fpath)) { 
     192            include $fpath; 
     193            $texts = (array)$labels + (array)$messages + (array)$texts; 
     194          } 
     195        } 
    168196      } 
    169197    } 
  • program/js/app.js

    rdcaab6b r951c9b3a  
    767767      case 'always-load': 
    768768        if (this.env.uid && this.env.sender) { 
    769           this.add_contact(urlencode(this.env.sender)); 
     769          this.add_contact(this.env.sender); 
    770770          setTimeout(function(){ ref.command('load-images'); }, 300); 
    771771          break; 
     
    35283528  { 
    35293529    if (value) 
    3530       this.http_post('addcontact', '_address='+value); 
     3530      this.http_post('addcontact', {_address: value}); 
    35313531 
    35323532    return true; 
  • program/lib/washtml.php

    rf38dfc29 r02cf44e  
    102102    'bordercolordark', 'face', 'marginwidth', 'marginheight', 'axis', 'border', 
    103103    'abbr', 'char', 'charoff', 'clear', 'compact', 'coords', 'vspace', 'hspace', 
    104     'cellborder', 'size', 'lang', 'dir', 
     104    'cellborder', 'size', 'lang', 'dir', 'usemap', 
    105105    // attributes of form elements 
    106106    'type', 'rows', 'cols', 'disabled', 'readonly', 'checked', 'multiple', 'value' 
     
    109109  /* Block elements which could be empty but cannot be returned in short form (<tag />) */ 
    110110  static $block_elements = array('div', 'p', 'pre', 'blockquote', 'a', 'font', 'center', 
    111     'table', 'ul', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ol', 'dl', 'strong', 'i', 'b', 'u'); 
     111    'table', 'ul', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ol', 'dl', 'strong', 'i', 'b', 'u', 'span'); 
    112112 
    113113  /* State for linked objects in HTML */ 
     
    134134 
    135135  /* Constructor */ 
    136   public function __construct($p = array()) { 
     136  public function __construct($p = array()) 
     137  { 
    137138    $this->_html_elements = array_flip((array)$p['html_elements']) + array_flip(self::$html_elements) ; 
    138139    $this->_html_attribs = array_flip((array)$p['html_attribs']) + array_flip(self::$html_attribs); 
     
    150151 
    151152  /* Check CSS style */ 
    152   private function wash_style($style) { 
     153  private function wash_style($style) 
     154  { 
    153155    $s = ''; 
    154156 
     
    192194 
    193195  /* Take a node and return allowed attributes and check values */ 
    194   private function wash_attribs($node) { 
     196  private function wash_attribs($node) 
     197  { 
    195198    $t = ''; 
    196199    $washed; 
     
    232235   * It output only allowed tags with allowed attributes 
    233236   * and allowed inline styles */ 
    234   private function dumpHtml($node) { 
     237  private function dumpHtml($node) 
     238  { 
    235239    if(!$node->hasChildNodes()) 
    236240      return ''; 
     
    249253          $content = $this->dumpHtml($node); 
    250254          $dump .= '<' . $tagName . $this->wash_attribs($node) . 
    251             // create closing tag for block elements, but also for elements 
    252             // with content or with some attributes (eg. style, class) (#1486812) 
    253             ($content != '' || $node->hasAttributes() || isset($this->_block_elements[$tagName]) ? ">$content</$tagName>" : ' />'); 
     255            ($content != '' || isset($this->_block_elements[$tagName]) ? ">$content</$tagName>" : ' />'); 
    254256        } 
    255257        else if (isset($this->_ignore_elements[$tagName])) { 
     
    311313 
    312314} 
    313  
    314 ?> 
  • program/steps/addressbook/func.inc

    r373e3df r8253e7d  
    594594                        $template = $RCMAIL->config->get($col . '_template', '{'.join('} {', array_keys($colprop['childs'])).'}'); 
    595595                        foreach ($colprop['childs'] as $childcol => $cp) { 
    596                             $childvalue = $val[$childcol] ? $val[$childcol] : $val[$j]; 
     596                            if (!empty($val) && is_array($val)) { 
     597                                $childvalue = $val[$childcol] ? $val[$childcol] : $val[$j]; 
     598                            } 
     599                            else { 
     600                                $childvalue = ''; 
     601                            } 
    597602 
    598603                            if ($edit_mode) { 
  • program/steps/mail/func.inc

    rf4698cb r951c9b3a  
    13311331        $address = html::span(null, $address . html::a(array( 
    13321332            'href' => "#add", 
    1333             'onclick' => sprintf("return %s.command('add-contact','%s',this)", JS_OBJECT_NAME, urlencode($string)), 
     1333            'onclick' => sprintf("return %s.command('add-contact','%s',this)", JS_OBJECT_NAME, $string), 
    13341334            'title' => rcube_label('addtoaddressbook'), 
    13351335            'class' => 'rcmaddcontact', 
Note: See TracChangeset for help on using the changeset viewer.