Dotclear


Ignore:
Timestamp:
07/31/12 15:15:32 (13 years ago)
Author:
Dsls <dsls@…>
Branch:
sexy
Message:

sexy step 3 : no more media.

Location:
inc/public
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • inc/public/lib.tpl.context.php

    r851 r852  
    318318     } 
    319319      
    320      # First post image helpers 
    321      public static function EntryFirstImageHelper($size,$class="") 
    322      { 
    323           global $core, $_ctx; 
    324            
    325           $media = new dcMedia($core); 
    326           $sizes = implode('|',array_keys($media->thumb_sizes)).'|o'; 
    327           if (!preg_match('/^'.$sizes.'$/',$size)) { 
    328                $size = 's'; 
    329           } 
    330           $p_url = $core->blog->settings->system->public_url; 
    331           $p_site = preg_replace('#^(.+?//.+?)/(.*)$#','$1',$core->blog->url); 
    332           $p_root = $core->blog->public_path; 
    333            
    334           $pattern = '(?:'.preg_quote($p_site,'/').')?'.preg_quote($p_url,'/'); 
    335           $pattern = sprintf('/<img.+?src="%s(.*?\.(?:jpg|jpeg|gif|png))"[^>]+/msu',$pattern); 
    336            
    337           $src = ''; 
    338           $alt = ''; 
    339            
    340           # We first look in post content 
    341           if ($_ctx->posts) 
    342           { 
    343                $subject = $_ctx->posts->post_excerpt_xhtml.$_ctx->posts->post_content_xhtml; 
    344                if (preg_match_all($pattern,$subject,$m) > 0) 
    345                { 
    346                     foreach ($m[1] as $i => $img) { 
    347                          if (($src = self::ContentFirstImageLookup($p_root,$img,$size)) !== false) { 
    348                               $src = $p_url.(dirname($img) != '/' ? dirname($img) : '').'/'.$src; 
    349                               if (preg_match('/alt="([^"]+)"/',$m[0][$i],$malt)) { 
    350                                    $alt = $malt[1]; 
    351                               } 
    352                               break; 
    353                          } 
    354                     } 
    355                } 
    356           } 
    357            
    358           if ($src) { 
    359                return '<img alt="'.$alt.'" src="'.$src.'" class="'.$class.'" />'; 
    360           } 
    361      } 
    362       
    363      private static function ContentFirstImageLookup($root,$img,$size) 
    364      { 
    365           global $core; 
    366            
    367           # Get base name and extension 
    368           $info = path::info($img); 
    369           $base = $info['base']; 
    370            
    371           $media = new dcMedia($core); 
    372           $sizes = implode('|',array_keys($media->thumb_sizes)); 
    373           if (preg_match('/^\.(.+)_('.$sizes.')$/',$base,$m)) { 
    374                $base = $m[1]; 
    375           } 
    376            
    377           $res = false; 
    378           if ($size != 'o' && file_exists($root.'/'.$info['dirname'].'/.'.$base.'_'.$size.'.jpg')) 
    379           { 
    380                $res = '.'.$base.'_'.$size.'.jpg'; 
    381           } 
    382           else 
    383           { 
    384                $f = $root.'/'.$info['dirname'].'/'.$base; 
    385                if (file_exists($f.'.'.$info['extension'])) { 
    386                     $res = $base.'.'.$info['extension']; 
    387                } elseif (file_exists($f.'.jpg')) { 
    388                     $res = $base.'.jpg'; 
    389                } elseif (file_exists($f.'.jpeg')) { 
    390                     $res = $base.'.jpeg'; 
    391                } elseif (file_exists($f.'.png')) { 
    392                     $res = $base.'.png'; 
    393                } elseif (file_exists($f.'.gif')) { 
    394                     $res = $base.'.gif'; 
    395                } 
    396           } 
    397            
    398           if ($res) { 
    399                return $res; 
    400           } 
    401           return false; 
    402      } 
    403320} 
    404321?> 
  • inc/public/prepend.php

    r420 r852  
    4949          ,70); 
    5050} 
    51  
    52 # Loading media 
    53 try { 
    54      $core->media = new dcMedia($core); 
    55 } catch (Exception $e) {} 
    5651 
    5752# Creating template context 
Note: See TracChangeset for help on using the changeset viewer.

Sites map