header('Content-Type: text/html; charset=' . LANG_CHARSET);
-if ($_SESSION['serendipityAuthedUser'] !== true) {
+if ($_SESSION['serendipityAuthedUser'] !== true && $serendipity['GET']['step'] != 'showItem') {
die(HAVE_TO_BE_LOGGED_ON);
}
$serendipity['GET']['step'] = (isset($serendipity['POST']['step']) ? $serendipity['POST']['step'] : '');
}
-function ifRemember($name, $value, $isDefault = false, $att = 'checked') {
- global $serendipity;
-
- if (!is_array($serendipity['COOKIE']) && !$isDefault) {
- return false;
- }
-
- if ((!is_array($serendipity['COOKIE']) && $isDefault) ||
- (!isset($serendipity['COOKIE']['serendipity_' . $name]) && $isDefault) ||
- (isset($serendipity['COOKIE']['serendipity_' . $name]) && $serendipity['COOKIE']['serendipity_' . $name] == $value)) {
-
- return " $att=\"$att\" ";
- }
+if (empty($serendipity['GET']['step']) && isset($serendipity['GET']['adminAction'])) {
+ $serendipity['GET']['step'] = $serendipity['GET']['adminAction'];
}
-?>
-<html>
- <head>
- <title><?php echo SELECT_FILE; ?></title>
- <meta http-equiv="Content-Type" content="text/html; charset=<?php echo LANG_CHARSET; ?>" />
- <link rel="stylesheet" type="text/css" href="<?php echo serendipity_rewriteURL('serendipity_admin.css'); ?>" />
- </head>
-
- <script type="text/javascript">
- function SetCookie(name, value) {
- var today = new Date();
- var expire = new Date();
- expire.setTime(today.getTime() + (60*60*24*30));
- document.cookie = 'serendipity[' + name + ']='+escape(value) + ';expires=' + expire.toGMTString();
- }
- function rememberOptions() {
- el = document.getElementById('imageForm');
- for (i = 0; i < el.elements.length; i++) {
- elname = new String(el.elements[i].name);
- elname = elname.replace(/\[/g, '_');
- elname = elname.replace(/\]/g, '');
-
- if (el.elements[i].type == 'radio') {
- if (el.elements[i].checked) {
- SetCookie(elname, el.elements[i].value);
- }
- } else if (typeof(el.elements[i].options) == 'object') {
- SetCookie(elname, el.elements[i].options[el.elements[i].selectedIndex].value);
- }
- }
- }
- </script>
-<body id="serendipityAdminBodyImageSelector">
+serendipity_smarty_init();
+if (empty($serendipity['GET']['step']) && $serendipity['GET']['page'] < 1) {
+ $media = array(
+ 'GET_STRING' => serendipity_build_query($_GET),
+ 'frameset' => true
+ );
+ $serendipity['smarty']->assign_by_ref('media', $media);
+ $serendipity['smarty']->display(serendipity_getTemplateFile('admin/media_choose.tpl', 'serendipityPath'));
+ return;
+}
+
+$import_vars = $serendipity['GET'];
+unset($import_vars['step']);
+unset($import_vars['only_path']);
+
+$showFile = 'admin/media_choose.tpl';
+$body_id = 'serendipityAdminBodyImageSelector';
+if ($serendipity['GET']['step'] === 'tree') {
+ $body_id = 'serendipityAdminBodyImageSelectorTree';
+}
+
+$media = array(
+ 'body_id' => $body_id,
+ 'only_path' => $serendipity['GET']['only_path'],
+ 'css' => serendipity_rewriteURL('serendipity_admin.css'),
+ 'css_tree' => serendipity_getTemplateFile('treeview/tree.css'),
+ 'css_front' => serendipity_rewriteURL('serendipity.css'),
+ 'token_url' => serendipity_setFormToken('url'),
+ 'imgID' => (int)$serendipity['GET']['image'],
+ 'from' => $serendipity['GET']['from'],
+ 'GET_STRING' => serendipity_build_query($import_vars, 'serendipity', '&'),
+ 'paths' => serendipity_getMediaPaths()
+);
-<div class="serendipityAdminContent">
-<?php
switch ($serendipity['GET']['step']) {
case '1':
if (isset($serendipity['GET']['adminAction'])) { // Embedded upload form
+ if (!empty($serendipity['POST']['textarea'])) {
+ $serendipity['GET']['textarea'] = $serendipity['POST']['textarea'];
+ }
+
+ if (!empty($serendipity['POST']['htmltarget'])) {
+ $serendipity['GET']['htmltarget'] = $serendipity['POST']['htmltarget'];
+ }
+
+ if (!empty($serendipity['POST']['filename_only'])) {
+ $serendipity['GET']['filename_only'] = $serendipity['POST']['filename_only'];
+ }
+
+ $image_selector_addvars = array(
+ 'step' => 1,
+ 'textarea' => (!empty($serendipity['GET']['textarea']) ? $serendipity['GET']['textarea'] : ''),
+ 'htmltarget' => (!empty($serendipity['GET']['htmltarget']) ? $serendipity['GET']['htmltarget'] : ''),
+ 'filename_only' => (!empty($serendipity['GET']['filename_only']) ? $serendipity['GET']['filename_only'] : '')
+ );
+
switch ($serendipity['GET']['adminAction']) {
case 'addSelect':
- $image_selector_addvars = array(
- 'step' => 1,
- 'textarea' => (!empty($serendipity['GET']['textarea']) ? $serendipity['GET']['textarea'] : ''),
- 'htmltarget' => (!empty($serendipity['GET']['htmltarget']) ? $serendipity['GET']['htmltarget'] : ''),
- 'filename_only' => (!empty($serendipity['GET']['filename_only']) ? $serendipity['GET']['filename_only'] : '')
- );
+ $media['case'] = 'external';
+ ob_start();
include S9Y_INCLUDE_PATH . 'include/admin/images.inc.php';
+ $media['external'] = ob_get_contents();
+ ob_end_clean();
break 2;
case 'add':
+ $media['case'] = 'external';
+ ob_start();
include S9Y_INCLUDE_PATH . 'include/admin/images.inc.php';
- if (isset($created_thumbnail) && is_array($created_thumbnail)) {
- $serendipity['GET']['image'] = (int)$image_id; // $image_id is passed from images.inc.php
-
- if (!empty($serendipity['POST']['htmltarget'])) {
- $serendipity['GET']['htmltarget'] = $serendipity['POST']['htmltarget'];
- }
-
- if (!empty($serendipity['POST']['filename_only'])) {
- $serendipity['GET']['filename_only'] = $serendipity['POST']['filename_only'];
- }
-
- if (!empty($serendipity['POST']['textarea'])) {
- $serendipity['GET']['textarea'] = $serendipity['POST']['textarea'];
- }
+ $media['external'] = ob_get_contents();
+ ob_end_clean();
+ if (isset($created_thumbnail) && isset($image_id)) {
+ $serendipity['GET']['image'] = $media['imgID'] = (int)$image_id; // $image_id is passed from images.inc.php
break;
} else {
break 2;
}
}
}
+ $media['case'] = 'choose';
$file = serendipity_fetchImageFromDatabase($serendipity['GET']['image']);
+ $media['file'] = &$file;
if (!is_array($file)) {
- echo PERM_DENIED;
+ $media['perm_denied'] = true;
break;
}
- $file['imgsrc'] = $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $file['path'] . $file['name'] . (!empty($file['thumbnail_name']) ? '.' . $file['thumbnail_name'] : '') . '.' . $file['extension'];
- if ($file['hotlink']) {
- $imgName = $file['path'];
- } else {
- $imgName = $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $file['path'] . $file['name'] .'.'. $file['extension'];
+
+ serendipity_prepareMedia($file);
+
+ $media['file']['props'] =& serendipity_fetchMediaProperties((int)$serendipity['GET']['image']);
+ serendipity_plugin_api::hook_event('media_getproperties_cached', $media['file']['props']['base_metadata'], $media['file']['realfile']);
+
+ if ($file['is_image']) {
+ $file['finishJSFunction'] = $file['origfinishJSFunction'] = 'serendipity_imageSelector_done(\'' . htmlspecialchars($serendipity['GET']['textarea']) . '\')';
+
+ if (!empty($serendipity['GET']['filename_only']) && $serendipity['GET']['filename_only'] !== 'true') {
+ $file['fast_select'] = true;
+ }
}
+ break;
- $thumbbasename = $file['path'] . $file['name'] . (!empty($file['thumbnail_name']) ? '.' . $file['thumbnail_name'] : '') . '.' . $file['extension'];
+ case 'directoryDoCreate':
+ case 'directoryDoDelete':
+ $is_created = true;
+ if ($serendipity['GET']['step'] == 'directoryDoDelete') {
+ $is_deleted = true;
+ }
+ case 'directoryCreate':
+ $serendipity['GET']['adminAction'] = $serendipity['GET']['step'];
+ $media['case'] = 'external';
+ ob_start();
+ include S9Y_INCLUDE_PATH . 'include/admin/images.inc.php';
+ if ($is_created || $is_deleted) {
+ $media['is_created'] = $is_created;
+ $media['is_deleted'] = $is_deleted;
+ $media['new_dir'] = $new_dir;
+ }
+ $media['external'] = ob_get_contents();
+ ob_end_clean();
+ break;
- if ($file['hotlink']) {
- $thumbName = $file['path'];
- } else {
- $thumbName = $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $thumbbasename;
+ case 'tree':
+ $media['case'] = 'tree';
+ break;
+
+ case 'showItem':
+ serendipity_plugin_api::hook_event('frontend_media_showitem_init', $media);
+
+ if ($media['perm_denied']) {
+ break;
}
- $thumbsize = @getimagesize($serendipity['serendipityPath'] . $serendipity['uploadPath'] . $thumbbasename);
- $is_image = serendipity_isImage($file, true);
-?>
-<script type="text/javascript" language="JavaScript" src="<?php echo $serendipity['serendipityHTTPPath']; ?>serendipity_define.js.php"></script>
-<script type="text/javascript" language="Javascript" src="<?php echo $serendipity['serendipityHTTPPath']; ?>serendipity_editor.js"></script>
-
-<div>
-<?php
- if (!file_exists($file['imgsrc']) && $is_image) {
-
- $dimWidth = $file['dimensions_width'];
- $dimHeight = $file['dimensions_height'];
-
- if ($file['hotlink']) {
- $thumbDim = @serendipity_calculate_aspect_size($dimWidth, $dimHeight, $serendipity['thumbSize']);
- $thumbWidth = $thumbDim[0];
- $thumbHeight = $thumbDim[1];
- $imgsrc = $file['path'];
- } else {
- $thumbWidth = $thumbsize[0];
- $thumbHeight = $thumbsize[1];
- $imgsrc = $file['imgsrc'];
+ $media['case'] = 'showitem';
+ $file = serendipity_fetchImageFromDatabase((int)$serendipity['GET']['image']);
+ $media['file'] = &$file;
+ $keywords = $dprops = '';
+
+ if (!is_array($file)) {
+ $media['perm_denied'] = true;
+ break;
+ }
+
+ serendipity_prepareMedia($file);
+
+ $showfile = null;
+ if (($serendipity['GET']['resizeWidth'] || $serendipity['GET']['resizeHeight']) && $serendipity['dynamicResize'] && $media['file']['is_image']) {
+ $width = (int)$serendipity['GET']['resizeWidth'];
+ $height = (int)$serendipity['GET']['resizeHeight'];
+ if (empty($width)) {
+ $width = NULL;
+ }
+ if (empty($height)) {
+ $height = NULL;
}
- $file['finishJSFunction'] = 'serendipity_imageSelector_done(\'' . htmlspecialchars($serendipity['GET']['textarea']) . '\')';
- serendipity_plugin_api::hook_event('frontend_image_selector', $file);
-?>
- <img align="right" src="<?php echo $imgsrc; ?>">
- <h1><?php printf(YOU_CHOSE, $file['name']); ?></h1>
- <p>
- <form action="#" method="GET" id="imageForm" name="serendipity[selForm]" onsubmit="serendipity_imageSelector_done()">
- <div>
- <?php serendipity_plugin_api::hook_event('frontend_image_selector_hiddenfields', $file); ?>
- <input type="hidden" name="imgThumbWidth" value="<?php echo $thumbWidth; ?>" />
- <input type="hidden" name="imgThumbHeight" value="<?php echo $thumbHeight; ?>" />
- <input type="hidden" name="imgWidth" value="<?php echo $dimWidth; ?>" />
- <input type="hidden" name="imgHeight" value="<?php echo $dimHeight; ?>" />
- <input type="hidden" name="imgID" value="<?php echo (int)$serendipity['GET']['image']; ?>" />
- <input type="hidden" name="imgName" value="<?php echo $imgName; ?>" />
- <input type="hidden" name="thumbName" value="<?php echo $thumbName; ?>" />
- <input type="hidden" name="hotlink" value="<?php echo $file['hotlink']; ?>" />
- <?php if (!empty($serendipity['GET']['htmltarget'])) { ?>
- <input type="hidden" name="serendipity[htmltarget]" value="<?php echo htmlspecialchars($serendipity['GET']['htmltarget']); ?>" />
- <?php } ?>
- <?php if (!empty($serendipity['GET']['filename_only'])) { ?>
- <input type="hidden" name="serendipity[filename_only]" value="<?php echo htmlspecialchars($serendipity['GET']['filename_only']); ?>" />
- <?php } ?>
-
- <b><?php echo IMAGE_SIZE; ?>:</b>
- <br />
- <input id="radio_link_no" type="radio" name="serendipity[linkThumbnail]" value="no" <?php echo ifRemember('linkThumbnail', 'no', true); ?> /><label for="radio_link_no"><?php echo I_WANT_THUMB; ?></label><br />
- <input id="radio_link_yes" type="radio" name="serendipity[linkThumbnail]" value="yes" <?php echo ifRemember('linkThumbnail', 'yes'); ?> /><label for="radio_link_yes"><?php echo I_WANT_BIG_IMAGE; ?></label><br />
- <?php serendipity_plugin_api::hook_event('frontend_image_selector_imagesize', $file); ?>
- <br />
-
- <?php if (empty($serendipity['GET']['filename_only']) || $serendipity['GET']['filename_only'] != 'true') { ?>
- <b><?php echo IMAGE_ALIGNMENT; ?>:</b>
- <br />
- <input type="radio" name="serendipity[align]" <?php echo ifRemember('align', ''); ?> value="" /> <img src="<?php echo serendipity_getTemplateFile('img/img_align_top.png') ?>" vspace="5" /><br />
- <input type="radio" name="serendipity[align]" <?php echo ifRemember('align', 'left', true); ?> value="left" /> <img src="<?php echo serendipity_getTemplateFile('img/img_align_left.png') ?>" vspace="5" /><br />
- <input type="radio" name="serendipity[align]" <?php echo ifRemember('align', 'right'); ?> value="right" /> <img src="<?php echo serendipity_getTemplateFile('img/img_align_right.png') ?>" vspace="5" /><br />
- <?php serendipity_plugin_api::hook_event('frontend_image_selector_imagealign', $file); ?>
- <br />
-
- <b><?php echo IMAGE_AS_A_LINK; ?>:</b>
- <br />
- <input id="radio_islink_yes" type="radio" name="serendipity[isLink]" value="yes" <?php echo ifRemember('isLink', 'yes', true); ?> /><label for="radio_islink_yes"> <?php echo I_WANT_NO_LINK; ?></label><br />
- <input id="radio_islink_no" type="radio" name="serendipity[isLink]" value="no" <?php echo ifRemember('isLink', 'no'); ?> /><label for="radio_islink_no"> <?php echo I_WANT_IT_TO_LINK; ?></label>
- <?php if ($file['hotlink']) { ?>
- <input type="text" name="serendipity[url]" size="30" value="<?php echo $file['path']; ?>" /><br />
- <?php } else { ?>
- <input type="text" name="serendipity[url]" size="30" value="<?php echo $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $file['path'] . $file['name'] .'.'. $file['extension']; ?>" /><br />
- <?php } ?>
- <?php serendipity_plugin_api::hook_event('frontend_image_selector_imagelink', $file); ?>
- <br />
-
- <b><?php echo COMMENT; ?>:</b>
- <br />
- <textarea id="serendipity_imagecomment" name="serendipity[imagecomment]" rows="5" cols="40"></textarea>
- <?php serendipity_plugin_api::hook_event('frontend_image_selector_imagecomment', $file); ?>
- <br />
- <?php } ?>
-
- <?php serendipity_plugin_api::hook_event('frontend_image_selector_more', $file); ?>
-
- <input type="button" value="<?php echo BACK; ?>" onclick="history.go(-1);" />
- <input type="button" value="<?php echo DONE; ?>" onclick="rememberOptions(); <?php echo $file['finishJSFunction']; ?>" />
- <?php serendipity_plugin_api::hook_event('frontend_image_selector_submit', $file); ?>
- </div>
- </form>
- </p>
-<?php
- } else {
- // What to do if file is no image.
- // For the future, maybe allow the user to add title/link description and target window
- if (!empty($serendipity['GET']['filename_only'])) {
-?>
- <script type="text/javascript">
- <?php serendipity_plugin_api::hook_event('frontend_image_add_filenameonly', $serendipity); ?>
- self.opener.serendipity_imageSelector_addToElement('<?php echo htmlspecialchars($imgName); ?>', '<?php echo htmlspecialchars($serendipity['GET']['htmltarget']); ?>');
- self.close();
- </script>
-<?php
+ $showfile = $serendipity['serendipityPath'] . PATH_SMARTY_COMPILE . '/mediacache/cache_img' . (int)$serendipity['GET']['image'] . '_' . $width . '_' . $height;
+
+ if (!file_exists($showfile)) {
+ serendipity_makeThumbnail(
+ $media['file']['realname'],
+ $media['file']['path'],
+ array(
+ 'width' => $width,
+ 'height' => $height
+ ),
+ $showfile,
+ true
+ );
+ }
+ }
+
+ $hit = serendipity_db_query("SELECT id
+ FROM {$serendipity['dbPrefix']}references
+ WHERE link = '" . serendipity_db_escape_string($_SERVER['HTTP_REFERER']) . "'
+ AND entry_id = " . (int)$serendipity['GET']['image'] . "
+ AND type = 'media'", true, 'assoc');
+ if (!is_array($hit) || !isset($hit['id'])) {
+ serendipity_db_query("INSERT INTO {$serendipity['dbPrefix']}references
+ (entry_id, link, name, type)
+ VALUES (" . (int)$serendipity['GET']['image'] . ", '" . serendipity_db_escape_string($_SERVER['HTTP_REFERER']) . "', 1, 'media')");
} else {
-?>
- <script type="text/javascript">
- block = '<a href="<?php echo htmlspecialchars($imgName); ?>" title="<?php echo htmlspecialchars($file['name'] . '.' . $file['extension']); ?>" target="_blank"><?php echo htmlspecialchars($file['name'] . '.' . $file['extension']); ?></a>';
- <?php serendipity_plugin_api::hook_event('frontend_image_add_unknown', $serendipity); ?>
- if (self.opener.editorref) {
- self.opener.editorref.surroundHTML(block, '');
- } else {
- self.opener.serendipity_imageSelector_addToBody(block, '<?php echo $serendipity['GET']['textarea']; ?>');
- }
- self.close();
- </script>
-<?php
+ serendipity_db_query("UPDATE {$serendipity['dbPrefix']}references
+ SET name = name + 1
+ WHERE id = " . (int)$hit['id']);
+ }
+
+ $curl = ($_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . ($_SERVER['HTTP_PORT'] != 80 ? ':' . $_SERVER['HTTP_PORT'] : '');
+ switch($serendipity['GET']['show']) {
+ case 'redirect':
+ header('Location: ' . $curl . $file['links']['imagelinkurl']);
+ exit;
+ break;
+
+ case 'redirectThumb':
+ header('Location: ' . $curl . $file['show_thumb']);
+ exit;
+ break;
+
+ case 'full':
+ $showfile = $file['realfile'];
+ break;
+
+ case 'thumb':
+ $showfile = $file['location'];
+ break;
}
- }
- break;
+ if (!empty($showfile) && file_exists($showfile)) {
+ header('Content-Type: ' . $file['displaymime']);
+ header('Content-Length: ' . filesize($showfile));
+ header('Content-Disposition: ' . ($serendipity['GET']['disposition'] == 'attachment' ? 'attachment' : 'inline') . '; filename=' . basename($showfile));
+ $fp = fopen($showfile, 'rb');
+ fpassthru($fp);
+ exit;
+ }
+
+ $media['file']['props'] =& serendipity_fetchMediaProperties((int)$serendipity['GET']['image']);
+ serendipity_plugin_api::hook_event('media_getproperties_cached', $media['file']['props']['base_metadata'], $media['file']['realfile']);
+
+ serendipity_parseMediaProperties($keywords, $dprops, $media['file'], $media['file']['props'], 0, false);
+ serendipity_plugin_api::hook_event('frontend_media_showitem', $media);
+ if ($media['perm_denied']) {
+ unset($media['file']);
+ unset($file);
+ }
+ $showFile = 'admin/media_showitem.tpl';
+ break;
+
+ case 'start':
+ $media['case'] = 'start';
+ break;
+
+ case 'default':
default:
+ if (!empty($serendipity['GET']['adminAction']) && $serendipity['GET']['adminModule'] == 'images' && $serendipity['GET']['adminAction'] != 'default') {
+ // Might need to set $serendipity['adminFile_redirect'] here.
+ $serendipity['adminFile'] = 'serendipity_admin_image_selector.php';
+ ob_start();
+ include S9Y_INCLUDE_PATH . 'include/admin/images.inc.php';
+ $media['external'] = ob_get_contents();
+ $media['case'] = 'external';
+ ob_end_clean();
+ break;
+ }
+
+ $media['case'] = 'default';
$add_url = '';
if (!empty($serendipity['GET']['htmltarget'])) {
- $add_url .= '&serendipity[htmltarget]=' . $serendipity['GET']['htmltarget'];
+ $add_url .= '&serendipity[htmltarget]=' . htmlspecialchars($serendipity['GET']['htmltarget']);
}
if (!empty($serendipity['GET']['filename_only'])) {
- $add_url .= '&serendipity[filename_only]=' . $serendipity['GET']['filename_only'];
+ $add_url .= '&serendipity[filename_only]=' . htmlspecialchars($serendipity['GET']['filename_only']);
}
-?>
- <h1><?php echo SELECT_FILE; ?></h1>
- <h2><?php echo CLICK_FILE_TO_INSERT; ?></h2>
- <br />
- <?php
if (!isset($serendipity['thumbPerPage2'])) {
$serendipity['thumbPerPage2'] = 3;
}
- serendipity_displayImageList(
+ ob_start();
+ $block = serendipity_displayImageList(
isset($serendipity['GET']['page']) ? $serendipity['GET']['page'] : 1,
$serendipity['thumbPerPage2'],
- false,
+ ($serendipity['showMediaToolbar'] ? true : false),
'?serendipity[step]=1' . $add_url . '&serendipity[textarea]='. $serendipity['GET']['textarea'],
- true
+ true,
+ null,
+ false
);
+ $media['external'] = ob_get_contents();
+ ob_end_clean();
+ serendipity_smarty_fetch('MEDIA_LIST', $block);
}
-?>
-</div>
-</body>
-</html>
+$media = array_merge($serendipity['GET'], $media);
+$serendipity['smarty']->assign_by_ref('media', $media);
+$serendipity['smarty']->display(serendipity_getTemplateFile($showFile, 'serendipityPath'));
-<?php
-/* vim: set sts=4 ts=4 expandtab : */
+/* vim: set sts=4 ts=4 expandtab : */
\ No newline at end of file
--- /dev/null
+<html>
+ <head>
+ <title>{$CONST.SERENDIPITY_ADMIN_SUITE}: {$CONST.SELECT_FILE}</title>
+ <meta http-equiv="Content-Type" content="text/html; charset={$CONST.LANG_CHARSET}" />
+ <link rel="stylesheet" type="text/css" href="{$media.css}" />
+ <link rel="stylesheet" type="text/css" href="{$media.css_tree}" />
+ <link rel="stylesheet" type="text/css" href="{$media.css_imgedit}" />
+
+ {if $media.is_imgedit}
+ <style type="text/css">
+ #outer {ldelim}
+ left: {$imgedit.zoombox_padding}px;
+ {rdelim}
+
+ #overlay {ldelim}
+ clip: rect({$imgedit.overlay_clip_top} {$imgedit.overlay_clip_right} {$imgedit.overlay_clip_bottom} {$imgedit.overlay_clip_left});
+ {rdelim}
+
+ #harea {ldelim}
+ left: {$imgedit.zoombox_x}px;
+ top: {$imgedit.zoombox_y}px;
+ visibility: {$imgedit.harea_visibility};
+ {rdelim}
+
+ #varea {ldelim}
+ left: {$imgedit.zoombox_x}px;
+ top: {$imgedit.zoombox_y}px;
+ visibility: {$imgedit.varea_visibility};
+ {rdelim}
+
+ #zoom {ldelim}
+ width: {$imgedit.zoombox_width}px;
+ {rdelim}
+
+ #scaletext {ldelim}
+ visibility: {$imgedit.scale_visibility};
+ {rdelim}
+
+ #outer {ldelim}
+ width: {$imgedit.img_width}px;
+ height: {$imgedit.img_height}px;
+ border: 1px solid red;
+ position: relative;
+ display: block;
+ {rdelim}
+
+
+ </style>
+ <script type="text/javascript" src="bundled-libs/dragdrop.js" ></script>
+ <script type="text/javascript" src="bundled-libs/imgedit.js" ></script>
+ {/if}
+
+ <script type="text/javascript" src="bundled-libs/YahooUI/treeview/YAHOO.js"></script>
+ <script type="text/javascript" src="bundled-libs/YahooUI/treeview/treeview.js" ></script>
+ </head>
+
+ <script type="text/javascript">
+ function addLoadEvent(func) {ldelim}
+ var oldonload = window.onload;
+ if (typeof window.onload != 'function') {ldelim}
+ window.onload = func;
+ {rdelim} else {ldelim}
+ window.onload = function() {ldelim}
+ oldonload();
+ func();
+ {rdelim}
+ {rdelim}
+ {rdelim}
+
+ function SetCookie(name, value) {ldelim}
+ var today = new Date();
+ var expire = new Date();
+ expire.setTime(today.getTime() + (60*60*24*30));
+ document.cookie = 'serendipity[' + name + ']='+escape(value) + ';expires=' + expire.toGMTString();
+ {rdelim}
+
+ function rememberOptions() {ldelim}
+ el = document.getElementById('imageForm');
+ for (i = 0; i < el.elements.length; i++) {ldelim}
+ elname = new String(el.elements[i].name);
+ elname = elname.replace(/\[/g, '_');
+ elname = elname.replace(/\]/g, '');
+
+ if (el.elements[i].type == 'radio') {ldelim}
+ if (el.elements[i].checked) {ldelim}
+ SetCookie(elname, el.elements[i].value);
+ {rdelim}
+ {rdelim} else if (typeof(el.elements[i].options) == 'object') {ldelim}
+ SetCookie(elname, el.elements[i].options[el.elements[i].selectedIndex].value);
+ {rdelim}
+ {rdelim}
+ {rdelim}
+
+{if $media.only_path}
+ if (parent.frames && parent.frames['tree']) {ldelim}
+ parent.frames['tree'].document.getElementById('newdirlink').href =
+ parent.frames['tree'].basenewdirurl +
+ "{$media.only_path|@escape}"
+ {rdelim}
+{/if}
+
+{if $media.case == 'default'}
+ function rename(id, fname) {ldelim}
+ if (newname = prompt('{$CONST.ENTER_NEW_NAME}' + fname, fname)) {ldelim}
+ newloc = '?{$media.token_url}&serendipity[adminModule]=images&serendipity[adminAction]=rename&serendipity[fid]='+ escape(id) + '&serendipity[newname]='+ escape(newname);
+ location.href=newloc;
+ }
+ {rdelim}
+{/if}
+
+{if $media.case == 'tree'}
+ var toggle_state = 'expand';
+ function treeToggleAll() {ldelim}
+ if (toggle_state == 'expand') {ldelim}
+ toggle_state = 'collapse';
+ tree.expandAll();
+ {rdelim} else {ldelim}
+ toggle_state = 'expand';
+ tree.collapseAll();
+ coreNode.expand();
+ {rdelim}
+ {rdelim}
+{/if}
+ </script>
+
+{if $media.frameset}
+ <frameset id="media_frame" cols="20%,*">
+ <frame id="media_frame_tree" frameborder="0" name="tree" scrolling="auto" src="{$serendipityHTTPPath}serendipity_admin_image_selector.php?{$media.GET_STRING}&serendipity[step]=tree" />
+ <frame id="media_frame_main" frameborder="0" name="media" src="{$serendipityHTTPPath}serendipity_admin_image_selector.php?{$media.GET_STRING}&serendipity[step]=default" />
+ </frameset>
+ </html>
+{else}
+<body id="{$media.body_id}">
+
+<div class="serendipityAdminContent">
+{if $media.case == 'external'}
+
+ <!-- EXTERNAL MEDIA START -->
+ {if $media.is_created OR $media.is_deleted}
+ <script type="text/javascript">
+ if (parent.frames['tree']) {ldelim}
+ parent.frames['tree'].location.href = parent.frames['tree'].location.href;
+ parent.frames['media'].location.href = '{$serendipityHTTPPath}serendipity_admin_image_selector.php?serendipity[step]=default&serendipity[only_path]={$media.new_dir}';
+ {rdelim}
+ </script>
+ {/if}
+ {$media.external}
+
+ {if $media.is_imgedit}
+ {$IMGEDIT}
+ {/if}
+
+ <!-- EXTERNAL MEDIA END -->
+
+{elseif $media.case == 'default'}
+
+ <!-- MEDIA MANAGER START -->
+ <h1>{$CONST.SELECT_FILE}</h1>
+ <h2>{$CONST.CLICK_FILE_TO_INSERT}</h2>
+ <br />
+ {$media.external}
+ {$MEDIA_LIST}
+ <!-- MEDIA MANAGER END -->
+
+{elseif $media.case == 'choose'}
+
+ {if $perm_denied}
+ {$CONST.PERM_DENIED}
+ {else}
+
+ <!-- MEDIA SELECTION START -->
+ {$media.external}
+ <script type="text/javascript" language="JavaScript" src="{$serendipityHTTPPath}serendipity_define.js.php"></script>
+ <script type="text/javascript" language="Javascript" src="{$serendipityHTTPPath}serendipity_editor.js"></script>
+ <div>
+ {if $media.file.is_image}
+ {serendipity_hookPlugin hook="frontend_image_selector" eventData=$media.file hookAll=true}
+ <img align="right" src="{$media.file.imgsrc}" />
+ <h1>{$CONST.YOU_CHOSE|@sprintf:$media.file.realname}</h1>
+ <p>
+ <form action="#" method="GET" id="imageForm" name="serendipity[selForm]" onsubmit="serendipity_imageSelector_done()">
+ <div>
+ {serendipity_hookPlugin hookAll=true hook='frontend_image_selector_hiddenfields' eventData=$media.file}
+ <input type="hidden" name="imgThumbWidth" value="{$media.file.thumbWidth}" />
+ <input type="hidden" name="imgThumbHeight" value="{$media.file.thumbHeight}" />
+ <input type="hidden" name="imgWidth" value="{$media.file.dimensions_width}" />
+ <input type="hidden" name="imgHeight" value="{$media.file.dimensions_height}" />
+ <input type="hidden" name="imgID" value="{$media.imgID}" />
+ <input type="hidden" name="baseURL" value="{$serendipityBaseURL}" />
+ <input type="hidden" name="indexFile" value="{$serendipityIndexFile}" />
+ <input type="hidden" name="imgName" value="{$media.file.full_file}" />
+ <input type="hidden" name="thumbName" value="{$media.file.show_thumb}" />
+ <input type="hidden" name="hotlink" value="{$media.file.hotlink}" />
+ {if $media.htmltarget}
+ <input type="hidden" name="serendipity[htmltarget]" value="{$media.htmltarget|@escape}" />
+ {/if}
+ {if $media.filename_only}
+ <input type="hidden" name="serendipity[filename_only]" value="{$media.filename_only|@escape}" />
+ {/if}
+
+ {if $media.file.fast_select}
+ <script type="text/javascript">
+ {serendipity_hookPlugin hookAll=true hook='frontend_image_add_filenameonly' eventData=$media.file}
+ serendipity_imageSelector_done('{$media.textarea|@escape}');
+ </script>
+ {else}
+ <b>{$CONST.IMAGE_SIZE}:</b>
+ <br />
+ <input id="radio_link_no" type="radio" name="serendipity[linkThumbnail]" value="no" {'linkThumbnail'|@ifRemember:'no':true} /><label for="radio_link_no">{$CONST.I_WANT_THUMB}</label><br />
+ <input id="radio_link_yes" type="radio" name="serendipity[linkThumbnail]" value="yes" {'linkThumbnail'|@ifRemember:'yes'} /><label for="radio_link_yes">{$CONST.I_WANT_BIG_IMAGE}</label><br />
+ {serendipity_hookPlugin hookAll=true hook='frontend_image_selector_imagesize' eventData=$media.file}
+ <br />
+
+ {if NOT $media.filename_only}
+ <b>{$CONST.IMAGE_ALIGNMENT}:</b>
+ <br />
+ <input type="radio" name="serendipity[align]" {'align'|@ifRemember:''} value="" /> <img src="{serendipity_getFile file='img/img_align_top.png'}" vspace="5" /><br />
+ <input type="radio" name="serendipity[align]" {'align'|@ifRemember:'left':true} value="left" /> <img src="{serendipity_getFile file='img/img_align_left.png'}" vspace="5" /><br />
+ <input type="radio" name="serendipity[align]" {'align'|@ifRemember:'right'} value="right" /><img src="{serendipity_getFile file='img/img_align_right.png'}" vspace="5" /><br />
+ {serendipity_hookPlugin hookAll=true hook='frontend_image_selector_imagealign' eventData=$media.file}
+ <br />
+
+ <b>{$CONST.IMAGE_AS_A_LINK}:</b>
+ <br />
+ <input id="radio_islink_yes" type="radio" name="serendipity[isLink]" value="yes" {'isLink'|@ifRemember:'yes':true} /><label for="radio_islink_yes"> {$CONST.I_WANT_NO_LINK}</label><br />
+ <input id="radio_islink_no" type="radio" name="serendipity[isLink]" value="no" {'isLink'|@ifRemember:'no'} /><label for="radio_islink_no"> {$CONST.I_WANT_IT_TO_LINK}</label>
+ {if $media.file.hotlink}
+ <input type="text" name="serendipity[url]" size="30" value="{$media.file.path}" /><br />
+ {else}
+ {serendipity_hookPlugin hookAll=true hook='frontend_image_selector_link_url' eventData=$media.file.links}
+ <input type="text" name="serendipity[url]" size="30" value="{$media.file.links.imagelinkurl}" /><br />
+ {/if}
+
+ <label id="select_image_target">{$CONST.MEDIA_TARGET}</label>
+ <select name="serendipity[target]" id="select_image_target">
+ <option value="none" {'target'|@ifRemember:'none':false:'selected'}>{$CONST.NONE}</option>
+ <option value="js" {'target'|@ifRemember:'js':false:'selected'}>{$CONST.MEDIA_TARGET_JS}</option>
+ <option value="plugin" {'target'|@ifRemember:'plugin':false:'selected'}>{$CONST.MEDIA_ENTRY}</option>
+ <option value="_blank" {'target'|@ifRemember:'_blank':false:'selected'}>{$CONST.MEDIA_TARGET_BLANK}</option>
+ </select>
+ <br />
+
+ {serendipity_hookPlugin hookAll=true hook='frontend_image_selector_imagelink2' eventData=$media.file}
+ <br />
+
+ <b>{$CONST.COMMENT}:</b>
+ <br />
+ <textarea id="serendipity_imagecomment" name="serendipity[imagecomment]" rows="5" cols="40">{$media.file.props.base_property.COMMENT1|@escape}</textarea>
+ {serendipity_hookPlugin hookAll=true hook='frontend_image_selector_imagecomment' eventData=$media.file}
+ <br />
+ {/if}
+
+ {serendipity_hookPlugin hookAll=true hook='frontend_image_selector_more' eventData=$media.file}
+
+ <input type="button" value="{$CONST.BACK}" onclick="history.go(-1);" />
+ <input type="button" value="{$CONST.DONE}" onclick="rememberOptions(); {$media.file.origfinishJSFunction}" />
+ {serendipity_hookPlugin hookAll=true hook='frontend_image_selector_submit' eventData=$media.file}
+ {/if}
+ </div>
+ </form>
+ </p>
+ {else}
+ {if $media.filename_only}
+ <script type="text/javascript">
+ {serendipity_hookPlugin hookAll=true hook='frontend_image_add_filenameonly' eventData=$media}
+ parent.self.opener.serendipity_imageSelector_addToElement('{$media.file.full_file|escape}', '{$media.htmltarget|@escape}');
+ parent.self.close();
+ </script>
+ {else}
+ <script type="text/javascript">
+ block = '<a href="{$media.file.full_file}" title="{$media.file.realname|@escape}" target="_blank">{$media.file.realname|@escape}</a>';
+ {serendipity_hookPlugin hookAll=true hook='frontend_image_add_unknown' eventData=$media}
+ if (parent.self.opener.editorref) {ldelim}
+ parent.self.opener.editorref.surroundHTML(block, '');
+ {rdelim} else {ldelim}
+ parent.self.opener.serendipity_imageSelector_addToBody(block, '{$media.textarea}');
+ {rdelim}
+ parent.self.close();
+ </script>
+ {/if}
+ {/if}
+ {/if}
+{elseif $media.case == 'tree'}
+ <div id="content">
+ <form name="mainForm" action="javscript:;">
+ <div class="newsItem">
+ <div id="expandcontractdiv">
+ <a href="javascript:treeToggleAll()">{$CONST.TOGGLE_ALL}</a>
+ </div>
+ <div id="treeDiv1"></div>
+ </div>
+ </form>
+ </div>
+
+ <div id="footerContainer">
+ <div id="footer">
+ <p><a id="newdirlink" target="media" class="serendipityPrettyButton" href="{$serendipityHTTPPath}serendipity_admin_image_selector.php?serendipity[step]=directoryCreate">{$CONST.WORD_NEW}</a></p>
+ <p><a id="managedirlink" target="media" class="serendipityPrettyButton" href="{$serendipityHTTPPath}serendipity_admin_image_selector.php?serendipity[step]=default&serendipity[adminModule]=images&serendipity[adminAction]=directorySelect">{$CONST.MANAGE_DIRECTORIES}</a></p>
+ </div>
+ </div>
+
+ <script type="text/javascript">
+ var tree;
+ var nodes = new Array();
+ var nodeIndex;
+ var coreNode = '';
+ var last_path = '';
+ var last_node = new Array();
+ var baseurl = '{$serendipityHTTPPath}serendipity_admin_image_selector.php?{$media.GET_STRING}&serendipity[step]=default&serendipity[only_path]=';
+ var basenewdirurl = '{$serendipityHTTPPath}serendipity_admin_image_selector.php?{$media.GET_STRING}&serendipity[step]=directoryCreate&&serendipity[only_path]=';
+
+ function treeInit() {ldelim}
+ tree = new YAHOO.widget.TreeView("treeDiv1");
+ tree.onExpand = function(node) {ldelim}
+ document.getElementById('newdirlink').href = basenewdirurl + node.data.relpath;
+ {rdelim};
+
+ coreNode = new YAHOO.widget.TextNode("{$CONST.MEDIA}", tree.getRoot(), false);
+ coreNode.href = baseurl;
+ coreNode.target = 'media';
+ coreNode.expanded = true;
+ {foreach from=$media.paths item="item" key="id"}
+ mydir = {ldelim} id: "{$id}", label: "{$item.name}", target : "media", href: baseurl + "{$item.relpath}", relpath: "{$item.relpath}" {rdelim};
+ {if $item.depth == 1}
+ tmpNode = new YAHOO.widget.TextNode(mydir, coreNode, false);
+ {else}
+ if (last_node[{$item.depth}-1]) {ldelim}
+ tmpNode = new YAHOO.widget.TextNode(mydir, last_node[{$item.depth} - 1], false);
+ {rdelim} else {ldelim}
+ tmpNode = new YAHOO.widget.TextNode(mydir, coreNode, false);
+ {rdelim}
+ {/if}
+ last_node[{$item.depth}] = tmpNode;
+ {/foreach}
+ tree.draw();
+ {rdelim}
+
+ addLoadEvent(treeInit);
+ </script>
+{/if}
+</div>
+</body>
+</html>
+{/if}
\ No newline at end of file