public function test_count_tags() { $count = $this->tags_manager->count_tags(); $this->assertEquals(3, $count); $this->tags_manager->delete_tag(1); $count = $this->tags_manager->count_tags(); $this->assertEquals(2, $count); }
/** * @param string $mode phpbb acp-mode * @param string $u_action phpbb acp-u_action * @param string $id the modules-id (url-param "i") */ public function manage_tags($mode, $u_action, $id) { $action = $this->request->variable('action', ''); switch ($action) { case 'delete': $this->handle_delete($mode, $u_action, $id); break; case 'edit': $this->handle_edit($u_action); break; case 'edit_non_ajax': $this->handle_edit($u_action, false); break; default: // show all tags $sort_key = $this->request->variable('sort_key', self::SORT_NAME_ASC); $sort_field = 'tag'; switch ($sort_key) { case self::SORT_COUNT_ASC: // no break // no break case self::SORT_COUNT_DESC: $sort_field = 'count'; break; case self::SORT_NAME_ASC: // no break // no break case self::SORT_NAME_DESC: // no break // no break default: $sort_field = 'tag'; break; } $ordering = $sort_key % 2 == self::SORT_ASC; $start = $this->request->variable('start', 0); $limit = $this->config['topics_per_page']; $tags_count = $this->tags_manager->count_tags(); $start = $this->pagination->validate_start($start, $limit, $tags_count); $base_url = $u_action . "&sort_key={$sort_key}"; $tags = $this->tags_manager->get_all_tags($start, $limit, $sort_field, $ordering); $this->pagination->generate_template_pagination($base_url, 'pagination', 'start', $tags_count, $limit, $start); foreach ($tags as $tag) { $this->template->assign_block_vars('tags', array('NAME' => $tag['tag'], 'ASSIGNMENTS' => $tag['count'], 'U_DELETE_TAG' => $this->get_tag_link($u_action, $tag['id']) . '&action=delete', 'U_EDIT_TAG' => $this->get_tag_link($u_action, $tag['id']) . '&action=edit_non_ajax')); } $this->template->assign_vars(array('SELECT_SORT_KEY' => $this->create_sort_selects($sort_key), 'U_ACTION' => $u_action . "&sort_key={$sort_key}&start={$start}")); break; } }