`Profiles`.`ID`)";
/**
* Class constructor ;
*
* @param : $aFilteredSettings (array) ;
* : sex (string) - set filter by sex,
* : age (string) - set filter by age,
* : country (string) - set filter by country,
* : photos_only (string) - set filter 'with photo only',
* : online_only (string) - set filter 'online only',
* @param : $aDisplaySettings (array) ;
* : page (integer) - current page,
* : per_page (integer) - number ellements for per page,
* : sort (string) - sort parameters for SQL instructions,
* : mode (mode) - switch mode to extended and simple,
* @param : $sPageName (string) - page name (need for page builder);
*/
function BxBaseBrowse( &$aFilteredSettings, &$aDisplaySettings, $sPageName ) {
if ( isset($aFilteredSettings['sex']) and $aFilteredSettings['sex'] == 'all' )
$aFilteredSettings['sex'] = null;
if ( isset($aFilteredSettings['age']) and $aFilteredSettings['age'] == 'all' )
$aFilteredSettings['age'] = null;
if ( isset($aFilteredSettings['country']) and $aFilteredSettings['country'] == 'all' )
$aFilteredSettings['country'] = null;
$this -> aParameters = array
(
'sex' => process_db_input($aFilteredSettings['sex'], BX_TAGS_STRIP),
'age' => process_db_input($aFilteredSettings['age'], BX_TAGS_STRIP),
'country' => process_db_input($aFilteredSettings['country'], BX_TAGS_STRIP),
);
$this -> aAdditionalParameters = array
(
'photos_only' => process_db_input($aFilteredSettings['photos_only'], BX_TAGS_STRIP),
'online_only' => process_db_input($aFilteredSettings['online_only'], BX_TAGS_STRIP),
);
$this -> aDisplaySettings = &$aDisplaySettings;
// fill sKeyName with parameters for search into cache file ;
$this -> sKeyName .= ($this -> aParameters['sex']) ? $this -> aParameters['sex'] . '|' : '';
$this -> sKeyName .= ($this -> aParameters['age']) ? $this -> aParameters['age'] . '|' : '';
$this -> sKeyName .= ($this -> aParameters['country']) ? $this -> aParameters['country'] . '|' : '';
$this -> sKeyName .= ($this -> aAdditionalParameters['photos_only']) ? 'photo|' : '';
$this -> sKeyName .= ($this -> aAdditionalParameters['online_only']) ? 'online|' : '';
$this -> sKeyName = preg_replace("|\|$|", '', $this -> sKeyName);
parent::BxDolBrowse();
// fill global array with the needed parameters ;
$this -> _getGlobalStatistics
(
$this -> aParameters['sex'],
$this -> aParameters['age'],
$this -> aParameters['country'],
$aFilteredSettings['photos_only'],
$aFilteredSettings['online_only']
);
$this -> oSearchProfileTmpl = new BxTemplSearchProfile();
// return all page's blocks from DB ;
$this -> BxDolPageView($sPageName);
}
/**
* Function will generate the browse link ;
*
* @param : $sName (string) - link's name;
* @param : $sValue (string) - link's extended value;
* @param : $sLink (string) - link's location;
* @param : $sIco (string) - link's icon;
* @param : $bImgDetect (boolean) - if isset this param img path will detect with "getTemplateIcon";
* @return : Html presentation data;
*/
function genBrowseLink( $sName, $sValue, $sLink, $sIcon, $bImgDetect = true ) {
// try to find link's icon
if ( $bImgDetect )
$sIcon = getTemplateIcon($sIcon);
$sValue = ( $sValue ) ? '(' . $sValue . ')' : null;
return '
';
}
/**
* Function will generate block with members global statistics ;
*
* @return : Html presentation data ;
*/
function getBlockCode_SettingsBlock() {
// lang keys ;
$sSexCaption = _t( '_By Sex' );
$sAgeCaption = _t( '_By Age' );
$sCountryCaption = _t( '_By Country' );
// init some variables ;
$sSexSection = '';
$sAgeSection = '';
$sCountrySection = '';
$sCurrentKey = ( $this -> sKeyName ) ? $this -> sKeyName : 'public';
// ** INTERNAL FUNCTIONS ;
/**
* Function will generate sex block ;
*
* @param : $rObject (resource) - link on created object;
* @param : $sCurrentKey (string) - key name, need for search into cacje file;
* @return : Html presentation data;
*/
function _genSexSection( &$oObject, $sCurrentKey ) {
global $aPreValues;
// init some variables ;
$sSexSection = '';
$aCurrentArray = '';
$sExtendedCss = '';
$aUsedTemplates = array
(
'browse_settings_section.html'
);
$iIndex = 0; // ** need for dividers ;
if ( isset($oObject -> aMembersInfo[$sCurrentKey]['sex']) ) {
$aCurrentArray = &$oObject -> aMembersInfo[$sCurrentKey]['sex'];
} elseif ( $oObject -> aParameters['sex'] ) {
// ** if param `Sex` was selected ;
// ** load data again ;
$aCurrentArray = $oObject -> _getGlobalStatistics
(
null,
$oObject -> aParameters['age'],
$oObject -> aParameters['country'],
$oObject -> aAdditionalParameters['photos_only'],
$oObject -> aAdditionalParameters['online_only'],
'sex'
);
}
// hide selected block ;
if ( $oObject -> aParameters['sex'] ) {
$aCurrentArray['all'] = _t( '_All' );
$sExtendedCss = 'hidden_block';
}
$iArrayCount = count($aCurrentArray);
if ( is_array($aCurrentArray) and !empty($aCurrentArray) )
foreach( $aCurrentArray AS $sKey => $sValue ) {
$iDivider = $iIndex % 2;
if ( $sKey != 'all' )
$sValue = ( $oObject -> aParameters['sex'] ) ? 0 : $sValue;
switch ($sKey) {
case 'male' :
$sSexSection .= $oObject -> genBrowseLink( _t( '_By Male' ), $sValue, $oObject -> genLinkLocation( 'sex', 'male'), 'male.png');
break;
case 'female' :
$sSexSection .= $oObject -> genBrowseLink( _t( '_By Female' ), $sValue, $oObject -> genLinkLocation( 'sex', 'female'), 'female.png');
break;
case 'all' :
$sSexSection .= $oObject -> genBrowseLink( $sValue, null, $oObject -> genLinkLocation( 'sex', $sKey), 'post_featured.png');
break;
default :
$sSexSection .= $oObject -> genBrowseLink( _t($aPreValues['Sex'][$sKey]['LKey']), $sValue, $oObject -> genLinkLocation( 'sex', $sKey), 'tux.png');
break;
}
if ( $iDivider )
$sSexSection .=
'
';
$iIndex++;
if ( $iDivider and $iIndex >= 2 and $iArrayCount > 2 and ($iIndex <= $iArrayCount - 1) )
$sSexSection .=
'
';
}
if ( !$sSexSection )
$sSexSection = MsgBox(_t( '_Empty' ));
// fill array with template's keys ;
$aTemplateKeys = array
(
'section_id' => 'sex_section',
'extended_css' => $sExtendedCss,
'section_data' => $sSexSection,
);
$sSexSection = $GLOBALS['oSysTemplate'] -> parseHtmlByName( $aUsedTemplates[0], $aTemplateKeys );
// return builded template ;
return $sSexSection;
}
/**
* Function will generate the `Age` block ;
*
* @param : $oObject (object) - link on created object;
* @param : $sCurrentKey (string) - key name, needed for search into cache file;
* @return : Html presentation data;
*/
function _genAgeSection( &$oObject, $sCurrentKey ) {
global $aCurrentPointer;
// init some variables ;
$sAgeSection = '';
$sExtendedCss = '';
$aCurrentArray = '';
$aUsedTemplates = array
(
'browse_settings_section.html'
);
$iIndex = 0; // ** need for dividers ;
if ( isset($oObject -> aMembersInfo[$sCurrentKey]['age']) ) {
$aCurrentArray = &$oObject -> aMembersInfo[$sCurrentKey]['age'];
} elseif ( $oObject -> aParameters['age'] ) {
// ** if param `Age` was selected ;
// ** load data again ;
$aCurrentArray = $oObject -> _getGlobalStatistics
(
$oObject -> aParameters['sex'],
null,
$oObject -> aParameters['country'],
$oObject -> aAdditionalParameters['photos_only'],
$oObject -> aAdditionalParameters['online_only'],
'age'
);
}
// hide selected block ;
if ( $oObject -> aParameters['age'] ) {
$aCurrentArray['all'] = _t( '_All' );
$sExtendedCss = 'hidden_block';
}
$iArrayCount = count($aCurrentArray);
if ( is_array($aCurrentArray) and $iArrayCount ) {
foreach( $aCurrentArray AS $sKey => $sValue ) {
$iDivider = $iIndex % 2;
if ( $sKey != 'all')
$sValue = ( $sExtendedCss ) ? 0 : $sValue;
if ( $sKey == 'all' )
$sAgeSection .= $oObject -> genBrowseLink( $sValue, null, $oObject -> genLinkLocation( 'age', $sKey), 'post_featured.png');
else
$sAgeSection .= $oObject -> genBrowseLink( $sKey, $sValue, $oObject -> genLinkLocation( 'age', $sKey), 'birthday.png');
if ( $iDivider )
$sAgeSection .=
'
';
$iIndex++;
if ( $iDivider and $iIndex >= 2 and $iArrayCount > 2 and ($iIndex <= $iArrayCount - 1) )
$sAgeSection .=
'
';
}
}
if ( !$sAgeSection )
$sAgeSection = MsgBox(_t( '_Empty' ));
// fill array with template's keys ;
$aTemplateKeys = array
(
'section_id' => 'age_section',
'extended_css' => $sExtendedCss,
'section_data' => $sAgeSection,
);
$sAgeSection = $GLOBALS['oSysTemplate'] -> parseHtmlByName( $aUsedTemplates[0], $aTemplateKeys );
// return builded template ;
return $sAgeSection;
}
/**
* Function will generate country block ;
*
* @param : $oObject (object) - link on created object;
* @param : $sCurrentKey (string) - key name, need for search into cacje file;
* @return : Html presentation data;
*/
function _genCountrySection( &$oObject, $sCurrentKey ) {
global $site;
// init some variables ;
$sCountrySection = '';
$sExtendedCss = '';
$aCurrentArray = '';
$aUsedTemplates = array
(
'browse_settings_section.html'
);
$iIndex = 0; // ** need for dividers ;
if ( isset($oObject -> aMembersInfo[$sCurrentKey]['country']) ) {
$aCurrentArray = &$oObject -> aMembersInfo[$sCurrentKey]['country'];
} elseif ( $oObject -> aParameters['country'] ) {
// ** if param `Country` was selected;
// ** load data again;
$aCurrentArray = $oObject -> _getGlobalStatistics
(
$oObject -> aParameters['sex'],
$oObject -> aParameters['age'],
null,
$oObject -> aAdditionalParameters['photos_only'],
$oObject -> aAdditionalParameters['online_only'],
'country'
);
}
// hide selected block ;
if ( $oObject -> aParameters['country'] ) {
$aCurrentArray['all'] = _t( '_All' );
$sExtendedCss = 'hidden_block';
}
$iArrayCount = count($aCurrentArray);
if ( is_array($aCurrentArray) and !empty($aCurrentArray) ) {
foreach( $aCurrentArray AS $sKey => $sValue ) {
$iDivider = $iIndex % 2;
if ( $sKey != 'all' )
$sValue = ( $sExtendedCss ) ? 0 : $sValue;
if ( $sKey == 'all' )
$sCountrySection .= $oObject -> genBrowseLink( $sValue, null, $oObject -> genLinkLocation( 'country', $sKey), 'post_featured.png');
else {
$sCountryName = strtolower($sKey);
$sImagePath = $site['flags'] . $sCountryName . '.gif';
$sCountrySection .= $oObject -> genBrowseLink( $sKey, $sValue, $oObject -> genLinkLocation( 'country', $sCountryName), $sImagePath, false );
}
if ( $iDivider )
$sCountrySection .=
'
';
$iIndex++;
if ( $iDivider and $iIndex >= 2 and $iArrayCount > 2 and ($iIndex <= $iArrayCount - 1) )
$sCountrySection .=
'
';
}
}
if ( !$sCountrySection )
$sCountrySection = MsgBox(_t( '_Empty' ));
// fill array with template's keys ;
$aTemplateKeys = array
(
'section_id' => 'country_section',
'extended_css' => $sExtendedCss,
'section_data' => $sCountrySection,
);
$sCountrySection = $GLOBALS['oSysTemplate'] -> parseHtmlByName( $aUsedTemplates[0], $aTemplateKeys );
// return builded template ;
return $sCountrySection;
}
/**
* Function will generate js control box (toggle block) ;
*
* @param : $sCaption (string) - Block's caption ;
* @param : $sBlockID (string) - Block's ID ;
* @param : $bIsClosed (boolean) - if isset this param, that block will be hidde ;
* @return : Html presentation data ;
*/
function _genJsControlBox( $sCaption, $sBlockID, $bIsHidden = false ) {
// lang keys
$sToggleCaption = _t( '_Show' ) . ' / ' . _t( '_Hide' );
// extended parameters
$sVisibleParam = ( !$bIsHidden ) ? 'closed_toggle_block' : null;
$sJsControlBlock =
'
' . $sCaption . '
';
return $sJsControlBlock;
}
/**
* Function will generate container for browse settings ;
*
* @param : $sCaption (string) - Block's caption ;
* @param : $sContent (string) - Block's content ;
* @return : Html presentation data ;
*/
function _genSubDesignBox( $sCaption, $sContent ) {
$sOutputHtml =
'
' . $sCaption . '
' . $sContent . '
';
return $sOutputHtml;
}
// gen sex section ;
$sSexSection = _genSexSection( $this, $sCurrentKey );
if ( $sSexSection ) {
$sVisibleParam = ( $this -> aParameters['sex'] ) ? false : true;
$sSexSection = _genSubDesignBox(
_genJsControlBox($sSexCaption, 'sex_section', $sVisibleParam) ,
$sSexSection
);
}
// gen Age section ;
$sAgeSection = _genAgeSection( $this, $sCurrentKey );
if ( $sAgeSection ) {
$sVisibleParam = ( $this -> aParameters['age'] ) ? false : true;
$sAgeSection = _genSubDesignBox(
_genJsControlBox($sAgeCaption, 'age_section', $sVisibleParam),
$sAgeSection
);
}
// gen County section ;
$sCountrySection = _genCountrySection( $this, $sCurrentKey );
if ( $sCountrySection ) {
$sVisibleParam = ( $this -> aParameters['country'] ) ? false : true;
$sCountrySection = _genSubDesignBox(
_genJsControlBox($sCountryCaption, 'country_section', $sVisibleParam),
$sCountrySection
);
}
$sJsEventInit =
'
';
$sContent =
'
' . $sSexSection . '
' . $sAgeSection . '
' . $sCountrySection . '
' . $sJsEventInit . '
';
return DesignBoxContent( _t( '_Browse' ), $sContent, 1);
}
/**
* function will generate location for browse link ;
* @param : $sType (string) - type of link ;
* @param : $sTypeValue (string) - value of link ;
* @return : (string) location string ;
*/
function genLinkLocation( $sType, $sTypeValue ) {
$sLocation = null;
foreach( $this -> aParameters AS $sKey => $sValue ) {
if ( $this -> bPermalinkMode ) {
if ( $sType == $sKey )
$sLocation .= '/' . $sTypeValue;
else
$sLocation .= ( $sValue ) ? '/' . $sValue : '/all';
} else {
if ( $sType == $sKey )
$sLocation .= '&' . $sKey . '=' . $sTypeValue;
else
$sLocation .= ( $sValue ) ? '&' . $sKey . '=' . $sValue : '&' . $sKey . '=all';
}
}
$sLocation = ($this->bPermalinkMode) ? BX_DOL_URL_ROOT . 'browse' . $sLocation : 'browse.php?' . $sLocation;
// concatenate some get visible params ;
if ( isset($this -> aAdditionalParameters['photos_only']) && $this -> aAdditionalParameters['photos_only'])
$sLocation .= "&photos_only=on";
if ( isset($this -> aAdditionalParameters['online_only']) && $this -> aAdditionalParameters['online_only'])
$sLocation .= "&online_only=on";
if ( isset($this -> aDisplaySettings['mode']) && $this -> aDisplaySettings['mode'])
$sLocation .= "&mode=" . $this -> aDisplaySettings['mode'];
return $sLocation;
}
/**
* Function will find all needed members by some criteria ;
*
* @return : Html presentation data ;
*/
function getBlockCode_SearchedMembersBlock() {
// lang keys ;
//$sPhotoCaption = _t( '_With photos only' );
//$sOnlineCaption = _t( '_online only' );
$sSimpleCaption = _t( '_Simple' );
$sExtendCaption = _t( '_Extended' );
$aUsedTemplates = array
(
'browse_searched_block.html'
);
// collect the SQL parameters ;
$aWhereParam = array();
$aWhereParam[] = ( $this -> aParameters['sex'] )
? '`Profiles`.`Sex` = "' . $this -> aParameters['sex'] . '"'
: null;
if ( $this -> aParameters['age'] ) {
$aAgeTemp = explode('-', $this -> aParameters['age']);
$iFrom = ( isset($aAgeTemp[0]) )
? (int) $aAgeTemp[0]
: 0;
$iTo = ( isset($aAgeTemp[1]) )
? (int) $aAgeTemp[1]
: 0;
unset($aAgeTemp);
if ($iFrom) {
$sSign = $iTo ? '>=' : '=';
$aWhereParam[] =
"
((YEAR(CURDATE())-YEAR(`Profiles`.`DateOfBirth`)) - (RIGHT(CURDATE(),5) aParameters['country'] )
? '`Profiles`.`Country` = "' . $this -> aParameters['country'] . '"'
: null;
if ( $this -> aAdditionalParameters['photos_only'] )
$aWhereParam[] = '`Profiles`.`Avatar` <> 0';
if ( $this -> aAdditionalParameters['online_only'] )
$aWhereParam[] = "(`Profiles`.`DateLastNav` > SUBDATE(NOW(), INTERVAL " . $this -> iMemberOnlineTime . " MINUTE)) ";
$sWhereParam = null;
foreach( $aWhereParam AS $sValue )
if ( $sValue )
$sWhereParam .= ' AND ' . $sValue;
// make search ;
$sQuery = "SELECT COUNT(*) AS `Cnt` FROM `Profiles` WHERE {$this->_sSqlActive} {$sWhereParam}";
$iTotalNum = db_value($sQuery);
if( !$iTotalNum )
$sOutputHtml = MsgBox(_t( '_Empty' ));
// init some pagination parameters ;
$iPerPage = $this -> aDisplaySettings['per_page'];
$iCurPage = $this -> aDisplaySettings['page'];
if( $iCurPage < 1 )
$iCurPage = 1;
$sLimitFrom = ( $iCurPage - 1 ) * $iPerPage;
$sqlLimit = "LIMIT {$sLimitFrom}, {$iPerPage}";
// switch template for `simle` and `advanced` mode ;
$sTemplateName = ($this->aDisplaySettings['mode'] == 'extended') ? 'search_profiles_ext.html' : 'search_profiles_sim.html';
// select sorting parameters ;
$sSortParam = '`Profiles`.`DateLastLogin` DESC';
if ( isset($this -> aDisplaySettings['sort']) ) {
switch($this -> aDisplaySettings['sort']) {
case 'activity' :
$sSortParam = ' `Profiles`.`DateLastLogin` DESC';
break;
case 'date_reg' :
$sSortParam = ' `Profiles`.`DateReg` DESC';
break;
case 'rate' :
$sSortParam = ' `sys_profile_rating`.`pr_rating_sum` DESC';
break;
default :
$sSortParam = ' `Profiles`.`DateLastLogin` DESC';
$this -> aDisplaySettings['sort'] = 'activity';
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 =
"
SELECT
`Profiles`.* {$sIsOnlineSQL}
FROM
`Profiles`
LEFT JOIN
`sys_profile_rating`
ON
`Profiles`.`ID` = `sys_profile_rating`.`pr_id`
WHERE
{$this->_sSqlActive}
{$sWhereParam}
ORDER BY
{$sSortParam}
{$sqlLimit}
";
$rResult = db_res($sQuery);
$iIndex = 0;
// need for the block divider ;
$aExtendedCss = array( 'ext_css_class' => 'search_filled_block');
while( true == ($aRow = mysql_fetch_assoc($rResult)) ) {
// generate the `couple` thumbnail ;
if ( $aRow['Couple']) {
$aCoupleInfo = getProfileInfo( $aRow['Couple'] );
if ( !($iIndex % 2) ) {
$sOutputHtml .= $this -> oSearchProfileTmpl -> PrintSearhResult($aRow, $aCoupleInfo, null, $sTemplateName);
} else {
// generate the filled block ;
$sOutputHtml .= $this -> oSearchProfileTmpl -> PrintSearhResult($aRow, $aCoupleInfo, $aExtendedCss, $sTemplateName);
}
} else { // generate the `single` thumbnail ;
if ( !($iIndex % 2) ) {
$sOutputHtml .= $this -> oSearchProfileTmpl -> PrintSearhResult($aRow, '', null, $sTemplateName);
} else {
// generate the filled block ;
$sOutputHtml .= $this -> oSearchProfileTmpl -> PrintSearhResult($aRow, '', $aExtendedCss, $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');
if ( is_array($aGetParams) and !empty($aGetParams) )
foreach($aGetParams AS $sValue )
if ( isset($_GET[$sValue]) ) {
$sRequest .= '&' . $sValue . '=' . $_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');
if ( is_array($aGetParams) and !empty($aGetParams) )
foreach($aGetParams AS $sValue )
if ( isset($_GET[$sValue]) ) {
$sRequest .= '&' . $sValue . '=' . $_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,
'per_page_step' => ( $this -> aDisplaySettings['mode'] == 'extended' ) ? 5 : 16,
)
);
$sPagination = $oPaginate -> getPaginate();
// gen per page block ;
$sPerPageBlock = $oPaginate -> getPages( $iPerPage );
// prepare to output ;
$sOutputHtml .=
'
';
$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 ;
$aTemplateKeys = array
(
'sort_block' => $sSortBlock,
'photo_checked' => $sPhotosChecked,
'photo_location' => $sPhotoLocation,
'photo_caption' => $sPhotoCaption,
'online_checked' => $sOnlineChecked,
'online_location' => $sOnlineLocation,
'online_caption' => $sOnlineCaption,
'per_page_block' => $sPerPageBlock,
'searched_data' => $sOutputHtml,
'pagination' => $sPagination,
);
// build template ;
$sOutputHtml = $GLOBALS['oSysTemplate'] -> parseHtmlByName( $aUsedTemplates[0], $aTemplateKeys );
// 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 );
}
}
?>