Changeset 0d1dd7c in github


Ignore:
Timestamp:
Sep 5, 2007 3:50:05 PM (6 years ago)
Author:
thomascube <thomas@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
Children:
737b6a37
Parents:
1094cda
Message:

Fix message list selection + new pngbehavior + use strpos() instead of strstr()

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • .htaccess

    ref9641e r0d1dd7c  
    11# AddDefaultCharset     UTF-8 
     2AddType text/x-component .htc 
    23 
    34<IfModule mod_php4.c> 
  • CHANGELOG

    r3014548 r0d1dd7c  
    11CHANGELOG RoundCube Webmail 
    22--------------------------- 
     3 
     42007/09/05 (thomasb) 
     5---------- 
     6- Fix message list selection (#1484550) 
     7- Better fix lowercased usernames (#1484473) 
     8- Update pngbehavior Script as suggested in #1484490 
     9 
    310 
    4112007/08/29 (richs) 
  • program/include/main.inc

    ra664a67 r0d1dd7c  
    533533  global $CONFIG, $IMAP, $DB, $sess_user_lang; 
    534534  $user_id = NULL; 
    535   $user    = strtolower($user); // fix case: #1484473 
    536535   
    537536  if (!$host) 
     
    574573  */ 
    575574  // Check if we need to add domain 
    576   if (!empty($CONFIG['username_domain']) && !strstr($user, '@')) 
     575  if (!empty($CONFIG['username_domain']) && !strpos($user, '@')) 
    577576    { 
    578577    if (is_array($CONFIG['username_domain']) && isset($CONFIG['username_domain'][$host])) 
     
    582581    } 
    583582 
     583  // lowercase username if it's an e-mail address (#1484473) 
     584  if (strpos($user, '@')) 
     585    $user = strtolower($user); 
    584586 
    585587  // query if user already registered 
     
    599601 
    600602  // try to resolve email address from virtuser table     
    601   if (!empty($CONFIG['virtuser_file']) && strstr($user, '@')) 
     603  if (!empty($CONFIG['virtuser_file']) && strpos($user, '@')) 
    602604    $user = rcmail_email2user($user); 
    603605 
     
    672674 
    673675  // try to resolve user in virtusertable 
    674   if (!empty($CONFIG['virtuser_file']) && strstr($user, '@')==FALSE) 
     676  if (!empty($CONFIG['virtuser_file']) && !strpos($user, '@')) 
    675677    $user_email = rcmail_user2email($user); 
    676678 
     
    688690    
    689691    if ($user_email=='') 
    690       $user_email = strstr($user, '@') ? $user : sprintf('%s@%s', $user, $mail_domain); 
     692      $user_email = strpos($user, '@') ? $user : sprintf('%s@%s', $user, $mail_domain); 
    691693 
    692694    $user_name = $user!=$user_email ? $user : ''; 
  • skins/default/pngbehavior.htc

    r0cf09d1 r0d1dd7c  
    11<public:component> 
    22<public:attach event="onpropertychange" onevent="propertyChanged()" /> 
     3<public:attach event="onbeforeprint" for="window" onevent="beforePrint()" /> 
     4<public:attach event="onafterprint" for="window" onevent="afterPrint()" /> 
    35<script> 
    46 
    5 var supported = /MSIE (5\.5)|[6789]/.test(navigator.userAgent) && navigator.platform == "Win32"; 
    6 var realSrc = null; 
    7 var blankSrc = "skins/default/images/blank.gif"; 
    8  
     7/* 
     8 * PNG Behavior 
     9 * 
     10 * This script was created by Erik Arvidsson (erik(at)eae.net) 
     11 * for WebFX (http://webfx.eae.net) 
     12 * Copyright 2002 
     13 *  
     14 * For usage see license at http://webfx.eae.net/license.html    
     15 * 
     16 * Version: 1.01a 
     17 * 
     18 */ 
     19  
     20var IS_PNG = /\.png$/i; 
     21var supported = /MSIE ((5\.5)|6)/.test(navigator.userAgent) && navigator.platform == 'Win32'; 
     22var realSrc, realHeight, realWidth; 
     23var blankSrc = 'skins/default/images/blank.gif'; 
    924if (supported) fixImage(); 
    10  
    1125function propertyChanged() { 
    12    if (!supported) return; 
    13  
    14    var pName = event.propertyName; 
    15    if (pName != "src") return; 
    16    // if not set to blank 
    17    if ( ! new RegExp(blankSrc).test(src)) 
     26  if (supported && event.propertyName == 'src') { 
     27    var i = element.src.lastIndexOf(blankSrc); 
     28    if (i == -1 || i != element.src.length - blankSrc.length) { 
    1829      fixImage(); 
    19 }; 
    20  
     30    } 
     31  } 
     32} 
    2133function fixImage() { 
    22    // get src 
    23    var src = element.src; 
    24  
    25    // check for real change 
    26    if (src == realSrc) { 
     34  if (realSrc && element.src == realSrc) { 
     35    // this is an attempt to set the image to itself! 
     36    // pointless - leave the filter as-is, restore the blank image 
     37    element.src = blankSrc; 
     38  } else { 
     39    // set the image to something different 
     40    if (IS_PNG.test(element.src)) { 
     41      // fixable PNG 
     42      realSrc = element.src; 
     43      realWidth = element.width; 
     44      realHeight = element.height; 
    2745      element.src = blankSrc; 
    28       return; 
    29    } 
    30  
    31    if ( ! new RegExp(blankSrc).test(src)) { 
    32       // backup old src 
    33       realSrc = src; 
    34       element._original_src = realSrc; 
    35    } 
    36  
    37    // test for png 
    38    if ( realSrc &&  /\.png$/.test( realSrc.toLowerCase() ) ) { 
    39       // set blank image 
    40       element.src = blankSrc; 
    41       // set filter 
    42       element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + 
    43                                      src + "',sizingMethod='crop')"; 
    44    } 
    45    else { 
    46       // remove filter 
    47       element.runtimeStyle.filter = ""; 
    48    } 
     46      element.style.width = realWidth + 'px'; 
     47      element.style.height = realHeight + 'px'; 
     48      element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + encodeURI(realSrc) + "',sizingMethod='scale')"; 
     49    } else { 
     50      // ordinary image - make sure the fix is removed 
     51      if (realSrc) { 
     52        realSrc = null; 
     53        element.runtimeStyle.filter = ''; 
     54      } 
     55    } 
     56  } 
    4957} 
    50  
     58function beforePrint() { 
     59  if (realSrc) { 
     60    supported = false; 
     61    element.src = realSrc; 
     62    element.runtimeStyle.filter = ''; 
     63    supported = true; 
     64  } 
     65} 
     66function afterPrint() { 
     67  if (realSrc) { 
     68    var rs = realSrc; 
     69    realSrc = null; 
     70    element.src = rs; 
     71  } 
     72} 
    5173</script> 
    5274</public:component> 
Note: See TracChangeset for help on using the changeset viewer.