Dotclear


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • admin/media_item.php

    r2889 r2614  
    1717$tab = empty($_REQUEST['tab']) ? '' : $_REQUEST['tab']; 
    1818 
    19 $post_id = !empty($_REQUEST['post_id']) ? (integer) $_REQUEST['post_id'] : null; 
     19$post_id = !empty($_GET['post_id']) ? (integer) $_GET['post_id'] : null; 
    2020if ($post_id) { 
    2121     $post = $core->blog->getPosts(array('post_id'=>$post_id)); 
     
    2828 
    2929$file = null; 
    30 $popup = (integer) !empty($_REQUEST['popup']); 
    31 $plugin_id = isset($_REQUEST['plugin_id']) ? html::sanitizeURL($_REQUEST['plugin_id']) : ''; 
    32 $page_url_params = array('popup' => $popup,'post_id' => $post_id); 
    33 $media_page_url_params = array('popup' => $popup,'post_id' => $post_id); 
    34  
    35 if ($plugin_id != '') { 
    36      $page_url_params['plugin_id'] = $plugin_id; 
    37      $media_page_url_params['plugin_id'] = $plugin_id; 
    38 } 
     30$popup = (integer) !empty($_GET['popup']); 
     31$page_url = 'media_item.php?popup='.$popup.'&post_id='.$post_id; 
     32$media_page_url = 'media.php?popup='.$popup.'&post_id='.$post_id; 
    3933 
    4034$id = !empty($_REQUEST['id']) ? (integer) $_REQUEST['id'] : ''; 
    41  
    42 if ($id != '') { 
    43      $page_url_params ['id'] = $id; 
    44 } 
    4535 
    4636if ($popup) { 
     
    9383 
    9484          dcPage::addSuccessNotice(__('File has been successfully updated.')); 
    95           $core->adminurl->redirect('admin.media.item',$page_url_params); 
     85          http::redirect($page_url.'&id='.$id); 
    9686     } catch (Exception $e) { 
    9787          $core->error->add($e->getMessage()); 
     
    122112 
    123113          dcPage::addSuccessNotice(__('File has been successfully updated.')); 
    124           $page_url_params['tab'] = 'media-details-tab'; 
    125           $core->adminurl->redirect('admin.media.item',$page_url_params); 
     114          http::redirect($page_url.'&id='.$id.'&tab=media-details-tab'); 
    126115     } catch (Exception $e) { 
    127116          $core->error->add($e->getMessage()); 
     
    137126 
    138127          dcPage::addSuccessNotice(__('Thumbnails have been successfully updated.')); 
    139           $page_url_params['tab'] = 'media-details-tab'; 
    140           $core->adminurl->redirect('admin.media.item',$page_url_params); 
     128          http::redirect($page_url.'&id='.$id.'&tab=media-details-tab'); 
    141129     } catch (Exception $e) { 
    142130          $core->error->add($e->getMessage()); 
     
    151139 
    152140          dcPage::addSuccessNotice(__('Zip file has been successfully extracted.')); 
    153           $media_page_url_params['d'] = $unzip_dir; 
    154           $core->adminurl->redirect('admin.media',$media_page_url_params); 
     141          http::redirect($media_page_url.'&d='.$unzip_dir); 
    155142     } catch (Exception $e) { 
    156143          $core->error->add($e->getMessage()); 
     
    177164 
    178165     dcPage::addSuccessNotice(__('Default media insertion settings have been successfully updated.')); 
    179      $core->adminurl->redirect('admin.media.item',$page_url_params); 
     166     http::redirect($page_url.'&id='.$id); 
    180167} 
    181168 
    182169# Function to get image title based on meta 
    183 function dcGetImageTitle($file,$pattern,$dto_first=false,$no_date_alone=false) 
     170function dcGetImageTitle($file,$pattern,$dto_first=false) 
    184171{ 
    185172     $res = array(); 
    186173     $pattern = preg_split('/\s*;;\s*/',$pattern); 
    187174     $sep = ', '; 
    188      $dates = 0; 
    189      $items = 0; 
    190175 
    191176     foreach ($pattern as $v) { 
     
    194179                    $res[] = $file->media_title; 
    195180               } 
    196                $items++; 
    197181          } elseif ($file->media_meta->{$v}) { 
    198182               if ((string) $file->media_meta->{$v} != '') { 
    199183                    $res[] = (string) $file->media_meta->{$v}; 
    200184               } 
    201                $items++; 
    202185          } elseif (preg_match('/^Date\((.+?)\)$/u',$v,$m)) { 
    203186               if ($dto_first && ($file->media_meta->DateTimeOriginal != 0)) { 
     
    206189                    $res[] = dt::str($m[1],$file->media_dt); 
    207190               } 
    208                $items++; 
    209                $dates++; 
    210191          } elseif (preg_match('/^DateTimeOriginal\((.+?)\)$/u',$v,$m) && $file->media_meta->DateTimeOriginal) { 
    211192               $res[] = dt::dt2str($m[1],(string) $file->media_meta->DateTimeOriginal); 
    212                $items++; 
    213                $dates++; 
    214193          } elseif (preg_match('/^separator\((.*?)\)$/u',$v,$m)) { 
    215194               $sep = $m[1]; 
    216195          } 
    217      } 
    218      if ($no_date_alone && $dates == count($res) && $dates < $items) { 
    219           // On ne laisse pas les dates seules, sauf si ce sont les seuls items du pattern (hors séparateur) 
    220           return ''; 
    221196     } 
    222197     return implode($sep,$res); 
     
    232207     "</script>". 
    233208     dcPage::jsLoad('js/_media_item.js'); 
    234 if ($popup && !empty($plugin_id)) { 
    235      $starting_scripts .= $core->callBehavior('adminPopupMedia', $plugin_id); 
    236 } 
    237 $temp_params = $media_page_url_params; 
    238 $temp_params['d']='%s'; 
    239 $bc_template = $core->adminurl->get('admin.media',$temp_params,'&amp;',true); 
    240 $temp_params['d']=''; 
    241 $home_url=$core->adminurl->get('admin.media',$temp_params); 
     209if ($popup) { 
     210     $starting_scripts .= 
     211     $core->callBehavior('adminPopupMedia'); 
     212} 
    242213call_user_func($open_f,__('Media manager'), 
    243214     $starting_scripts. 
     
    247218          array( 
    248219               html::escapeHTML($core->blog->name) => '', 
    249                __('Media manager') => $home_url, 
    250                $core->media->breadCrumb($bc_template).'<span class="page-title">'.$file->basename.'</span>' => '' 
     220               __('Media manager') => html::escapeURL($media_page_url).'&amp;d=', 
     221               $core->media->breadCrumb(html::escapeURL($media_page_url).'&amp;d=%s').'<span class="page-title">'.$file->basename.'</span>' => '' 
    251222          ), 
    252223          array( 
     
    277248} 
    278249 
    279 # Get major file type (first part of mime type) 
    280 $file_type = explode('/',$file->type); 
    281  
    282250# Insertion popup 
    283251if ($popup) 
     
    305273          $media_desc = dcGetImageTitle($file, 
    306274               $core->blog->settings->system->media_img_title_pattern, 
    307                $core->blog->settings->system->media_img_use_dto_first, 
    308                $core->blog->settings->system->media_img_no_date_alone); 
     275               $core->blog->settings->system->media_img_use_dto_first); 
    309276          if ($media_desc == $file->basename) { 
    310277               $media_desc = ''; 
     
    356323          '</div>'; 
    357324     } 
    358      elseif ($file_type[0] == 'audio') 
     325     elseif ($file->type == 'audio/mpeg3') 
    359326     { 
    360327          $media_type = 'mp3'; 
     
    379346 
    380347          $public_player_style = unserialize($core->blog->settings->themes->mp3player_style); 
    381           $public_player = dcMedia::audioPlayer($file->type,$file->file_url,$core->blog->getQmarkURL().'pf=player_mp3.swf',$public_player_style); 
     348          $public_player = dcMedia::mp3player($file->file_url,$core->blog->getQmarkURL().'pf=player_mp3.swf',$public_player_style); 
    382349          echo form::hidden('public_player',html::escapeHTML($public_player)); 
    383350          echo '</p>'; 
    384351          echo '</div>'; 
    385352     } 
    386      elseif ($file_type[0] == 'video') 
     353     elseif ($file->type == 'video/x-flv' || $file->type == 'video/mp4' || $file->type == 'video/x-m4v') 
    387354     { 
    388355          $media_type = 'flv'; 
     
    419386 
    420387          $public_player_style = unserialize($core->blog->settings->themes->flvplayer_style); 
    421           $public_player = dcMedia::videoPlayer($file->type,$file->file_url,$core->blog->getQmarkURL().'pf=player_flv.swf',$public_player_style); 
     388          $public_player = dcMedia::flvplayer($file->file_url,$core->blog->getQmarkURL().'pf=player_flv.swf',$public_player_style); 
    422389          echo form::hidden('public_player',html::escapeHTML($public_player)); 
    423390          echo '</p>'; 
     
    445412          echo 
    446413          '<div class="border-top">'. 
    447           '<form id="save_settings" action="'.$core->adminurl->getBase('admin.media.item').'" method="post">'. 
     414          '<form id="save_settings" action="'.html::escapeURL($page_url).'" method="post">'. 
    448415          '<p>'.__('Make current settings as default').' '. 
    449416          '<input class="reset" type="submit" name="save_blog_prefs" value="'.__('OK').'" />'. 
     
    451418          form::hidden(array('pref_alignment'),''). 
    452419          form::hidden(array('pref_insertion'),''). 
    453           $core->adminurl->getHiddenFormFields('admin.media.item',$page_url_params). 
     420          form::hidden(array('id'),$id). 
    454421          $core->formNonce().'</p>'. 
    455422          '</form>'.'</div>'; 
     
    493460     { 
    494461          $strong_link = ($s == $thumb_size) ? '<strong>%s</strong>' : '%s'; 
    495           printf($strong_link,'<a href="'.$core->adminurl->get('admin.media.item',array_merge($page_url_params, 
    496                array("size" => $s,'tab' => 'media-details-tab'))).'">'.$core->media->thumb_sizes[$s][2].'</a> | '); 
    497      } 
    498      echo '<a href="'.$core->adminurl->get('admin.media.item',array_merge($page_url_params,array("size" => "o","tab"=>"media-details-tab"))).'">'.__('original').'</a>'; 
     462          printf($strong_link,'<a href="'.html::escapeURL($page_url). 
     463          '&amp;id='.$id.'&amp;size='.$s.'&amp;tab=media-details-tab">'.$core->media->thumb_sizes[$s][2].'</a> | '); 
     464     } 
     465     echo '<a href="'.html::escapeURL($page_url).'&amp;id='.$id.'&amp;size=o&amp;tab=media-details-tab">'.__('original').'</a>'; 
    499466     echo '</p>'; 
    500467} 
    501468 
    502 // Show player if relevant 
    503 if ($file_type[0] == 'audio') 
    504 { 
    505      echo dcMedia::audioPlayer($file->type,$file->file_url,$core->adminurl->get("admin.home",array('pf' => 'player_mp3.swf'))); 
    506 } 
    507 if ($file_type[0] == 'video') 
    508 { 
    509      echo dcMedia::videoPlayer($file->type,$file->file_url,$core->adminurl->get("admin.home",array('pf' => 'player_flv.swf'))); 
     469if ($file->type == 'audio/mpeg3') 
     470{ 
     471     echo dcMedia::mp3player($file->file_url,'index.php?pf=player_mp3.swf'); 
     472} 
     473 
     474if ($file->type == 'video/x-flv' || $file->type == 'video/mp4' || $file->type == 'video/x-m4v') 
     475{ 
     476     echo dcMedia::flvplayer($file->file_url,'index.php?pf=player_flv.swf'); 
    510477} 
    511478 
     
    522489{ 
    523490     echo 
    524      '<p><a class="button" href="'.$core->adminurl->get('admin.media.item',array_merge($page_url_params,array("find_posts"=>1,"tab"=>"media-details-tab"))).'">'. 
     491     '<p><a class="button" href="'.html::escapeHTML($page_url).'&amp;id='.$id.'&amp;find_posts=1&amp;tab=media-details-tab">'. 
    525492     __('Show entries containing this media').'</a></p>'; 
    526493} 
     
    617584     { 
    618585          echo 
    619           '<form class="clear fieldset" action="'.$core->adminurl->get("admin.media.item").'" method="post">'. 
     586          '<form class="clear fieldset" action="'.html::escapeURL($page_url).'" method="post">'. 
    620587          '<h4>'.__('Update thumbnails').'</h4>'. 
    621588          '<p>'.__('This will create or update thumbnails for this image.').'</p>'. 
    622589          '<p><input type="submit" name="thumbs" value="'.__('Update thumbnails').'" />'. 
    623           $core->adminurl->getHiddenFormFields('admin.media',$page_url_params). 
     590          form::hidden(array('id'),$id). 
    624591          $core->formNonce().'</p>'. 
    625592          '</form>'; 
     
    634601 
    635602          echo 
    636           '<form class="clear fieldset" id="file-unzip" action="'.$core->adminurl->get("admin.media.item").'" method="post">'. 
     603          '<form class="clear fieldset" id="file-unzip" action="'.html::escapeURL($page_url).'" method="post">'. 
    637604          '<h4>'.__('Extract archive').'</h4>'. 
    638605          '<ul>'. 
     
    645612          form::combo('inflate_mode',$inflate_combo,'new'). 
    646613          '<input type="submit" name="unzip" value="'.__('Extract').'" />'. 
    647           $core->adminurl->getHiddenFormFields('admin.media',$page_url_params). 
     614          form::hidden(array('id'),$id). 
    648615          $core->formNonce().'</p>'. 
    649616          '</form>'; 
     
    651618 
    652619     echo 
    653      '<form class="clear fieldset" action="'.$core->adminurl->get("admin.media.item").'" method="post">'. 
     620     '<form class="clear fieldset" action="'.html::escapeURL($page_url).'" method="post">'. 
    654621     '<h4>'.__('Change media properties').'</h4>'. 
    655622     '<p><label for="media_file">'.__('File name:').'</label>'. 
     
    664631     form::combo('media_path',$dirs_combo,dirname($file->relname)).'</p>'. 
    665632     '<p><input type="submit" accesskey="s" value="'.__('Save').'" />'. 
    666      $core->adminurl->getHiddenFormFields('admin.media.item',$page_url_params). 
     633     form::hidden(array('id'),$id). 
    667634     $core->formNonce().'</p>'. 
    668635     '</form>'; 
    669636 
    670637     echo 
    671      '<form class="clear fieldset" action="'.$core->adminurl->get("admin.media.item").'" method="post" enctype="multipart/form-data">'. 
     638     '<form class="clear fieldset" action="'.html::escapeURL($page_url).'" method="post" enctype="multipart/form-data">'. 
    672639     '<h4>'.__('Change file').'</h4>'. 
    673640     '<div>'.form::hidden(array('MAX_FILE_SIZE'),DC_MAX_UPLOAD_SIZE).'</div>'. 
     
    677644     '</label></p>'. 
    678645     '<p><input type="submit" value="'.__('Send').'" />'. 
    679      $core->adminurl->getHiddenFormFields('admin.media',$page_url_params). 
     646     form::hidden(array('id'),$id). 
    680647     $core->formNonce().'</p>'. 
    681648     '</form>'; 
     
    683650     if ($file->del) { 
    684651          echo 
    685           '<form id="delete-form" method="post" action="'.$core->adminurl->getBase("admin.media").'">'. 
     652          '<form id="delete-form" method="post" action="'.html::escapeURL($media_page_url). 
     653          '&amp;d='.rawurlencode(dirname($file->relname)). 
     654          '&amp;remove='.rawurlencode($file->basename).'">'. 
    686655          '<p><input name="delete" type="submit" class="delete" value="'.__('Delete this media').'" />'. 
    687656          form::hidden('remove',rawurlencode($file->basename)). 
    688657          form::hidden('rmyes',1). 
    689           $core->adminurl->getHiddenFormFields('admin.media',$media_page_url_params). 
    690658          $core->formNonce().'</p>'. 
    691659          '</form>'; 
Note: See TracChangeset for help on using the changeset viewer.

Sites map