Dotclear


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • admin/media_item.php

    r2614 r2889  
    1717$tab = empty($_REQUEST['tab']) ? '' : $_REQUEST['tab']; 
    1818 
    19 $post_id = !empty($_GET['post_id']) ? (integer) $_GET['post_id'] : null; 
     19$post_id = !empty($_REQUEST['post_id']) ? (integer) $_REQUEST['post_id'] : null; 
    2020if ($post_id) { 
    2121     $post = $core->blog->getPosts(array('post_id'=>$post_id)); 
     
    2828 
    2929$file = null; 
    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; 
     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 
     35if ($plugin_id != '') { 
     36     $page_url_params['plugin_id'] = $plugin_id; 
     37     $media_page_url_params['plugin_id'] = $plugin_id; 
     38} 
    3339 
    3440$id = !empty($_REQUEST['id']) ? (integer) $_REQUEST['id'] : ''; 
     41 
     42if ($id != '') { 
     43     $page_url_params ['id'] = $id; 
     44} 
    3545 
    3646if ($popup) { 
     
    8393 
    8494          dcPage::addSuccessNotice(__('File has been successfully updated.')); 
    85           http::redirect($page_url.'&id='.$id); 
     95          $core->adminurl->redirect('admin.media.item',$page_url_params); 
    8696     } catch (Exception $e) { 
    8797          $core->error->add($e->getMessage()); 
     
    112122 
    113123          dcPage::addSuccessNotice(__('File has been successfully updated.')); 
    114           http::redirect($page_url.'&id='.$id.'&tab=media-details-tab'); 
     124          $page_url_params['tab'] = 'media-details-tab'; 
     125          $core->adminurl->redirect('admin.media.item',$page_url_params); 
    115126     } catch (Exception $e) { 
    116127          $core->error->add($e->getMessage()); 
     
    126137 
    127138          dcPage::addSuccessNotice(__('Thumbnails have been successfully updated.')); 
    128           http::redirect($page_url.'&id='.$id.'&tab=media-details-tab'); 
     139          $page_url_params['tab'] = 'media-details-tab'; 
     140          $core->adminurl->redirect('admin.media.item',$page_url_params); 
    129141     } catch (Exception $e) { 
    130142          $core->error->add($e->getMessage()); 
     
    139151 
    140152          dcPage::addSuccessNotice(__('Zip file has been successfully extracted.')); 
    141           http::redirect($media_page_url.'&d='.$unzip_dir); 
     153          $media_page_url_params['d'] = $unzip_dir; 
     154          $core->adminurl->redirect('admin.media',$media_page_url_params); 
    142155     } catch (Exception $e) { 
    143156          $core->error->add($e->getMessage()); 
     
    164177 
    165178     dcPage::addSuccessNotice(__('Default media insertion settings have been successfully updated.')); 
    166      http::redirect($page_url.'&id='.$id); 
     179     $core->adminurl->redirect('admin.media.item',$page_url_params); 
    167180} 
    168181 
    169182# Function to get image title based on meta 
    170 function dcGetImageTitle($file,$pattern,$dto_first=false) 
     183function dcGetImageTitle($file,$pattern,$dto_first=false,$no_date_alone=false) 
    171184{ 
    172185     $res = array(); 
    173186     $pattern = preg_split('/\s*;;\s*/',$pattern); 
    174187     $sep = ', '; 
     188     $dates = 0; 
     189     $items = 0; 
    175190 
    176191     foreach ($pattern as $v) { 
     
    179194                    $res[] = $file->media_title; 
    180195               } 
     196               $items++; 
    181197          } elseif ($file->media_meta->{$v}) { 
    182198               if ((string) $file->media_meta->{$v} != '') { 
    183199                    $res[] = (string) $file->media_meta->{$v}; 
    184200               } 
     201               $items++; 
    185202          } elseif (preg_match('/^Date\((.+?)\)$/u',$v,$m)) { 
    186203               if ($dto_first && ($file->media_meta->DateTimeOriginal != 0)) { 
     
    189206                    $res[] = dt::str($m[1],$file->media_dt); 
    190207               } 
     208               $items++; 
     209               $dates++; 
    191210          } elseif (preg_match('/^DateTimeOriginal\((.+?)\)$/u',$v,$m) && $file->media_meta->DateTimeOriginal) { 
    192211               $res[] = dt::dt2str($m[1],(string) $file->media_meta->DateTimeOriginal); 
     212               $items++; 
     213               $dates++; 
    193214          } elseif (preg_match('/^separator\((.*?)\)$/u',$v,$m)) { 
    194215               $sep = $m[1]; 
    195216          } 
     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 ''; 
    196221     } 
    197222     return implode($sep,$res); 
     
    207232     "</script>". 
    208233     dcPage::jsLoad('js/_media_item.js'); 
    209 if ($popup) { 
    210      $starting_scripts .= 
    211      $core->callBehavior('adminPopupMedia'); 
    212 } 
     234if ($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); 
    213242call_user_func($open_f,__('Media manager'), 
    214243     $starting_scripts. 
     
    218247          array( 
    219248               html::escapeHTML($core->blog->name) => '', 
    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>' => '' 
     249               __('Media manager') => $home_url, 
     250               $core->media->breadCrumb($bc_template).'<span class="page-title">'.$file->basename.'</span>' => '' 
    222251          ), 
    223252          array( 
     
    248277} 
    249278 
     279# Get major file type (first part of mime type) 
     280$file_type = explode('/',$file->type); 
     281 
    250282# Insertion popup 
    251283if ($popup) 
     
    273305          $media_desc = dcGetImageTitle($file, 
    274306               $core->blog->settings->system->media_img_title_pattern, 
    275                $core->blog->settings->system->media_img_use_dto_first); 
     307               $core->blog->settings->system->media_img_use_dto_first, 
     308               $core->blog->settings->system->media_img_no_date_alone); 
    276309          if ($media_desc == $file->basename) { 
    277310               $media_desc = ''; 
     
    323356          '</div>'; 
    324357     } 
    325      elseif ($file->type == 'audio/mpeg3') 
     358     elseif ($file_type[0] == 'audio') 
    326359     { 
    327360          $media_type = 'mp3'; 
     
    346379 
    347380          $public_player_style = unserialize($core->blog->settings->themes->mp3player_style); 
    348           $public_player = dcMedia::mp3player($file->file_url,$core->blog->getQmarkURL().'pf=player_mp3.swf',$public_player_style); 
     381          $public_player = dcMedia::audioPlayer($file->type,$file->file_url,$core->blog->getQmarkURL().'pf=player_mp3.swf',$public_player_style); 
    349382          echo form::hidden('public_player',html::escapeHTML($public_player)); 
    350383          echo '</p>'; 
    351384          echo '</div>'; 
    352385     } 
    353      elseif ($file->type == 'video/x-flv' || $file->type == 'video/mp4' || $file->type == 'video/x-m4v') 
     386     elseif ($file_type[0] == 'video') 
    354387     { 
    355388          $media_type = 'flv'; 
     
    386419 
    387420          $public_player_style = unserialize($core->blog->settings->themes->flvplayer_style); 
    388           $public_player = dcMedia::flvplayer($file->file_url,$core->blog->getQmarkURL().'pf=player_flv.swf',$public_player_style); 
     421          $public_player = dcMedia::videoPlayer($file->type,$file->file_url,$core->blog->getQmarkURL().'pf=player_flv.swf',$public_player_style); 
    389422          echo form::hidden('public_player',html::escapeHTML($public_player)); 
    390423          echo '</p>'; 
     
    412445          echo 
    413446          '<div class="border-top">'. 
    414           '<form id="save_settings" action="'.html::escapeURL($page_url).'" method="post">'. 
     447          '<form id="save_settings" action="'.$core->adminurl->getBase('admin.media.item').'" method="post">'. 
    415448          '<p>'.__('Make current settings as default').' '. 
    416449          '<input class="reset" type="submit" name="save_blog_prefs" value="'.__('OK').'" />'. 
     
    418451          form::hidden(array('pref_alignment'),''). 
    419452          form::hidden(array('pref_insertion'),''). 
    420           form::hidden(array('id'),$id). 
     453          $core->adminurl->getHiddenFormFields('admin.media.item',$page_url_params). 
    421454          $core->formNonce().'</p>'. 
    422455          '</form>'.'</div>'; 
     
    460493     { 
    461494          $strong_link = ($s == $thumb_size) ? '<strong>%s</strong>' : '%s'; 
    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>'; 
     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>'; 
    466499     echo '</p>'; 
    467500} 
    468501 
    469 if ($file->type == 'audio/mpeg3') 
    470 { 
    471      echo dcMedia::mp3player($file->file_url,'index.php?pf=player_mp3.swf'); 
    472 } 
    473  
    474 if ($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'); 
     502// Show player if relevant 
     503if ($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} 
     507if ($file_type[0] == 'video') 
     508{ 
     509     echo dcMedia::videoPlayer($file->type,$file->file_url,$core->adminurl->get("admin.home",array('pf' => 'player_flv.swf'))); 
    477510} 
    478511 
     
    489522{ 
    490523     echo 
    491      '<p><a class="button" href="'.html::escapeHTML($page_url).'&amp;id='.$id.'&amp;find_posts=1&amp;tab=media-details-tab">'. 
     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"))).'">'. 
    492525     __('Show entries containing this media').'</a></p>'; 
    493526} 
     
    584617     { 
    585618          echo 
    586           '<form class="clear fieldset" action="'.html::escapeURL($page_url).'" method="post">'. 
     619          '<form class="clear fieldset" action="'.$core->adminurl->get("admin.media.item").'" method="post">'. 
    587620          '<h4>'.__('Update thumbnails').'</h4>'. 
    588621          '<p>'.__('This will create or update thumbnails for this image.').'</p>'. 
    589622          '<p><input type="submit" name="thumbs" value="'.__('Update thumbnails').'" />'. 
    590           form::hidden(array('id'),$id). 
     623          $core->adminurl->getHiddenFormFields('admin.media',$page_url_params). 
    591624          $core->formNonce().'</p>'. 
    592625          '</form>'; 
     
    601634 
    602635          echo 
    603           '<form class="clear fieldset" id="file-unzip" action="'.html::escapeURL($page_url).'" method="post">'. 
     636          '<form class="clear fieldset" id="file-unzip" action="'.$core->adminurl->get("admin.media.item").'" method="post">'. 
    604637          '<h4>'.__('Extract archive').'</h4>'. 
    605638          '<ul>'. 
     
    612645          form::combo('inflate_mode',$inflate_combo,'new'). 
    613646          '<input type="submit" name="unzip" value="'.__('Extract').'" />'. 
    614           form::hidden(array('id'),$id). 
     647          $core->adminurl->getHiddenFormFields('admin.media',$page_url_params). 
    615648          $core->formNonce().'</p>'. 
    616649          '</form>'; 
     
    618651 
    619652     echo 
    620      '<form class="clear fieldset" action="'.html::escapeURL($page_url).'" method="post">'. 
     653     '<form class="clear fieldset" action="'.$core->adminurl->get("admin.media.item").'" method="post">'. 
    621654     '<h4>'.__('Change media properties').'</h4>'. 
    622655     '<p><label for="media_file">'.__('File name:').'</label>'. 
     
    631664     form::combo('media_path',$dirs_combo,dirname($file->relname)).'</p>'. 
    632665     '<p><input type="submit" accesskey="s" value="'.__('Save').'" />'. 
    633      form::hidden(array('id'),$id). 
     666     $core->adminurl->getHiddenFormFields('admin.media.item',$page_url_params). 
    634667     $core->formNonce().'</p>'. 
    635668     '</form>'; 
    636669 
    637670     echo 
    638      '<form class="clear fieldset" action="'.html::escapeURL($page_url).'" method="post" enctype="multipart/form-data">'. 
     671     '<form class="clear fieldset" action="'.$core->adminurl->get("admin.media.item").'" method="post" enctype="multipart/form-data">'. 
    639672     '<h4>'.__('Change file').'</h4>'. 
    640673     '<div>'.form::hidden(array('MAX_FILE_SIZE'),DC_MAX_UPLOAD_SIZE).'</div>'. 
     
    644677     '</label></p>'. 
    645678     '<p><input type="submit" value="'.__('Send').'" />'. 
    646      form::hidden(array('id'),$id). 
     679     $core->adminurl->getHiddenFormFields('admin.media',$page_url_params). 
    647680     $core->formNonce().'</p>'. 
    648681     '</form>'; 
     
    650683     if ($file->del) { 
    651684          echo 
    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).'">'. 
     685          '<form id="delete-form" method="post" action="'.$core->adminurl->getBase("admin.media").'">'. 
    655686          '<p><input name="delete" type="submit" class="delete" value="'.__('Delete this media').'" />'. 
    656687          form::hidden('remove',rawurlencode($file->basename)). 
    657688          form::hidden('rmyes',1). 
     689          $core->adminurl->getHiddenFormFields('admin.media',$media_page_url_params). 
    658690          $core->formNonce().'</p>'. 
    659691          '</form>'; 
Note: See TracChangeset for help on using the changeset viewer.

Sites map