8 require_once(
'./inc/header.inc.php' );
9 require_once( CH_DIRECTORY_PATH_INC .
'design.inc.php' );
10 require_once( CH_DIRECTORY_PATH_INC .
'admin.inc.php' );
11 require_once( CH_DIRECTORY_PATH_INC .
'db.inc.php' );
12 require_once( CH_DIRECTORY_PATH_INC .
'match.inc.php');
13 require_once( CH_DIRECTORY_PATH_CLASSES .
'ChWsbProfileFields.php' );
14 require_once( CH_DIRECTORY_PATH_CLASSES .
'ChWsbProfilesController.php' );
29 parent::__construct(
'search');
33 case 'quick': $iPFArea = 10;
break;
34 case 'adv': $iPFArea = 11;
break;
35 default: $iPFArea = 9;
40 $this->aFilterSortSettings = array();
45 $this->aFilterSortSettings = array (
60 $aDefaultParams = array();
62 $sSrmKey =
'search_result_mode';
63 if(
ch_get($sSrmKey) !==
false)
66 $aForms = $this->oPF->getFormsSearch($aDefaultParams,
true);
71 foreach(
$aForm[
'inputs']
as $aInput) {
81 $aDefaultParams[
$sName] = $mValue !==
false ? $mValue : (
$aProfile[
'LookingFor'] ?
$aProfile[
'LookingFor'] :
'female');
89 $aDefaultParams[
$sName] = $mValue !==
false ? $mValue :
getParam(
'search_start_age') .
'-' .
getParam(
'search_end_age');
94 $aDefaultParams[
$sName] = $mValue;
100 $sForms = $this->oPF->getFormCode(array(
'default_params' => $aDefaultParams));
102 $bSimAct = ($this->oPF->iAreaID == 9) ?
true :
false;
103 $bAdvAct = ($this->oPF->iAreaID == 11) ?
true :
false;
104 $bQuiAct = ($this->oPF->iAreaID == 10) ?
true :
false;
105 $sUrl = CH_WSB_URL_ROOT .
'search.php';
108 _t(
'_search_tab_simple') => array(
'href' =>
$sUrl .
'?search_mode=sim',
'active' => $bSimAct),
109 _t(
'_search_tab_Adv') => array(
'href' =>
$sUrl .
'?search_mode=adv',
'active' => $bAdvAct),
110 _t(
'_search_tab_quick') => array(
'href' =>
$sUrl .
'?search_mode=quick',
'active' => $bQuiAct),
113 return array($sForms, $aLinks, array(),
false);
121 return array(
'',
MsgBox(
_t(
'_Empty')));
126 if (
empty($aProfiles))
127 return array(
'',
MsgBox(
_t(
'_Empty')));
129 $sBaseUri =
'search.php?show=match';
136 $sPaginateUri .=
'&page=' . $sVal;
139 $sPaginateUri .=
'&per_page=' . $sVal;
142 $sPaginateUri .=
'&sort=' . $sVal;
145 $sTopLinksUri .=
'&mode=' . $sVal;
151 'page_url' => $sBaseUri . $sTopLinksUri .
'&page={page}&per_page={per_page}&sort={sorting}',
153 'page_links' =>
true,
156 'count' => count($aProfiles),
164 $aExtendedCss = array(
'ext_css_class' =>
'search_filled_block');
165 $sTemplateName =
$sMode ==
'extended' ?
'search_profiles_ext.html' :
'search_profiles_sim.html';
168 $sOutputMode = isset(
$_REQUEST[
'search_result_mode']) &&
$_REQUEST[
'search_result_mode'] ==
'ext' ?
'ext' :
'sim';
170 for ($i = ($aPaginate[
'page'] - 1) * $aPaginate[
'per_page'];
171 $i < $aPaginate[
'page'] * $aPaginate[
'per_page'] && $i < $aPaginate[
'count']; $i++)
180 $sOutputHtml .= $oSearchProfile->PrintSearhResult(
$aProfile, $aCoupleInfo, $aExtendedCss, $sTemplateName);
192 $sSortBlock = $oPaginate->getSorting(array(
193 'none' =>
_t(
'_None'),
194 'activity' =>
_t(
'_Latest activity'),
195 'date_reg' =>
_t(
'_FieldCaption_DateReg_View'),
197 $sSortBlock =
'<div class="ordered_block">' . $sSortBlock .
'</div><div class="clear_both"></div>';
199 $sContent =
$GLOBALS[
'oSysTemplate']->parseHtmlByName(
'designbox_top_controls.html', array(
200 'top_controls' => $sSortBlock
202 $sContent .=
$GLOBALS[
'oSysTemplate']->parseHtmlByName(
'view_profiles.html', array(
203 'margin_type' => $sOutputMode ==
'sim' ?
'-thd' :
'',
205 )) . $oPaginate->getPaginate();
208 _t(
'_Simple') => array(
209 'href' => $sBaseUri . $sPaginateUri .
'&mode=simple',
211 'active' =>
$sMode ==
'simple'
213 _t(
'_Extended') => array(
214 'href' => $sBaseUri . $sPaginateUri .
'&mode=extended',
216 'active' =>
$sMode ==
'extended'
229 $aRequestParams = $this->oPF->collectSearchRequestParams();
235 $aRequestParams[
'distance'] = (int)
$_REQUEST[
'distance'];
245 list($sResults, $aDBTopMenu, $sPagination, $sTopFilter) =
$oProfile->GenProfilesCalendarBlock();
249 list($sResults, $aDBTopMenu, $sPagination, $sTopFilter) =
$oProfile->GenSearchResultBlock($this->oPF->aBlocks, $aRequestParams, $this->aFilterSortSettings,
'search.php');
253 return array($sTopFilter . $sResults . $sPagination, $aDBTopMenu, array(), $this->
getTitle());