本文整理汇总了PHP中Tinebase_Record_RecordSet::sortByPagination方法的典型用法代码示例。如果您正苦于以下问题:PHP Tinebase_Record_RecordSet::sortByPagination方法的具体用法?PHP Tinebase_Record_RecordSet::sortByPagination怎么用?PHP Tinebase_Record_RecordSet::sortByPagination使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tinebase_Record_RecordSet
的用法示例。
在下文中一共展示了Tinebase_Record_RecordSet::sortByPagination方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _searchNodesRecursive
/**
* search tree nodes for search combo
*
* @param Tinebase_Model_Tree_Node_Filter $_filter
* @param Tinebase_Record_Interface $_pagination
*
* @return Tinebase_Record_RecordSet of Tinebase_Model_Tree_Node
*/
protected function _searchNodesRecursive($_filter, $_pagination)
{
$files = new Tinebase_Record_RecordSet('Tinebase_Model_Tree_Node');
$ret = new Tinebase_Record_RecordSet('Tinebase_Model_Tree_Node');
$folders = $this->_getRootNodes();
$folders->merge($this->_getOtherUserNodes());
while ($folders->count()) {
$node = $folders->getFirstRecord();
$filter = new Tinebase_Model_Tree_Node_Filter(array(array('field' => 'path', 'operator' => 'equals', 'value' => $node->path)), 'AND');
$result = $this->search($filter);
$folders->merge($result->filter('type', Tinebase_Model_Tree_Node::TYPE_FOLDER));
if ($_filter->getFilter('query') && $_filter->getFilter('query')->getValue()) {
$files->merge($result->filter('type', Tinebase_Model_Tree_Node::TYPE_FILE)->filter('name', '/^' . $_filter->getFilter('query')->getValue() . './i', true));
} else {
$files->merge($result->filter('type', Tinebase_Model_Tree_Node::TYPE_FILE));
}
$folders->removeRecord($node);
}
$this->_recursiveSearchTotalCount = $files->count();
$ret = $files->sortByPagination($_pagination)->limitByPagination($_pagination);
return $ret;
}