* @param string The URL to use for pagination
* @param boolean Show the "upload media item" feature?
* @param boolean Restrict viewing images to a specific directory
- * @return null
+ * @param boolean If TRUE, will echo Smarty output.
+ * @return string Smarty block name
*/
-function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = false, $url = NULL, $show_upload = false, $limit_path = NULL) {
+function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = false, $url = NULL, $show_upload = false, $limit_path = NULL, $smarty_display = true) {
global $serendipity;
static $debug = false;
'linkNext' => $linkNext,
'linkPrevious' => $linkPrevious
);
- serendipity_showMedia(
+ return serendipity_showMedia(
$serendipity['imageList'],
$paths,
$url,
$manage,
$lineBreak,
true,
- $smarty_vars
+ $smarty_vars,
+ $smarty_display
);
} // End serendipity_displayImageList()
'keywords' => $keywords,
'dprops' => $dprops
);
- serendipity_showMedia(
+ return serendipity_showMedia(
$show,
$mirror,
$url,
1,
false,
$smarty_vars);
-
- return true;
}
/**
$full_perm = serendipity_checkPermission('adminImagesMaintainOthers');
}
- $sThumbSource = serendipity_getThumbNailPath($file['path'], $file['name'], $file['extension'], $file['thumbnail_name']);
- $img = $serendipity['serendipityPath'] . $serendipity['uploadPath'] . $sThumbSource;
- if (!isset($file['imgsrc'])) {
- $file['imgsrc'] = $serendipity['uploadHTTPPath'] . $file['path'] . $file['name'] . (!empty($file['thumbnail_name']) ? '.' . $file['thumbnail_name'] : '') . '.' . $file['extension'];
- }
- $file['dim'] = @getimagesize($img, $file['header']);
+ $sThumbSource = serendipity_getThumbNailPath($file['path'], $file['name'], $file['extension'], $file['thumbnail_name']);
+ $file['full_thumb'] = $serendipity['serendipityPath'] . $serendipity['uploadPath'] . $sThumbSource;
+ $file['full_thumbHTTP'] = $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $sThumbSource;
+
+ if ($file['hotlink']) {
+ $file['full_file'] = $file['path'];
+ $file['show_thumb'] = $file['path'];
+ if (!isset($file['imgsrc'])) {
+ $file['imgsrc'] = $file['show_thumb'];
+ }
+ } else {
+ $file['full_file'] = $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $file['path'] . $file['name'] . '.'. $file['extension'];
+ $file['show_thumb'] = $file['full_thumbHTTP'];
+ if (!isset($file['imgsrc'])) {
+ $file['imgsrc'] = $serendipity['uploadHTTPPath'] . $file['path'] . $file['name'] . (!empty($file['thumbnail_name']) ? '.' . $file['thumbnail_name'] : '') . '.' . $file['extension'];
+ }
+ }
+
+ $file['links'] = array('imagelinkurl' => $file['full_file']);
+
+ $file['dim'] = @getimagesize($file['full_thumb'], $file['header']);
$file['is_image'] = serendipity_isImage($file);
- $file['full_file'] = $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $file['path'] . $file['name'] . '.'. $file['extension'];
+
$file['realfile'] = $serendipity['serendipityPath'] . $serendipity['uploadPath'] . $file['path'] . $file['name'] . '.'. $file['extension'];
if ($full_perm || $serendipity['authorid'] == $file['authorid'] || $file['authorid'] == '0') {
}
/* If it is an image, and the thumbnail exists */
- if ($file['is_image'] && file_exists($img)) {
+ if ($file['is_image'] && file_exists($file['full_thumb'])) {
+ $file['thumbWidth'] = $file['dim'][0];
+ $file['thumbHeight'] = $file['dim'][1];
$file['preview'] .= '<img src="' . $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $sThumbSource . '" border="0" title="' . $file['path'] . $file['name'] . '" alt="'. $file['name'] . '" />';
if ($url) {
$file['preview'] = '<a href="'. $url .'&serendipity[image]='. $file['id'] .'">'. $file['preview'] .'</a>';
}
} elseif ($file['is_image'] && $file['hotlink']) {
$sizes = serendipity_calculate_aspect_size($file['dimensions_width'], $file['dimensions_height'], $serendipity['thumbSize']);
+ $file['thumbWidth'] = $sizes[0];
+ $file['thumbHeight'] = $sizes[1];
$file['preview'] .= '<img src="' . $file['path'] . '" width="' . $sizes[0] . '" height="' . $sizes[1] . '" border="0" title="' . $file['path'] . '" alt="'. $file['name'] . '" />';
if ($url) {
$file['preview'] = '<a href="'. $url .'&serendipity[image]='. $file['id'] .'">'. $file['preview'] .'</a>';
* @param int how many media items to display per row
* @param boolean Enclose within a table cell?
* @param array Additional Smarty variables
- * @return boolean
+ * @param boolean If TRUE, will echo Smarty output.
+ * @return string Smarty block name
*
*/
-function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lineBreak = 3, $enclose = true, $smarty_vars = array()) {
+function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lineBreak = 3, $enclose = true, $smarty_vars = array(), $smarty_display = true) {
global $serendipity;
$form_hidden = '';
if ($enclose) {
serendipity_smarty_fetch('MEDIA_ITEMS', 'admin/media_items.tpl');
- $serendipity['smarty']->display(serendipity_getTemplateFile('admin/media_pane.tpl', 'serendipityPath'));
+ $block = 'admin/media_pane.tpl';
+ if ($smarty_display) {
+ $serendipity['smarty']->display(serendipity_getTemplateFile('admin/media_pane.tpl', 'serendipityPath'));
+ }
} else {
serendipity_smarty_fetch('MEDIA_ITEMS', 'admin/media_items.tpl');
- $serendipity['smarty']->display(serendipity_getTemplateFile('admin/media_properties.tpl', 'serendipityPath'));
+ $block = 'admin/media_properties.tpl';
+ if ($smarty_display) {
+ $serendipity['smarty']->display(serendipity_getTemplateFile('admin/media_properties.tpl', 'serendipityPath'));
+ }
}
- return true;
+ return $block;
}
/**
$serendipity['GET']['step'] = $serendipity['GET']['adminAction'];
}
-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\" ";
- }
-}
-?>
-<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'); ?>" />
- <link rel="stylesheet" type="text/css" href="<?php echo serendipity_getTemplateFile('treeview/tree.css'); ?>" />
- <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) {
- var oldonload = window.onload;
- if (typeof window.onload != 'function') {
- window.onload = func;
- } else {
- window.onload = function() {
- oldonload();
- func();
- }
- }
- }
-
- 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>
-<?php
+serendipity_smarty_init();
if (empty($serendipity['GET']['step']) && $serendipity['GET']['page'] < 1) {
- $GET_STRING = serendipity_build_query($_GET);
-?>
-<frameset id="media_frame" cols="20%,*">
- <frame id="media_frame_tree" frameborder="0" name="tree" scrolling="auto" src="<?php echo $serendipity['serendipityHTTPPath']; ?>serendipity_admin_image_selector.php?<?php echo $GET_STRING; ?>&serendipity[step]=tree" />
- <frame id="media_frame_main" frameborder="0" name="media" src="<?php echo $serendipity['serendipityHTTPPath']; ?>serendipity_admin_image_selector.php?<?php echo $GET_STRING; ?>&serendipity[step]=default" />
-</frameset>
-</html>
-<?php
+ $media = array(
+ 'GET_STRING' => serendipity_build_query($_GET),
+ 'frameset' => true
+ );
+ $serendipity['smarty']->assign('media', $media);
+ $serendipity['smarty']->display(serendipity_getTemplateFile('admin/media_choose.tpl', 'serendipityPath'));
return;
}
if ($serendipity['GET']['step'] === 'tree') {
$body_id = 'serendipityAdminBodyImageSelectorTree';
}
-?>
-<body id="<?php echo $body_id; ?>">
-
-<div class="serendipityAdminContent">
-<?php
-if (!empty($serendipity['GET']['only_path'])) {
-?>
-<script type="text/javascript">
- if (parent.frames && parent.frames['tree']) {
- parent.frames['tree'].document.getElementById('newdirlink').href =
- parent.frames['tree'].basenewdirurl +
- "<?php echo htmlspecialchars($serendipity['GET']['only_path']); ?>"
- }
-</script>
-<?php
-}
+$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'),
+ 'token_url' => serendipity_setFormToken('url'),
+ 'imgID' => (int)$serendipity['GET']['image']
+);
switch ($serendipity['GET']['step']) {
case '1':
switch ($serendipity['GET']['adminAction']) {
case 'addSelect':
+ $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';
+ $media['external'] = ob_get_contents();
+ ob_end_clean();
if (isset($created_thumbnail) && isset($image_id)) {
$serendipity['GET']['image'] = (int)$image_id; // $image_id is passed from images.inc.php
break;
}
}
}
+ $media['case'] = 'choose';
$file = serendipity_fetchImageFromDatabase($serendipity['GET']['image']);
+ $media['file'] = &$file;
if (!is_array($file)) {
- echo PERM_DENIED;
+ $media['perm_denied'] = true;
break;
}
- $sThumbNail = serendipity_getThumbNailPath($file['path'], $file['name'], $file['extension'], $file['thumbnail_name']);
- $file['imgsrc'] = $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $sThumbNail;
-
- if ($file['hotlink']) {
- $imgName = $file['path'];
- } else {
- $imgName = $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $file['path'] . $file['name'] .'.'. $file['extension'];
- }
- $thumbbasename = $sThumbNail;
+ serendipity_prepareMedia($file);
- if ($file['hotlink']) {
- $thumbName = $file['path'];
- } else {
- $thumbName = $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $thumbbasename;
- }
- $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'];
- }
+ if ($file['is_image']) {
$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 } ?>
-<?php
if (!empty($serendipity['GET']['filename_only']) && $serendipity['GET']['filename_only'] !== 'true') {
-?>
- <script type="text/javascript">
- <?php serendipity_plugin_api::hook_event('frontend_image_add_filenameonly', $serendipity); ?>
- <?php echo 'serendipity_imageSelector_done(\'' . htmlspecialchars($serendipity['GET']['textarea']) . '\')'; ?>
- </script>
-<?php
- } else {
-?>
- <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'])) { ?>
- <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 {
- $aArray = array('imagelinkurl' => $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $file['path'] . $file['name'] .'.'. $file['extension']);
- serendipity_plugin_api::hook_event('frontend_image_selector_link_url', $aArray);
- ?>
- <input type="text" name="serendipity[url]" size="30" value="<?php echo $aArray['imagelinkurl']?>" /><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); ?>
-<?php
+ $file['fast_select'] = true;
}
-?>
- </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); ?>
- parent.self.opener.serendipity_imageSelector_addToElement('<?php echo htmlspecialchars($imgName); ?>', '<?php echo htmlspecialchars($serendipity['GET']['htmltarget']); ?>');
- parent.self.close();
- </script>
-<?php
- } 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 (parent.self.opener.editorref) {
- parent.self.opener.editorref.surroundHTML(block, '');
- } else {
- parent.self.opener.serendipity_imageSelector_addToBody(block, '<?php echo $serendipity['GET']['textarea']; ?>');
- }
- parent.self.close();
- </script>
-<?php
}
- }
- break;
+ break;
case 'directoryDoCreate':
$is_created = 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) {
-?>
-<script type="text/javascript">
-if (parent.frames['tree']) {
- parent.frames['tree'].location.href = parent.frames['tree'].location.href;
- parent.frames['media'].location.href = '<?php echo $serendipity['serendipityHTTPPath']; ?>serendipity_admin_image_selector.php?serendipity[step]=default&serendipity[only_path]=<?php echo $new_dir; ?>';
-}
-</script>
-<?php
+ $media['is_created'] = $is_created;
+ $media['new_dir'] = $new_dir;
}
+ $media['external'] = ob_get_contents();
+ ob_end_clean();
break;
case 'tree':
+ $media['case'] = 'tree';
$aExclude = array("CVS" => true, ".svn" => true);
serendipity_plugin_api::hook_event('backend_media_path_exclude_directories', $aExclude);
$paths = array();
unset($aResultSet[$sKey]);
}
serendipity_directoryACL($paths, 'read');
-?>
- <script type="text/javascript">
- var toggle_state = 'expand';
- function treeToggleAll() {
- if (toggle_state == 'expand') {
- toggle_state = 'collapse';
- tree.expandAll();
- } else {
- toggle_state = 'expand';
- tree.collapseAll();
- coreNode.expand();
- }
- }
- </script>
-
- <div id="content">
- <form name="mainForm" action="javscript:;">
- <div class="newsItem">
- <div id="expandcontractdiv">
- <a href="javascript:treeToggleAll()"><?php echo 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="<?php echo $serendipity['serendipityHTTPPath']; ?>serendipity_admin_image_selector.php?serendipity[step]=directoryCreate"><?php echo WORD_NEW; ?></a></p>
- </div>
- </div>
-
- <script type="text/javascript">
- var tree;
- var nodes = new Array();
- var nodeIndex;
- var coreNode = '';
- var last_path = '';
- var baseurl = '<?php echo $serendipity['serendipityHTTPPath']; ?>serendipity_admin_image_selector.php?serendipity[step]=default&serendipity[only_path]=';
- var basenewdirurl = '<?php echo $serendipity['serendipityHTTPPath']; ?>serendipity_admin_image_selector.php?serendipity[step]=directoryCreate&serendipity[only_path]=';
-
- function treeInit() {
- tree = new YAHOO.widget.TreeView("treeDiv1");
- tree.onExpand = function(node) {
- document.getElementById('newdirlink').href = basenewdirurl + node.data.relpath;
- };
-
- coreNode = new YAHOO.widget.TextNode("<?php echo MEDIA; ?>", tree.getRoot(), false);
- coreNode.href = baseurl;
- coreNode.target = 'media';
- coreNode.expanded = true;
-<?php
- foreach($paths AS $id => $item) {
- echo ' var mydir = { id: "' . $id . '", label: "' . $item['name'] . '", target : "media", href: baseurl + "' . $item['relpath'] . '", relpath: "' . $item['relpath'] . '" };' . "\n";
- if ($item['depth'] == 1) {
- echo ' var tmpNode = new YAHOO.widget.TextNode(mydir, coreNode, false);' . "\n";
- } else {
- echo ' var tmpNode = new YAHOO.widget.TextNode(mydir, last_node_' . ($item['depth'] - 1) . ', false);' . "\n";
- }
- echo ' var last_node_' . $item['depth'] . ' = tmpNode;' . "\n";
- }
-?>
- tree.draw();
- }
-
- addLoadEvent(treeInit);
- </script>
-<?php
+ $media['paths'] =& $paths;
break;
case '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]=' . htmlspecialchars($serendipity['GET']['htmltarget']);
if (!empty($serendipity['GET']['filename_only'])) {
$add_url .= '&serendipity[filename_only]=' . htmlspecialchars($serendipity['GET']['filename_only']);
}
-?>
-
-<script type="text/javascript" language="javascript">
-<!--
- function rename(id, fname) {
- if(newname = prompt('<?php echo ENTER_NEW_NAME; ?>' + fname, fname)) {
- newloc = '?<?php echo serendipity_setFormToken('url'); ?>&serendipity[adminModule]=images&serendipity[adminAction]=rename&serendipity[fid]='+ escape(id) + '&serendipity[newname]='+ escape(newname);
- location.href=newloc;
- }
- }
-//-->
-</script>
- <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'],
($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>
-<?php
-/* vim: set sts=4 ts=4 expandtab : */
+$media = array_merge($serendipity['GET'], $media);
+$serendipity['smarty']->assign('media', $media);
+$serendipity['smarty']->display(serendipity_getTemplateFile('admin/media_choose.tpl', 'serendipityPath'));
+
+/* 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}" />
+ <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}
+ <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}
+ <!-- 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.name}</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="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}
+ {serendipity_hookPlugin hookAll=true hook='frontend_image_selector_imagelink' eventData=$media.file}
+ <br />
+
+ <b>{$CONST.COMMENT}:</b>
+ <br />
+ <textarea id="serendipity_imagecomment" name="serendipity[imagecomment]" rows="5" cols="40"></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.finishJSFunction}" />
+ {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.name|@escape}.{$media.file.extension|@escape}" target="_blank">{$media.file.name|@escape}.{$media.file.extension|@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>
+ </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?serendipity[step]=default&serendipity[only_path]=';
+ var basenewdirurl = '{$serendipityHTTPPath}serendipity_admin_image_selector.php?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}
+ tmpNode = new YAHOO.widget.TextNode(mydir, last_node[{$item.depth} - 1], false);
+ {/if}
+ last_node[{$item.depth}] = tmpNode;
+ {/foreach}
+ tree.draw();
+ {rdelim}
+
+ addLoadEvent(treeInit);
+ </script>
+{/if}
+</div>
+</body>
+</html>
+{/if}
\ No newline at end of file