Dotclear

Changeset 1537:a3ac778e9132


Ignore:
Timestamp:
08/20/13 22:29:42 (10 years ago)
Author:
Lepeltier kévin
Branch:
ticket #1406-2
Children:
1538:b956d78197c5, 1539:e3954ad1f103
Message:

Ticket #1406 : on encapsule new dcMedia dans des try catch pour crriger plusieurs bug.

Files:
7 edited

Legend:

Unmodified
Added
Removed
  • admin/blog_pref.php

    r1179 r1537  
    111111# Image default size combo 
    112112$img_default_size_combo = array(); 
    113 $media = new dcMedia($core); 
    114 $img_default_size_combo[__('original')] = 'o'; 
    115 foreach ($media->thumb_sizes as $code => $size) { 
    116      $img_default_size_combo[__($size[2])] = $code; 
     113try { 
     114     $media = new dcMedia($core); 
     115     $img_default_size_combo[__('original')] = 'o'; 
     116     foreach ($media->thumb_sizes as $code => $size) { 
     117          $img_default_size_combo[__($size[2])] = $code; 
     118     } 
     119} catch (Exception $e) { 
     120     $core->error->add($e->getMessage()); 
    117121} 
    118122 
  • admin/post.php

    r1488 r1537  
    135135          try { 
    136136               $core->media = new dcMedia($core); 
    137           } catch (Exception $e) {} 
     137          } catch (Exception $e) { 
     138               $core->error->add($e->getMessage()); 
     139          } 
    138140     } 
    139141} 
  • admin/post_media.php

    r1179 r1537  
    2626} 
    2727 
    28 if ($post_id && $media_id && !empty($_POST['attach'])) 
    29 { 
    30      $core->media = new dcMedia($core); 
    31      $core->media->addPostMedia($post_id,$media_id); 
    32      http::redirect($core->getPostAdminURL($rs->post_type,$post_id,false)); 
    33 } 
     28try { 
     29     if ($post_id && $media_id && !empty($_POST['attach'])) 
     30     { 
     31          $core->media = new dcMedia($core); 
     32          $core->media->addPostMedia($post_id,$media_id); 
     33          http::redirect($core->getPostAdminURL($rs->post_type,$post_id,false)); 
     34     } 
    3435 
    35 try { 
    3636     $core->media = new dcMedia($core); 
    3737     $f = $core->media->getPostMedia($post_id,$media_id); 
  • admin/services.php

    r1179 r1537  
    220220          } 
    221221           
    222           $core->media = new dcMedia($core); 
    223           $file = $core->media->getFile($id); 
     222          try { 
     223               $core->media = new dcMedia($core); 
     224               $file = $core->media->getFile($id); 
     225          } catch (Exception $e) {} 
    224226           
    225227          if ($file === null || $file->type != 'application/zip' || !$file->editable) { 
  • inc/public/lib.tpl.context.php

    r1179 r1537  
    416416          global $core, $_ctx; 
    417417           
    418           $media = new dcMedia($core); 
    419           $sizes = implode('|',array_keys($media->thumb_sizes)).'|o'; 
    420           if (!preg_match('/^'.$sizes.'$/',$size)) { 
    421                $size = 's'; 
    422           } 
    423           $p_url = $core->blog->settings->system->public_url; 
    424           $p_site = preg_replace('#^(.+?//.+?)/(.*)$#','$1',$core->blog->url); 
    425           $p_root = $core->blog->public_path; 
    426            
    427           $pattern = '(?:'.preg_quote($p_site,'/').')?'.preg_quote($p_url,'/'); 
    428           $pattern = sprintf('/<img.+?src="%s(.*?\.(?:jpg|jpeg|gif|png))"[^>]+/msui',$pattern); 
    429            
    430           $src = ''; 
    431           $alt = ''; 
    432            
    433           # We first look in post content 
    434           if (!$cat_only && $_ctx->posts) 
    435           { 
    436                $subject = ($content_only ? '' : $_ctx->posts->post_excerpt_xhtml).$_ctx->posts->post_content_xhtml; 
    437                if (preg_match_all($pattern,$subject,$m) > 0) 
     418          try { 
     419               $media = new dcMedia($core); 
     420               $sizes = implode('|',array_keys($media->thumb_sizes)).'|o'; 
     421               if (!preg_match('/^'.$sizes.'$/',$size)) { 
     422                    $size = 's'; 
     423               } 
     424               $p_url = $core->blog->settings->system->public_url; 
     425               $p_site = preg_replace('#^(.+?//.+?)/(.*)$#','$1',$core->blog->url); 
     426               $p_root = $core->blog->public_path; 
     427                
     428               $pattern = '(?:'.preg_quote($p_site,'/').')?'.preg_quote($p_url,'/'); 
     429               $pattern = sprintf('/<img.+?src="%s(.*?\.(?:jpg|jpeg|gif|png))"[^>]+/msui',$pattern); 
     430                
     431               $src = ''; 
     432               $alt = ''; 
     433                
     434               # We first look in post content 
     435               if (!$cat_only && $_ctx->posts) 
    438436               { 
    439                     foreach ($m[1] as $i => $img) { 
    440                          if (($src = self::ContentFirstImageLookup($p_root,$img,$size)) !== false) { 
    441                               $dirname = str_replace('\\', '/', dirname($img));  
    442                               $src = $p_url.($dirname != '/' ? $dirname : '').'/'.$src; 
    443                               if (preg_match('/alt="([^"]+)"/',$m[0][$i],$malt)) { 
    444                                    $alt = $malt[1]; 
     437                    $subject = ($content_only ? '' : $_ctx->posts->post_excerpt_xhtml).$_ctx->posts->post_content_xhtml; 
     438                    if (preg_match_all($pattern,$subject,$m) > 0) 
     439                    { 
     440                         foreach ($m[1] as $i => $img) { 
     441                              if (($src = self::ContentFirstImageLookup($p_root,$img,$size)) !== false) { 
     442                                   $dirname = str_replace('\\', '/', dirname($img));  
     443                                   $src = $p_url.($dirname != '/' ? $dirname : '').'/'.$src; 
     444                                   if (preg_match('/alt="([^"]+)"/',$m[0][$i],$malt)) { 
     445                                        $alt = $malt[1]; 
     446                                   } 
     447                                   break; 
    445448                              } 
    446                               break; 
    447449                         } 
    448450                    } 
    449451               } 
    450           } 
    451            
    452           # No src, look in category description if available 
    453         if (!$src && $with_category && $_ctx->posts->cat_desc) 
    454         { 
    455                if (preg_match_all($pattern,$_ctx->posts->cat_desc,$m) > 0) 
    456                { 
    457                     foreach ($m[1] as $i => $img) { 
    458                          if (($src = self::ContentFirstImageLookup($p_root,$img,$size)) !== false) { 
    459                               $dirname = str_replace('\\', '/', dirname($img));  
    460                               $src = $p_url.($dirname != '/' ? $dirname : '').'/'.$src; 
    461                               if (preg_match('/alt="([^"]+)"/',$m[0][$i],$malt)) { 
    462                                    $alt = $malt[1]; 
     452                
     453               # No src, look in category description if available 
     454             if (!$src && $with_category && $_ctx->posts->cat_desc) 
     455             { 
     456                    if (preg_match_all($pattern,$_ctx->posts->cat_desc,$m) > 0) 
     457                    { 
     458                         foreach ($m[1] as $i => $img) { 
     459                              if (($src = self::ContentFirstImageLookup($p_root,$img,$size)) !== false) { 
     460                                   $dirname = str_replace('\\', '/', dirname($img));  
     461                                   $src = $p_url.($dirname != '/' ? $dirname : '').'/'.$src; 
     462                                   if (preg_match('/alt="([^"]+)"/',$m[0][$i],$malt)) { 
     463                                        $alt = $malt[1]; 
     464                                   } 
     465                                   break; 
    463466                              } 
    464                               break; 
    465467                         } 
    466                     } 
    467                }; 
    468           } 
    469            
    470           if ($src) { 
    471                if ($no_tag) { 
    472                     return $src; 
    473                } else { 
    474                     return '<img alt="'.$alt.'" src="'.$src.'" class="'.$class.'" />'; 
    475                } 
     468                    }; 
     469               } 
     470                
     471               if ($src) { 
     472                    if ($no_tag) { 
     473                         return $src; 
     474                    } else { 
     475                         return '<img alt="'.$alt.'" src="'.$src.'" class="'.$class.'" />'; 
     476                    } 
     477               } 
     478                
     479          } catch (Exception $e) { 
     480               $core->error->add($e->getMessage()); 
    476481          } 
    477482     } 
     
    485490          $base = $info['base']; 
    486491           
    487           $media = new dcMedia($core); 
    488           $sizes = implode('|',array_keys($media->thumb_sizes)); 
    489           if (preg_match('/^\.(.+)_('.$sizes.')$/',$base,$m)) { 
    490                $base = $m[1]; 
    491           } 
    492            
    493           $res = false; 
    494           if ($size != 'o' && file_exists($root.'/'.$info['dirname'].'/.'.$base.'_'.$size.'.jpg')) 
    495           { 
    496                $res = '.'.$base.'_'.$size.'.jpg'; 
    497           } 
    498           else 
    499           { 
    500                $f = $root.'/'.$info['dirname'].'/'.$base; 
    501                if (file_exists($f.'.'.$info['extension'])) { 
    502                     $res = $base.'.'.$info['extension']; 
    503                } elseif (file_exists($f.'.jpg')) { 
    504                     $res = $base.'.jpg'; 
    505                } elseif (file_exists($f.'.jpeg')) { 
    506                     $res = $base.'.jpeg'; 
    507                } elseif (file_exists($f.'.png')) { 
    508                     $res = $base.'.png'; 
    509                } elseif (file_exists($f.'.gif')) { 
    510                     $res = $base.'.gif'; 
    511                } elseif (file_exists($f.'.JPG')) { 
    512                     $res = $base.'.JPG'; 
    513                } elseif (file_exists($f.'.JPEG')) { 
    514                     $res = $base.'.JPEG'; 
    515                } elseif (file_exists($f.'.PNG')) { 
    516                     $res = $base.'.PNG'; 
    517                } elseif (file_exists($f.'.GIF')) { 
    518                     $res = $base.'.GIF'; 
    519                } 
     492          try { 
     493               $media = new dcMedia($core); 
     494               $sizes = implode('|',array_keys($media->thumb_sizes)); 
     495               if (preg_match('/^\.(.+)_('.$sizes.')$/',$base,$m)) { 
     496                    $base = $m[1]; 
     497               } 
     498                
     499               $res = false; 
     500               if ($size != 'o' && file_exists($root.'/'.$info['dirname'].'/.'.$base.'_'.$size.'.jpg')) 
     501               { 
     502                    $res = '.'.$base.'_'.$size.'.jpg'; 
     503               } 
     504               else 
     505               { 
     506                    $f = $root.'/'.$info['dirname'].'/'.$base; 
     507                    if (file_exists($f.'.'.$info['extension'])) { 
     508                         $res = $base.'.'.$info['extension']; 
     509                    } elseif (file_exists($f.'.jpg')) { 
     510                         $res = $base.'.jpg'; 
     511                    } elseif (file_exists($f.'.jpeg')) { 
     512                         $res = $base.'.jpeg'; 
     513                    } elseif (file_exists($f.'.png')) { 
     514                         $res = $base.'.png'; 
     515                    } elseif (file_exists($f.'.gif')) { 
     516                         $res = $base.'.gif'; 
     517                    } elseif (file_exists($f.'.JPG')) { 
     518                         $res = $base.'.JPG'; 
     519                    } elseif (file_exists($f.'.JPEG')) { 
     520                         $res = $base.'.JPEG'; 
     521                    } elseif (file_exists($f.'.PNG')) { 
     522                         $res = $base.'.PNG'; 
     523                    } elseif (file_exists($f.'.GIF')) { 
     524                         $res = $base.'.GIF'; 
     525                    } 
     526               } 
     527          } catch (Exception $e) { 
     528               $core->error->add($e->getMessage()); 
    520529          } 
    521530           
  • plugins/attachments/_admin.php

    r1467 r1537  
    2222          { 
    2323               $core =& $GLOBALS['core']; 
    24                $post_media = $core->media->getPostMedia($post->post_id); 
    25                echo 
    26                '<h3 class="clear">'.__('Attachments').'</h3>'; 
    27                foreach ($post_media as $f) 
    28                { 
    29                     $ftitle = $f->media_title; 
    30                     if (strlen($ftitle) > 18) { 
    31                          $ftitle = substr($ftitle,0,16).'...'; 
     24               if ( isset($core->media) ) { 
     25                    $post_media = $core->media->getPostMedia($post->post_id); 
     26                    echo 
     27                    '<h3 class="clear">'.__('Attachments').'</h3>'; 
     28                    foreach ($post_media as $f) 
     29                    { 
     30                         $ftitle = $f->media_title; 
     31                         if (strlen($ftitle) > 18) { 
     32                              $ftitle = substr($ftitle,0,16).'...'; 
     33                         } 
     34                         echo 
     35                         '<div class="media-item">'. 
     36                         '<a class="media-icon" href="media_item.php?id='.$f->media_id.'">'. 
     37                         '<img src="'.$f->media_icon.'" alt="" title="'.$f->basename.'" /></a>'. 
     38                         '<ul>'. 
     39                         '<li><a class="media-link" href="media_item.php?id='.$f->media_id.'" '. 
     40                         'title="'.$f->basename.'">'.$ftitle.'</a></li>'. 
     41                         '<li>'.$f->media_dtstr.'</li>'. 
     42                         '<li>'.files::size($f->size).' - '. 
     43                         '<a href="'.$f->file_url.'">'.__('open').'</a>'.'</li>'. 
     44                          
     45                         '<li class="media-action"><a class="attachment-remove" id="attachment-'.$f->media_id.'" '. 
     46                         'href="post_media.php?post_id='.$post->post_id.'&amp;media_id='.$f->media_id.'&amp;remove=1">'. 
     47                         '<img src="images/check-off.png" alt="'.__('remove').'" /></a>'. 
     48                         '</li>'. 
     49                          
     50                         '</ul>'. 
     51                         '</div>'; 
    3252                    } 
    33                     echo 
    34                     '<div class="media-item">'. 
    35                     '<a class="media-icon" href="media_item.php?id='.$f->media_id.'">'. 
    36                     '<img src="'.$f->media_icon.'" alt="" title="'.$f->basename.'" /></a>'. 
    37                     '<ul>'. 
    38                     '<li><a class="media-link" href="media_item.php?id='.$f->media_id.'" '. 
    39                     'title="'.$f->basename.'">'.$ftitle.'</a></li>'. 
    40                     '<li>'.$f->media_dtstr.'</li>'. 
    41                     '<li>'.files::size($f->size).' - '. 
    42                     '<a href="'.$f->file_url.'">'.__('open').'</a>'.'</li>'. 
    43                      
    44                     '<li class="media-action"><a class="attachment-remove" id="attachment-'.$f->media_id.'" '. 
    45                     'href="post_media.php?post_id='.$post->post_id.'&amp;media_id='.$f->media_id.'&amp;remove=1">'. 
    46                     '<img src="images/check-off.png" alt="'.__('remove').'" /></a>'. 
    47                     '</li>'. 
    48                      
    49                     '</ul>'. 
    50                     '</div>'; 
     53                    unset($f); 
    5154               } 
    52                unset($f); 
    5355                
    5456               if (empty($post_media)) { 
  • plugins/pages/page.php

    r1239 r1537  
    139139               $core->media = new dcMedia($core); 
    140140               $post_media = $core->media->getPostMedia($post_id); 
    141           } catch (Exception $e) {} 
     141          } catch (Exception $e) { 
     142               $core->error->add($e->getMessage()); 
     143          } 
    142144     } 
    143145} 
Note: See TracChangeset for help on using the changeset viewer.

Sites map