* @version $Revision: 1060 $ */ class AdminTagsController extends GalleryController { /** * @see GalleryController::handleRequest */ function handleRequest($form) { global $gallery; $status = $error = $results = array(); $target = array('view' => 'core.SiteAdmin', 'subView' => 'tags.AdminTags'); if (isset($form['action']['add'])) { if (isset($form['TagNameAdd']) && $form['TagNameAdd'] != '') { $tagName = $form['TagNameAdd']; list ($ret, $tagList) = TagsHelper::splitTags($tagName); if ($ret) { return array($ret, null, null); } foreach ($tagList as $tag) { $ret = TagsHelper::addNewTag(trim($tag)); if ($ret) { return $ret; } } $status['added'] = 1; } else { $error[] = 'form[error][notagname]'; } } if (isset($form['action']['delete'])) { $ret = TagsHelper::removeTag($form['TagNameDel']); if ($ret) { return array($ret, null); } $status['deleted'] = 1; } if (isset($form['action']['edit'])) { if (isset($form['TagNameNew']) and $form['TagNameNew'] != '') { $ret = TagsHelper::renameTag($form['TagNameDel'], trim($form['TagNameNew'])); if ($ret) { return array($ret, null); } $status['renamed'] = 1; } else { $error[] = 'form[error][nonewtagname]'; $target['TagEdit'] = $form['TagNameDel']; } } $results['status'] = $status; $results['error'] = $error; $results[empty($error) ? 'redirect' : 'delegate'] = $target; return array(null, $results); } } /** * Settings for the Tags module. */ class AdminTagsView extends GalleryView { /** * @see GalleryView::loadTemplate */ function loadTemplate(&$template, &$form) { list ($ret, $tags) = TagsHelper::getTagListWithTagCount(true); if ($ret) { return array($ret, null); } $TagNameEdit = GalleryUtilities::getRequestVariables('TagEdit'); $template->setVariable('Tags', $tags); $template->setVariable('TagNameEdit', $TagNameEdit); $template->javascript('modules/tags/js/AdminTags.js'); return array(null, array('body' => 'modules/tags/templates/AdminTags.tpl')); } } ?>