Merge remote branch 'gallery3-contrib/master'
This commit is contained in:
commit
3b67c7dc81
@ -25,33 +25,58 @@ class Admin_Dynamic_Controller extends Admin_Controller {
|
|||||||
access::verify_csrf();
|
access::verify_csrf();
|
||||||
|
|
||||||
$form = $this->_get_form();
|
$form = $this->_get_form();
|
||||||
if ($form->validate()) {
|
$errors = array_fill_keys(array_keys($form), "");
|
||||||
foreach (array("updates", "popular") as $album) {
|
if ($_POST) {
|
||||||
$album_defn = unserialize(module::get_var("dynamic", $album));
|
$post = new Validation($_POST);
|
||||||
$group = $form->inputs[$album];
|
$post->add_rules("updates_enabled", array("valid", "numeric"));
|
||||||
$album_defn->enabled = $group->inputs["{$album}_enabled"]->value;
|
$post->add_rules("popular_enabled", array("valid", "numeric"));
|
||||||
$album_defn->description = $group->inputs["{$album}_description"]->value;
|
$post->add_rules("updates_limit", array("valid", "numeric"));
|
||||||
$album_defn->limit = $group->inputs["{$album}_limit"] === "" ? null :
|
$post->add_rules("popular_limit", array("valid", "numeric"));
|
||||||
$group->inputs["{$album}_limit"]->value;
|
$post->add_rules("updates_description", "length[0,2048]");
|
||||||
module::set_var("dynamic", $album, serialize($album_defn));
|
$post->add_rules("popular_description", "length[0,2048]");
|
||||||
|
if ($post->validate()) {
|
||||||
|
foreach (array("updates", "popular") as $album) {
|
||||||
|
$album_defn = unserialize(module::get_var("dynamic", $album));
|
||||||
|
$album_defn->enabled = $post["{$album}_enabled"];
|
||||||
|
$album_defn->description = $post["{$album}_description"];
|
||||||
|
$album_defn->limit = $post["{$album}_limit"] === "" ? null : $post["{$album}_limit"];
|
||||||
|
module::set_var("dynamic", $album, serialize($album_defn));
|
||||||
|
}
|
||||||
|
|
||||||
|
message::success(t("Dynamic Albums Configured"));
|
||||||
|
|
||||||
|
url::redirect("admin/dynamic");
|
||||||
|
} else {
|
||||||
|
$form = arr::overwrite($form, $post->as_array());
|
||||||
|
$errors = arr::overwrite($errors, $post->errors());
|
||||||
}
|
}
|
||||||
|
|
||||||
message::success(t("Dynamic Albums Configured"));
|
|
||||||
|
|
||||||
url::redirect("admin/dynamic");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
print $this->_get_view($form);
|
print $this->_get_view($form, $errors);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function _get_view($form=null) {
|
private function _get_view($form=null, $errors=null) {
|
||||||
$v = new Admin_View("admin.html");
|
$v = new Admin_View("admin.html");
|
||||||
$v->content = new View("admin_dynamic.html");
|
$v->content = new View("admin_dynamic.html");
|
||||||
$v->content->form = empty($form) ? $this->_get_form() : $form;
|
$v->content->form = empty($form) ? $this->_get_form() : $form;
|
||||||
|
$v->content->tabs = array("updates" => t("Recent changes"), "popular" => t("Most viewed"));
|
||||||
|
$v->content->errors = $errors;
|
||||||
return $v;
|
return $v;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function _get_form() {
|
private function _get_form() {
|
||||||
|
$form = array();
|
||||||
|
foreach (array("updates", "popular") as $album) {
|
||||||
|
$album_defn = unserialize(module::get_var("dynamic", $album));
|
||||||
|
$form["{$album}_enabled"] = $album_defn->enabled;
|
||||||
|
$form["{$album}_limit"] = $album_defn->limit;
|
||||||
|
$form["{$album}_description"] = $album_defn->description;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $form;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function _get_form2() {
|
||||||
|
|
||||||
$form = new Forge("admin/dynamic/handler", "", "post",
|
$form = new Forge("admin/dynamic/handler", "", "post",
|
||||||
array("id" => "g-admin-form"));
|
array("id" => "g-admin-form"));
|
||||||
|
@ -1,8 +1,40 @@
|
|||||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||||
|
<script>
|
||||||
|
$(function() {
|
||||||
|
$( "#tabs" ).tabs();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
<div id="g-dyanmic-block" class="g-block ui-helper-clearfix">
|
<div id="g-dyanmic-block" class="g-block ui-helper-clearfix">
|
||||||
<h1> <?= t("Dynamic Albums") ?> </h1>
|
<h1> <?= t("Dynamic Albums") ?> </h1>
|
||||||
|
|
||||||
<div class="g-block-content">
|
<?= form::open("admin/dynamic/handler", array("id" => "g-admin-form")) ?>
|
||||||
<?= $form ?>
|
<?= access::csrf_form_field() ?>
|
||||||
|
<div id="tabs">
|
||||||
|
<ul>
|
||||||
|
<? foreach ($tabs as $album => $label): ?>
|
||||||
|
<li><a href="#<?= $album ?>"><?= $label ?></a></li>
|
||||||
|
<? endforeach ?>
|
||||||
|
</ul>
|
||||||
|
<? foreach (array("updates", "popular") as $album): ?>
|
||||||
|
<div id="<?= $album ?>">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<?= form::label("{$album}_enabled", t("Enable")) ?>
|
||||||
|
<?= form::checkbox("{$album}_enabled", 1, $form["{$album}_enabled"], "style='float: none'") ?>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<?= form::label("{$album}_limit", t("Limit (leave empty for unlimited)")) ?>
|
||||||
|
<?= form::input("{$album}_limit", $form["{$album}_limit"]) ?>
|
||||||
|
<?= empty($errors["{$album}_limit"]) ? "" : "<span class='g-error'>" . t("Limit must be numeric") ?>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<?= form::label("{$album}_description", t("Description")) ?>
|
||||||
|
<?= form::textarea("{$album}_description", $form["{$album}_description"]) ?>
|
||||||
|
<?= empty($errors["{$album}_description"]) ? "" : "<span class='g-error'>" . t("Description must be less than 2048 bytes") ?>
|
||||||
|
</li>
|
||||||
|
<ul>
|
||||||
|
</div>
|
||||||
|
<? endforeach ?>
|
||||||
</div>
|
</div>
|
||||||
|
<?= form::submit("submit", t("Submit")) ?>
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user