public static function process($action = 'list', $id = null, $filters = array()) { $errors = array(); // valores de filtro $groups = Template::groups(); switch ($action) { case 'edit': // si estamos editando una plantilla $template = Template::get($id); // si llega post, vamos a guardar los cambios if ($_SERVER['REQUEST_METHOD'] == 'POST') { $template->title = $_POST['title']; $template->text = $_POST['text']; if ($template->save($errors)) { //Message::Info(Text::_('La plantilla se ha actualizado correctamente')); throw new Redirection("/admin/templates"); } else { Message::Error(Text::get('admin-templates-error-record-fail') . implode('<br />', $errors)); } } // sino, mostramos para editar return new View('view/admin/index.html.php', array('folder' => 'templates', 'file' => 'edit', 'template' => $template)); break; case 'list': // si estamos en la lista de páginas $templates = Template::getAll($filters); return new View('view/admin/index.html.php', array('folder' => 'templates', 'file' => 'list', 'templates' => $templates, 'groups' => $groups, 'filters' => $filters)); break; } }