本文整理汇总了PHP中CRM_Utils_Sort::orderBy方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Utils_Sort::orderBy方法的具体用法?PHP CRM_Utils_Sort::orderBy怎么用?PHP CRM_Utils_Sort::orderBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Utils_Sort
的用法示例。
在下文中一共展示了CRM_Utils_Sort::orderBy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
/**
* Heart of the Controller. This is where all the action takes place
*
* - The rows are fetched and stored depending on the type of output needed
*
* - For export/printing all rows are selected.
*
* - for displaying on screen paging parameters are used to display the
* required rows.
*
* - also depending on output type of session or template rows are appropriately stored in session
* or template variables are updated.
*
*
* @return void
*/
public function run()
{
// get the column headers
$columnHeaders =& $this->_object->getColumnHeaders($this->_action, $this->_output);
$contextArray = explode('_', get_class($this->_object));
$contextName = strtolower($contextArray[1]);
// fix contribute and member
if ($contextName == 'contribute') {
$contextName = 'contribution';
} elseif ($contextName == 'member') {
$contextName = 'membership';
}
// we need to get the rows if we are exporting or printing them
if ($this->_output == self::EXPORT || $this->_output == self::SCREEN) {
// get rows (without paging criteria)
$rows = self::getRows($this);
CRM_Utils_Hook::searchColumns($contextName, $columnHeaders, $rows, $this);
if ($this->_output == self::EXPORT) {
// export the rows.
CRM_Core_Report_Excel::writeCSVFile($this->_object->getExportFileName(), $columnHeaders, $rows);
CRM_Utils_System::civiExit();
} else {
// assign to template and display them.
self::$_template->assign_by_ref('rows', $rows);
self::$_template->assign_by_ref('columnHeaders', $columnHeaders);
}
} else {
// output requires paging/sorting capability
$rows = self::getRows($this);
CRM_Utils_Hook::searchColumns($contextName, $columnHeaders, $rows, $this);
$rowsEmpty = count($rows) ? FALSE : TRUE;
$qill = $this->getQill();
$summary = $this->getSummary();
// if we need to store in session, lets update session
if ($this->_output & self::SESSION) {
$this->_store->set("{$this->_prefix}columnHeaders", $columnHeaders);
if ($this->_dynamicAction) {
$this->_object->removeActions($rows);
}
$this->_store->set("{$this->_prefix}rows", $rows);
$this->_store->set("{$this->_prefix}rowCount", $this->_total);
$this->_store->set("{$this->_prefix}rowsEmpty", $rowsEmpty);
$this->_store->set("{$this->_prefix}qill", $qill);
$this->_store->set("{$this->_prefix}summary", $summary);
} else {
self::$_template->assign_by_ref("{$this->_prefix}pager", $this->_pager);
self::$_template->assign_by_ref("{$this->_prefix}sort", $this->_sort);
self::$_template->assign_by_ref("{$this->_prefix}columnHeaders", $columnHeaders);
self::$_template->assign_by_ref("{$this->_prefix}rows", $rows);
self::$_template->assign("{$this->_prefix}rowsEmpty", $rowsEmpty);
self::$_template->assign("{$this->_prefix}qill", $qill);
self::$_template->assign("{$this->_prefix}summary", $summary);
}
// always store the current pageID and sortID
$this->_store->set($this->_prefix . CRM_Utils_Pager::PAGE_ID, $this->_pager->getCurrentPageID());
$this->_store->set($this->_prefix . CRM_Utils_Sort::SORT_ID, $this->_sort->getCurrentSortID());
$this->_store->set($this->_prefix . CRM_Utils_Sort::SORT_DIRECTION, $this->_sort->getCurrentSortDirection());
$this->_store->set($this->_prefix . CRM_Utils_Sort::SORT_ORDER, $this->_sort->orderBy());
$this->_store->set($this->_prefix . CRM_Utils_Pager::PAGE_ROWCOUNT, $this->_pager->_perPage);
}
}