From: garvinhicking Date: Wed, 12 Apr 2006 11:34:42 +0000 (+0000) Subject: More smartification, show detailed image data. X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=2a6c69038c160e00a8c83e9d48f6610665bd4999;p=s9y.git More smartification, show detailed image data. --- diff --git a/docs/NEWS b/docs/NEWS index a480649..f1514ff 100644 --- a/docs/NEWS +++ b/docs/NEWS @@ -10,7 +10,6 @@ Version 1.1-alpha4() * Make media manager able to store media properties (garvinhicking) TODO: - - Show more existing properties in edit interface/Smartify [see TODO in file] - Read/Parse EXIF metadata, ask which to import [config option?] - Search/Filter for specific properties/keywords - Move/rename images/directories (browse serendipity_entries to fix up image paths [using ]. Also move ALL images of a directory, like when moving s9y installations. Put this into "Sync Thumbs" or "Manage Directories" panel. diff --git a/include/admin/images.inc.php b/include/admin/images.inc.php index 2774939..0759652 100644 --- a/include/admin/images.inc.php +++ b/include/admin/images.inc.php @@ -558,274 +558,24 @@ switch ($serendipity['GET']['adminAction']) { NULL, 'write' ); -?> -
- - - -
-
- - - - - $imgsel_val) { - echo ' ' . "\n"; + $form_hidden .= ' ' . "\n"; } } -?> - - - - - - - - - - - - - -
- -
- -
- - -
- - - - - - - - - - - - - - - - - - - -

-
-
-
- -
-
- - - - - -
- - -
- - - - - -
-
-
-
- serendipity_setFormToken(), + 'form_hidden' => $form_hidden, + 'folders' => $folders, + 'only_path' => $serendipity['GET']['only_path'] + ); + $serendipity['smarty']->assign('media', $media); + $serendipity['smarty']->display(serendipity_getTemplateFile('admin/media_upload.tpl', 'serendipityPath')); break; case 'rotateCW': diff --git a/include/functions_images.inc.php b/include/functions_images.inc.php index 697d1ff..8eb588b 100644 --- a/include/functions_images.inc.php +++ b/include/functions_images.inc.php @@ -1343,6 +1343,15 @@ function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = fa } } + $smarty_vars = array( + 'limit_path' => $limit_path, + 'perPage' => $perPage, + 'show_upload' => $show_upload, + 'page' => $page, + 'pages' => $pages, + 'linkNext' => $linkNext, + 'linkPrevious' => $linkPrevious + ); serendipity_showMedia( $serendipity['imageList'], $paths, @@ -1350,13 +1359,8 @@ function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = fa $manage, $lineBreak, true, - $limit_path, - $perPage, - $show_upload, - $page, - $pages, - $linkNext, - $linkPrevious); + $smarty_vars + ); } // End serendipity_displayImageList() /** @@ -1867,7 +1871,7 @@ function serendipity_getImageData($sRelativePath) { * @return boolean * */ -function serendipity_showPropertyForm(&$new_media, $keywordsPerBlock = 3, $manage = true) { +function serendipity_showPropertyForm(&$new_media, $keywordsPerBlock = 3, $is_edit = true) { global $serendipity; if (!is_array($new_media) || count($new_media) < 1) { @@ -1880,21 +1884,11 @@ function serendipity_showPropertyForm(&$new_media, $keywordsPerBlock = 3, $manag $dprops = explode(';', $serendipity['mediaProperties']); $keywords = explode(';', $serendipity['mediaKeywords']); - if ($manage) { -?> -
-
- - - - - - $imgsel_val) { - echo ' ' . "\n"; - } + $editform_hidden = ''; + if (isset($GLOBALS['image_selector_addvars']) && is_array($GLOBALS['image_selector_addvars'])) { + // These variables may come from serendipity_admin_image_selector.php to show embedded upload form + foreach($GLOBALS['image_selector_addvars'] AS $imgsel_key => $imgsel_val) { + $editform_hidden .= ' ' . "\n"; } } @@ -1905,9 +1899,6 @@ function serendipity_showPropertyForm(&$new_media, $keywordsPerBlock = 3, $manag $show[$idx] =& $media['internal']; serendipity_prepareMedia($show[$idx]); - echo '' . "\n"; - - echo '

' . MEDIA_PROP . '

'; foreach($dprops AS $prop) { $type = 'input'; $parts = explode(':', trim($prop)); @@ -1915,69 +1906,51 @@ function serendipity_showPropertyForm(&$new_media, $keywordsPerBlock = 3, $manag if ($parts[1] == 'MULTI') { $type = 'textarea'; } - if (!$manage) { + if (!$is_edit) { $type = 'readonly'; } $val =& $props['base_property'][$parts[0]]; - echo '
'; - - switch($type) { - case 'textarea': - echo '' . "\n"; - break; - - case 'readonly': - echo '
' . htmlspecialchars($val) . '
'; - break; - - case 'input': - default: - echo '' . "\n"; - break; - } - echo '
'; + $show[$idx]['base_property'][htmlspecialchars($parts[0]) . $idx] = array( + 'label' => htmlspecialchars(defined('MEDIA_PROPERTY_' . strtoupper($parts[0])) ? constant('MEDIA_PROPERTY_' . strtoupper($parts[0])) : $parts[0]), + 'type' => $type, + 'val' => $val, + 'title' => htmlspecialchars($parts[0]) + ); } - echo '

' . MEDIA_KEYWORDS . '

'; - echo '
'; $rows = ceil(count($keywords) / $keywordsPerBlock); for($i = 0; $i < $rows; $i++) { - echo ''; for ($j = 0; $j < $keywordsPerBlock; $j++) { $kidx = ($i*$keywordsPerBlock) + $j; - echo ''; + $show[$idx]['base_keywords'][$i][$j] = array( + 'name' => htmlspecialchars($keywords[$kidx]), + 'selected' => isset($props['base_keyword'][$keywords[$kidx]]) ? true : false + ); + } else { + $show[$idx]['base_keywords'][$i][$j] = array(); } - echo ''; } - echo '' . "\n"; } - echo '
'; if (isset($keywords[$kidx])) { - $kw = htmlspecialchars($keywords[$kidx]); - if (isset($props['base_keyword'][$keywords[$kidx]])) { - $selected = 'checked="checked"'; - } else { - $selected = ''; - } - echo ' 
' . "\n"; } - // TODO: SMARTIFY! // TODO: EXIF! - // TODO: Upload date, Dimensions, Filename, Autor, Mime, ... - serendipity_showMedia($show, $mirror, $url, false, 1, false); -?> -
-
-
- $is_edit, + 'editform_hidden' => $editform_hidden, + 'keywordsPerBlock' => $keywordsPerBlock, + 'keywords' => $keywords, + 'dprops' => $dprops + ); + serendipity_showMedia( + $show, + $mirror, + $url, + false, + 1, + false, + $smarty_vars); return true; } @@ -2171,7 +2144,7 @@ function serendipity_prepareMedia(&$file, $url = '') { * @return boolean * */ -function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lineBreak = 3, $enclose = true, $limit_path = null, $perPage = 8, $show_upload = false, $page = 1, $pages = 1, $linkNext = '', $linkPrevious = '') { +function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lineBreak = 3, $enclose = true, $smarty_vars = array()) { global $serendipity; $form_hidden = ''; @@ -2199,22 +2172,16 @@ function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lin 'nextIMG' => serendipity_getTemplateFile('admin/img/next.png'), 'token' => serendipity_setFormToken(), 'form_hidden' => $form_hidden, - 'limit_path' => $limit_path, 'blimit_path' => basename($limit_path), 'only_path' => $serendipity['GET']['only_path'], 'only_filename' => $serendipity['GET']['only_filename'], 'sortorder' => $serendipity['GET']['sortorder'], 'sort_order' => serendipity_getImageFields(), 'sort_row_interval' => array(8, 16, 50, 100), - 'perPage' => $perPage, - 'show_upload' => $show_upload, 'nr_files' => count($file), - 'page' => $page, - 'pages' => $pages, - 'linkNext' => $linkNext, - 'linkPrevious' => $linkPrevious ); + $media = array_merge($media, $smarty_vars); $media['files'] =& $file; $media['paths'] =& $paths; @@ -2224,7 +2191,8 @@ function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lin serendipity_smarty_fetch('MEDIA_ITEMS', 'admin/media_items.tpl'); $serendipity['smarty']->display(serendipity_getTemplateFile('admin/media_pane.tpl', 'serendipityPath')); } else { - $serendipity['smarty']->display(serendipity_getTemplateFile('admin/media_items.tpl', 'serendipityPath')); + serendipity_smarty_fetch('MEDIA_ITEMS', 'admin/media_items.tpl'); + $serendipity['smarty']->display(serendipity_getTemplateFile('admin/media_properties.tpl', 'serendipityPath')); } return true; diff --git a/templates/default/admin/media_items.tpl b/templates/default/admin/media_items.tpl index 34d2a41..a87ba25 100644 --- a/templates/default/admin/media_items.tpl +++ b/templates/default/admin/media_items.tpl @@ -1,4 +1,4 @@ -{foreach from=$media.files item="file" name="mediafiles"} +{foreach from=$media.files item="file" name="mediafiles" key="mediakey"} {if $media.enclose} {/if} @@ -47,6 +47,56 @@ {/if} + {if NOT $media.enclose} +

{$file.name}.{$file.extension} [{$file.mime}]

+
+ {if $file.authorid != 0}{$CONST.POSTED_BY} {$file.authorname}{/if} {$CONST.ON} {$file.date|@formatTime:DATE_FORMAT_ENTRY}. + {if $file.hotlink} + {$file.nice_hotlink} + {elseif $file.is_image} + {$CONST.ORIGINAL_SHORT}: {$file.dimensions_width}x{$file.dimensions_height}, + {$CONST.THUMBNAIL_SHORT}: {$file.dim.0}x{$file.dim.1} + {/if} + , {$file.nice_size}kb +
+ + +

{$CONST.MEDIA_PROP}

+
+ {foreach from=$file.base_property key="prop_fieldname" item="prop_content"} +
+
+ {if $prop_content.type == 'textarea'} + + {elseif $prop_content.type == 'readonly'} +
{$prop_content.val|@escape}
+ {elseif $prop_content.type == 'input'} + + {/if} +
+ {/foreach} +
+ +

{$CONST.MEDIA_KEYWORDS}

+
+ + {foreach from=$file.base_keywords key="keyword_row" item="keyword_cells"} + + {foreach from=$keyword_cells key="keyword_cell" item="keyword"} + + {/foreach} + + {/foreach} +
+ {if $keyword.name} +   + {else} +   + {/if} +
+
+ {/if} + {if $media.enclose AND (($smarty.foreach.mediafiles.iteration % $media.lineBreak) == 0)} {/if} diff --git a/templates/default/admin/media_properties.tpl b/templates/default/admin/media_properties.tpl new file mode 100644 index 0000000..754c434 --- /dev/null +++ b/templates/default/admin/media_properties.tpl @@ -0,0 +1,18 @@ +{if $media.is_edit} +
+
+ + + + + + {$media.editform_hidden} +{/if} + +{$MEDIA_ITEMS} + +{if $media.is_edit} +
+
+
+{/if} diff --git a/templates/default/admin/media_upload.tpl b/templates/default/admin/media_upload.tpl new file mode 100644 index 0000000..dbae3ff --- /dev/null +++ b/templates/default/admin/media_upload.tpl @@ -0,0 +1,260 @@ +
{$CONST.ADD_MEDIA_BLAHBLAH}
+ + + +
+
+ {$media.token} + + + + {$media.form_hidden} + + + + + + + + + + + + + +
{$CONST.ENTER_MEDIA_URL}
{$CONST.ENTER_MEDIA_URL_METHOD} + +
- {$CONST.WORD_OR} -
+ + +
+ + + + + + + + + + + + + + + + + + + +
{$CONST.ENTER_MEDIA_UPLOAD}

{$CONST.SAVE_FILE_AS}
{$CONST.STORE_IN_DIRECTORY} +
+
+
+ +
+
+ + + + {serendipity_hookPlugin hook="backend_image_addform" hookAll=true} + +
+ + +
+ + - {$CONST.WORD_OR} - + +
+
+
{$CONST.ADD_MEDIA_BLAHBLAH_NOTE}
+
+