1
0

Fix MediaLibrary objects not pass through into entryproperties CustomFields

and replaces some old "|@" Smarty 2 array "type hintings" to "|".

Also fixes the default fallback in default/admin/media_choose.tpl, which also missed the serendipity js namespace.

@yellowled Please trigger a default/admin/serendipity_editor.js run to fetch up with all latterly added changes.
This commit is contained in:
Ian
2015-09-15 17:28:04 +02:00
parent 72bfb9a515
commit 61fe3e2bf9
5 changed files with 49 additions and 27 deletions
docs
plugins/serendipity_event_entryproperties
templates

@ -1,6 +1,9 @@
Version 2.1 ()
------------------------------------------------------------------------
* Fix MediaLibrary objects not pass through into entryproperties
CustomFields
* Added new bulk image move ability to MediaLibrary
* Fix importers to use the new mysqli API extension with PHP 5+

@ -466,7 +466,7 @@ class serendipity_event_entryproperties extends serendipity_event
<?php
foreach($fields AS $fieldname) {
$fieldparts = explode(':', $fieldname);
$fieldname = $fieldparts[0];
$fieldname = $fieldparts[0];
$_fieldname = serendipity_specialchars(trim($fieldname));
if (isset($serendipity['POST']['properties'][$_fieldname])) {

@ -8,7 +8,7 @@
<div class="clearfix">
{if $media.file.is_image}
{serendipity_hookPlugin hook="frontend_image_selector" eventData=$media.file hookAll=true}
<h1>{$CONST.YOU_CHOSE|@sprintf:$media.file.realname}</h1>
<h1>{$CONST.YOU_CHOSE|sprintf:$media.file.realname}</h1>
<img src="{$media.file.imgsrc}" alt="">
@ -41,12 +41,12 @@
<div class="clearfix">
<div class="form_radio">
<input id="radio_link_no" name="serendipity[linkThumbnail]" type="radio" value="no" {'linkThumbnail'|@ifRemember:'no':true}>
<input id="radio_link_no" name="serendipity[linkThumbnail]" type="radio" value="no" {'linkThumbnail'|ifRemember:'no':true}>
<label for="radio_link_no">{$CONST.I_WANT_THUMB}</label>
</div>
<div class="form_radio">
<input id="radio_link_yes" name="serendipity[linkThumbnail]" type="radio" value="yes" {'linkThumbnail'|@ifRemember:'yes'}>
<input id="radio_link_yes" name="serendipity[linkThumbnail]" type="radio" value="yes" {'linkThumbnail'|ifRemember:'yes'}>
<label for="radio_link_yes">{$CONST.I_WANT_BIG_IMAGE}</label>
</div>
</div>
@ -58,17 +58,17 @@
<div class="clearfix">
<div class="form_radio">
<input id="image_align_top" name="serendipity[align]" {'align'|@ifRemember:''} type="radio" value="">
<input id="image_align_top" name="serendipity[align]" {'align'|ifRemember:''} type="radio" value="">
<label for="image_align_top"><img src="{serendipity_getFile file='img/img_align_top.png'}" alt="{$CONST.ALIGN_TOP}"></label>
</div>
<div class="form_radio">
<input id="image_align_left" name="serendipity[align]" {'align'|@ifRemember:'left':true} type="radio" value="left">
<input id="image_align_left" name="serendipity[align]" {'align'|ifRemember:'left':true} type="radio" value="left">
<label for="image_align_left"><img src="{serendipity_getFile file='img/img_align_left.png'}" alt="{$CONST.ALIGN_LEFT}"></label>
</div>
<div class="form_radio">
<input id="image_align_right" name="serendipity[align]" {'align'|@ifRemember:'right'} type="radio" value="right">
<input id="image_align_right" name="serendipity[align]" {'align'|ifRemember:'right'} type="radio" value="right">
<label for="image_align_right"><img src="{serendipity_getFile file='img/img_align_right.png'}" alt="{$CONST.ALIGN_RIGHT}"></label>
</div>
</div>
@ -80,12 +80,12 @@
<div class="clearfix">
<div class="form_radio">
<input id="radio_islink_no" name="serendipity[isLink]" type="radio" value="no" {'isLink'|@ifRemember:'no':true}>
<input id="radio_islink_no" name="serendipity[isLink]" type="radio" value="no" {'isLink'|ifRemember:'no':true}>
<label for="radio_islink_no">{$CONST.I_WANT_NO_LINK}</label>
</div>
<div class="form_radio">
<input id="radio_islink_yes" name="serendipity[isLink]" type="radio" value="yes" {'isLink'|@ifRemember:'yes'}>
<input id="radio_islink_yes" name="serendipity[isLink]" type="radio" value="yes" {'isLink'|ifRemember:'yes'}>
<label for="radio_islink_yes">{$CONST.I_WANT_IT_TO_LINK}</label>
<div class="form_field">
@ -103,10 +103,10 @@
<div class="form_select">
<select id="select_image_target" name="serendipity[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>
<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>
{serendipity_hookPlugin hookAll=true hook='frontend_image_selector_imagelink2' eventData=$media.file}
<label for="select_image_target">{$CONST.MEDIA_TARGET}</label>
@ -143,6 +143,11 @@
{if $media.filename_only}
<script>
{serendipity_hookPlugin hookAll=true hook='frontend_image_add_filenameonly' eventData=$media}
if (parent.self.opener == undefined) {
// in iframes, there is no opener, and the magnific popup is wrapped
parent.self = window.parent.parent.$.magnificPopup;
parent.self.opener = window.parent.parent;
}
parent.self.opener.serendipity.serendipity_imageSelector_addToElement('{$media.file.full_file|escape}', '{$media.htmltarget|escape}');
parent.self.close();
</script>
@ -155,11 +160,11 @@
parent.self = window.parent.parent.$.magnificPopup;
parent.self.opener = window.parent.parent;
}
if (parent.self.opener.editorref) {
if (parent.self.opener.editorref) {
parent.self.opener.editorref.surroundHTML(block, '');
} else {
} else {
parent.self.opener.serendipity.serendipity_imageSelector_addToBody(block, '{$media.textarea}');
}
}
parent.self.close();
</script>
{/if}

@ -3,7 +3,7 @@
{* ML got called for inserting media *}
{if $file.is_image AND $file.full_thumb}
{if $media.textarea || $media.htmltarget}
{$link="?serendipity[adminModule]=images&amp;serendipity[adminAction]=choose&amp;serendipity[fid]={$file.id}&amp;serendipity[textarea]={$media.textarea}&amp;serendipity[noBanner]=true&amp;serendipity[noSidebar]=true&amp;serendipity[noFooter]=true&serendipity[filename_only]={$media.filename_only}&serendipity[htmltarget]={$media.htmltarget}"}
{$link="?serendipity[adminModule]=images&amp;serendipity[adminAction]=choose&amp;serendipity[fid]={$file.id}&amp;serendipity[textarea]={$media.textarea}&amp;serendipity[noBanner]=true&amp;serendipity[noSidebar]=true&amp;serendipity[noFooter]=true&amp;serendipity[filename_only]={$media.filename_only}&amp;serendipity[htmltarget]={$media.htmltarget}"}
{else}
{if $file.url}
{$link="{$file.url}&amp;serendipity[image]={$file.id}"}
@ -16,7 +16,7 @@
{elseif $file.is_image AND $file.hotlink}
{if $media.textarea}
{$link="?serendipity[adminModule]=images&amp;serendipity[adminAction]=choose&amp;serendipity[fid]={$file.id}&amp;serendipity[textarea]={$media.textarea}&amp;serendipity[noBanner]=true&amp;serendipity[noSidebar]=true&amp;serendipity[noFooter]=true&serendipity[filename_only]={$media.filename_only}&serendipity[htmltarget]={$media.htmltarget}"}
{$link="?serendipity[adminModule]=images&amp;serendipity[adminAction]=choose&amp;serendipity[fid]={$file.id}&amp;serendipity[textarea]={$media.textarea}&amp;serendipity[noBanner]=true&amp;serendipity[noSidebar]=true&amp;serendipity[noFooter]=true&amp;serendipity[filename_only]={$media.filename_only}&amp;serendipity[htmltarget]={$media.htmltarget}"}
{else}
{if $file.url}
{$link="{$file.$url}&amp;serendipity[image]={$file.id}"}
@ -27,7 +27,7 @@
{$img_alt="{$file.realname}"}
{else}
{if $media.textarea}
{$link="?serendipity[adminModule]=images&amp;serendipity[adminAction]=choose&amp;serendipity[fid]={$file.id}&amp;serendipity[textarea]={$media.textarea}&amp;serendipity[noBanner]=true&amp;serendipity[noSidebar]=true&amp;serendipity[noFooter]=true&serendipity[filename_only]={$media.filename_only}&serendipity[htmltarget]={$media.htmltarget}"}
{$link="?serendipity[adminModule]=images&amp;serendipity[adminAction]=choose&amp;serendipity[fid]={$file.id}&amp;serendipity[textarea]={$media.textarea}&amp;serendipity[noBanner]=true&amp;serendipity[noSidebar]=true&amp;serendipity[noFooter]=true&amp;serendipity[filename_only]={$media.filename_only}&amp;serendipity[htmltarget]={$media.htmltarget}"}
{else}
{if $file.url}
{$link="{$file.$url}&amp;serendipity[image]={$file.id}"}
@ -55,6 +55,10 @@
{$img_alt="{$file.mime}"}
{/if}
{/if}
{* builds a ML objects link for step 1, to pass to media_choose.tpl file passthrough media.filename_only scripts - do not use "empty($link) AND" here, since that would require a reset before! *}
{if (!$file.is_image OR $file.is_image == 0) AND $file.mediatype != 'image' AND $file.realfile}
{$link="?serendipity[adminModule]=images&amp;serendipity[adminAction]=choose&amp;serendipity[noBanner]=true&amp;serendipity[noSidebar]=true&amp;serendipity[noFooter]=true&amp;serendipity[fid]={$file.id}&amp;serendipity[filename_only]={$media.filename_only}&amp;serendipity[textarea]={$media.textarea}&amp;serendipity[htmltarget]={$media.htmltarget}"}
{/if}
<article id="media_{$file.id}" class="media_file {cycle values="odd,even"}">
<header class="clearfix">
<div class="form_check">
@ -125,7 +129,7 @@
<footer>
<ul class="media_file_meta plainList">
<li><b>{$CONST.SORT_ORDER_DATE}:</b> {if $file.authorid != 0}{$CONST.POSTED_BY} {$file.authorname} {/if}{$CONST.ON} {$file.date|@formatTime:DATE_FORMAT_SHORT}</li>
<li><b>{$CONST.SORT_ORDER_DATE}:</b> {if $file.authorid != 0}{$CONST.POSTED_BY} {$file.authorname} {/if}{$CONST.ON} {$file.date|formatTime:DATE_FORMAT_SHORT}</li>
{if $file.hotlink}
<li>{$file.nice_hotlink}</li>
{elseif $file.is_image}
@ -189,11 +193,11 @@
<dl class="clearfix">
{foreach from=$meta_data key="meta_name" item="meta_value"}
<dt>{$meta_name}</dt>
<dd>{if is_array($meta_value)}{$meta_value|@print_r}{else}{$meta_value|@formatTime:DATE_FORMAT_SHORT:false:$meta_name}{/if}</dd>
<dd>{if is_array($meta_value)}{$meta_value|print_r}{else}{$meta_value|formatTime:DATE_FORMAT_SHORT:false:$meta_name}{/if}</dd>
{/foreach}
</dl>
{else}
<p>{$meta_data|@formatTime:DATE_FORMAT_SHORT:false:$meta_type}</p>
<p>{$meta_data|formatTime:DATE_FORMAT_SHORT:false:$meta_type}</p>
{/if}
{/foreach}
</section>

@ -222,18 +222,28 @@
{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}');
if (parent.self.opener == undefined) {
// in iframes, there is no opener, and the magnific popup is wrapped
parent.self = window.parent.parent.$.magnificPopup;
parent.self.opener = window.parent.parent;
}
parent.self.opener.serendipity.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) {
if (parent.self.opener == undefined) {
// in iframes, there is no opener, and the magnific popup is wrapped
parent.self = window.parent.parent.$.magnificPopup;
parent.self.opener = window.parent.parent;
}
if (parent.self.opener.editorref) {
parent.self.opener.editorref.surroundHTML(block, '');
} else {
parent.self.opener.serendipity_imageSelector_addToBody(block, '{$media.textarea}');
}
} else {
parent.self.opener.serendipity.serendipity_imageSelector_addToBody(block, '{$media.textarea}');
}
parent.self.close();
</script>
{/if}