Changeset 852:969647a6c35e for inc/public
- Timestamp:
- 07/31/12 15:15:32 (13 years ago)
- Branch:
- sexy
- Location:
- inc/public
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
inc/public/lib.tpl.context.php
r851 r852 318 318 } 319 319 320 # First post image helpers321 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 content341 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 extension368 $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 else383 {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 }403 320 } 404 321 ?> -
inc/public/prepend.php
r420 r852 49 49 ,70); 50 50 } 51 52 # Loading media53 try {54 $core->media = new dcMedia($core);55 } catch (Exception $e) {}56 51 57 52 # Creating template context
Note: See TracChangeset
for help on using the changeset viewer.