Exemplo n.º 1
0
 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;
     }
 }