本文整理汇总了PHP中BxDolPaginate::getSorting方法的典型用法代码示例。如果您正苦于以下问题:PHP BxDolPaginate::getSorting方法的具体用法?PHP BxDolPaginate::getSorting怎么用?PHP BxDolPaginate::getSorting使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BxDolPaginate
的用法示例。
在下文中一共展示了BxDolPaginate::getSorting方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: genSearchPagination
function genSearchPagination($iCountProfiles, $iCurrentPage, $iResultsPerPage, $aFilterSortSettings = array(), $sPgnRoot = '')
{
$aGetParams = $_GET;
unset($aGetParams['page']);
unset($aGetParams['res_per_page']);
unset($aGetParams['sort']);
$sRequestString = $this->collectRequestString($aGetParams);
$sRequestString = BX_DOL_URL_ROOT . strip_tags($sPgnRoot) . '?' . substr($sRequestString, 1);
$sPaginTmpl = $sRequestString . '&res_per_page={per_page}&page={page}&sort={sorting}';
// gen pagination block ;
$oPaginate = new BxDolPaginate(array('page_url' => $sPaginTmpl, 'count' => $iCountProfiles, 'per_page' => $iResultsPerPage, 'sorting' => $aFilterSortSettings['sort'], 'page' => $iCurrentPage));
$sPagination = $oPaginate->getPaginate();
// fill array with sorting params ;
$aSortingParam = array('none' => _t('_None'), 'activity' => _t('_Latest activity'), 'date_reg' => _t('_FieldCaption_DateReg_View'));
// gen sorting block ( type of : drop down ) ;
$sSortBlock = $oPaginate->getSorting($aSortingParam);
$sSortElement = '<div class="ordered_block">' . $sSortBlock . '</div><div class="clear_both"></div>';
$sSortElement = $GLOBALS['oSysTemplate']->parseHtmlByName('designbox_top_controls.html', array('top_controls' => $sSortElement));
return array($sPagination, $sSortElement);
}
示例2: array
/**
* @description : function will generate friends list ;
* @return : array ;
*/
function getBlockCode_Friends()
{
// init some variables ;
$sOutputHtml = '';
$sEmpty = '';
$iIndex = '';
$aUsedTemplates = array('browse_searched_block.html');
// lang keys ;
$sPhotoCaption = _t('_With photos only');
$sOnlineCaption = _t('_online only');
// collect the SQL parameters ;
$aWhereParam = array();
if ($this->aDisplayParameters['photos']) {
$aWhereParam[] = 'p.`Avatar` <> 0';
}
if ($this->aDisplayParameters['online']) {
$aWhereParam[] = "(p.`DateLastNav` > SUBDATE(NOW(), INTERVAL " . $this->iMemberOnlineTime . " MINUTE)) ";
}
$sWhereParam = null;
foreach ($aWhereParam as $sValue) {
if ($sValue) {
$sWhereParam .= ' AND ' . $sValue;
}
}
$iTotalNum = getFriendNumber($this->iProfileID, 1, 0, $sWhereParam);
if (!$iTotalNum) {
$sEmpty = MsgBox(_t('_Empty'));
}
$iPerPage = $this->aDisplayParameters['per_page'];
$iCurPage = $this->aDisplayParameters['page'];
$sLimitFrom = ($iCurPage - 1) * $iPerPage;
$sqlLimit = "LIMIT {$sLimitFrom}, {$iPerPage}";
// switch member's template ;
$sTemplateName = $this->aDisplayParameters['mode'] == 'extended' ? 'search_profiles_ext.html' : 'search_profiles_sim.html';
// select the sorting parameters ;
$sSortParam = 'activity_desc';
if (isset($this->aDisplayParameters['sort'])) {
switch ($this->aDisplayParameters['sort']) {
case 'activity':
$sSortParam = 'activity_desc';
break;
case 'date_reg':
$sSortParam = 'date_reg_desc';
break;
case 'rate':
$sSortParam = 'rate';
break;
default:
$this->aDisplayParameters['sort'] = 'activity';
break;
}
} else {
$this->aDisplayParameters['sort'] = 'activity';
}
$aAllFriends = getMyFriendsEx($this->iProfileID, $sWhereParam, $sSortParam, $sqlLimit);
$aExtendedCss = array('ext_css_class' => $this->aDisplayParameters['mode'] == 'extended' ? 'search_filled_block' : '');
foreach ($aAllFriends as $iFriendID => $aFriendsPrm) {
$aMemberInfo = getProfileInfo($iFriendID);
if ($aMemberInfo['Couple']) {
$aCoupleInfo = getProfileInfo($aMemberInfo['Couple']);
$sOutputHtml .= $this->oSearchProfileTmpl->PrintSearhResult($aMemberInfo, $aCoupleInfo, $iIndex % 2 ? $aExtendedCss : array(), $sTemplateName);
} else {
$sOutputHtml .= $this->oSearchProfileTmpl->PrintSearhResult($aMemberInfo, array(), $iIndex % 2 ? $aExtendedCss : array(), $sTemplateName);
}
$iIndex++;
}
$sOutputHtml .= '<div class="clear_both"></div>';
// work with link pagination ;
$aGetParams = array('mode', 'iUser', 'photos_only', 'online_only');
$sRequest = BX_DOL_URL_ROOT . 'viewFriends.php?';
$sRequest .= bx_encode_url_params($_GET, array(), $aGetParams) . 'page={page}&per_page={per_page}&sort={sorting}';
// gen pagination block ;
$oPaginate = new BxDolPaginate(array('page_url' => $sRequest, 'count' => $iTotalNum, 'per_page' => $iPerPage, 'page' => $iCurPage, 'sorting' => $this->aDisplayParameters['sort']));
$sPagination = $oPaginate->getPaginate();
// ** GENERATE HEADER PART ;
// gen per page block ;
$sPerPageBlock = $oPaginate->getPages($iPerPage);
// fill array with sorting params ;
$aSortingParam = array('activity' => _t('_Latest activity'), 'date_reg' => _t('_FieldCaption_DateReg_View'), 'rate' => _t('_Rate'));
// gen sorting block ( type of : drop down ) ;
$sSortBlock = $oPaginate->getSorting($aSortingParam);
$sRequest = str_replace('{page}', '1', $sRequest);
$sRequest = str_replace('{per_page}', $iPerPage, $sRequest);
$sRequest = str_replace('{sorting}', $this->aDisplayParameters['sort'], $sRequest);
// init some visible parameters ;
$sPhotosChecked = $this->aDisplayParameters['photos'] ? 'checked="checked"' : null;
$sOnlineChecked = $this->aDisplayParameters['online'] ? 'checked="checked"' : null;
// link for photos section ;
$sPhotoLocation = $this->getCutParam('photos_only', $sRequest);
// link for online section ;
$sOnlineLocation = $this->getCutParam('online_only', $sRequest);
// link for `mode switcher` ;
$sModeLocation = $this->getCutParam('mode', $sRequest);
$sModeLocation = $this->getCutParam('per_page', $sModeLocation);
bx_import('BxDolMemberInfo');
$oMemberInfo = BxDolMemberInfo::getObjectInstance(getParam('sys_member_info_thumb'));
//.........这里部分代码省略.........
示例3: array
//.........这里部分代码省略.........
$sSortParam = ' `Profiles`.`DateReg` DESC';
break;
case 'rate':
$sSortParam = ' `Profiles`.`Rate` DESC, `Profiles`.`RateCount` DESC';
break;
default:
$this->aDisplaySettings['sort'] = 'activity';
case 'activity':
$sSortParam = ' `Profiles`.`DateLastNav` DESC';
break;
}
} else {
$this->aDisplaySettings['sort'] = 'activity';
}
// status uptimization
$iOnlineTime = (int) getParam("member_online_time");
$sIsOnlineSQL = ", if(`DateLastNav` > SUBDATE(NOW(), INTERVAL {$iOnlineTime} MINUTE ), 1, 0) AS `is_online`";
$sQuery = "\n SELECT\n `Profiles`.* {$sIsOnlineSQL}\n FROM\n `Profiles`\n WHERE\n {$this->_sSqlActive}\n {$sWhereParam}\n ORDER BY\n {$sSortParam}\n {$sqlLimit}\n ";
$rResult = db_res($sQuery);
$iIndex = 0;
// need for the block divider ;
$aExtendedCss = array('ext_css_class' => $this->aDisplaySettings['mode'] == 'extended' ? 'search_filled_block' : '');
while (true == ($aRow = mysql_fetch_assoc($rResult))) {
// generate the `couple` thumbnail ;
if ($aRow['Couple']) {
$aCoupleInfo = getProfileInfo($aRow['Couple']);
$sOutputHtml .= $this->oSearchProfileTmpl->PrintSearhResult($aRow, $aCoupleInfo, $iIndex % 2 ? $aExtendedCss : array(), $sTemplateName);
} else {
$sOutputHtml .= $this->oSearchProfileTmpl->PrintSearhResult($aRow, array(), $iIndex % 2 ? $aExtendedCss : array(), $sTemplateName);
}
$iIndex++;
}
// # end of search generation ;
// work with link pagination ;
if ($this->bPermalinkMode) {
preg_match("|([^\\?\\&]*)|", $_SERVER['REQUEST_URI'], $aMatches);
if (isset($aMatches[1]) and $aMatches[1]) {
$sRequest = $aMatches[1] . '?';
}
// need for additional parameters ;
$aGetParams = array('photos_only', 'online_only', 'sort', 'mode');
foreach ($aGetParams as $sValue) {
if (isset($_GET[$sValue])) {
$sRequest .= '&' . $sValue . '=' . rawurlencode($_GET[$sValue]);
}
}
} else {
$sRequest = BX_DOL_URL_ROOT . 'browse.php?';
// need for additional parameters ;
$aGetParams = array('sex', 'age', 'country', 'photos_only', 'online_only', 'sort', 'mode');
foreach ($aGetParams as $sValue) {
if (isset($_GET[$sValue])) {
$sRequest .= '&' . $sValue . '=' . rawurlencode($_GET[$sValue]);
}
}
}
// cutted al aunecessary parameters ;
$sRequest = getClearedParam('sort', $sRequest);
$sRequest = $sRequest . '&page={page}&per_page={per_page}&sort={sorting}';
// gen pagination block ;
$oPaginate = new BxDolPaginate(array('page_url' => $sRequest, 'count' => $iTotalNum, 'per_page' => $iPerPage, 'sorting' => $this->aDisplaySettings['sort'], 'page' => $iCurPage, 'per_page_changer' => false, 'page_reloader' => true, 'on_change_page' => null, 'on_change_per_page' => null));
$sPagination = $oPaginate->getPaginate();
// gen per page block ;
$sPerPageBlock = $oPaginate->getPages($iPerPage);
// prepare to output ;
$sOutputHtml .= '
<div class="clear_both"></div>
';
$sRequest = str_replace('{page}', '1', $sRequest);
$sRequest = str_replace('{per_page}', $iPerPage, $sRequest);
$sRequest = str_replace('{sorting}', $this->aDisplaySettings['sort'], $sRequest);
// fill array with sorting params ;
$aSortingParam = array('activity' => _t('_Latest activity'), 'date_reg' => _t('_FieldCaption_DateReg_View'), 'rate' => _t('_Rate'));
// gen sorting block ( type of : drop down ) ;
$sSortBlock = $oPaginate->getSorting($aSortingParam);
// init some visible parameters ;
$sPhotosChecked = $this->aAdditionalParameters['photos_only'] ? 'checked="checked"' : null;
$sOnlineChecked = $this->aAdditionalParameters['online_only'] ? 'checked="checked"' : null;
// ** cutting all unnecessary get parameters ;
// link for photos section ;
$sPhotoLocation = getClearedParam('photos_only', $sRequest);
// link for online section ;
$sOnlineLocation = getClearedParam('online_only', $sRequest);
// link for `mode switcher` ;
$sModeLocation = getClearedParam('mode', $sRequest);
$sModeLocation = getClearedParam('per_page', $sModeLocation);
// ** gen header part - with some display options ;
// fill array with template's keys ;
bx_import('BxDolMemberInfo');
$oMemberInfo = BxDolMemberInfo::getObjectInstance(getParam('sys_member_info_thumb'));
$sTopControls = $GLOBALS['oSysTemplate']->parseHtmlByName('browse_sb_top_controls.html', array('sort_block' => $sSortBlock, 'bx_if:show_with_photos' => array('condition' => $oMemberInfo->isAvatarSearchAllowed(), 'content' => array('photo_checked' => $sPhotosChecked, 'photo_location' => $sPhotoLocation, 'photo_caption' => $sPhotoCaption)), 'online_checked' => $sOnlineChecked, 'online_location' => $sOnlineLocation, 'online_caption' => $sOnlineCaption, 'per_page_block' => $sPerPageBlock));
// build template ;
$sOutputHtml = $GLOBALS['oSysTemplate']->parseHtmlByName($aUsedTemplates[0], array('top_controls' => $sTopControls, 'bx_if:show_sim_css' => array('condition' => $this->aDisplaySettings['mode'] != 'extended', 'content' => array()), 'bx_if:show_ext_css' => array('condition' => $this->aDisplaySettings['mode'] == 'extended', 'content' => array()), 'searched_data' => $sOutputHtml, 'pagination' => $sPagination));
// generate toggle ellements ;
$aToggleItems = array('' => _t('_Simple'), 'extended' => _t('_Extended'));
foreach ($aToggleItems as $sKey => $sValue) {
$aToggleEllements[$sValue] = array('href' => $sModeLocation . '&mode=' . $sKey, 'dynamic' => true, 'active' => $this->aDisplaySettings['mode'] == $sKey);
}
return array($sOutputHtml, $aToggleEllements, array(), true);
}
示例4: showMatchProfiles
function showMatchProfiles($iBlockID)
{
$iProfileId = getLoggedId();
if (!$iProfileId) {
return array('', MsgBox(_t('_Empty')));
}
$sSort = isset($_REQUEST['sort']) ? $_REQUEST['sort'] : 'none';
$aProfiles = getMatchProfiles($iProfileId, false, $sSort);
if (empty($aProfiles)) {
return array('', MsgBox(_t('_Empty')));
}
$sBaseUri = 'search.php?show=match';
$sTopLinksUri = '';
$sPaginateUri = '';
foreach ($_REQUEST as $sKey => $sVal) {
switch ($sKey) {
case 'page':
$sPaginateUri .= '&page=' . $sVal;
break;
case 'per_page':
$sPaginateUri .= '&per_page=' . $sVal;
break;
case 'sort':
$sPaginateUri .= '&sort=' . $sVal;
break;
case 'mode':
$sTopLinksUri .= '&mode=' . $sVal;
break;
}
}
$aPaginate = array('page_url' => $sBaseUri . $sTopLinksUri . '&page={page}&per_page={per_page}&sort={sorting}', 'info' => true, 'page_links' => true, 'per_page' => isset($_REQUEST['per_page']) ? (int) $_REQUEST['per_page'] : 25, 'sorting' => $sSort, 'count' => count($aProfiles), 'page' => isset($_REQUEST['page']) ? (int) $_REQUEST['page'] : 1);
$sMode = isset($_REQUEST['mode']) ? $_REQUEST['mode'] : 'simple';
$oPaginate = new BxDolPaginate($aPaginate);
$oSearchProfile = new BxBaseSearchProfile();
$aExtendedCss = array('ext_css_class' => 'search_filled_block');
$sTemplateName = $sMode == 'extended' ? 'search_profiles_ext.html' : 'search_profiles_sim.html';
$iIndex = 0;
$sOutputHtml = '';
$sOutputMode = isset($_REQUEST['search_result_mode']) && $_REQUEST['search_result_mode'] == 'ext' ? 'ext' : 'sim';
for ($i = ($aPaginate['page'] - 1) * $aPaginate['per_page']; $i < $aPaginate['page'] * $aPaginate['per_page'] && $i < $aPaginate['count']; $i++) {
$aProfile = getProfileInfo($aProfiles[$i]);
if ($aProfile['Couple']) {
$aCoupleInfo = getProfileInfo($aProfile['Couple']);
if (!($iIndex % 2)) {
$sOutputHtml .= $oSearchProfile->PrintSearhResult($aProfile, $aCoupleInfo, null, $sTemplateName);
} else {
$sOutputHtml .= $oSearchProfile->PrintSearhResult($aProfile, $aCoupleInfo, $aExtendedCss, $sTemplateName);
}
} else {
if (!($iIndex % 2)) {
$sOutputHtml .= $oSearchProfile->PrintSearhResult($aProfile, '', null, $sTemplateName);
} else {
$sOutputHtml .= $oSearchProfile->PrintSearhResult($aProfile, '', $aExtendedCss, $sTemplateName);
}
}
$iIndex++;
}
// gen sorting block ( type of : drop down );
$sSortBlock = $oPaginate->getSorting(array('none' => _t('_None'), 'activity' => _t('_Latest activity'), 'date_reg' => _t('_FieldCaption_DateReg_View')));
$sSortBlock = '<div class="ordered_block">' . $sSortBlock . '</div><div class="clear_both"></div>';
$sContent = $GLOBALS['oSysTemplate']->parseHtmlByName('designbox_top_controls.html', array('top_controls' => $sSortBlock));
$sContent .= $GLOBALS['oSysTemplate']->parseHtmlByName('view_profiles.html', array('margin_type' => $sOutputMode == 'sim' ? '-thd' : '', 'content' => $sOutputHtml)) . $oPaginate->getPaginate();
$aLinks = array(_t('_Simple') => array('href' => $sBaseUri . $sPaginateUri . '&mode=simple', 'dynamic' => true, 'active' => $sMode == 'simple'), _t('_Extended') => array('href' => $sBaseUri . $sPaginateUri . '&mode=extended', 'dynamic' => true, 'active' => $sMode == 'extended'));
return array($aLinks, $sContent);
}
示例5: genSearchPagination
function genSearchPagination($iCountProfiles, $iCurrentPage, $iResultsPerPage, $aFilterSortSettings = array(), $sPgnRoot = '')
{
$aGetParams = $_GET;
unset($aGetParams['page']);
unset($aGetParams['res_per_page']);
unset($aGetParams['sort']);
$sRequestString = $this->collectRequestString($aGetParams);
$sRequestString = BX_DOL_URL_ROOT . strip_tags($sPgnRoot) . '?' . substr($sRequestString, 1);
$sPaginTmpl = $sRequestString . '&res_per_page={per_page}&page={page}&sort={sorting}';
// gen pagination block ;
$oPaginate = new BxDolPaginate(array('page_url' => $sPaginTmpl, 'count' => $iCountProfiles, 'per_page' => $iResultsPerPage, 'sorting' => $aFilterSortSettings['sort'], 'page' => $iCurrentPage, 'per_page_changer' => true, 'page_reloader' => true, 'on_change_page' => null, 'on_change_per_page' => null));
$sPagination = $oPaginate->getPaginate();
// fill array with sorting params ;
$aSortingParam = array('none' => _t('_None'), 'activity' => _t('_Latest activity'), 'date_reg' => _t('_FieldCaption_DateReg_View'));
// gen sorting block ( type of : drop down ) ;
$sSortBlock = $oPaginate->getSorting($aSortingParam);
$sSortElement = <<<EOF
<div class="top_settings_block">
\t<div class="ordered_block">
\t\t{$sSortBlock}
\t</div>
\t<div class="clear_both"></div>
</div>
EOF;
return array($sPagination, $sSortElement);
}