public function test_get_by_letter_starts_with_apostrophe() { $g1 = $this->factory->group->create(array('name' => "'Tis Sweet", 'description' => 'Neat')); $g2 = $this->factory->group->create(array('name' => 'Another Cool Group', 'description' => 'Awesome')); $groups = BP_Groups_Group::get_by_letter("'"); $found = wp_list_pluck($groups['groups'], 'id'); // @todo // The test fails but at least it's sanitized //$this->assertEquals( array( $g1->id ), $found ); }
function bp_groups_site_groups_template($type, $per_page, $max) { global $bp; $this->pag_page = isset($_REQUEST['gpage']) ? intval($_REQUEST['gpage']) : 1; $this->pag_num = isset($_REQUEST['num']) ? intval($_REQUEST['num']) : $per_page; if (isset($_REQUEST['s']) && '' != $_REQUEST['s'] && $type != 'random') { $this->groups = BP_Groups_Group::search_groups($_REQUEST['s'], $this->pag_num, $this->pag_page); } else { if (isset($_REQUEST['letter']) && '' != $_REQUEST['letter']) { $this->groups = BP_Groups_Group::get_by_letter($_REQUEST['letter'], $this->pag_num, $this->pag_page); } else { switch ($type) { case 'random': $this->groups = BP_Groups_Group::get_random($this->pag_num, $this->pag_page); break; case 'newest': $this->groups = BP_Groups_Group::get_newest($this->pag_num, $this->pag_page); break; case 'popular': $this->groups = BP_Groups_Group::get_popular($this->pag_num, $this->pag_page); break; case 'active': default: $this->groups = BP_Groups_Group::get_active($this->pag_num, $this->pag_page); break; } } } if (!$max) { $this->total_group_count = (int) $this->groups['total']; } else { $this->total_group_count = (int) $max; } $this->groups = $this->groups['groups']; if ($max) { if ($max >= count($this->groups)) { $this->group_count = count($this->groups); } else { $this->group_count = (int) $max; } } else { $this->group_count = count($this->groups); } $this->pag_links = paginate_links(array('base' => add_query_arg('gpage', '%#%'), 'format' => '', 'total' => ceil((int) $this->total_group_count / (int) $this->pag_num), 'current' => (int) $this->pag_page, 'prev_text' => '«', 'next_text' => '»', 'mid_size' => 1)); }