Ejemplo n.º 1
0
 /**
  * Internal function to return a sort order object from a row.
  * @param $row array
  * @return SortOrder
  */
 function &_returnSortOrderFromRow($row)
 {
     $sortOrder = new SortOrder();
     $sortOrder->setSortOrderId($row['sort_order_id']);
     $sortOrder->setType($row['order_type']);
     $sortOrder->setIsClean($row['is_clean']);
     $this->getDataObjectSettings('sort_order_settings', 'sort_order_id', $row['sort_order_id'], $sortOrder);
     return $sortOrder;
 }
 public function testSorting()
 {
     $this->assertNull($this->searchOptions->getSortField());
     $this->assertNull($this->searchOptions->getSortOrder());
     $sortField = SortField::DISPLAY_NAME();
     $this->searchOptions = $this->searchOptions->withSorting($sortField);
     $this->assertEquals($sortField, $this->searchOptions->getSortField());
     $this->assertEquals(SortOrder::ASC(), $this->searchOptions->getSortOrder());
     $sortOrder = SortOrder::DESC();
     $this->searchOptions = $this->searchOptions->withSorting($sortField, $sortOrder);
     $this->assertEquals($sortField, $this->searchOptions->getSortField());
     $this->assertEquals($sortOrder, $this->searchOptions->getSortOrder());
 }
Ejemplo n.º 3
0
 /**
  * Save sort order. 
  */
 function execute()
 {
     if (isset($this->sortOrderId)) {
         $sortOrder =& $this->sortOrderDao->getSortOrder($this->sortOrderId);
     }
     if (!isset($sortOrder)) {
         $sortOrder = new SortOrder();
     }
     $sortOrder->setName($this->getData('name'), null);
     // Localized
     $sortOrder->setType($this->getData('type'));
     $sortOrder->setIsClean(false);
     // Index needs regenerating
     // Update or insert sort order
     if ($sortOrder->getSortOrderId() != null) {
         $this->sortOrderDao->updateSortOrder($sortOrder);
     } else {
         $this->sortOrderDao->insertSortOrder($sortOrder);
     }
     // Store the field IDs for the sort order
     $fieldNames = (array) $this->getData('fieldNames');
     $fieldIds = array();
     $schemaPlugins =& PluginRegistry::loadCategory('schemas');
     foreach ($schemaPlugins as $schemaPlugin) {
         $schema =& $schemaPlugin->getSchema();
         $schemaId = $schema->getSchemaId();
         foreach ($schemaPlugin->getFieldList() as $fieldName) {
             if (isset($fieldNames[$schemaId]) && $fieldNames[$schemaId] == $fieldName) {
                 $field =& $this->fieldDao->buildField($fieldName, $schemaPlugin->getName());
                 $fieldIds[] = $field->getFieldId();
                 unset($field);
             }
         }
         unset($schema);
     }
     $this->sortOrderDao->setSortOrderFields($sortOrder->getSortOrderId(), $fieldIds);
 }
Ejemplo n.º 4
0
 /**
  * Get the name of the sort order type
  */
 function getSortOrderTypeName()
 {
     $options = SortOrder::getTypeOptions();
     return Locale::translate($options[$this->getType()]);
 }
Ejemplo n.º 5
0
 /**
  * Gets the human friendly name of the active sort order.
  *
  * @return string
  */
 public function getSortOrderFriendly()
 {
     return SortOrder::getFriendlyForOrder($this->getSortOrder());
 }
Ejemplo n.º 6
0
 /**
  * Get the name of the sort order type
  */
 function getSortOrderTypeName()
 {
     $options = SortOrder::getTypeOptions();
     return __($options[$this->getType()]);
 }