function testListSorterOption() { $option = new ListSorter_Option("Age Title", "Age DESC, Title ASC", new ListSorter_Option("Age Title", array("Age" => "ASC", "Title" => "DESC"))); $this->assertEquals("Age Title", $option->Title); $this->assertEquals("age title", $option->ID); $this->assertEquals("age title", (string) $option); $this->assertTrue($option->isReversable()); $this->assertEquals("dev?sort=age+title", $option->getLink()); $reverse = $option->getReverseOption(); $this->assertEquals("Age Title", $reverse->Title); $this->assertEquals("age title_rev", $reverse->ID); $this->assertEquals("age title_rev", (string) $reverse); $this->assertTrue($reverse->isReversable()); $this->assertEquals("dev?sort=age+title_rev", $reverse->getLink()); }
function getSorter() { $sorts = array('Most Popular' => 'Popularity DESC', ListSorter_Option::create('Title (A - Z)', "Title ASC", ListSorter_Option::create('Title (Z - A)', "Title DESC")->setID("title desc"))->setID("title asc"), ListSorter_Option::create('Newest', "Created DESC", ListSorter_Option::create('Oldest', "Created ASC"))); $sorter = new ListSorter($this->request, $sorts); $this->extend('updateSorter', $sorter); return $sorter; }
public function setReverseOption(ListSorter_Option $option) { $this->reverseoption = $option; if (!$option->isReversable()) { if ($this->getID() === $option->getID()) { $option->setID((string) $option . "_rev"); } $option->setReverseOption($this); } return $this; }