76 lines
2.7 KiB
PHP
76 lines
2.7 KiB
PHP
<?php
|
|
/**
|
|
* @brief tweakStores, a plugin for Dotclear 2
|
|
*
|
|
* @package Dotclear
|
|
* @subpackage Plugin
|
|
*
|
|
* @author Jean-Christian Denis and Contributors
|
|
*
|
|
* @copyright Jean-Christian Denis
|
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
*/
|
|
if (!defined('DC_CONTEXT_MODULE')) {
|
|
return null;
|
|
}
|
|
|
|
dcPage::checkSuper();
|
|
|
|
$redir = empty($_REQUEST['redir']) ?
|
|
dcCore::app()->admin->list->getURL() . '#plugins' : $_REQUEST['redir'];
|
|
|
|
# -- Get settings --
|
|
dcCore::app()->blog->settings->addNamespace('tweakStores');
|
|
$s = dcCore::app()->blog->settings->tweakStores;
|
|
|
|
$tweakStores_active = $s->active;
|
|
$tweakStores_packman = $s->packman;
|
|
$tweakStores_file_pattern = $s->file_pattern;
|
|
|
|
# -- Set settings --
|
|
if (!empty($_POST['save'])) {
|
|
try {
|
|
$tweakStores_active = !empty($_POST['tweakStores_active']);
|
|
$tweakStores_packman = !empty($_POST['tweakStores_packman']);
|
|
$tweakStores_file_pattern = $_POST['tweakStores_file_pattern'];
|
|
|
|
$s->put('active', $tweakStores_active);
|
|
$s->put('packman', $tweakStores_packman);
|
|
$s->put('file_pattern', $tweakStores_file_pattern);
|
|
|
|
dcPage::addSuccessNotice(
|
|
__('Configuration successfully updated')
|
|
);
|
|
http::redirect(
|
|
dcCore::app()->admin->list->getURL('module=tweakStores&conf=1&redir=' . dcCore::app()->admin->list->getRedir())
|
|
);
|
|
} catch (Exception $e) {
|
|
dcCore::app()->error->add($e->getMessage());
|
|
}
|
|
}
|
|
|
|
# -- Display form --
|
|
echo '
|
|
<div class="fieldset">
|
|
<h4>' . __('Tweak store') . '</h4>
|
|
|
|
<p><label class="classic" for="tweakStores_active">' .
|
|
form::checkbox('tweakStores_active', 1, $tweakStores_active) . ' ' .
|
|
__('Enable plugin') . '</label></p>
|
|
<p class="form-note">' . __('If enabled, new tab "Tweak stores" allows your to perfom actions relative to third-party repositories.') . '</p>
|
|
|
|
<p><label class="classic" for="tweakStores_packman">' .
|
|
form::checkbox('tweakStores_packman', 1, $tweakStores_packman) . ' ' .
|
|
__('Enable packman behaviors') . '</label></p>
|
|
<p class="form-note">' . __('If enabled, plugin pacKman will (re)generate on the fly dcstore.xml file at root directory of the module.') . '</p>
|
|
|
|
<p><label class="classic" for="tweakStores_file_pattern">' . __('Predictable URL to zip file on the external repository') .
|
|
form::field('tweakStores_file_pattern', 65, 255, $tweakStores_file_pattern, 'maximal') . '
|
|
</label></p>
|
|
<p class="form-note">' .
|
|
__('You can use widcard like %author%, %type%, %id%, %version%.') . '<br /> ' .
|
|
__('For example on github https://github.com/MyGitName/%id%/releases/download/v%version%/%type%-%id%.zip') . '<br />' .
|
|
__('Note: on github, you must create a release and join to it the module zip file.') . '
|
|
</p>
|
|
|
|
</div>';
|