diff --git a/_admin.php b/_admin.php
index 2f7cf51..900fc05 100644
--- a/_admin.php
+++ b/_admin.php
@@ -1,16 +1,15 @@
blog->settings->tweakStores->active) {
if ($core->blog->settings->tweakStores->packman) {
$core->addBehavior('packmanBeforeCreatePackage', ['tweakStoresBehaviors', 'packmanBeforeCreatePackage']);
}
+$core->addBehavior('pluginsToolsHeaders', ['tweakStoresBehaviors', 'modulesToolsHeaders']);
+$core->addBehavior('themesToolsHeaders', ['tweakStoresBehaviors', 'modulesToolsHeaders']);
$core->addBehavior('pluginsToolsTabs', ['tweakStoresBehaviors', 'pluginsToolsTabs']);
$core->addBehavior('themesToolsTabs', ['tweakStoresBehaviors', 'themesToolsTabs']);
class tweakStoresBehaviors
{
+ # addd some js
+ public static function modulesToolsHeaders(dcCore $core, $plugin)
+ {
+ return
+ dcPage::jsVars(['dotclear.ts_copied' => __('Copied to clipboard')]) .
+ dcPage::jsLoad(dcPage::getPF('tweakStores/js/admin.js'));
+ }
+
# create dcstore.xml file on the fly when pack a module
public static function packmanBeforeCreatePackage(dcCore $core, $module)
{
@@ -44,13 +53,13 @@ class tweakStoresBehaviors
# admin plugins page tab
public static function pluginsToolsTabs(dcCore $core)
{
- self::modulesToolsTabs($core, $core->plugins->getModules(), explode(',', DC_DISTRIB_PLUGINS), $core->adminurl->get('admin.plugins').'#tweakStores');
+ self::modulesToolsTabs($core, $core->plugins->getModules(), explode(',', DC_DISTRIB_PLUGINS), $core->adminurl->get('admin.plugins') . '#tweakStores');
}
# admin themes page tab
public static function themesToolsTabs(dcCore $core)
{
- self::modulesToolsTabs($core, $core->themes->getModules(), explode(',', DC_DISTRIB_THEMES), $core->adminurl->get('admin.blog.theme').'#tweakStores');
+ self::modulesToolsTabs($core, $core->themes->getModules(), explode(',', DC_DISTRIB_THEMES), $core->adminurl->get('admin.blog.theme') . '#tweakStores');
}
# generic page tab
@@ -89,7 +98,7 @@ class tweakStoresBehaviors
}
}
if (count($combo) < 2) {
- echo
+ echo
'
' . __('There is no module to tweak') . '
' .
'';
@@ -102,7 +111,7 @@ class tweakStoresBehaviors
__('You must configure zip file pattern to complete xml code automatically.')
);
} else {
- echo
+ echo
'';
}
if (!empty($_POST['buildxml_id'])) {
- echo
+ echo
'';
}
- echo
+ echo
'';
}
# create list of module for combo and remove official modules
protected static function comboModules($modules, array $excludes)
{
- $combo = [ __('Select a module') => '0'];
+ $combo = [__('Select a module') => '0'];
foreach ($modules as $id => $module) {
if (in_array($id, $excludes)) {
continue;
}
- $combo[$module['name'] . ' '. $module['version']] = $id;
+ $combo[$module['name'] . ' ' . $module['version']] = $id;
}
+
return $combo;
}
-}
\ No newline at end of file
+}
diff --git a/js/admin.js b/js/admin.js
new file mode 100644
index 0000000..dff1a0b
--- /dev/null
+++ b/js/admin.js
@@ -0,0 +1,21 @@
+/*global $, dotclear */
+'use strict';
+
+$(function(){
+ $("#ts_copy_button").click(function() {
+ tsCopy("#gen_xml");
+ return false;
+ });
+
+ function tsCopy(element_id) {
+ $(element_id).attr("contenteditable", true)
+ .select()
+ .on("focus", function() {
+ document.execCommand('selectAll', false, null)
+ })
+ .focus()
+ document.execCommand("Copy");
+ $(element_id).removeAttr("contenteditable");
+ alert(dotclear.ts_copied);
+ }
+});
\ No newline at end of file
diff --git a/locales/fr/main.po b/locales/fr/main.po
index c087656..8afb075 100644
--- a/locales/fr/main.po
+++ b/locales/fr/main.po
@@ -1,15 +1,18 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
-"Project-Id-Version: tweakStores 0.1.0\n"
+"Project-Id-Version: tweakStores 0.2.0\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-09-27T22:20:49+00:00\n"
+"PO-Revision-Date: 2021-11-04T10:06:45+00:00\n"
"Last-Translator: Jean-Christian Denis\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+msgid "Copied to clipboard"
+msgstr "Copié dans le presse-papier"
+
msgid "Tweak third-party repositories"
msgstr "Gestion de dépôts tiers"
@@ -19,6 +22,9 @@ msgstr "Fichier enregistré avec succès"
msgid "There is no module to tweak"
msgstr "Il n'y a pas de module à gérer"
+msgid "You must configure zip file pattern to complete xml code automatically."
+msgstr "Vous devez configurer le modèle de fichier zip pour compléter le code XML automatiquement."
+
msgid "Generate xml code"
msgstr "Générer le code XML"
@@ -46,8 +52,8 @@ msgstr "Le code est complet"
msgid "Save to module directory"
msgstr "Enregistrer dans le répertoire du module"
-msgid "You must configure zip file pattern to complete xml code automatically."
-msgstr "Vous devez configurer le modèle de fichier zip pour compléter le code XML automatiquement."
+msgid "Copy to clipboard"
+msgstr "Copier dans le presse-papier"
msgid "You can edit zip file pattern from configuration page."
msgstr "Vous pouvez modifier le modèle de fichier zip sur la page de configuration."