Dotclear


Ignore:
Timestamp:
01/31/18 12:11:05 (8 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

PHP 7.2 compliance (deprecated create_function() replaced by closure)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • admin/media_item.php

    r3446 r3691  
    1111# -- END LICENSE BLOCK ----------------------------------------- 
    1212 
    13 require dirname(__FILE__).'/../inc/admin/prepend.php'; 
     13require dirname(__FILE__) . '/../inc/admin/prepend.php'; 
    1414 
    1515dcPage::check('media,media_admin'); 
     
    1919$post_id = !empty($_REQUEST['post_id']) ? (integer) $_REQUEST['post_id'] : null; 
    2020if ($post_id) { 
    21      $post = $core->blog->getPosts(array('post_id'=>$post_id)); 
    22      if ($post->isEmpty()) { 
    23           $post_id = null; 
    24      } 
    25      $post_title = $post->post_title; 
    26      unset($post); 
     21    $post = $core->blog->getPosts(array('post_id' => $post_id)); 
     22    if ($post->isEmpty()) { 
     23        $post_id = null; 
     24    } 
     25    $post_title = $post->post_title; 
     26    unset($post); 
    2727} 
    2828 
     
    3030$link_type = !empty($_REQUEST['link_type']) ? $_REQUEST['link_type'] : null; 
    3131 
    32 $file = null; 
    33 $popup = (integer) !empty($_REQUEST['popup']); 
    34 $select = !empty($_REQUEST['select']) ? (integer)$_REQUEST['select'] : 0;  // 0 : none, 1 : single media, >1 : multiple medias 
    35 $plugin_id = isset($_REQUEST['plugin_id']) ? html::sanitizeURL($_REQUEST['plugin_id']) : ''; 
    36 $page_url_params = array('popup' => $popup,'select' => $select,'post_id' => $post_id); 
    37 $media_page_url_params = array('popup' => $popup,'select' => $select,'post_id' => $post_id,'link_type' => $link_type); 
     32$file                  = null; 
     33$popup                 = (integer) !empty($_REQUEST['popup']); 
     34$select                = !empty($_REQUEST['select']) ? (integer) $_REQUEST['select'] : 0; // 0 : none, 1 : single media, >1 : multiple medias 
     35$plugin_id             = isset($_REQUEST['plugin_id']) ? html::sanitizeURL($_REQUEST['plugin_id']) : ''; 
     36$page_url_params       = array('popup' => $popup, 'select' => $select, 'post_id' => $post_id); 
     37$media_page_url_params = array('popup' => $popup, 'select' => $select, 'post_id' => $post_id, 'link_type' => $link_type); 
    3838 
    3939if ($plugin_id != '') { 
    40      $page_url_params['plugin_id'] = $plugin_id; 
    41      $media_page_url_params['plugin_id'] = $plugin_id; 
     40    $page_url_params['plugin_id']      = $plugin_id; 
     41    $media_page_url_params['plugin_id'] = $plugin_id; 
    4242} 
    4343 
     
    4545 
    4646if ($id != '') { 
    47      $page_url_params ['id'] = $id; 
     47    $page_url_params['id'] = $id; 
    4848} 
    4949 
    5050if ($popup) { 
    51      $open_f = array('dcPage','openPopup'); 
    52      $close_f = array('dcPage','closePopup'); 
     51    $open_f  = array('dcPage', 'openPopup'); 
     52    $close_f = array('dcPage', 'closePopup'); 
    5353} else { 
    54      $open_f = array('dcPage','open'); 
    55      $close_f = create_function('',"dcPage::helpBlock('core_media'); dcPage::close();"); 
     54    $open_f  = array('dcPage', 'open'); 
     55    $close_f = function () { 
     56        dcPage::helpBlock('core_media'); 
     57        dcPage::close(); 
     58    }; 
    5659} 
    5760 
     
    5962try 
    6063{ 
    61      $core->media = new dcMedia($core); 
    62  
    63      if ($id) { 
    64           $file = $core->media->getFile($id); 
    65      } 
    66  
    67      if ($file === null) { 
    68           throw new Exception(__('Not a valid file')); 
    69      } 
    70  
    71      $core->media->chdir(dirname($file->relname)); 
    72      $core_media_writable = $core->media->writable(); 
    73  
    74      # Prepare directories combo box 
    75      $dirs_combo = array(); 
    76      foreach ($core->media->getDBDirs() as $v) { 
    77           $dirs_combo['/'.$v] = $v; 
    78      } 
    79      # Add parent and direct childs directories if any 
    80      $core->media->getFSDir(); 
    81      foreach ($core->media->dir['dirs'] as $k => $v) { 
    82           $dirs_combo['/'.$v->relname] = $v->relname; 
    83      } 
    84      ksort($dirs_combo); 
    85 } 
    86 catch (Exception $e) 
    87 { 
    88      $core->error->add($e->getMessage()); 
     64    $core->media = new dcMedia($core); 
     65 
     66    if ($id) { 
     67        $file = $core->media->getFile($id); 
     68    } 
     69 
     70    if ($file === null) { 
     71        throw new Exception(__('Not a valid file')); 
     72    } 
     73 
     74    $core->media->chdir(dirname($file->relname)); 
     75    $core_media_writable = $core->media->writable(); 
     76 
     77    # Prepare directories combo box 
     78    $dirs_combo = array(); 
     79    foreach ($core->media->getDBDirs() as $v) { 
     80        $dirs_combo['/' . $v] = $v; 
     81    } 
     82    # Add parent and direct childs directories if any 
     83    $core->media->getFSDir(); 
     84    foreach ($core->media->dir['dirs'] as $k => $v) { 
     85        $dirs_combo['/' . $v->relname] = $v->relname; 
     86    } 
     87    ksort($dirs_combo); 
     88} catch (Exception $e) { 
     89    $core->error->add($e->getMessage()); 
    8990} 
    9091 
    9192# Upload a new file 
    92 if ($file && !empty($_FILES['upfile']) && $file->editable && $core_media_writable) 
    93 { 
    94      try { 
    95           files::uploadStatus($_FILES['upfile']); 
    96           $core->media->uploadFile($_FILES['upfile']['tmp_name'],$file->basename,null,false,true); 
    97  
    98           dcPage::addSuccessNotice(__('File has been successfully updated.')); 
    99           $core->adminurl->redirect('admin.media.item',$page_url_params); 
    100      } catch (Exception $e) { 
    101           $core->error->add($e->getMessage()); 
    102      } 
     93if ($file && !empty($_FILES['upfile']) && $file->editable && $core_media_writable) { 
     94    try { 
     95        files::uploadStatus($_FILES['upfile']); 
     96        $core->media->uploadFile($_FILES['upfile']['tmp_name'], $file->basename, null, false, true); 
     97 
     98        dcPage::addSuccessNotice(__('File has been successfully updated.')); 
     99        $core->adminurl->redirect('admin.media.item', $page_url_params); 
     100    } catch (Exception $e) { 
     101        $core->error->add($e->getMessage()); 
     102    } 
    103103} 
    104104 
    105105# Update file 
    106 if ($file && !empty($_POST['media_file']) && $file->editable && $core_media_writable) 
    107 { 
    108      $newFile = clone $file; 
    109  
    110      $newFile->basename = $_POST['media_file']; 
    111  
    112      if ($_POST['media_path']) { 
    113           $newFile->dir = $_POST['media_path']; 
    114           $newFile->relname = $_POST['media_path'].'/'.$newFile->basename; 
    115      } else { 
    116           $newFile->dir = ''; 
    117           $newFile->relname = $newFile->basename; 
    118      } 
    119      $newFile->media_title = html::escapeHTML($_POST['media_title']); 
    120      $newFile->media_dt = strtotime($_POST['media_dt']); 
    121      $newFile->media_dtstr = $_POST['media_dt']; 
    122      $newFile->media_priv = !empty($_POST['media_private']); 
    123  
    124      try { 
    125           $core->media->updateFile($file,$newFile); 
    126  
    127           dcPage::addSuccessNotice(__('File has been successfully updated.')); 
    128           $page_url_params['tab'] = 'media-details-tab'; 
    129           $core->adminurl->redirect('admin.media.item',$page_url_params); 
    130      } catch (Exception $e) { 
    131           $core->error->add($e->getMessage()); 
    132      } 
     106if ($file && !empty($_POST['media_file']) && $file->editable && $core_media_writable) { 
     107    $newFile = clone $file; 
     108 
     109    $newFile->basename = $_POST['media_file']; 
     110 
     111    if ($_POST['media_path']) { 
     112        $newFile->dir     = $_POST['media_path']; 
     113        $newFile->relname = $_POST['media_path'] . '/' . $newFile->basename; 
     114    } else { 
     115        $newFile->dir     = ''; 
     116        $newFile->relname = $newFile->basename; 
     117    } 
     118    $newFile->media_title = html::escapeHTML($_POST['media_title']); 
     119    $newFile->media_dt    = strtotime($_POST['media_dt']); 
     120    $newFile->media_dtstr = $_POST['media_dt']; 
     121    $newFile->media_priv  = !empty($_POST['media_private']); 
     122 
     123    try { 
     124        $core->media->updateFile($file, $newFile); 
     125 
     126        dcPage::addSuccessNotice(__('File has been successfully updated.')); 
     127        $page_url_params['tab'] = 'media-details-tab'; 
     128        $core->adminurl->redirect('admin.media.item', $page_url_params); 
     129    } catch (Exception $e) { 
     130        $core->error->add($e->getMessage()); 
     131    } 
    133132} 
    134133 
    135134# Update thumbnails 
    136 if (!empty($_POST['thumbs']) && $file->media_type == 'image' && $file->editable && $core_media_writable) 
    137 { 
    138      try { 
    139           $foo = null; 
    140           $core->media->mediaFireRecreateEvent($file); 
    141  
    142           dcPage::addSuccessNotice(__('Thumbnails have been successfully updated.')); 
    143           $page_url_params['tab'] = 'media-details-tab'; 
    144           $core->adminurl->redirect('admin.media.item',$page_url_params); 
    145      } catch (Exception $e) { 
    146           $core->error->add($e->getMessage()); 
    147      } 
     135if (!empty($_POST['thumbs']) && $file->media_type == 'image' && $file->editable && $core_media_writable) { 
     136    try { 
     137        $foo = null; 
     138        $core->media->mediaFireRecreateEvent($file); 
     139 
     140        dcPage::addSuccessNotice(__('Thumbnails have been successfully updated.')); 
     141        $page_url_params['tab'] = 'media-details-tab'; 
     142        $core->adminurl->redirect('admin.media.item', $page_url_params); 
     143    } catch (Exception $e) { 
     144        $core->error->add($e->getMessage()); 
     145    } 
    148146} 
    149147 
    150148# Unzip file 
    151 if (!empty($_POST['unzip']) && $file->type == 'application/zip' && $file->editable && $core_media_writable) 
    152 { 
    153      try { 
    154           $unzip_dir = $core->media->inflateZipFile($file,$_POST['inflate_mode'] == 'new'); 
    155  
    156           dcPage::addSuccessNotice(__('Zip file has been successfully extracted.')); 
    157           $media_page_url_params['d'] = $unzip_dir; 
    158           $core->adminurl->redirect('admin.media',$media_page_url_params); 
    159      } catch (Exception $e) { 
    160           $core->error->add($e->getMessage()); 
    161      } 
     149if (!empty($_POST['unzip']) && $file->type == 'application/zip' && $file->editable && $core_media_writable) { 
     150    try { 
     151        $unzip_dir = $core->media->inflateZipFile($file, $_POST['inflate_mode'] == 'new'); 
     152 
     153        dcPage::addSuccessNotice(__('Zip file has been successfully extracted.')); 
     154        $media_page_url_params['d'] = $unzip_dir; 
     155        $core->adminurl->redirect('admin.media', $media_page_url_params); 
     156    } catch (Exception $e) { 
     157        $core->error->add($e->getMessage()); 
     158    } 
    162159} 
    163160 
    164161# Save media insertion settings for the blog 
    165 if (!empty($_POST['save_blog_prefs'])) 
    166 { 
    167      if (!empty($_POST['pref_src'])) { 
    168           foreach (array_reverse($file->media_thumb) as $s => $v) { 
    169                if ($v == $_POST['pref_src']) { 
    170                     $core->blog->settings->system->put('media_img_default_size',$s); 
    171                     break; 
    172                } 
    173           } 
    174      } 
    175      if (!empty($_POST['pref_alignment'])) { 
    176           $core->blog->settings->system->put('media_img_default_alignment',$_POST['pref_alignment']); 
    177      } 
    178      if (!empty($_POST['pref_insertion'])) { 
    179           $core->blog->settings->system->put('media_img_default_link',($_POST['pref_insertion'] == 'link')); 
    180      } 
    181      if (!empty($_POST['pref_legend'])) { 
    182           $core->blog->settings->system->put('media_img_default_legend',$_POST['pref_legend']); 
    183      } 
    184  
    185      dcPage::addSuccessNotice(__('Default media insertion settings have been successfully updated.')); 
    186      $core->adminurl->redirect('admin.media.item',$page_url_params); 
     162if (!empty($_POST['save_blog_prefs'])) { 
     163    if (!empty($_POST['pref_src'])) { 
     164        foreach (array_reverse($file->media_thumb) as $s => $v) { 
     165            if ($v == $_POST['pref_src']) { 
     166                $core->blog->settings->system->put('media_img_default_size', $s); 
     167                break; 
     168            } 
     169        } 
     170    } 
     171    if (!empty($_POST['pref_alignment'])) { 
     172        $core->blog->settings->system->put('media_img_default_alignment', $_POST['pref_alignment']); 
     173    } 
     174    if (!empty($_POST['pref_insertion'])) { 
     175        $core->blog->settings->system->put('media_img_default_link', ($_POST['pref_insertion'] == 'link')); 
     176    } 
     177    if (!empty($_POST['pref_legend'])) { 
     178        $core->blog->settings->system->put('media_img_default_legend', $_POST['pref_legend']); 
     179    } 
     180 
     181    dcPage::addSuccessNotice(__('Default media insertion settings have been successfully updated.')); 
     182    $core->adminurl->redirect('admin.media.item', $page_url_params); 
    187183} 
    188184 
    189185# Function to get image title based on meta 
    190 $get_img_title = function ($file,$pattern,$dto_first=false,$no_date_alone=false) 
    191 { 
    192      $res = array(); 
    193      $pattern = preg_split('/\s*;;\s*/',$pattern); 
    194      $sep = ', '; 
    195      $dates = 0; 
    196      $items = 0; 
    197  
    198      foreach ($pattern as $v) { 
    199           if ($v == 'Title') { 
    200                if ($file->media_title != '') { 
    201                     $res[] = $file->media_title; 
    202                } 
    203                $items++; 
    204           } elseif ($file->media_meta->{$v}) { 
    205                if ((string) $file->media_meta->{$v} != '') { 
    206                     $res[] = (string) $file->media_meta->{$v}; 
    207                } 
    208                $items++; 
    209           } elseif (preg_match('/^Date\((.+?)\)$/u',$v,$m)) { 
    210                if ($dto_first && ($file->media_meta->DateTimeOriginal != 0)) { 
    211                     $res[] = dt::dt2str($m[1],(string) $file->media_meta->DateTimeOriginal); 
    212                } else { 
    213                     $res[] = dt::str($m[1],$file->media_dt); 
    214                } 
    215                $items++; 
    216                $dates++; 
    217           } elseif (preg_match('/^DateTimeOriginal\((.+?)\)$/u',$v,$m) && $file->media_meta->DateTimeOriginal) { 
    218                $res[] = dt::dt2str($m[1],(string) $file->media_meta->DateTimeOriginal); 
    219                $items++; 
    220                $dates++; 
    221           } elseif (preg_match('/^separator\((.*?)\)$/u',$v,$m)) { 
    222                $sep = $m[1]; 
    223           } 
    224      } 
    225      if ($no_date_alone && $dates == count($res) && $dates < $items) { 
    226           // On ne laisse pas les dates seules, sauf si ce sont les seuls items du pattern (hors séparateur) 
    227           return ''; 
    228      } 
    229      return implode($sep,$res); 
     186$get_img_title = function ($file, $pattern, $dto_first = false, $no_date_alone = false) { 
     187    $res     = array(); 
     188    $pattern = preg_split('/\s*;;\s*/', $pattern); 
     189    $sep     = ', '; 
     190    $dates   = 0; 
     191    $items   = 0; 
     192 
     193    foreach ($pattern as $v) { 
     194        if ($v == 'Title') { 
     195            if ($file->media_title != '') { 
     196                $res[] = $file->media_title; 
     197            } 
     198            $items++; 
     199        } elseif ($file->media_meta->{$v}) { 
     200            if ((string) $file->media_meta->{$v} != '') { 
     201                $res[] = (string) $file->media_meta->{$v}; 
     202            } 
     203            $items++; 
     204        } elseif (preg_match('/^Date\((.+?)\)$/u', $v, $m)) { 
     205            if ($dto_first && ($file->media_meta->DateTimeOriginal != 0)) { 
     206                $res[] = dt::dt2str($m[1], (string) $file->media_meta->DateTimeOriginal); 
     207            } else { 
     208                $res[] = dt::str($m[1], $file->media_dt); 
     209            } 
     210            $items++; 
     211            $dates++; 
     212        } elseif (preg_match('/^DateTimeOriginal\((.+?)\)$/u', $v, $m) && $file->media_meta->DateTimeOriginal) { 
     213            $res[] = dt::dt2str($m[1], (string) $file->media_meta->DateTimeOriginal); 
     214            $items++; 
     215            $dates++; 
     216        } elseif (preg_match('/^separator\((.*?)\)$/u', $v, $m)) { 
     217            $sep = $m[1]; 
     218        } 
     219    } 
     220    if ($no_date_alone && $dates == count($res) && $dates < $items) { 
     221        // On ne laisse pas les dates seules, sauf si ce sont les seuls items du pattern (hors séparateur) 
     222        return ''; 
     223    } 
     224    return implode($sep, $res); 
    230225}; 
    231226 
     
    233228-------------------------------------------------------- */ 
    234229$starting_scripts = 
    235      '<script type="text/javascript">'."\n". 
    236      dcPage::jsVar('dotclear.msg.confirm_delete_media',__('Are you sure to delete this media?'))."\n". 
    237      "</script>". 
    238      dcPage::jsModal(). 
    239      dcPage::jsLoad('js/_media_item.js'); 
     230'<script type="text/javascript">' . "\n" . 
     231dcPage::jsVar('dotclear.msg.confirm_delete_media', __('Are you sure to delete this media?')) . "\n" . 
     232"</script>" . 
     233dcPage::jsModal() . 
     234dcPage::jsLoad('js/_media_item.js'); 
    240235if ($popup && !empty($plugin_id)) { 
    241      $starting_scripts .= $core->callBehavior('adminPopupMedia', $plugin_id); 
    242 } 
    243 $temp_params = $media_page_url_params; 
    244 $temp_params['d']='%s'; 
    245 $breadcrumb = $core->media->breadCrumb($core->adminurl->get('admin.media',$temp_params,'&amp;',true)). 
    246      ($file === null ? '' : '<span class="page-title">'.$file->basename.'</span>'); 
    247 $temp_params['d']=''; 
    248 $home_url=$core->adminurl->get('admin.media',$temp_params); 
    249 call_user_func($open_f,__('Media manager'), 
    250      $starting_scripts. 
    251      dcPage::jsDatePicker(). 
    252      ($popup ? dcPage::jsPageTabs($tab) : ''), 
    253      dcPage::breadcrumb( 
    254           array( 
    255                html::escapeHTML($core->blog->name) => '', 
    256                __('Media manager') => $home_url, 
    257                $breadcrumb => '' 
    258           ), 
    259           array( 
    260                'home_link' => !$popup, 
    261                'hl' => false 
    262           ) 
    263      ) 
     236    $starting_scripts .= $core->callBehavior('adminPopupMedia', $plugin_id); 
     237} 
     238$temp_params      = $media_page_url_params; 
     239$temp_params['d'] = '%s'; 
     240$breadcrumb       = $core->media->breadCrumb($core->adminurl->get('admin.media', $temp_params, '&amp;', true)) . 
     241    ($file === null ? '' : '<span class="page-title">' . $file->basename . '</span>'); 
     242$temp_params['d'] = ''; 
     243$home_url         = $core->adminurl->get('admin.media', $temp_params); 
     244call_user_func($open_f, __('Media manager'), 
     245    $starting_scripts . 
     246    dcPage::jsDatePicker() . 
     247    ($popup ? dcPage::jsPageTabs($tab) : ''), 
     248    dcPage::breadcrumb( 
     249        array( 
     250            html::escapeHTML($core->blog->name) => '', 
     251            __('Media manager')                => $home_url, 
     252            $breadcrumb                        => '' 
     253        ), 
     254        array( 
     255            'home_link' => !$popup, 
     256            'hl'        => false 
     257        ) 
     258    ) 
    264259); 
    265260 
    266261if ($popup) { 
    267      // Display notices 
    268      echo dcPage::notices(); 
     262    // Display notices 
     263    echo dcPage::notices(); 
    269264} 
    270265 
    271266if ($file === null) { 
    272      call_user_func($close_f); 
    273      exit; 
     267    call_user_func($close_f); 
     268    exit; 
    274269} 
    275270 
    276271if (!empty($_GET['fupd']) || !empty($_GET['fupl'])) { 
    277      dcPage::success(__('File has been successfully updated.')); 
     272    dcPage::success(__('File has been successfully updated.')); 
    278273} 
    279274if (!empty($_GET['thumbupd'])) { 
    280      dcPage::success(__('Thumbnails have been successfully updated.')); 
     275    dcPage::success(__('Thumbnails have been successfully updated.')); 
    281276} 
    282277if (!empty($_GET['blogprefupd'])) { 
    283      dcPage::success(__('Default media insertion settings have been successfully updated.')); 
     278    dcPage::success(__('Default media insertion settings have been successfully updated.')); 
    284279} 
    285280 
    286281# Get major file type (first part of mime type) 
    287 $file_type = explode('/',$file->type); 
     282$file_type = explode('/', $file->type); 
    288283 
    289284# Selection mode 
    290285if ($select) { 
    291      // Let user choose thumbnail size if image 
    292      $media_desc = $file->media_title; 
    293  
    294      echo 
    295      '<div id="media-select" class="multi-part" title="'.__('Select media item').'">'. 
    296      '<h3>'.__('Select media item').'</h3>'. 
    297      '<form id="media-select-form" action="" method="get">'; 
    298  
    299      $media_img_default_size = $core->blog->settings->system->media_img_default_size; 
    300      if ($media_img_default_size == '') { 
    301           $media_img_default_size = 'm'; 
    302      } 
    303      $media_img_default_alignment = $core->blog->settings->system->media_img_default_alignment; 
    304      if ($media_img_default_alignment == '') { 
    305           $media_img_default_alignment = 'none'; 
    306      } 
    307      $media_img_default_link = (boolean)$core->blog->settings->system->media_img_default_link; 
    308      $media_img_default_legend = $core->blog->settings->system->media_img_default_legend; 
    309      if ($media_img_default_legend == '') { 
    310           $media_img_default_legend = 'legend'; 
    311      } 
    312  
    313      if ($file->media_type == 'image') 
    314      { 
    315           $media_type = 'image'; 
    316           $media_desc = $get_img_title($file, 
    317                $core->blog->settings->system->media_img_title_pattern, 
    318                $core->blog->settings->system->media_img_use_dto_first, 
    319                $core->blog->settings->system->media_img_no_date_alone); 
    320           if ($media_desc == $file->basename) { 
    321                $media_desc = ''; 
    322           } 
    323  
    324           echo 
    325           '<h3>'.__('Image size:').'</h3> '; 
    326  
    327           $s_checked = false; 
    328           echo '<p>'; 
    329           foreach (array_reverse($file->media_thumb) as $s => $v) { 
    330                $s_checked = ($s == $media_img_default_size); 
    331                echo '<label class="classic">'. 
    332                form::radio(array('src'),html::escapeHTML($v),$s_checked).' '. 
    333                $core->media->thumb_sizes[$s][2].'</label><br /> '; 
    334           } 
    335           $s_checked = (!isset($file->media_thumb[$media_img_default_size])); 
    336           echo '<label class="classic">'. 
    337           form::radio(array('src'),$file->file_url,$s_checked).' '.__('original').'</label><br /> '; 
    338           echo '</p>'; 
    339  
    340      } elseif ($file_type[0] == 'audio') { 
    341           $media_type = 'mp3'; 
    342      } elseif ($file_type[0] == 'video') { 
    343           $media_type = 'flv'; 
    344      } else { 
    345           $media_type = 'default'; 
    346      } 
    347  
    348      echo 
    349      '<p>'. 
    350      '<button type="button" id="media-select-ok" class="submit">'.__('Select').'</button> '. 
    351      '<button type="button" id="media-select-cancel">'.__('Cancel').'</button>'. 
    352      form::hidden(array('type'),html::escapeHTML($media_type)). 
    353      form::hidden(array('title'),html::escapeHTML($file->media_title)). 
    354      form::hidden(array('description'),html::escapeHTML($media_desc)). 
    355      form::hidden(array('url'),$file->file_url). 
    356      '</p>'; 
    357  
    358      echo '</form>'; 
    359      echo '</div>'; 
     286    // Let user choose thumbnail size if image 
     287    $media_desc = $file->media_title; 
     288 
     289    echo 
     290    '<div id="media-select" class="multi-part" title="' . __('Select media item') . '">' . 
     291    '<h3>' . __('Select media item') . '</h3>' . 
     292        '<form id="media-select-form" action="" method="get">'; 
     293 
     294    $media_img_default_size = $core->blog->settings->system->media_img_default_size; 
     295    if ($media_img_default_size == '') { 
     296        $media_img_default_size = 'm'; 
     297    } 
     298    $media_img_default_alignment = $core->blog->settings->system->media_img_default_alignment; 
     299    if ($media_img_default_alignment == '') { 
     300        $media_img_default_alignment = 'none'; 
     301    } 
     302    $media_img_default_link   = (boolean) $core->blog->settings->system->media_img_default_link; 
     303    $media_img_default_legend = $core->blog->settings->system->media_img_default_legend; 
     304    if ($media_img_default_legend == '') { 
     305        $media_img_default_legend = 'legend'; 
     306    } 
     307 
     308    if ($file->media_type == 'image') { 
     309        $media_type = 'image'; 
     310        $media_desc = $get_img_title($file, 
     311            $core->blog->settings->system->media_img_title_pattern, 
     312            $core->blog->settings->system->media_img_use_dto_first, 
     313            $core->blog->settings->system->media_img_no_date_alone); 
     314        if ($media_desc == $file->basename) { 
     315            $media_desc = ''; 
     316        } 
     317 
     318        echo 
     319        '<h3>' . __('Image size:') . '</h3> '; 
     320 
     321        $s_checked = false; 
     322        echo '<p>'; 
     323        foreach (array_reverse($file->media_thumb) as $s => $v) { 
     324            $s_checked = ($s == $media_img_default_size); 
     325            echo '<label class="classic">' . 
     326            form::radio(array('src'), html::escapeHTML($v), $s_checked) . ' ' . 
     327            $core->media->thumb_sizes[$s][2] . '</label><br /> '; 
     328        } 
     329        $s_checked = (!isset($file->media_thumb[$media_img_default_size])); 
     330        echo '<label class="classic">' . 
     331        form::radio(array('src'), $file->file_url, $s_checked) . ' ' . __('original') . '</label><br /> '; 
     332        echo '</p>'; 
     333 
     334    } elseif ($file_type[0] == 'audio') { 
     335        $media_type = 'mp3'; 
     336    } elseif ($file_type[0] == 'video') { 
     337        $media_type = 'flv'; 
     338    } else { 
     339        $media_type = 'default'; 
     340    } 
     341 
     342    echo 
     343    '<p>' . 
     344    '<button type="button" id="media-select-ok" class="submit">' . __('Select') . '</button> ' . 
     345    '<button type="button" id="media-select-cancel">' . __('Cancel') . '</button>' . 
     346    form::hidden(array('type'), html::escapeHTML($media_type)) . 
     347    form::hidden(array('title'), html::escapeHTML($file->media_title)) . 
     348    form::hidden(array('description'), html::escapeHTML($media_desc)) . 
     349    form::hidden(array('url'), $file->file_url) . 
     350        '</p>'; 
     351 
     352    echo '</form>'; 
     353    echo '</div>'; 
    360354} 
    361355 
    362356# Insertion popup 
    363 if ($popup && !$select) 
    364 { 
    365      $media_desc = $file->media_title; 
    366  
    367      echo 
    368      '<div id="media-insert" class="multi-part" title="'.__('Insert media item').'">'. 
    369      '<h3>'.__('Insert media item').'</h3>'. 
    370      '<form id="media-insert-form" action="" method="get">'; 
    371  
    372      $media_img_default_size = $core->blog->settings->system->media_img_default_size; 
    373      if ($media_img_default_size == '') { 
    374           $media_img_default_size = 'm'; 
    375      } 
    376      $media_img_default_alignment = $core->blog->settings->system->media_img_default_alignment; 
    377      if ($media_img_default_alignment == '') { 
    378           $media_img_default_alignment = 'none'; 
    379      } 
    380      $media_img_default_link = (boolean)$core->blog->settings->system->media_img_default_link; 
    381      $media_img_default_legend = $core->blog->settings->system->media_img_default_legend; 
    382      if ($media_img_default_legend == '') { 
    383           $media_img_default_legend = 'legend'; 
    384      } 
    385  
    386      if ($file->media_type == 'image') 
    387      { 
    388           $media_type = 'image'; 
    389           $media_desc = $get_img_title($file, 
    390                $core->blog->settings->system->media_img_title_pattern, 
    391                $core->blog->settings->system->media_img_use_dto_first, 
    392                $core->blog->settings->system->media_img_no_date_alone); 
    393           if ($media_desc == $file->basename) { 
    394                $media_desc = ''; 
    395           } 
    396  
    397           echo 
    398           '<div class="two-boxes">'. 
    399           '<h3>'.__('Image size:').'</h3> '; 
    400           $s_checked = false; 
    401           echo '<p>'; 
    402           foreach (array_reverse($file->media_thumb) as $s => $v) { 
    403                $s_checked = ($s == $media_img_default_size); 
    404                echo '<label class="classic">'. 
    405                form::radio(array('src'),html::escapeHTML($v),$s_checked).' '. 
    406                $core->media->thumb_sizes[$s][2].'</label><br /> '; 
    407           } 
    408           $s_checked = (!isset($file->media_thumb[$media_img_default_size])); 
    409           echo '<label class="classic">'. 
    410           form::radio(array('src'),$file->file_url,$s_checked).' '.__('original').'</label><br /> '; 
    411           echo '</p>'; 
    412           echo '</div>'; 
    413  
    414           echo 
    415           '<div class="two-boxes">'. 
    416           '<h3>'.__('Image legend and title').'</h3>'. 
    417           '<p>'. 
    418           '<label for="legend1" class="classic">'.form::radio(array('legend','legend1'),'legend', 
    419                ($media_img_default_legend == 'legend')). 
    420           __('Legend and title').'</label><br />'. 
    421           '<label for="legend2" class="classic">'.form::radio(array('legend','legend2'),'title', 
    422                ($media_img_default_legend == 'title')). 
    423           __('Title').'</label><br />'. 
    424           '<label for="legend3" class="classic">'.form::radio(array('legend','legend3'),'none', 
    425                ($media_img_default_legend == 'none')). 
    426           __('None').'</label>'. 
    427           '</p>'. 
    428           '</div>'; 
    429  
    430           echo 
    431           '<div class="two-boxes">'. 
    432           '<h3>'.__('Image alignment').'</h3>'; 
    433           $i_align = array( 
    434                'none' => array(__('None'),($media_img_default_alignment == 'none' ? 1 : 0)), 
    435                'left' => array(__('Left'),($media_img_default_alignment == 'left' ? 1 : 0)), 
    436                'right' => array(__('Right'),($media_img_default_alignment == 'right' ? 1 : 0)), 
    437                'center' => array(__('Center'),($media_img_default_alignment == 'center' ? 1 : 0)) 
    438           ); 
    439  
    440           echo '<p>'; 
    441           foreach ($i_align as $k => $v) { 
    442                echo '<label class="classic">'. 
    443                form::radio(array('alignment'),$k,$v[1]).' '.$v[0].'</label><br /> '; 
    444           } 
    445           echo '</p>'; 
    446           echo '</div>'; 
    447  
    448           echo 
    449           '<div class="two-boxes">'. 
    450           '<h3>'.__('Image insertion').'</h3>'. 
    451           '<p>'. 
    452           '<label for="insert1" class="classic">'.form::radio(array('insertion','insert1'),'simple',!$media_img_default_link). 
    453           __('As a single image').'</label><br />'. 
    454           '<label for="insert2" class="classic">'.form::radio(array('insertion','insert2'),'link',$media_img_default_link). 
    455           __('As a link to the original image').'</label>'. 
    456           '</p>'. 
    457           '</div>'; 
    458      } 
    459      elseif ($file_type[0] == 'audio') 
    460      { 
    461           $media_type = 'mp3'; 
    462  
    463           echo 
    464           '<div class="two-boxes">'. 
    465           '<h3>'.__('MP3 disposition').'</h3>'; 
    466           dcPage::message(__("Please note that you cannot insert mp3 files with visual editor."),false); 
    467  
    468           $i_align = array( 
    469                'none' => array(__('None'),($media_img_default_alignment == 'none' ? 1 : 0)), 
    470                'left' => array(__('Left'),($media_img_default_alignment == 'left' ? 1 : 0)), 
    471                'right' => array(__('Right'),($media_img_default_alignment == 'right' ? 1 : 0)), 
    472                'center' => array(__('Center'),($media_img_default_alignment == 'center' ? 1 : 0)) 
    473           ); 
    474  
    475           echo '<p>'; 
    476           foreach ($i_align as $k => $v) { 
    477                echo '<label class="classic">'. 
    478                form::radio(array('alignment'),$k,$v[1]).' '.$v[0].'</label><br /> '; 
    479           } 
    480  
    481           $public_player_style = unserialize($core->blog->settings->themes->mp3player_style); 
    482           $public_player = dcMedia::audioPlayer($file->type,$file->file_url,$core->blog->getQmarkURL().'pf=player_mp3.swf',$public_player_style,$core->blog->settings->system->media_flash_fallback); 
    483           echo form::hidden('public_player',html::escapeHTML($public_player)); 
    484           echo '</p>'; 
    485           echo '</div>'; 
    486      } 
    487      elseif ($file_type[0] == 'video') 
    488      { 
    489           $media_type = 'flv'; 
    490  
    491           dcPage::message(__("Please note that you cannot insert video files with visual editor."),false); 
    492  
    493           echo 
    494           '<div class="two-boxes">'. 
    495           '<h3>'.__('Video size').'</h3>'. 
    496           '<p><label for="video_w" class="classic">'.__('Width:').'</label> '. 
    497           form::field('video_w',3,4,$core->blog->settings->system->media_video_width).'  '. 
    498           '<label for="video_h" class="classic">'.__('Height:').'</label> '. 
    499           form::field('video_h',3,4,$core->blog->settings->system->media_video_height). 
    500           '</p>'. 
    501           '</div>'; 
    502  
    503  
    504           echo 
    505           '<div class="two-boxes">'. 
    506           '<h3>'.__('Video disposition').'</h3>'; 
    507  
    508           $i_align = array( 
    509                'none' => array(__('None'),($media_img_default_alignment == 'none' ? 1 : 0)), 
    510                'left' => array(__('Left'),($media_img_default_alignment == 'left' ? 1 : 0)), 
    511                'right' => array(__('Right'),($media_img_default_alignment == 'right' ? 1 : 0)), 
    512                'center' => array(__('Center'),($media_img_default_alignment == 'center' ? 1 : 0)) 
    513           ); 
    514  
    515           echo '<p>'; 
    516           foreach ($i_align as $k => $v) { 
    517                echo '<label class="classic">'. 
    518                form::radio(array('alignment'),$k,$v[1]).' '.$v[0].'</label><br /> '; 
    519           } 
    520  
    521           $public_player_style = unserialize($core->blog->settings->themes->flvplayer_style); 
    522           $public_player = dcMedia::videoPlayer($file->type,$file->file_url,$core->blog->getQmarkURL().'pf=player_flv.swf',$public_player_style,$core->blog->settings->system->media_flash_fallback); 
    523           echo form::hidden('public_player',html::escapeHTML($public_player)); 
    524           echo '</p>'; 
    525           echo '</div>'; 
    526      } 
    527      else 
    528      { 
    529           $media_type = 'default'; 
    530           echo '<p>'.__('Media item will be inserted as a link.').'</p>'; 
    531      } 
    532  
    533      echo 
    534      '<p>'. 
    535      '<button type="button" id="media-insert-ok" class="submit">'.__('Insert').'</button> '. 
    536      '<button type="button" id="media-insert-cancel">'.__('Cancel').'</button>'. 
    537      form::hidden(array('type'),html::escapeHTML($media_type)). 
    538      form::hidden(array('title'),html::escapeHTML($file->media_title)). 
    539      form::hidden(array('description'),html::escapeHTML($media_desc)). 
    540      form::hidden(array('url'),$file->file_url). 
    541      '</p>'; 
    542  
    543      echo '</form>'; 
    544  
    545      if ($media_type != 'default') { 
    546           echo 
    547           '<div class="border-top">'. 
    548           '<form id="save_settings" action="'.$core->adminurl->getBase('admin.media.item').'" method="post">'. 
    549           '<p>'.__('Make current settings as default').' '. 
    550           '<input class="reset" type="submit" name="save_blog_prefs" value="'.__('OK').'" />'. 
    551           form::hidden(array('pref_src'),''). 
    552           form::hidden(array('pref_alignment'),''). 
    553           form::hidden(array('pref_insertion'),''). 
    554           form::hidden(array('pref_legend'),''). 
    555           $core->adminurl->getHiddenFormFields('admin.media.item',$page_url_params). 
    556           $core->formNonce().'</p>'. 
    557           '</form>'.'</div>'; 
    558      } 
    559  
    560      echo '</div>'; 
     357if ($popup && !$select) { 
     358    $media_desc = $file->media_title; 
     359 
     360    echo 
     361    '<div id="media-insert" class="multi-part" title="' . __('Insert media item') . '">' . 
     362    '<h3>' . __('Insert media item') . '</h3>' . 
     363        '<form id="media-insert-form" action="" method="get">'; 
     364 
     365    $media_img_default_size = $core->blog->settings->system->media_img_default_size; 
     366    if ($media_img_default_size == '') { 
     367        $media_img_default_size = 'm'; 
     368    } 
     369    $media_img_default_alignment = $core->blog->settings->system->media_img_default_alignment; 
     370    if ($media_img_default_alignment == '') { 
     371        $media_img_default_alignment = 'none'; 
     372    } 
     373    $media_img_default_link   = (boolean) $core->blog->settings->system->media_img_default_link; 
     374    $media_img_default_legend = $core->blog->settings->system->media_img_default_legend; 
     375    if ($media_img_default_legend == '') { 
     376        $media_img_default_legend = 'legend'; 
     377    } 
     378 
     379    if ($file->media_type == 'image') { 
     380        $media_type = 'image'; 
     381        $media_desc = $get_img_title($file, 
     382            $core->blog->settings->system->media_img_title_pattern, 
     383            $core->blog->settings->system->media_img_use_dto_first, 
     384            $core->blog->settings->system->media_img_no_date_alone); 
     385        if ($media_desc == $file->basename) { 
     386            $media_desc = ''; 
     387        } 
     388 
     389        echo 
     390        '<div class="two-boxes">' . 
     391        '<h3>' . __('Image size:') . '</h3> '; 
     392        $s_checked = false; 
     393        echo '<p>'; 
     394        foreach (array_reverse($file->media_thumb) as $s => $v) { 
     395            $s_checked = ($s == $media_img_default_size); 
     396            echo '<label class="classic">' . 
     397            form::radio(array('src'), html::escapeHTML($v), $s_checked) . ' ' . 
     398            $core->media->thumb_sizes[$s][2] . '</label><br /> '; 
     399        } 
     400        $s_checked = (!isset($file->media_thumb[$media_img_default_size])); 
     401        echo '<label class="classic">' . 
     402        form::radio(array('src'), $file->file_url, $s_checked) . ' ' . __('original') . '</label><br /> '; 
     403        echo '</p>'; 
     404        echo '</div>'; 
     405 
     406        echo 
     407        '<div class="two-boxes">' . 
     408        '<h3>' . __('Image legend and title') . '</h3>' . 
     409        '<p>' . 
     410        '<label for="legend1" class="classic">' . form::radio(array('legend', 'legend1'), 'legend', 
     411            ($media_img_default_legend == 'legend')) . 
     412        __('Legend and title') . '</label><br />' . 
     413        '<label for="legend2" class="classic">' . form::radio(array('legend', 'legend2'), 'title', 
     414            ($media_img_default_legend == 'title')) . 
     415        __('Title') . '</label><br />' . 
     416        '<label for="legend3" class="classic">' . form::radio(array('legend', 'legend3'), 'none', 
     417            ($media_img_default_legend == 'none')) . 
     418        __('None') . '</label>' . 
     419            '</p>' . 
     420            '</div>'; 
     421 
     422        echo 
     423        '<div class="two-boxes">' . 
     424        '<h3>' . __('Image alignment') . '</h3>'; 
     425        $i_align = array( 
     426            'none'   => array(__('None'), ($media_img_default_alignment == 'none' ? 1 : 0)), 
     427            'left'   => array(__('Left'), ($media_img_default_alignment == 'left' ? 1 : 0)), 
     428            'right'  => array(__('Right'), ($media_img_default_alignment == 'right' ? 1 : 0)), 
     429            'center' => array(__('Center'), ($media_img_default_alignment == 'center' ? 1 : 0)) 
     430        ); 
     431 
     432        echo '<p>'; 
     433        foreach ($i_align as $k => $v) { 
     434            echo '<label class="classic">' . 
     435            form::radio(array('alignment'), $k, $v[1]) . ' ' . $v[0] . '</label><br /> '; 
     436        } 
     437        echo '</p>'; 
     438        echo '</div>'; 
     439 
     440        echo 
     441        '<div class="two-boxes">' . 
     442        '<h3>' . __('Image insertion') . '</h3>' . 
     443        '<p>' . 
     444        '<label for="insert1" class="classic">' . form::radio(array('insertion', 'insert1'), 'simple', !$media_img_default_link) . 
     445        __('As a single image') . '</label><br />' . 
     446        '<label for="insert2" class="classic">' . form::radio(array('insertion', 'insert2'), 'link', $media_img_default_link) . 
     447        __('As a link to the original image') . '</label>' . 
     448            '</p>' . 
     449            '</div>'; 
     450    } elseif ($file_type[0] == 'audio') { 
     451        $media_type = 'mp3'; 
     452 
     453        echo 
     454        '<div class="two-boxes">' . 
     455        '<h3>' . __('MP3 disposition') . '</h3>'; 
     456        dcPage::message(__("Please note that you cannot insert mp3 files with visual editor."), false); 
     457 
     458        $i_align = array( 
     459            'none'   => array(__('None'), ($media_img_default_alignment == 'none' ? 1 : 0)), 
     460            'left'   => array(__('Left'), ($media_img_default_alignment == 'left' ? 1 : 0)), 
     461            'right'  => array(__('Right'), ($media_img_default_alignment == 'right' ? 1 : 0)), 
     462            'center' => array(__('Center'), ($media_img_default_alignment == 'center' ? 1 : 0)) 
     463        ); 
     464 
     465        echo '<p>'; 
     466        foreach ($i_align as $k => $v) { 
     467            echo '<label class="classic">' . 
     468            form::radio(array('alignment'), $k, $v[1]) . ' ' . $v[0] . '</label><br /> '; 
     469        } 
     470 
     471        $public_player_style = unserialize($core->blog->settings->themes->mp3player_style); 
     472        $public_player       = dcMedia::audioPlayer($file->type, $file->file_url, $core->blog->getQmarkURL() . 'pf=player_mp3.swf', $public_player_style, $core->blog->settings->system->media_flash_fallback); 
     473        echo form::hidden('public_player', html::escapeHTML($public_player)); 
     474        echo '</p>'; 
     475        echo '</div>'; 
     476    } elseif ($file_type[0] == 'video') { 
     477        $media_type = 'flv'; 
     478 
     479        dcPage::message(__("Please note that you cannot insert video files with visual editor."), false); 
     480 
     481        echo 
     482        '<div class="two-boxes">' . 
     483        '<h3>' . __('Video size') . '</h3>' . 
     484        '<p><label for="video_w" class="classic">' . __('Width:') . '</label> ' . 
     485        form::field('video_w', 3, 4, $core->blog->settings->system->media_video_width) . '  ' . 
     486        '<label for="video_h" class="classic">' . __('Height:') . '</label> ' . 
     487        form::field('video_h', 3, 4, $core->blog->settings->system->media_video_height) . 
     488            '</p>' . 
     489            '</div>'; 
     490 
     491        echo 
     492        '<div class="two-boxes">' . 
     493        '<h3>' . __('Video disposition') . '</h3>'; 
     494 
     495        $i_align = array( 
     496            'none'   => array(__('None'), ($media_img_default_alignment == 'none' ? 1 : 0)), 
     497            'left'   => array(__('Left'), ($media_img_default_alignment == 'left' ? 1 : 0)), 
     498            'right'  => array(__('Right'), ($media_img_default_alignment == 'right' ? 1 : 0)), 
     499            'center' => array(__('Center'), ($media_img_default_alignment == 'center' ? 1 : 0)) 
     500        ); 
     501 
     502        echo '<p>'; 
     503        foreach ($i_align as $k => $v) { 
     504            echo '<label class="classic">' . 
     505            form::radio(array('alignment'), $k, $v[1]) . ' ' . $v[0] . '</label><br /> '; 
     506        } 
     507 
     508        $public_player_style = unserialize($core->blog->settings->themes->flvplayer_style); 
     509        $public_player       = dcMedia::videoPlayer($file->type, $file->file_url, $core->blog->getQmarkURL() . 'pf=player_flv.swf', $public_player_style, $core->blog->settings->system->media_flash_fallback); 
     510        echo form::hidden('public_player', html::escapeHTML($public_player)); 
     511        echo '</p>'; 
     512        echo '</div>'; 
     513    } else { 
     514        $media_type = 'default'; 
     515        echo '<p>' . __('Media item will be inserted as a link.') . '</p>'; 
     516    } 
     517 
     518    echo 
     519    '<p>' . 
     520    '<button type="button" id="media-insert-ok" class="submit">' . __('Insert') . '</button> ' . 
     521    '<button type="button" id="media-insert-cancel">' . __('Cancel') . '</button>' . 
     522    form::hidden(array('type'), html::escapeHTML($media_type)) . 
     523    form::hidden(array('title'), html::escapeHTML($file->media_title)) . 
     524    form::hidden(array('description'), html::escapeHTML($media_desc)) . 
     525    form::hidden(array('url'), $file->file_url) . 
     526        '</p>'; 
     527 
     528    echo '</form>'; 
     529 
     530    if ($media_type != 'default') { 
     531        echo 
     532        '<div class="border-top">' . 
     533        '<form id="save_settings" action="' . $core->adminurl->getBase('admin.media.item') . '" method="post">' . 
     534        '<p>' . __('Make current settings as default') . ' ' . 
     535        '<input class="reset" type="submit" name="save_blog_prefs" value="' . __('OK') . '" />' . 
     536        form::hidden(array('pref_src'), '') . 
     537        form::hidden(array('pref_alignment'), '') . 
     538        form::hidden(array('pref_insertion'), '') . 
     539        form::hidden(array('pref_legend'), '') . 
     540        $core->adminurl->getHiddenFormFields('admin.media.item', $page_url_params) . 
     541        $core->formNonce() . '</p>' . 
     542            '</form>' . '</div>'; 
     543    } 
     544 
     545    echo '</div>'; 
    561546} 
    562547 
    563548if ($popup || $select) { 
    564      echo 
    565      '<div class="multi-part" title="'.__('Media details').'" id="media-details-tab">'; 
     549    echo 
     550    '<div class="multi-part" title="' . __('Media details') . '" id="media-details-tab">'; 
    566551} else { 
    567      echo '<h3 class="out-of-screen-if-js">'.__('Media details').'</h3>'; 
     552    echo '<h3 class="out-of-screen-if-js">' . __('Media details') . '</h3>'; 
    568553} 
    569554echo 
    570 '<p id="media-icon"><img src="'.$file->media_icon.'?'.time()*rand().'" alt="" /></p>'; 
     555'<p id="media-icon"><img src="' . $file->media_icon . '?' . time() * rand() . '" alt="" /></p>'; 
    571556 
    572557echo 
    573 '<div id="media-details">'. 
    574 '<div class="near-icon">'; 
    575  
    576 if ($file->media_image) 
    577 { 
    578      $thumb_size = !empty($_GET['size']) ? $_GET['size'] : 's'; 
    579  
    580      if (!isset($core->media->thumb_sizes[$thumb_size]) && $thumb_size != 'o') { 
    581           $thumb_size = 's'; 
    582      } 
    583  
    584      if (isset($file->media_thumb[$thumb_size])) { 
    585           echo '<p><a class="modal-image" href="'.$file->file_url.'">'. 
    586                '<img src="'.$file->media_thumb[$thumb_size].'?'.time()*rand().'" alt="" />'. 
    587                '</a></p>'; 
    588      } elseif ($thumb_size == 'o') { 
    589           $S = getimagesize($file->file); 
    590           $class = ($S[1] > 500) ? ' class="overheight"' : ''; 
    591           unset($S); 
    592           echo '<p id="media-original-image"'.$class.'><a class="modal-image" href="'.$file->file_url.'">'. 
    593                '<img src="'.$file->file_url.'?'.time()*rand().'" alt="" />'. 
    594                '</a></p>'; 
    595      } 
    596  
    597      echo '<p>'.__('Available sizes:').' '; 
    598      foreach (array_reverse($file->media_thumb) as $s => $v) 
    599      { 
    600           $strong_link = ($s == $thumb_size) ? '<strong>%s</strong>' : '%s'; 
    601           printf($strong_link,'<a href="'.$core->adminurl->get('admin.media.item',array_merge($page_url_params, 
    602                array("size" => $s,'tab' => 'media-details-tab'))).'">'.$core->media->thumb_sizes[$s][2].'</a> | '); 
    603      } 
    604      echo '<a href="'.$core->adminurl->get('admin.media.item',array_merge($page_url_params,array("size" => "o","tab"=>"media-details-tab"))).'">'.__('original').'</a>'; 
    605      echo '</p>'; 
    606  
    607      if ($thumb_size != 'o' && isset($file->media_thumb[$thumb_size])) { 
    608           $p = path::info($file->file); 
    609           $alpha = ($p['extension'] == 'png') || ($p['extension'] == 'PNG'); 
    610           $thumb = sprintf(($alpha ? $core->media->thumb_tp_alpha : $core->media->thumb_tp),$p['dirname'],$p['base'],'%s'); 
    611           $thumb_file = sprintf($thumb,$thumb_size); 
    612           $T = getimagesize($thumb_file); 
    613           $stats = stat($thumb_file); 
    614           echo 
    615           '<h3>'.__('Thumbnail details').'</h3>'. 
    616           '<ul>'. 
    617           '<li><strong>'.__('Image width:').'</strong> '.$T[0].' px</li>'. 
    618           '<li><strong>'.__('Image height:').'</strong> '.$T[1].' px</li>'. 
    619           '<li><strong>'.__('File size:').'</strong> '.files::size($stats[7]).'</li>'. 
    620           '<li><strong>'.__('File URL:').'</strong> <a href="'.$file->media_thumb[$thumb_size].'">'. 
    621                $file->media_thumb[$thumb_size].'</a></li>'. 
    622           '</ul>'; 
    623      } 
     558    '<div id="media-details">' . 
     559    '<div class="near-icon">'; 
     560 
     561if ($file->media_image) { 
     562    $thumb_size = !empty($_GET['size']) ? $_GET['size'] : 's'; 
     563 
     564    if (!isset($core->media->thumb_sizes[$thumb_size]) && $thumb_size != 'o') { 
     565        $thumb_size = 's'; 
     566    } 
     567 
     568    if (isset($file->media_thumb[$thumb_size])) { 
     569        echo '<p><a class="modal-image" href="' . $file->file_url . '">' . 
     570        '<img src="' . $file->media_thumb[$thumb_size] . '?' . time() * rand() . '" alt="" />' . 
     571            '</a></p>'; 
     572    } elseif ($thumb_size == 'o') { 
     573        $S     = getimagesize($file->file); 
     574        $class = ($S[1] > 500) ? ' class="overheight"' : ''; 
     575        unset($S); 
     576        echo '<p id="media-original-image"' . $class . '><a class="modal-image" href="' . $file->file_url . '">' . 
     577        '<img src="' . $file->file_url . '?' . time() * rand() . '" alt="" />' . 
     578            '</a></p>'; 
     579    } 
     580 
     581    echo '<p>' . __('Available sizes:') . ' '; 
     582    foreach (array_reverse($file->media_thumb) as $s => $v) { 
     583        $strong_link = ($s == $thumb_size) ? '<strong>%s</strong>' : '%s'; 
     584        printf($strong_link, '<a href="' . $core->adminurl->get('admin.media.item', array_merge($page_url_params, 
     585            array("size" => $s, 'tab' => 'media-details-tab'))) . '">' . $core->media->thumb_sizes[$s][2] . '</a> | '); 
     586    } 
     587    echo '<a href="' . $core->adminurl->get('admin.media.item', array_merge($page_url_params, array("size" => "o", "tab" => "media-details-tab"))) . '">' . __('original') . '</a>'; 
     588    echo '</p>'; 
     589 
     590    if ($thumb_size != 'o' && isset($file->media_thumb[$thumb_size])) { 
     591        $p          = path::info($file->file); 
     592        $alpha      = ($p['extension'] == 'png') || ($p['extension'] == 'PNG'); 
     593        $thumb      = sprintf(($alpha ? $core->media->thumb_tp_alpha : $core->media->thumb_tp), $p['dirname'], $p['base'], '%s'); 
     594        $thumb_file = sprintf($thumb, $thumb_size); 
     595        $T          = getimagesize($thumb_file); 
     596        $stats      = stat($thumb_file); 
     597        echo 
     598        '<h3>' . __('Thumbnail details') . '</h3>' . 
     599        '<ul>' . 
     600        '<li><strong>' . __('Image width:') . '</strong> ' . $T[0] . ' px</li>' . 
     601        '<li><strong>' . __('Image height:') . '</strong> ' . $T[1] . ' px</li>' . 
     602        '<li><strong>' . __('File size:') . '</strong> ' . files::size($stats[7]) . '</li>' . 
     603        '<li><strong>' . __('File URL:') . '</strong> <a href="' . $file->media_thumb[$thumb_size] . '">' . 
     604        $file->media_thumb[$thumb_size] . '</a></li>' . 
     605            '</ul>'; 
     606    } 
    624607} 
    625608 
    626609// Show player if relevant 
    627 if ($file_type[0] == 'audio') 
    628 { 
    629      echo dcMedia::audioPlayer($file->type,$file->file_url,$core->adminurl->get("admin.home",array('pf' => 'player_mp3.swf')), 
    630           null,$core->blog->settings->system->media_flash_fallback); 
    631 } 
    632 if ($file_type[0] == 'video') 
    633 { 
    634      echo dcMedia::videoPlayer($file->type,$file->file_url,$core->adminurl->get("admin.home",array('pf' => 'player_flv.swf')), 
    635           null,$core->blog->settings->system->media_flash_fallback); 
     610if ($file_type[0] == 'audio') { 
     611    echo dcMedia::audioPlayer($file->type, $file->file_url, $core->adminurl->get("admin.home", array('pf' => 'player_mp3.swf')), 
     612        null, $core->blog->settings->system->media_flash_fallback); 
     613} 
     614if ($file_type[0] == 'video') { 
     615    echo dcMedia::videoPlayer($file->type, $file->file_url, $core->adminurl->get("admin.home", array('pf' => 'player_flv.swf')), 
     616        null, $core->blog->settings->system->media_flash_fallback); 
    636617} 
    637618 
    638619echo 
    639 '<h3>'.__('Media details').'</h3>'. 
    640 '<ul>'. 
    641      '<li><strong>'.__('File owner:').'</strong> '.$file->media_user.'</li>'. 
    642      '<li><strong>'.__('File type:').'</strong> '.$file->type.'</li>'; 
    643 if ($file->media_image) 
    644 { 
    645      $S = getimagesize($file->file); 
    646      echo 
    647      '<li><strong>'.__('Image width:').'</strong> '.$S[0].' px</li>'. 
    648      '<li><strong>'.__('Image height:').'</strong> '.$S[1].' px</li>'; 
    649      unset($S); 
     620'<h3>' . __('Media details') . '</h3>' . 
     621'<ul>' . 
     622'<li><strong>' . __('File owner:') . '</strong> ' . $file->media_user . '</li>' . 
     623'<li><strong>' . __('File type:') . '</strong> ' . $file->type . '</li>'; 
     624if ($file->media_image) { 
     625    $S = getimagesize($file->file); 
     626    echo 
     627    '<li><strong>' . __('Image width:') . '</strong> ' . $S[0] . ' px</li>' . 
     628    '<li><strong>' . __('Image height:') . '</strong> ' . $S[1] . ' px</li>'; 
     629    unset($S); 
    650630} 
    651631echo 
    652      '<li><strong>'.__('File size:').'</strong> '.files::size($file->size).'</li>'. 
    653      '<li><strong>'.__('File URL:').'</strong> <a href="'.$file->file_url.'">'.$file->file_url.'</a></li>'. 
    654 '</ul>'; 
    655  
    656 if (empty($_GET['find_posts'])) 
    657 { 
    658      echo 
    659      '<p><a class="button" href="'.$core->adminurl->get('admin.media.item',array_merge($page_url_params,array("find_posts"=>1,"tab"=>"media-details-tab"))).'">'. 
    660      __('Show entries containing this media').'</a></p>'; 
    661 } 
    662 else 
    663 { 
    664      echo '<h3>'.__('Entries containing this media').'</h3>'; 
    665      $params = array( 
    666           'post_type' => '', 
    667           'from' => 'LEFT OUTER JOIN '.$core->prefix.'post_media PM ON P.post_id = PM.post_id ', 
    668           'sql' => 'AND ('. 
    669                'PM.media_id = '.(integer) $id.' '. 
    670                "OR post_content_xhtml LIKE '%".$core->con->escape($file->relname)."%' ". 
    671                "OR post_excerpt_xhtml LIKE '%".$core->con->escape($file->relname)."%' " 
    672      ); 
    673  
    674      if ($file->media_image) 
    675      { # We look for thumbnails too 
    676           if (preg_match('#^http(s)?://#',$core->blog->settings->system->public_url)) { 
    677                $media_root = $core->blog->settings->system->public_url; 
    678           } else { 
    679                $media_root = $core->blog->host.path::clean($core->blog->settings->system->public_url).'/'; 
    680           } 
    681           foreach ($file->media_thumb as $v) { 
    682                $v = preg_replace('/^'.preg_quote($media_root,'/').'/','',$v); 
    683                $params['sql'] .= "OR post_content_xhtml LIKE '%".$core->con->escape($v)."%' "; 
    684                $params['sql'] .= "OR post_excerpt_xhtml LIKE '%".$core->con->escape($v)."%' "; 
    685           } 
    686      } 
    687  
    688      $params['sql'] .= ') '; 
    689  
    690      $rs = $core->blog->getPosts($params); 
    691  
    692      if ($rs->isEmpty()) 
    693      { 
    694           echo '<p>'.__('No entry seems contain this media.').'</p>'; 
    695      } 
    696      else 
    697      { 
    698           echo '<ul>'; 
    699           while ($rs->fetch()) { 
    700                $img = '<img alt="%1$s" title="%1$s" src="images/%2$s" />'; 
    701                switch ($rs->post_status) { 
    702                     case 1: 
    703                          $img_status = sprintf($img,__('published'),'check-on.png'); 
    704                          break; 
    705                     case 0: 
    706                          $img_status = sprintf($img,__('unpublished'),'check-off.png'); 
    707                          break; 
    708                     case -1: 
    709                          $img_status = sprintf($img,__('scheduled'),'scheduled.png'); 
    710                          break; 
    711                     case -2: 
    712                          $img_status = sprintf($img,__('pending'),'check-wrn.png'); 
    713                          break; 
    714                } 
    715                echo '<li>'.$img_status.' '.'<a href="'.$core->getPostAdminURL($rs->post_type,$rs->post_id).'">'. 
    716                     $rs->post_title.'</a>'. 
    717                     ($rs->post_type != 'post' ? ' ('.html::escapeHTML($rs->post_type).')' : ''). 
    718                     ' - '.dt::dt2str(__('%Y-%m-%d %H:%M'),$rs->post_dt).'</li>'; 
    719           } 
    720           echo '</ul>'; 
    721      } 
    722 } 
    723  
    724 if ($file->type == 'image/jpeg') 
    725 { 
    726      echo '<h3>'.__('Image details').'</h3>'; 
    727  
    728      $details = ''; 
    729      if (count($file->media_meta) > 0) 
    730      { 
    731           foreach ($file->media_meta as $k => $v) 
    732           { 
    733                if ((string) $v) { 
    734                     $details .= '<li><strong>'.$k.':</strong> '.html::escapeHTML($v).'</li>'; 
    735                } 
    736           } 
    737      } 
    738      if ($details) { 
    739           echo '<ul>'.$details.'</ul>'; 
    740      } else { 
    741           echo '<p>'.__('No detail').'</p>'; 
    742      } 
     632'<li><strong>' . __('File size:') . '</strong> ' . files::size($file->size) . '</li>' . 
     633'<li><strong>' . __('File URL:') . '</strong> <a href="' . $file->file_url . '">' . $file->file_url . '</a></li>' . 
     634    '</ul>'; 
     635 
     636if (empty($_GET['find_posts'])) { 
     637    echo 
     638    '<p><a class="button" href="' . $core->adminurl->get('admin.media.item', array_merge($page_url_params, array("find_posts" => 1, "tab" => "media-details-tab"))) . '">' . 
     639    __('Show entries containing this media') . '</a></p>'; 
     640} else { 
     641    echo '<h3>' . __('Entries containing this media') . '</h3>'; 
     642    $params = array( 
     643        'post_type' => '', 
     644        'from'      => 'LEFT OUTER JOIN ' . $core->prefix . 'post_media PM ON P.post_id = PM.post_id ', 
     645        'sql'       => 'AND (' . 
     646        'PM.media_id = ' . (integer) $id . ' ' . 
     647        "OR post_content_xhtml LIKE '%" . $core->con->escape($file->relname) . "%' " . 
     648        "OR post_excerpt_xhtml LIKE '%" . $core->con->escape($file->relname) . "%' " 
     649    ); 
     650 
     651    if ($file->media_image) { 
     652        # We look for thumbnails too 
     653        if (preg_match('#^http(s)?://#', $core->blog->settings->system->public_url)) { 
     654            $media_root = $core->blog->settings->system->public_url; 
     655        } else { 
     656            $media_root = $core->blog->host . path::clean($core->blog->settings->system->public_url) . '/'; 
     657        } 
     658        foreach ($file->media_thumb as $v) { 
     659            $v = preg_replace('/^' . preg_quote($media_root, '/') . '/', '', $v); 
     660            $params['sql'] .= "OR post_content_xhtml LIKE '%" . $core->con->escape($v) . "%' "; 
     661            $params['sql'] .= "OR post_excerpt_xhtml LIKE '%" . $core->con->escape($v) . "%' "; 
     662        } 
     663    } 
     664 
     665    $params['sql'] .= ') '; 
     666 
     667    $rs = $core->blog->getPosts($params); 
     668 
     669    if ($rs->isEmpty()) { 
     670        echo '<p>' . __('No entry seems contain this media.') . '</p>'; 
     671    } else { 
     672        echo '<ul>'; 
     673        while ($rs->fetch()) { 
     674            $img = '<img alt="%1$s" title="%1$s" src="images/%2$s" />'; 
     675            switch ($rs->post_status) { 
     676                case 1: 
     677                    $img_status = sprintf($img, __('published'), 'check-on.png'); 
     678                    break; 
     679                case 0: 
     680                    $img_status = sprintf($img, __('unpublished'), 'check-off.png'); 
     681                    break; 
     682                case -1: 
     683                    $img_status = sprintf($img, __('scheduled'), 'scheduled.png'); 
     684                    break; 
     685                case -2: 
     686                    $img_status = sprintf($img, __('pending'), 'check-wrn.png'); 
     687                    break; 
     688            } 
     689            echo '<li>' . $img_status . ' ' . '<a href="' . $core->getPostAdminURL($rs->post_type, $rs->post_id) . '">' . 
     690            $rs->post_title . '</a>' . 
     691            ($rs->post_type != 'post' ? ' (' . html::escapeHTML($rs->post_type) . ')' : '') . 
     692            ' - ' . dt::dt2str(__('%Y-%m-%d %H:%M'), $rs->post_dt) . '</li>'; 
     693        } 
     694        echo '</ul>'; 
     695    } 
     696} 
     697 
     698if ($file->type == 'image/jpeg') { 
     699    echo '<h3>' . __('Image details') . '</h3>'; 
     700 
     701    $details = ''; 
     702    if (count($file->media_meta) > 0) { 
     703        foreach ($file->media_meta as $k => $v) { 
     704            if ((string) $v) { 
     705                $details .= '<li><strong>' . $k . ':</strong> ' . html::escapeHTML($v) . '</li>'; 
     706            } 
     707        } 
     708    } 
     709    if ($details) { 
     710        echo '<ul>' . $details . '</ul>'; 
     711    } else { 
     712        echo '<p>' . __('No detail') . '</p>'; 
     713    } 
    743714} 
    744715 
    745716echo '</div>'; 
    746717 
    747 echo '<h3>'.__('Updates and modifications').'</h3>'; 
    748  
    749 if ($file->editable && $core_media_writable) 
    750 { 
    751      if ($file->media_type == 'image') 
    752      { 
    753           echo 
    754           '<form class="clear fieldset" action="'.$core->adminurl->get("admin.media.item").'" method="post">'. 
    755           '<h4>'.__('Update thumbnails').'</h4>'. 
    756           '<p class="more-info">'.__('This will create or update thumbnails for this image.').'</p>'. 
    757           '<p><input type="submit" name="thumbs" value="'.__('Update thumbnails').'" />'. 
    758           $core->adminurl->getHiddenFormFields('admin.media',$page_url_params). 
    759           $core->formNonce().'</p>'. 
    760           '</form>'; 
    761      } 
    762  
    763      if ($file->type == 'application/zip') 
    764      { 
    765           $inflate_combo = array( 
    766                __('Extract in a new directory') => 'new', 
    767                __('Extract in current directory') => 'current' 
    768           ); 
    769  
    770           echo 
    771           '<form class="clear fieldset" id="file-unzip" action="'.$core->adminurl->get("admin.media.item").'" method="post">'. 
    772           '<h4>'.__('Extract archive').'</h4>'. 
    773           '<ul>'. 
    774           '<li><strong>'.__('Extract in a new directory').'</strong> : '. 
    775           __('This will extract archive in a new directory that should not exist yet.').'</li>'. 
    776           '<li><strong>'.__('Extract in current directory').'</strong> : '. 
    777           __('This will extract archive in current directory and will overwrite existing files or directory.').'</li>'. 
    778           '</ul>'. 
    779           '<p><label for="inflate_mode" class="classic">'.__('Extract mode:').'</label> '. 
    780           form::combo('inflate_mode',$inflate_combo,'new'). 
    781           '<input type="submit" name="unzip" value="'.__('Extract').'" />'. 
    782           $core->adminurl->getHiddenFormFields('admin.media',$page_url_params). 
    783           $core->formNonce().'</p>'. 
    784           '</form>'; 
    785      } 
    786  
    787      echo 
    788      '<form class="clear fieldset" action="'.$core->adminurl->get("admin.media.item").'" method="post">'. 
    789      '<h4>'.__('Change media properties').'</h4>'. 
    790      '<p><label for="media_file">'.__('File name:').'</label>'. 
    791      form::field('media_file',30,255,html::escapeHTML($file->basename)).'</p>'. 
    792      '<p><label for="media_title">'.__('File title:').'</label>'. 
    793      form::field('media_title',30,255,html::escapeHTML($file->media_title)).'</p>'. 
    794      '<p><label for="media_dt">'.__('File date:').'</label>'. 
    795      form::field('media_dt',16,16,html::escapeHTML($file->media_dtstr)).'</p>'. 
    796      '<p><label for="media_private" class="classic">'.form::checkbox('media_private',1,$file->media_priv).' '. 
    797      __('Private').'</label></p>'. 
    798      '<p><label for="media_path">'.__('New directory:').'</label>'. 
    799      form::combo('media_path',$dirs_combo,dirname($file->relname)).'</p>'. 
    800      '<p><input type="submit" accesskey="s" value="'.__('Save').'" />'. 
    801      $core->adminurl->getHiddenFormFields('admin.media.item',$page_url_params). 
    802      $core->formNonce().'</p>'. 
    803      '</form>'; 
    804  
    805      echo 
    806      '<form class="clear fieldset" action="'.$core->adminurl->get("admin.media.item").'" method="post" enctype="multipart/form-data">'. 
    807      '<h4>'.__('Change file').'</h4>'. 
    808      '<div>'.form::hidden(array('MAX_FILE_SIZE'),DC_MAX_UPLOAD_SIZE).'</div>'. 
    809      '<p><label for="upfile">'.__('Choose a file:'). 
    810      ' ('.sprintf(__('Maximum size %s'),files::size(DC_MAX_UPLOAD_SIZE)).') '. 
    811      '<input type="file" id="upfile" name="upfile" size="35" />'. 
    812      '</label></p>'. 
    813      '<p><input type="submit" value="'.__('Send').'" />'. 
    814      $core->adminurl->getHiddenFormFields('admin.media',$page_url_params). 
    815      $core->formNonce().'</p>'. 
    816      '</form>'; 
    817  
    818      if ($file->del) { 
    819           echo 
    820           '<form id="delete-form" method="post" action="'.$core->adminurl->getBase("admin.media").'">'. 
    821           '<p><input name="delete" type="submit" class="delete" value="'.__('Delete this media').'" />'. 
    822           form::hidden('remove',rawurlencode($file->basename)). 
    823           form::hidden('rmyes',1). 
    824           $core->adminurl->getHiddenFormFields('admin.media',$media_page_url_params). 
    825           $core->formNonce().'</p>'. 
    826           '</form>'; 
    827      } 
    828  
    829  
    830      # --BEHAVIOR-- adminMediaItemForm 
    831      $core->callBehavior('adminMediaItemForm',$file); 
     718echo '<h3>' . __('Updates and modifications') . '</h3>'; 
     719 
     720if ($file->editable && $core_media_writable) { 
     721    if ($file->media_type == 'image') { 
     722        echo 
     723        '<form class="clear fieldset" action="' . $core->adminurl->get("admin.media.item") . '" method="post">' . 
     724        '<h4>' . __('Update thumbnails') . '</h4>' . 
     725        '<p class="more-info">' . __('This will create or update thumbnails for this image.') . '</p>' . 
     726        '<p><input type="submit" name="thumbs" value="' . __('Update thumbnails') . '" />' . 
     727        $core->adminurl->getHiddenFormFields('admin.media', $page_url_params) . 
     728        $core->formNonce() . '</p>' . 
     729            '</form>'; 
     730    } 
     731 
     732    if ($file->type == 'application/zip') { 
     733        $inflate_combo = array( 
     734            __('Extract in a new directory')   => 'new', 
     735            __('Extract in current directory') => 'current' 
     736        ); 
     737 
     738        echo 
     739        '<form class="clear fieldset" id="file-unzip" action="' . $core->adminurl->get("admin.media.item") . '" method="post">' . 
     740        '<h4>' . __('Extract archive') . '</h4>' . 
     741        '<ul>' . 
     742        '<li><strong>' . __('Extract in a new directory') . '</strong> : ' . 
     743        __('This will extract archive in a new directory that should not exist yet.') . '</li>' . 
     744        '<li><strong>' . __('Extract in current directory') . '</strong> : ' . 
     745        __('This will extract archive in current directory and will overwrite existing files or directory.') . '</li>' . 
     746        '</ul>' . 
     747        '<p><label for="inflate_mode" class="classic">' . __('Extract mode:') . '</label> ' . 
     748        form::combo('inflate_mode', $inflate_combo, 'new') . 
     749        '<input type="submit" name="unzip" value="' . __('Extract') . '" />' . 
     750        $core->adminurl->getHiddenFormFields('admin.media', $page_url_params) . 
     751        $core->formNonce() . '</p>' . 
     752            '</form>'; 
     753    } 
     754 
     755    echo 
     756    '<form class="clear fieldset" action="' . $core->adminurl->get("admin.media.item") . '" method="post">' . 
     757    '<h4>' . __('Change media properties') . '</h4>' . 
     758    '<p><label for="media_file">' . __('File name:') . '</label>' . 
     759    form::field('media_file', 30, 255, html::escapeHTML($file->basename)) . '</p>' . 
     760    '<p><label for="media_title">' . __('File title:') . '</label>' . 
     761    form::field('media_title', 30, 255, html::escapeHTML($file->media_title)) . '</p>' . 
     762    '<p><label for="media_dt">' . __('File date:') . '</label>' . 
     763    form::field('media_dt', 16, 16, html::escapeHTML($file->media_dtstr)) . '</p>' . 
     764    '<p><label for="media_private" class="classic">' . form::checkbox('media_private', 1, $file->media_priv) . ' ' . 
     765    __('Private') . '</label></p>' . 
     766    '<p><label for="media_path">' . __('New directory:') . '</label>' . 
     767    form::combo('media_path', $dirs_combo, dirname($file->relname)) . '</p>' . 
     768    '<p><input type="submit" accesskey="s" value="' . __('Save') . '" />' . 
     769    $core->adminurl->getHiddenFormFields('admin.media.item', $page_url_params) . 
     770    $core->formNonce() . '</p>' . 
     771        '</form>'; 
     772 
     773    echo 
     774    '<form class="clear fieldset" action="' . $core->adminurl->get("admin.media.item") . '" method="post" enctype="multipart/form-data">' . 
     775    '<h4>' . __('Change file') . '</h4>' . 
     776    '<div>' . form::hidden(array('MAX_FILE_SIZE'), DC_MAX_UPLOAD_SIZE) . '</div>' . 
     777    '<p><label for="upfile">' . __('Choose a file:') . 
     778    ' (' . sprintf(__('Maximum size %s'), files::size(DC_MAX_UPLOAD_SIZE)) . ') ' . 
     779    '<input type="file" id="upfile" name="upfile" size="35" />' . 
     780    '</label></p>' . 
     781    '<p><input type="submit" value="' . __('Send') . '" />' . 
     782    $core->adminurl->getHiddenFormFields('admin.media', $page_url_params) . 
     783    $core->formNonce() . '</p>' . 
     784        '</form>'; 
     785 
     786    if ($file->del) { 
     787        echo 
     788        '<form id="delete-form" method="post" action="' . $core->adminurl->getBase("admin.media") . '">' . 
     789        '<p><input name="delete" type="submit" class="delete" value="' . __('Delete this media') . '" />' . 
     790        form::hidden('remove', rawurlencode($file->basename)) . 
     791        form::hidden('rmyes', 1) . 
     792        $core->adminurl->getHiddenFormFields('admin.media', $media_page_url_params) . 
     793        $core->formNonce() . '</p>' . 
     794            '</form>'; 
     795    } 
     796 
     797    # --BEHAVIOR-- adminMediaItemForm 
     798    $core->callBehavior('adminMediaItemForm', $file); 
    832799} 
    833800 
    834801echo 
    835 '</div>'; 
     802    '</div>'; 
    836803if ($popup || $select) { 
    837      echo 
    838      '</div>'; 
     804    echo 
     805        '</div>'; 
    839806} 
    840807 
Note: See TracChangeset for help on using the changeset viewer.

Sites map