Closes #63 | Phrase "Drop here" is translated

This commit is contained in:
Fraenkiman 2024-03-26 15:07:12 +01:00
parent cd905da083
commit a9986305d3
15 changed files with 197 additions and 44 deletions

View File

@ -1,7 +1,147 @@
<?php
function admin_widgets_head() {
echo '<script src="' . BLOG_BASEURL . ADMIN_DIR . 'panels/widgets/admin.widgets.js"></script>';
global $lang;
echo '
<script>
/**
* FlatPress widget js admin
*/
var FlatPress = {
winstancedrag : function() {
$(\'.widget-class\').draggable({
\'scroll\' : true,
\'helper\' : function(event) {
return $(this).clone().appendTo(\'body\').removeClass(\'widget-class\').css({
\'position\': \'fixed\',
\'cursor\' : \'move\',
\'list-style-type\' : \'none\',
\'margin\' : \'0\',
\'padding\' : \'0\',
\'width\' : $(this).width(),
\'height\' : $(this).height()
})
.addClass(\'widget-available\');
}
});
$(\'.widget-instance\').draggable({
\'scroll\' : true,
\'helper\' : function(event) {
return $(this).clone().appendTo(\'body\').removeClass(\'widget-instance\').css({
\'position\': \'fixed\',
\'cursor\' : \'move\',
\'list-style-type\' : \'none\',
\'width\' : $(this).width(),
\'height\' : $(this).height()
})
.addClass(\'widget-installed\');
}
});
},
wplaceholder : function() {
$(\'.widget-placeholder\').droppable({
\'accept\' : \'.widget-class, .widget-instance\',
\'activeClass\' : \'ui-state-highlight\',
\'over\' : function(event, ui) {
$(this).effect("highlight", { \'color\' : $(\'.widget-installed, .widget-available\').css(\'background-color\') }, 1000);
},
\'drop\' : function(event, ui) {
var parent = ui.draggable.parent();
var where = $(this).parent().attr(\'id\').split(\'-\')[1];
var replace = null;
if (ui.draggable.hasClass(\'widget-instance\')) {
replace = ui.draggable;
}
else {
replace = $(\'<li class="\' + ui.draggable.attr(\'class\') + \'"></li>\').append(ui.draggable.children().clone());
replace.removeClass(\'widget-class\').addClass(\'widget-instance\');
}
replace.children(\'input\').attr(\'name\', \'widgets[\' + where + \'][]\');
$(this).replaceWith(replace);
if (parent.children().length < 1) {
parent.append(\'<li class="widget-placeholder">' . $lang ['admin'] ['widgets'] ['default'] ['drop_here'] . '</li>\');
}
FlatPress.wreload();
}
});
},
winstancedrop : function() {
$(\'.widget-instance\').droppable({
\'accept\' : \'.widget-class, .widget-instance\',
\'activeClass\' : \'ui-state-highlight\',
\'over\' : function(event, ui) {
$(this).effect("highlight", { \'color\' : $(\'.widget-available, .widget-installed\').css(\'background-color\') }, 1000);
},
\'drop\' : function(event, ui) {
var parent = ui.draggable.parent();
var where = $(this).parent().attr(\'id\').split(\'-\')[1];
var replace = null;
if (ui.draggable.hasClass(\'widget-instance\')) {
replace = ui.draggable;
}
else {
replace = $(\'<li class="\' + ui.draggable.attr(\'class\') + \'"></li>\').append(ui.draggable.children().clone());
replace.removeClass(\'widget-class\').addClass(\'widget-instance\');
}
replace.children(\'input\').attr(\'name\', \'widgets[\' + where + \'][]\');
$(this).after(replace);
if (parent.children().length < 1) {
parent.append(\'<li class="widget-placeholder">' . $lang ['admin'] ['widgets'] ['default'] ['drop_here'] . '</li>\');
}
FlatPress.wreload();
}
});
},
wtrash : function() {
$(\'#widget-trashcan\').droppable({
\'accept\' : \'.widget-instance\',
\'activeClass\' : \'ui-state-highlight\',
\'over\' : function(event, ui) {
$(this).fadeTo(\'slow\', 0.2).fadeTo(\'slow\', 1.0);
},
\'drop\' : function(event, ui) {
var parent = ui.draggable.parent();
var draggable = $(ui.draggable);
$(\'.widget-installed\').remove();
if(parent.children().length < 2) {
parent.append(\'<li class="widget-placeholder">' . $lang ['admin'] ['widgets'] ['default'] ['drop_here'] . '</li>\');
}
setTimeout(function() {
draggable.remove();
});
FlatPress.wreload();
}
});
$(\'.widget-class\').droppable({
\'accept\' : \'.widget-instance\',
\'activeClass\' : \'ui-state-highlight\',
\'over\' : function(event, ui) {
$(this).effect("highlight", { \'color\' : $(\'#widget-trashcan\').css(\'background-color\') }, 1000);
},
\'drop\' : function(event, ui) {
var parent = ui.draggable.parent();
var draggable = $(ui.draggable);
$(\'.widget-installed\').remove();
if(parent.children().length < 2) {
parent.append(\'<li class="widget-placeholder">' . $lang ['admin'] ['widgets'] ['default'] ['drop_here'] . '</li>\');
}
setTimeout(function() {
draggable.remove();
});
FlatPress.wreload();
}
});
},
wreload : function(){
this.winstancedrag();
this.winstancedrop();
this.wplaceholder();
}
}
FlatPress.wreload();FlatPress.wtrash();
</script>';
}
add_action('wp_footer', 'admin_widgets_head');

View File

@ -1,50 +1,50 @@
<h2>{$panelstrings.head}</h2>
<p>{$panelstrings.descr}</p>
{include file='shared:errorlist.tpl'}
{include file="shared:errorlist.tpl"}
{html_form id="admin-widgets-default"}
<div id="available-widgets">
<h2>{$panelstrings.availwdgs}</h2>
<div id="widget-trashcan">
{$panelstrings.trashcan}
</div>
</div>
<ul>
{foreach from=$fp_registered_widgets key=widgetid item=widget}
<li class="widget-class widget-id-{$widgetid}">
{* those are actually dummies just to have two inputs ready, but they might come handy *}
<input class="widget-id" type="hidden" name="avalwidg[]" value="{$widgetid}" />
<input class="widget-id" type="hidden" name="avalwidg[]" value="{$widgetid}">
{if $widget.nparams > 0}
{* class is for javascript: this input will be converted into a type="text" :) *}
<input class="textinput" style="float:right" type="hidden" />
<input class="textinput" style="float:right" type="hidden">
{/if}
<p>{$widget.name}</p>
</li>
{/foreach}
</ul>
<div class="buttonbar">
<input type="submit" name="save" value="{$panelstrings.submit}" />
<input type="submit" name="save" value="{$panelstrings.submit}">
</div>
</div>
<div id="admin-widgetset-list">
<h2>{$panelstrings.themewdgs}</h2>
<p>{$panelstrings.themewdgsdescr}</p>
<ul>
{foreach from=$widgetlist key=widgetset item=widgetarr}
<li class="admin-widgetset">
<h3 class="widgetset-name">
{$panelstrings.stdsets[$widgetset]|default:$widgetset}
</h3>
<ul id="widgetsetid-{$widgetset}">
{foreach from=$widgetarr item=widget}
{if isset($widget.class)}
@ -59,50 +59,50 @@
{/if}
<li class="widget-instance widget-id-{$widget.id} {$widgetclass}">
<input class="widget-id" type="hidden" name="widgets[{$widgetset}][]"
value="{$widget.id}{$widgetparams}" />
value="{$widget.id}{$widgetparams}">
{if !empty($widgetparams)}
{* this will be hooked from javascript *}
<input class="textinput" style="float:right"
type="text" value="{$widgetparams}"/>
type="text" value="{$widgetparams}">
{/if}
<p> {$widget.name} </p>
</li>
{foreachelse}
<li class="widget-placeholder"> Drop here </li>
<li class="widget-placeholder"> {$panelstrings.drop_here} </li>
{/foreach}
</ul>
</li>
{/foreach}
</ul>
{if $oldwidgetlist}
<h2>{$panelstrings.oldwdgs}</h2>
<p>{$panelstrings.oldwdgsdescr}</p>
<ul>
<ul>
{foreach from=$oldwidgetlist key=widgetset item=widgetarr}
<li class="admin-widgetset">
<h3 class="widgetset-name">
{$panelstrings.stdsets[$widgetset]|default:$widgetset}
</h3>
<ul id="widgetsetid-{$widgetset}">
{foreach from=$widgetarr item=widget}
<li class="widget-instance widget-id-{$widget.id}">
<input class="widget-id" type="hidden" name="widgets[{$widgetset}][]"
value="{$widget.id}{if $widget.params}:{$widget.params}{/if}" />
value="{$widget.id}{if $widget.params}:{$widget.params}{/if}">
{if $widget.params}
{* this will be hooked from javascript *}
<input class="textinput" style="float:right"
type="text" value="{$widget.params}"/>
type="text" value="{$widget.params}">
{/if}
<p> {$widget.name} </p>
</li>
{foreachelse}
<li class="widget-placeholder"> Drop here </li>
<li class="widget-placeholder"> {$panelstrings.drop_here} </li>
{/foreach}
</ul>
</li>
@ -110,9 +110,9 @@
</ul>
{/if}
</div>
<div class="buttonbar">
{html_submit name="save" id="save" value=$panelstrings.submit}
</div>

View File

@ -25,7 +25,8 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'oldwdgsdescr' => 'Tento widget zřejmě nepatří mezi widgety uvedené výše. ' . //
'Může to být pozůstatek z jiného motivu.',
'submit' => 'Uložit změny'
'submit' => 'Uložit změny',
'drop_here' => 'Soubor zde'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(

View File

@ -24,7 +24,8 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'oldwdgsdescr' => 'Følgende widget-sæt ser ikke ud til at passe til nogen af de ovennævnte ' . //
'widget-sæt, der er anført ovenfor. Det kan være en del af et andet tema.',
'submit' => 'Gem ændringer'
'submit' => 'Gem ændringer',
'drop_here' => 'Fil her'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(

View File

@ -24,7 +24,8 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'oldwdgsdescr' => 'Das folgende Widget Set scheint zu keinem der oben gelisteten ' . //
'Widget Sets zu gehören. Eventuell ist es Teil eines anderen Themes.',
'submit' => 'Änderungen speichern'
'submit' => 'Änderungen speichern',
'drop_here' => 'Hier ablegen'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(
@ -43,9 +44,9 @@ $lang ['admin'] ['widgets'] ['default'] ['msgs'] = array(
$lang ['admin'] ['widgets'] ['raw'] = array(
'head' => 'Verwaltung Widgets (<em>raw editor</em>)',
'descr' => 'Ein <a class="hint" ' . //
'href="http://wiki.flatpress.org/doc:plugins" title="What is a Widget?">' . //
'href="https://wiki.flatpress.org/doc:techfaq#widgets" target="_blank" title="What is a Widget?">' . //
'Widget</a> ist ein dynamisches Steuerelement eines <a class="hint" ' . //
'href="http://wiki.flatpress.org/doc:plugins" title="What is a plugin?">' . //
'href="https://wiki.flatpress.org/doc:techfaq#plugins" target="_blank" title="What is a plugin?">' . //
'Plugins</a>, das im Widget Bereich (<em>Widgetsets</em>) des Blogs frei positioniert werden kann. ' . //
'Nur Widgets/Plugins eintragen die auch in der <a href="admin.php?p=plugin">Plugin Verwaltung</a> aktiviert worden sind.</p>' . //

View File

@ -29,7 +29,8 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'oldwdgsdescr' => 'Οι ακόλουθες Θέσεις Στοιχείων φαίνεται πως δεν ανήκουν σε καμία από τις ' . //
'Θέσεις Στοιχείων που αναγράφονται παραπάνω. Μπορεί να έχου ξεμείνει από κάποιο άλλο θέμα.',
'submit' => 'Αποθήκευση αλλαγών'
'submit' => 'Αποθήκευση αλλαγών',
'drop_here' => 'Αρχείο εδώ'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(

View File

@ -29,7 +29,8 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'oldwdgsdescr' => 'The following widgetsets seems not to belong to any of the ' . //
'widgetsets listed above. They might be remainders from another theme.',
'submit' => 'Save Changes'
'submit' => 'Save Changes',
'drop_here' => 'Drop here'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(
@ -48,9 +49,9 @@ $lang ['admin'] ['widgets'] ['default'] ['msgs'] = array(
$lang ['admin'] ['widgets'] ['raw'] = array(
'head' => 'Manage Widgets (<em>raw editor</em>)',
'descr' => 'A <a class="hint" ' . //
'href="http://wiki.flatpress.org/doc:plugins" title="What is a Widget?">' . //
'href="https://wiki.flatpress.org/doc:techfaq#widgets" target="_blank" title="What is a Widget?">' . //
'Widget</a> is a visual element of a <a class="hint" ' . //
'href="http://wiki.flatpress.org/doc:plugins" title="What is a plugin?">' . //
'href="https://wiki.flatpress.org/doc:techfaq#plugins" target="_blank" title="What is a plugin?">' . //
'Plugin</a> that you can put in some special areas (the <em>widgetsets</em>) on your blog pages.</p>' . //
'<p>This is the <strong>raw</strong> editor; some advanced users or people who can\'t have JavaScript might prefer it.',

View File

@ -29,7 +29,8 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'oldwdgsdescr' => 'Los siguientes set de widgets parecen no pertenecer a ninguno de los ' . //
'widgetsets listados arriba. Pueden ser restantes de otro tema.',
'submit' => 'Guardar Cambios'
'submit' => 'Guardar Cambios',
'drop_here' => 'Coloque aquí'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(

View File

@ -29,7 +29,8 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'oldwdgsdescr' => 'Les widgetsets suivantes semblent ne pas appartenir &agrave; l\'un des ' . //
'widgetsets list&eacute;s ici. Ceux-ci proviennent peut-&ecirc;tre d\'un autre th&egrave;me.',
'submit' => 'Enregistrer modifications'
'submit' => 'Enregistrer modifications',
'drop_here' => 'Placer ici'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(

View File

@ -30,6 +30,7 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'widgetset elencati qui sopra. Potrebbero essere dei rimasugli di un altro tema.',
'submit' => 'Salva le modifiche',
'drop_here' => 'Posto qui'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(

View File

@ -27,7 +27,8 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'oldwdgsdescr' => 'The following widgetsets seems not to belong to any of the ' . //
'widgetsets listed above. They might be remainders from another theme.',
'submit' => '変更を保存する'
'submit' => '変更を保存する',
'drop_here' => 'ここに置く'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(

View File

@ -29,6 +29,7 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'widgetsets als boven getoond. Dit kan een overblijfsel zijn van een ander thema.',
'submit' => 'Bewaar veranderingen',
'drop_here' => 'Hier plaatsen'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(

View File

@ -28,7 +28,8 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'oldwdgs' => 'Outros WidgetSets',
'oldwdgsdescr' => 'Os seguintes WidgetSets parecem não pertencer a nenhum dos WidgetSets listados acima. Eles podem ser restos de outro tema.',
'submit' => 'Salve alterações'
'submit' => 'Salve alterações',
'drop_here' => 'Coloque aqui'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(

View File

@ -27,7 +27,8 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'oldwdgsdescr' => 'Следующие виджеты, по-видимому, не принадлежат ни к одному ' . //
'из перечисленных выше наборов виджетов. Возможно, это остатки от другой темы.',
'submit' => 'Сохранить изменения'
'submit' => 'Сохранить изменения',
'drop_here' => 'Место здесь'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(

View File

@ -29,7 +29,8 @@ $lang ['admin'] ['widgets'] ['default'] = array(
'oldwdgsdescr' => ' Naslednji gradnikSets se zdi, da ne pripadajo nobenemu od zgoraj navedenih ' . //
'gradniksets. Morda so ostanek od druge teme.',
'submit' => 'Shrani Spremembe'
'submit' => 'Shrani Spremembe',
'drop_here' => 'Postavite tukaj'
);
$lang ['admin'] ['widgets'] ['default'] ['stdsets'] = array(