diff --git a/CHANGELOG.md b/CHANGELOG.md
index b6e3935..411b294 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
periodical 2021.08.xx
* update license
* update php code to PSR-2 style and short array
+ * move settings to blog pref
periodical 2013.11.11
* Switch to Dotclear 2.6
diff --git a/_admin.php b/_admin.php
index e4e13fa..2b44989 100644
--- a/_admin.php
+++ b/_admin.php
@@ -15,7 +15,16 @@ if (!defined('DC_CONTEXT_ADMIN')) {
return null;
}
-$core->blog->settings->addNamespace('periodical');
+$core->blog->settings->addNamespace('periodical');
+
+$core->addBehavior(
+ 'adminBlogPreferencesForm',
+ ['adminPeriodical', 'adminBlogPreferencesForm']
+);
+$core->addBehavior(
+ 'adminBeforeBlogSettingsUpdate',
+ ['adminPeriodical', 'adminBeforeBlogSettingsUpdate']
+);
if ($core->blog->settings->periodical->periodical_active) {
@@ -70,6 +79,73 @@ class adminPeriodical
{
public static $combo_period = null;
+ /**
+ * Add settings to blog preference
+ *
+ * @param dcCore $core dcCore instance
+ * @param dcSettings $blog_settings dcSettings instance
+ */
+ public static function adminBlogPreferencesForm(dcCore $core, dcSettings $blog_settings)
+ {
+ $sortby_combo = [
+ __('Create date') => 'post_creadt',
+ __('Date') => 'post_dt',
+ __('Id') => 'post_id'
+ ];
+ $order_combo = [
+ __('Descending') => 'desc',
+ __('Ascending') => 'asc'
+ ];
+
+ $s_active = (boolean) $blog_settings->periodical->periodical_active;
+ $s_upddate = (boolean) $blog_settings->periodical->periodical_upddate;
+ $s_updurl = (boolean) $blog_settings->periodical->periodical_updurl;
+ $e_order = (string) $blog_settings->periodical->periodical_pub_order;
+ $e_order = explode(' ', $e_order);
+ $s_sortby = in_array($e_order[0], $sortby_combo) ? $e_order[0] : 'post_dt';
+ $s_order = isset($e_order[1]) && strtolower($e_order[1]) == 'desc' ? 'desc' : 'asc';
+
+ echo
+ '
' . __('Periodical') . '
' .
+ '
' .
+ '
' .
+ '
' . __('Activation') . '
' .
+ '
' .
+ '
' . __('Dates of published entries') . '
' .
+ '
' .
+ '
' .
+ '
' .
+ '
' .
+ '
' . __('Order of publication of entries') . '
' .
+ '
' .
+ form::combo('periodical_sortby', $sortby_combo, $s_sortby) . '
' .
+ '
' .
+ form::combo('periodical_order', $order_combo, $s_order) . '
' .
+ '
' .
+ '
' .
+ '
' .
+ '
';
+ }
+
+ /**
+ * Save blog settings
+ *
+ * @param dcSettings $blog_settings dcSettings instance
+ */
+ public static function adminBeforeBlogSettingsUpdate(dcSettings $blog_settings)
+ {
+ $blog_settings->periodical->put('periodical_active', !empty($_POST['periodical_active']));
+ $blog_settings->periodical->put('periodical_upddate', !empty($_POST['periodical_upddate']));
+ $blog_settings->periodical->put('periodical_updurl', !empty($_POST['periodical_updurl']));
+ $blog_settings->periodical->put('periodical_pub_order', $_POST['periodical_sortby'] . ' ' . $_POST['periodical_order']);
+ }
+
/**
* Favorites.
*
diff --git a/_config.php b/_config.php
deleted file mode 100644
index 7c1ab18..0000000
--- a/_config.php
+++ /dev/null
@@ -1,105 +0,0 @@
-getURL() . '#plugins' : $_REQUEST['redir'];
-
-# -- Combos --
-$sortby_combo = [
- __('Create date') => 'post_creadt',
- __('Date') => 'post_dt',
- __('Id') => 'post_id'
-];
-$order_combo = [
- __('Descending') => 'desc',
- __('Ascending') => 'asc'
-];
-
-# -- Get settings --
-$core->blog->settings->addNamespace('periodical');
-$s = $core->blog->settings->periodical;
-
-$s_active = (boolean) $s->periodical_active;
-$s_upddate = (boolean) $s->periodical_upddate;
-$s_updurl = (boolean) $s->periodical_updurl;
-$e_order = (string) $s->periodical_pub_order;
-$e_order = explode(' ', $e_order);
-$s_sortby = in_array($e_order[0], $sortby_combo) ? $e_order[0] : 'post_dt';
-$s_order = isset($e_order[1]) && strtolower($e_order[1]) == 'desc' ? 'desc' : 'asc';
-
-# -- Set settings --
-if (!empty($_POST['save'])) {
- try {
- $s_active = !empty($_POST['s_active']);
- $s_upddate = !empty($_POST['s_upddate']);
- $s_updurl = !empty($_POST['s_updurl']);
- $s_sortby = $_POST['s_sortby'];
- $s_order = $_POST['s_order'];
-
- $s->put('periodical_active', $s_active);
- $s->put('periodical_upddate', $s_upddate);
- $s->put('periodical_updurl', $s_updurl);
- $s->put('periodical_pub_order', $s_sortby . ' ' . $s_order);
-
- $core->blog->triggerBlog();
-
- dcPage::addSuccessNotice(
- __('Configuration has been successfully updated.')
- );
- http::redirect($list->getURL(
- 'module=periodical&conf=1&redir=' . $list->getRedir()
- ));
- } catch (Exception $e) {
- $core->error->add($e->getMessage());
- }
-}
-
-# -- Display form --
-echo '
-
-
-
' . __('Activation') . '
-
-
-
-
-
-
-
' . __('Dates of published entries') . '
-
-
-
-
-
-
-
-
-
' . __('Order of publication of entries') . '
-
-
' .
-form::combo('s_sortby', $sortby_combo, $s_sortby) . '
-
-
' .
-form::combo('s_order', $order_combo, $s_order) . '
-
-
';
\ No newline at end of file
diff --git a/index.php b/index.php
index 830c448..4706c10 100644
--- a/index.php
+++ b/index.php
@@ -812,9 +812,6 @@ dcPage::helpBlock('periodical');
# Page footer
echo
'
-' . __('Configuration') . ' -
periodical - '. $core->plugins->moduleInfo('periodical', 'version') . '