_get_view(); } public function handler() { access::verify_csrf(); $form = $this->_get_form(); if ($form->validate()) { foreach (array("updates", "popular") as $album) { $album_defn = unserialize(module::get_var("dynamic", $album)); $album_defn->enabled = $form->$album->enabled->value; $album_defn->description = $form->$album->description->value; $album_defn->limit = $form->$album->limit->value === "" ? null : $form->$album->limit->value; module::set_var("dynamic", $album, serialize($album_defn)); } message::success(t("Dynamic Albums Configured")); url::redirect("admin/dynamic"); } print $this->_get_view($form); } private function _get_view($form=null) { $v = new Admin_View("admin.html"); $v->content = new View("admin_dynamic.html"); $v->content->form = empty($form) ? $this->_get_form() : $form; return $v; } private function _get_form() { $form = new Forge("admin/dynamic/handler", "", "post", array("id" => "gAdminForm")); foreach (array("updates", "popular") as $album) { $album_defn = unserialize(module::get_var("dynamic", $album)); $group = $form->group($album)->label(t($album_defn->title)); $group->checkbox("enabled") ->label(t("Enable")) ->value(1) ->checked($album_defn->enabled); $group->input("limit") ->label(t("Limit (leave empty for unlimited)")) ->value(empty($updates->limit) ? "" : $updates->limit) ->rules("valid_numeric"); $group->textarea("description") ->label(t("Description")) ->rules("length[0,2048]") ->value($album_defn->description); } $form->submit("submit")->value(t("Submit")); return $form; } }