/** * Tests unsetQueryVariable() */ public function testUnsetQueryVariable() { $url = new Net_URL2('http://www.example.com/?name=david&pear=fun&fish=slippery'); $url->unsetQueryVariable('pear'); $this->assertEquals($url->getURL(), 'http://www.example.com/?name=david&fish=slippery'); $url->unsetQueryVariable('name'); $this->assertEquals($url->getURL(), 'http://www.example.com/?fish=slippery'); $url->unsetQueryVariable('fish'); $this->assertEquals($url->getURL(), 'http://www.example.com/'); }
public function MakePagination($query, $rpp_def = NULL, $location = "DB") { $return_set = array(); $this->{$location}->query($query); // This query should select all needed fields from database if ((int) $this->_S->Get('rpp') != 0) { if (isset($_POST['rpp'])) { if ((int) $_POST['rpp'] == 0) { $this->_S->Set('rpp', 50); } else { $this->_S->Set('rpp', (int) $_POST['rpp']); } } $rpp = (int) $this->_S->Get('rpp'); } else { $this->_S->Set('rpp', 50); $rpp = (int) $this->_S->Get('rpp'); } // http://pear.php.net/package/Net_URL2 $op = new Net_URL2($_SERVER["REQUEST_URI"]); $op->unsetQueryVariable('cpage'); $op->setQueryVariable('cpage', ''); $str = (string) $op; if (strpos($str, "search=1")) { $str = str_replace("search=1", "search=0", $str); } $OptionForm = new TForm(); $OptionForm->Action = $str . $this->CurrentPage; $OptionForm->Name = "paginationform"; $OptionForm->class_name = "pagination_form"; $TSelect = new TForm_TSelect('rpp'); $TSelect->class_name = 'select2'; $TSelect->style = 'width: 60px;'; $OptionForm->Add("SlRPP", $TSelect); $OptionForm->SlRPP->Label = "Rezultate pe pagina: "; $OptionForm->SlRPP->label_class = 'inline'; $OptionForm->SlRPP->AddOption('10', '10'); $OptionForm->SlRPP->AddOption('20', '20'); $OptionForm->SlRPP->AddOption('30', '30'); $OptionForm->SlRPP->AddOption('50', '50'); $OptionForm->SlRPP->AddOption('100', '100'); $OptionForm->SlRPP->Value = $rpp; $OptionForm->SlRPP->Paragraph = false; $OptionForm->SlRPP->onChange = 'this.form.submit();'; $total_pages = ceil($this->{$location}->numRows() / $rpp); if (!$this->CurrentPage || $this->CurrentPage <= 0 || $this->CurrentPage > $total_pages) { $this->CurrentPage = 1; } $return_set[1] = " LIMIT " . ($this->CurrentPage - 1) * $rpp . ", " . $rpp; $TSelect = new TForm_TSelect('pag'); $TSelect->class_name = 'select2'; $TSelect->style = 'width: 60px;'; $OptionForm->Add('SlPag', $TSelect); for ($i = 1; $i <= $total_pages; $i++) { $OptionForm->SlPag->AddOption($str . $i, $i); } $OptionForm->SlPag->Label = "Afiseaza pagina: "; $OptionForm->SlPag->label_class = 'inline'; $OptionForm->SlPag->Paragraph = false; $OptionForm->SlPag->Value = $str . $this->CurrentPage; $OptionForm->SlPag->onChange = 'pagination_check_link(this.options[this.selectedIndex].value);'; $return_set[2] = "<div class=\"result_pages\">" . $OptionForm->Html() . ""; $ppages = ''; $j = 0; $nextpage = $pervpage = ''; if ($this->CurrentPage != 1) { $pervpage = '<li><a href="' . $str . '1"> <i class="icon-double-angle-left"></i></a></li><li><a href="' . $str . ($this->CurrentPage - 1) . '"> <i class="icon-angle-left"></i></a></li>'; } else { $pervpage = '<li class="disabled"><a href="' . $str . '1"> <i class="icon-double-angle-left"></i></a></li><li class="disabled"><a href="' . $str . ($this->CurrentPage - 1) . '"> <i class="icon-angle-left"></i></a></li>'; } if ($this->CurrentPage != $total_pages) { $nextpage = '<li><a href="' . $str . ($this->CurrentPage + 1) . '"><i class="icon-angle-right"></i> </a></li><li><a href="' . $str . $total_pages . '"><i class="icon-double-angle-right"></i> </a></li>'; } else { $nextpage = '<li class="disabled"><a href="' . $str . ($this->CurrentPage + 1) . '"><i class="icon-angle-right"></i> </a></li><li class="disabled"><a href="' . $str . $total_pages . '"><i class="icon-double-angle-right"></i> </a></li>'; } for ($i = 0; $i <= $j + 10; $i++) { if ($this->CurrentPage - 5 + $i > 0 && $this->CurrentPage - 5 + $i <= $total_pages) { if ($this->CurrentPage == $this->CurrentPage - 5 + $i) { $ppages .= '<li class="active"><a>' . ($this->CurrentPage - 5 + $i) . '</a></li>'; } else { $ppages .= '<li><a href="' . $str . ($this->CurrentPage - 5 + $i) . '">' . ($this->CurrentPage - 5 + $i) . '</a></li>'; } } else { if ($this->CurrentPage - 5 + $i <= $total_pages) { $j++; } } } $return_set[2] .= '<ul class="pagination">'; if ($total_pages > 1) { $return_set[2] .= $pervpage . $ppages . $nextpage; } else { $return_set[2] .= '<li class="active"><a>' . $this->CurrentPage . '</a></li>'; } $return_set[2] .= '</ul>'; $return_set[2] .= '</div>'; return $return_set; }
/** * Tests unsetQueryVariable() * * @return void */ public function testUnsetQueryVariable() { $url = new Net_URL2('http://www.example.com/?name=david&pear=fun&fish=slippery'); $removes = array('pear' => 'http://www.example.com/?name=david&fish=slippery', 'name' => 'http://www.example.com/?fish=slippery', 'fish' => 'http://www.example.com/'); foreach ($removes as $name => $expected) { $url->unsetQueryVariable($name); $this->assertEquals($expected, $url); } }