Changeset 1686

Show
Ignore:
Timestamp:
02/06/07 14:21:46 (19 months ago)
Author:
mbonetti
Message:

a couple new mobile device UA checks

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/gregarius/themes.php

    r1465 r1686  
    9999    } 
    100100    elseif (isset($_GET['theme'])) { 
    101             $theme = sanitize($_GET['theme'],RSS_SANITIZER_WORDS);    
    102     } 
    103  
    104      
    105      
     101        $theme = sanitize($_GET['theme'],RSS_SANITIZER_WORDS); 
     102    } 
     103 
     104 
     105 
    106106    // Media 
    107107    $media = getThemeMedia(); 
    108      
     108 
    109109    if( !file_exists(GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/") ) 
    110110        $theme = 'default'; 
    111111 
    112     $ret = array($theme,$media); 
     112    $ret = array($theme,$media); 
    113113    return $ret; 
    114114} 
     
    162162            $ua = $_SERVER['HTTP_USER_AGENT']; 
    163163            $ua_lwr = strtolower( $ua ); 
    164             $ret = strpos($ua, 'SonyEricsson') !== FALSE 
    165                     || strpos($ua, 'Symbian') !== FALSE 
    166                 || strpos($ua, 'Nokia') !== FALSE 
    167                 || strpos($ua, 'Mobile') !== FALSE 
    168                 || strpos($ua, 'Windows CE') !== FALSE 
    169                 || strpos($ua, 'EPOC') !== FALSE 
    170                 || strpos($ua, 'Opera Mini') !== FALSE 
    171                 || strpos($ua_lwr, 'j2me') !== FALSE 
    172                 || strpos($ua,'MIDP-') !== FALSE 
    173                 || strpos($ua, 'Netfront') !== FALSE; 
     164 
     165            $ret  = 
     166                    (strpos($ua,    'SonyEricsson') !== FALSE) 
     167                ||  (strpos($ua,    'Nokia') !== FALSE) 
     168                ||  (strpos($ua,    'MIDP') !== FALSE) 
     169                ||  (strpos($ua_lwr,'mobile') !== FALSE) 
     170                ||  (strpos($ua,    'Windows CE') !== FALSE) 
     171                ||  (strpos($ua,    'EPOC') !== FALSE) 
     172                ||  (strpos($ua,    'Opera Mini') !== FALSE) 
     173                ||  (strpos($ua,    'UP.Browser') !== FALSE) 
     174                ||  (strpos($ua_lwr,'j2me') !== FALSE) 
     175                ||  (strpos($ua,    'SGH-') !== FALSE) // Samsung 
     176                ||  (strpos($ua_lwr,'samsung') !== FALSE) 
     177                ||  (strpos($ua_lwr,'netfront') !== FALSE); 
     178 
     179 
    174180            // if none of those matched, let's have a gander at grabbing the resolution... 
    175181            if (!$ret && eregi( "([0-9]{3})x([0-9]{3})", $ua, $matches ) ) { 
     
    188194        list($theme,$media) = getActualTheme(); 
    189195    } 
    190      
     196 
    191197    $ref_obj = "theme.$theme"; 
    192198    if( $media !== null ) 
    193199        $ref_obj .= ".$media"; 
    194          
     200 
    195201    return $ref_obj; 
    196202} 
     
    234240 
    235241    $ret = array( '(use default scheme)' ); 
    236      
    237     if( file_exists( GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes" ) ) 
    238     { 
    239         if( $checkDir = opendir( GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes" ) ) { 
    240             while($file = readdir($checkDir)){ 
    241                 if($file != "." && $file != ".." && $file != ".svn"){ 
    242                    if(file_exists(GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes/" . $file) && is_dir(GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes/" . $file)){ 
    243                        if( $pretty ) 
    244                             $theme_info = getThemeInfo( "$theme/$media/schemes/$file" ); 
    245                        if( $pretty && isset( $theme_info['name'] ) && $theme_info['name'] !== '' ) 
    246                            $ret[] = str_replace( ",", "_", $theme_info['name'] ); 
    247                        else 
    248                            $ret[] = str_replace( ",", "_", $file ); 
    249                    } 
    250                 } 
    251             } 
    252         } 
    253     } 
    254      
     242 
     243    if( file_exists( GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes" ) ) { 
     244        if( $checkDir = opendir( GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes" ) ) { 
     245            while($file = readdir($checkDir)) { 
     246                if($file != "." && $file != ".." && $file != ".svn") { 
     247                    if(file_exists(GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes/" . $file) && is_dir(GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes/" . $file)) { 
     248                        if( $pretty ) 
     249                            $theme_info = getThemeInfo( "$theme/$media/schemes/$file" ); 
     250                        if( $pretty && isset( $theme_info['name'] ) && $theme_info['name'] !== '' ) 
     251                            $ret[] = str_replace( ",", "_", $theme_info['name'] ); 
     252                        else 
     253                            $ret[] = str_replace( ",", "_", $file ); 
     254                    } 
     255                } 
     256            } 
     257        } 
     258    } 
     259 
    255260    return $ret; 
    256261} 
     
    264269    $ret = getProperty(rss_theme_option_ref_obj_from_theme($theme,$media), rss_theme_config_override_option_name_mangle('rss.output.theme.scheme')); 
    265270    if( $ret === null ) 
    266         return ""; 
    267  
    268     $arr = explode(',',$ret); 
    269     $ret = ""; 
    270     $idx = array_pop($arr); 
    271     foreach (loadSchemeList( false, $theme, $media) as $i => $val) { 
    272         if ($i == $idx) { 
    273             if( $i > 0 ) { 
    274                 if( file_exists( GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes/$val" ) && is_dir( GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes/$val" ) ) { 
     271        return ""; 
     272 
     273    $arr = explode(',',$ret); 
     274    $ret = ""; 
     275    $idx = array_pop($arr); 
     276    foreach (loadSchemeList( false, $theme, $media) as $i => $val) { 
     277        if ($i == $idx) { 
     278            if( $i > 0 ) { 
     279                if( file_exists( GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes/$val" ) && is_dir( GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes/$val" ) ) { 
    275280                    foreach( glob( GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes/$val/*.css" ) as $file ) { 
    276281                        $file = substr( $file, strlen( GREGARIUS_HOME.RSS_THEME_DIR."/$theme/$media/schemes/$val/" ) ); 
     
    278283                        $ret .= "   <link rel=\"stylesheet\" type=\"text/css\" href=\"$file\" />\n"; 
    279284                    } 
    280                 } 
    281             } 
    282             break; 
    283         } 
    284     } 
    285      
    286     return $ret; 
     285                } 
     286            } 
     287            break; 
     288        } 
     289    } 
     290 
     291    return $ret; 
    287292} 
    288293