global $serendipity;
static $debug = false;
- $sort_row_interval = array(8, 16, 50, 100);
$sortParams = array('perpage', 'order', 'ordermode');
$importParams = array('adminModule', 'htmltarget', 'filename_only', 'textarea', 'subpage');
$extraParems = '';
$serendipity['GET']['only_path'] = serendipity_uploadSecure($limit_path . $serendipity['GET']['only_path'], true);
$serendipity['GET']['only_filename'] = str_replace(array('*', '?'), array('%', '_'), $serendipity['GET']['only_filename']);
- $perPage = (!empty($serendipity['GET']['sortorder']['perpage']) ? $serendipity['GET']['sortorder']['perpage'] : $sort_row_interval[0]);
+ $perPage = (!empty($serendipity['GET']['sortorder']['perpage']) ? $serendipity['GET']['sortorder']['perpage'] : 8);
$start = ($page-1) * $perPage;
## SYNCH START ##
$pages = ceil($totalImages / $perPage);
$linkPrevious = '?' . $extraParems . 'serendipity[page]=' . ($page-1);
$linkNext = '?' . $extraParems . 'serendipity[page]=' . ($page+1);
- $sort_order = serendipity_getImageFields();
if (is_null($lineBreak)) {
$lineBreak = floor(750 / ($serendipity['thumbSize'] + 20));
}
-?>
-<form style="display: inline; margin: 0px; padding: 0px;" method="get" action="?">
-<?php
- echo serendipity_setFormToken();
- foreach($serendipity['GET'] AS $g_key => $g_val) {
- if ( !is_array($g_val) && $g_key != 'page' ) {
- echo '<input type="hidden" name="serendipity[' . $g_key . ']" value="' . htmlspecialchars($g_val) . '" />';
- }
- }
-?>
- <table class="serendipity_admin_filters" width="100%">
- <tr>
- <td class="serendipity_admin_filters_headline" colspan="6"><strong><?php echo FILTERS ?></strong> - <?php echo FIND_MEDIA ?></td>
- </tr>
- <tr>
- <td><?php echo FILTER_DIRECTORY ?></td>
- <td><select name="serendipity[only_path]">
- <option value=""> <?php if (!$limit_path) { echo ALL_DIRECTORIES; } else { echo basename($limit_path);}?></option>
- <?php foreach ( $paths as $folder ) { ?>
- <option <?php echo ($serendipity['GET']['only_path'] == $limit_path.$folder['relpath']) ? 'selected="selected"' : '' ?> value="<?php echo $folder['relpath'] ?>"><?php echo str_repeat(' ', $folder['depth']*2) . ' '. $folder['name'] ?></option>
- <?php } ?>
- </select>
- </td>
- <td><?php echo SORT_ORDER_NAME ?></td>
- <td colspan="3"><input type="text" name="serendipity[only_filename]" value="<?php echo htmlspecialchars($serendipity['GET']['only_filename']); ?>" /></td>
- </tr>
- <tr>
- <td class="serendipity_admin_filters_headline" colspan="6"><strong><?php echo SORT_ORDER ?></strong></td>
- </tr>
- <tr>
- <td><?php echo SORT_BY ?></td>
- <td><select name="serendipity[sortorder][order]">
-<?php
- foreach($sort_order AS $so_key => $so_val) {
- echo '<option value="' . $so_key . '" ' . (isset($serendipity['GET']['sortorder']['order']) && $serendipity['GET']['sortorder']['order'] == $so_key ? 'selected="selected"' : '') . '>' . $so_val . '</option>';
- }
-?> </select>
-</td>
- <td><?php echo SORT_ORDER ?></td>
- <td><select name="serendipity[sortorder][ordermode]">
- <option value="DESC" <?php echo (isset($serendipity['GET']['sortorder']['ordermode']) && $serendipity['GET']['sortorder']['ordermode'] == 'DESC' ? 'selected="selected"' : '') ?>><?php echo SORT_ORDER_DESC ?></option>
- <option value="ASC" <?php echo (isset($serendipity['GET']['sortorder']['ordermode']) && $serendipity['GET']['sortorder']['ordermode'] == 'ASC' ? 'selected="selected"' : '') ?>><?php echo SORT_ORDER_ASC ?></option>
- </select>
- </td>
- <td><?php echo FILES_PER_PAGE ?></td>
- <td><select name="serendipity[sortorder][perpage]">
-<?php
- foreach($sort_row_interval AS $so_val) {
- echo '<option value="' . $so_val . '" ' . ($perPage == $so_val ? 'selected="selected"' : '') . '>' . $so_val . '</option>';
- }
-?> </select>
- </td>
- </tr>
- <tr>
- <td align="right" colspan="6">
-<?php
- if ($show_upload) {
-?>
- <input type="button" value="<?php echo htmlspecialchars(ADD_MEDIA); ?>" onclick="location.href='<?php echo $url; ?>&serendipity[adminAction]=addSelect&serendipity[only_path]=<?php echo urlencode($serendipity['GET']['only_path']); ?>'; return false" class="serendipityPrettyButton" />
-<?php
- }
-?>
- <input type="submit" name="go" value=" - <?php echo GO ?> - " class="serendipityPrettyButton" />
- </td>
- </tr>
-</table>
-</form>
-<?php if (sizeof($serendipity['imageList']) == 0) { ?>
- <div align="center">- <?php echo NO_IMAGES_FOUND ?> -</div>
-<?php } else { ?>
-<table border="0" width="100%">
- <tr>
- <td colspan="<?php echo floor($lineBreak); ?>">
- <table width="100%">
- <tr>
- <td>
- <?php if ($page != 1 && $page <= $pages) { ?>
- <a href="<?php echo $linkPrevious ?>" class="serendipityIconLink"><img src="<?php echo serendipity_getTemplateFile('admin/img/previous.png') ?>" /><?php echo PREVIOUS ?></a>
- <?php } ?></td>
- <td align="right">
- <?php if ($page != $pages) { ?>
- <a href="<?php echo $linkNext ?>" class="serendipityIconLinkRight"><?php echo NEXT ?><img src="<?php echo serendipity_getTemplateFile('admin/img/next.png') ?>" /></a>
- <?php } ?></td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
-<?php
+
+ if (count($serendipity['imageList']) > 0) {
foreach ($serendipity['imageList'] as $k => $file) {
if (!($serendipity['authorid'] == $file['authorid'] || $file['authorid'] == '0' || serendipity_checkPermission('adminImagesViewOthers'))) {
// This is a fail-safe continue. Basically a non-matching file should already be filtered in SQL.
serendipity_prepareMedia($serendipity['imageList'][$k], $url);
}
-
- serendipity_showMedia($serendipity['imageList'], $url, $manage, $lineBreak, true);
}
-?>
- </tr>
-</table>
-<?php
+
+ serendipity_showMedia(
+ $serendipity['imageList'],
+ $paths,
+ $url,
+ $manage,
+ $lineBreak,
+ true,
+ $limit_path,
+ $perPage,
+ $show_upload,
+ $page,
+ $pages,
+ $linkNext,
+ $linkPrevious);
} // End serendipity_displayImageList()
/**
}
}
+ $show = array();
foreach($new_media AS $idx => $media) {
$props =& serendipity_fetchMediaProperties($media['image_id']);
- serendipity_prepareMedia($media['internal']);
- serendipity_showMedia($file, $url, false, 1, false);
+ $show[$idx] =& $media['internal'];
+ serendipity_prepareMedia($show[$idx]);
echo '<input type="hidden" name="serendipity[mediaProperties][' . $idx . '][image_id]" value="' . (int)$media['image_id'] . '" />' . "\n";
echo '</tr>' . "\n";
}
echo '</table></div>' . "\n";
-
- // TODO: EXIF!
- // TODO: Upload date, Dimensions, Filename, Autor, Mime, ...
}
+
+ // TODO: SMARTIFY!
+ // TODO: EXIF!
+ // TODO: Upload date, Dimensions, Filename, Autor, Mime, ...
+ serendipity_showMedia($show, $mirror, $url, false, 1, false);
?>
<br /><input type="submit" name="submit" value="<?php echo GO; ?>" class="serendipityPrettyButton" />
</div>
* @return boolean
*
*/
-function serendipity_showMedia(&$file, $url = '', $manage = false, $lineBreak = 3, $enclose = true) {
+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 = '') {
global $serendipity;
+ $form_hidden = '';
+ foreach($serendipity['GET'] AS $g_key => $g_val) {
+ if (!is_array($g_val) && $g_key != 'page') {
+ $form_hidden .= '<input type="hidden" name="serendipity[' . $g_key . ']" value="' . htmlspecialchars($g_val) . '" />';
+ }
+ }
+
serendipity_smarty_init();
$media = array(
- 'manage' => $manage,
- 'lineBreak' => $lineBreak,
- 'lineBreakP' => round(1/$lineBreak*100),
- 'url' => $url,
- 'enclose' => $enclose,
- 'zoomIMG' => serendipity_getTemplateFile('admin/img/big_zoom.png'),
- 'renameIMG' => serendipity_getTemplateFile('admin/img/big_rename.png'),
- 'resizeIMG' => serendipity_getTemplateFile('admin/img/big_resize.png'),
- 'rotatecwIMG' => serendipity_getTemplateFile('admin/img/big_rotate_ccw.png'),
- 'rotateccwIMG' => serendipity_getTemplateFile('admin/img/big_rotate_cw.png'),
- 'configureIMG' => serendipity_getTemplateFile('admin/img/configure.png'),
- 'deleteIMG' => serendipity_getTemplateFile('admin/img/big_delete.png')
-
+ 'manage' => $manage,
+ 'lineBreak' => $lineBreak,
+ 'lineBreakP' => round(1/$lineBreak*100),
+ 'url' => $url,
+ 'enclose' => $enclose,
+ 'zoomIMG' => serendipity_getTemplateFile('admin/img/big_zoom.png'),
+ 'renameIMG' => serendipity_getTemplateFile('admin/img/big_rename.png'),
+ 'resizeIMG' => serendipity_getTemplateFile('admin/img/big_resize.png'),
+ 'rotatecwIMG' => serendipity_getTemplateFile('admin/img/big_rotate_ccw.png'),
+ 'rotateccwIMG' => serendipity_getTemplateFile('admin/img/big_rotate_cw.png'),
+ 'configureIMG' => serendipity_getTemplateFile('admin/img/configure.png'),
+ 'deleteIMG' => serendipity_getTemplateFile('admin/img/big_delete.png'),
+ 'prevIMG' => serendipity_getTemplateFile('admin/img/previous.png'),
+ '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['files'] =& $file;
+ $media['paths'] =& $paths;
$serendipity['smarty']->assign('media', $media);
- $serendipity['smarty']->display(serendipity_getTemplateFile('admin/media_items.tpl', 'serendipityPath'));
+
+ if ($enclose) {
+ 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'));
+ }
return true;
}
\ No newline at end of file
--- /dev/null
+<form style="display: inline; margin: 0px; padding: 0px;" method="get" action="?">
+ {$media.token}
+ {$media.form_hidden}
+ <table class="serendipity_admin_filters" width="100%">
+ <tr>
+ <td class="serendipity_admin_filters_headline" colspan="6"><strong>{$CONST.FILTERS}</strong> - {$CONST.FIND_MEDIA}</td>
+ </tr>
+ <tr>
+ <td>{$CONST.FILTER_DIRECTORY}</td>
+ <td><select name="serendipity[only_path]">
+ <option value="">{if NOT $media.limit_path}{$CONST.ALL_DIRECTORIES}{else}{$media.blimit_path}{/if}</option>
+ {foreach from=$media.paths item="folder"}
+ <option {if ($media.only_path == $media.limit_path|cat:$folder.relpath)}selected="selected"{/if} value="{$folder.relpath}">{' '|str_repeat:$folder.depth*2}{$folder.name}</option>
+ {/foreach}
+ </select>
+ </td>
+ <td>{$CONST.SORT_ORDER_NAME}</td>
+ <td colspan="3"><input type="text" name="serendipity[only_filename]" value="{$media.only_filename|@escape}" /></td>
+ </tr>
+ <tr>
+ <td class="serendipity_admin_filters_headline" colspan="6"><strong>{$CONST.SORT_ORDER}</strong></td>
+ </tr>
+ <tr>
+ <td>{$CONST.SORT_BY}</td>
+ <td>
+ <select name="serendipity[sortorder][order]">
+ {foreach from=$media.sort_order item="so_val" key="so_key"}
+ <option value="{$so_key}" {if $media.sortorder.order == $so_key}selected="selected"{/if}>{$so_val}</option>
+ {/foreach}
+ </select>
+ </td>
+ <td>{$CONST.SORT_ORDER}</td>
+ <td><select name="serendipity[sortorder][ordermode]">
+ <option value="DESC" {if $media.sortorder.ordermode == 'DESC'}selected="selected"{/if}>{$CONST.SORT_ORDER_DESC}</option>
+ <option value="ASC" {if $media.sortorder.ordermode == 'ASC'}selected="selected"{/if}>{$CONST.SORT_ORDER_ASC }</option>
+ </select>
+ </td>
+ <td>{$CONST.FILES_PER_PAGE}</td>
+ <td>
+ <select name="serendipity[sortorder][perpage]">
+ {foreach from=$media.sort_row_interval item="so_val"}
+ <option value="{$so_val}" {if $media.perPage == $so_val}selected="selected"{/if}>{$so_val}</option>
+ {/foreach}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td align="right" colspan="6">
+ {if $media.show_upload}
+ <input type="button" value="{$CONST.ADD_MEDIA|@escape}" onclick="location.href='{$media.url}&serendipity[adminAction]=addSelect&serendipity[only_path]={$media.only_path|escape:url}'; return false" class="serendipityPrettyButton" />
+ {/if}
+ <input type="submit" name="go" value=" - {$CONST.GO} - " class="serendipityPrettyButton" />
+ </td>
+ </tr>
+</table>
+</form>
+
+{if $media.nr_files < 1}
+ <div align="center">- {$CONST.NO_IMAGES_FOUND} -</div>
+{else}
+<table border="0" width="100%">
+ <tr>
+ <td colspan="{$media.lineBreak}">
+ <table width="100%">
+ <tr>
+ <td>
+ {if $media.page != 1 AND $media.page <= $media.pages}
+ <a href="{$media.linkPrevious}" class="serendipityIconLink"><img src="{$media.prevIMG}"" />{$CONST.PREVIOUS}</a>
+ {/if}
+ </td>
+ <td align="right">
+ {if $media.page != $media.pages}
+ <a href="{$media.linkNext}" class="serendipityIconLinkRight">{$CONST.NEXT}<img src="{$media.nextIMG}" /></a>
+ {/if}
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ {$MEDIA_ITEMS}
+ </tr>
+</table>
+{/if}
\ No newline at end of file