Cheetah
ChBaseSearchProfile.php
Go to the documentation of this file.
1 <?php
2 
8 require_once(CH_DIRECTORY_PATH_INC . "membership_levels.inc.php");
9 require_once(CH_DIRECTORY_PATH_INC . "match.inc.php");
10 require_once(CH_DIRECTORY_PATH_BASE . 'scripts/ChBaseSearchResultText.php');
11 
13 {
14  var $aCurrent = array(
15  'name' => 'profile',
16  'title' => '_People',
17  'table' => 'Profiles',
18  'ownFields' => array('ID', 'NickName', 'DescriptionMe', 'Country', 'City', 'Tags', 'DateReg', 'DateOfBirth', 'Sex', 'Couple'),
19  'searchFields' => array('NickName', 'FullName', 'FirstName', 'LastName', 'DescriptionMe', 'City', 'Tags'),
20  'restriction' => array(
21  'activeStatus' => array('value'=>'Active', 'field'=>'Status', 'operator'=>'='),
22  ),
23  'paginate' => array('perPage' => 10, 'page' => 1, 'totalNum' => 10, 'totalPages' => 1),
24  'sorting' => 'last'
25  );
26 
27  var $aPermalinks = array(
28  'param' => 'enable_modrewrite',
29  'enabled' => array(
30  'file' => '{uri}',
31  'browseAll' => 'browse.php'
32  ),
33  'disabled' => array(
34  'file' => 'profile.php?ID={id}',
35  'browseAll' => 'browse.php'
36  )
37  );
38 
39  function __construct ($sParamName = '', $sParamValue = '', $sParamValue1 = '', $sParamValue2 = '')
40  {
41  parent::__construct();
42  $this->iRate = 0;
43 
44  switch ($sParamName) {
45  case 'calendar':
46  $GLOBALS ['_page']['header'] = _t('_sys_profiles_caption_browse_by_day')
47  . ': ' . getLocaleDate( strtotime("{$sParamValue}-{$sParamValue1}-{$sParamValue2}")
49 
51  $sParamValue1 = (int)$sParamValue1;
52  $sParamValue2 = (int)$sParamValue2;
53  $this->aCurrent['restriction']['calendar-min'] = array('value' => "'{$sParamValue}-{$sParamValue1}-{$sParamValue2} 00:00:00'", 'field' => 'DateReg', 'operator' => '>=', 'no_quote_value' => true);
54  $this->aCurrent['restriction']['calendar-max'] = array('value' => "'{$sParamValue}-{$sParamValue1}-{$sParamValue2} 23:59:59'", 'field' => 'DateReg', 'operator' => '<=', 'no_quote_value' => true);
55  $this->aCurrent['title'] = $GLOBALS ['_page']['header'];
56  break;
57  }
58  }
59 
60  function displaySearchUnit($aData, $aExtendedCss = array())
61  {
62  $sCode = '';
63  $sOutputMode = (isset ($_GET['search_result_mode']) && $_GET['search_result_mode']=='ext') ? 'ext' : 'sim';
64 
65  $sTemplateName = ($sOutputMode == 'ext') ? 'search_profiles_ext.html' : 'search_profiles_sim.html';
66 
67  if ($sTemplateName) {
68  if ($aData['Couple'] > 0) {
69  $aProfileInfoC = getProfileInfo( $aData['Couple'] );
70  $sCode .= $this->PrintSearhResult( $aData, $aProfileInfoC, $aExtendedCss, $sTemplateName );
71  } else {
72  $sCode .= $this->PrintSearhResult( $aData, array(), $aExtendedCss, $sTemplateName );
73  }
74  }
75  return $sCode;
76  }
77 
82  function PrintSearhResult($aProfileInfo, $aCoupleInfo = '', $aExtendedKey = null, $sTemplateName = '', $oCustomTemplate = null)
83  {
84  global $site;
85  global $aPreValues;
86 
87  $iVisitorID = getLoggedId();
88  $bExtMode = (!empty($_GET['mode']) && $_GET['mode'] == 'extended') || (!empty($_GET['search_result_mode']) && $_GET['search_result_mode'] == 'ext');
89  $isShowMatchPercent = $bExtMode && $iVisitorID && ( $iVisitorID != $aProfileInfo['ID'] ) && getParam('view_match_percent') && getParam('enable_match');
90 
91  $bPublic = $bExtMode ? ch_check_profile_visibility ($aProfileInfo['ID'], $iVisitorID, true) : true;
92  if ($bPublic && $iVisitorID != $aProfileInfo['ID'] && !isAdmin()) {
93  $oPrivacy = new ChWsbPrivacy('sys_page_compose_privacy', 'id', 'user_id');
94 
95  $iBlockID = $GLOBALS['MySQL']->getOne("SELECT `ID` FROM `sys_page_compose` WHERE `Page` = 'profile' AND `Func` = 'Description' AND `Column` != 0");
96  $iPrivacyId = (int)$GLOBALS['MySQL']->getOne("SELECT `id` FROM `sys_page_compose_privacy` WHERE `user_id`='{$aProfileInfo['ID']}' AND `block_id`='{$iBlockID}' LIMIT 1");
97  $bPublic = !$iBlockID || !$iPrivacyId || $oPrivacy->check('view_block', $iPrivacyId, $iVisitorID);
98  }
99 
100  $sProfileThumb = get_member_thumbnail( $aProfileInfo['ID'], 'none', ! $bExtMode, 'visitor' );
101  $sProfileMatch = $isShowMatchPercent ? $GLOBALS['oFunctions']->getProfileMatch( $iVisitorID, $aProfileInfo['ID'] ) : '';
102 
103  $sProfileNickname = '<a href="' . getProfileLink($aProfileInfo['ID']) . '">' . getNickName($aProfileInfo['ID']) . '</a>';
104  $sProfileInfo = $GLOBALS['oFunctions']->getUserInfo($aProfileInfo['ID']);
105  $sProfileDesc = $bPublic ? strmaxtextlen($aProfileInfo['DescriptionMe'], 130) : _t('_sys_profile_private_text_title');
106  $sProfileZodiac = ($bPublic && $bExtMode && getParam('zodiac')) ? $GLOBALS['oFunctions']->getProfileZodiac($aProfileInfo['DateOfBirth']) : '';
107 
108  $sProfile2ASc1 = $sProfile2ASc2 = $sProfile2Nick = $sProfile2Desc = $sProfile2Info = $sProfile2Zodiac = '';
109  if ($aCoupleInfo) {
110 
111  $sProfile2Nick = '<a href="' . getProfileLink( $aCoupleInfo['ID'] ) . '">' . getNickName($aCoupleInfo['ID']) . '</a>';
112  $sProfile2Info = $GLOBALS['oFunctions']->getUserInfo($aCoupleInfo['ID']);
113  $sProfile2Desc = $bPublic ? strmaxtextlen($aCoupleInfo['DescriptionMe'], 130) : _t('_sys_profile_private_text_title');
114  $sProfile2Zodiac = ($bPublic && $bExtMode && getParam('zodiac')) ? $GLOBALS['oFunctions']->getProfileZodiac($aCoupleInfo['DateOfBirth']) : '';
115 
116  $sProfile2ASc1 = 'float:left;width:31%;margin-right:10px;';
117  $sProfile2ASc2 = 'float:left;width:31%;display:block;';
118 
119  } else {
120  $sProfile2ASc2 = 'display:none;';
121  }
122 
123  $aKeys = array(
124  'thumbnail' => $sProfileThumb,
125  'match' => $sProfileMatch,
126 
127  'nick' => $sProfileNickname,
128  'info' => $sProfileInfo,
129  'i_am_desc' => $sProfileDesc,
130  'zodiac_sign' => $sProfileZodiac,
131 
132  'nick2' => $sProfile2Nick,
133  'info2' => $sProfile2Info,
134  'i_am_desc2' => $sProfile2Desc,
135  'zodiac_sign2' => $sProfile2Zodiac,
136 
137  'add_style_c1' => $sProfile2ASc1,
138  'add_style_c2' => $sProfile2ASc2,
139  );
140 
141  if ( $aExtendedKey and is_array($aExtendedKey) and !empty($aExtendedKey) ) {
142  foreach($aExtendedKey as $sKey => $sValue )
143  $aKeys[$sKey] = $sValue;
144  } else {
145  $aKeys['ext_css_class'] = '';
146  }
147 
148  return ($oCustomTemplate) ? $oCustomTemplate->parseHtmlByName($sTemplateName, $aKeys) : $GLOBALS['oSysTemplate']->parseHtmlByName($sTemplateName, $aKeys);
149  }
150 
151  function displaySearchBox ($sCode, $sPaginate = '', $bAdminBox = false)
152  {
153  $sCode = $GLOBALS['oFunctions']->centerContent($sCode, '.searchrow_block_simple');
154  $sClearBoth = '<div class="clear_both"></div>';
155  $sCode = DesignBoxContent(_t($this->aCurrent['title']), '<div class="searchContentBlock">'.$sCode.$sClearBoth.'</div>'. $sPaginate, 1);
156  if (!isset($_GET['searchMode']))
157  $sCode = '<div id="page_block_'.$this->id.'">'.$sCode.$sClearBoth.'</div>';
158  return $sCode;
159  }
160 
161  function _getPseud ()
162  {
163  return array(
164  'date' => 'DateReg'
165  );
166  }
167 
168  function getRestriction ()
169  {
170  $sWhere = parent::getRestriction ();
171  $sWhere .= " AND (`Profiles`.`Couple` = 0 OR `Profiles`.`Couple` > `Profiles`.`ID`) ";
172  return $sWhere;
173  }
174 }
ChBaseSearchProfile\$aCurrent
$aCurrent
Definition: ChBaseSearchProfile.php:14
ChBaseSearchProfile\displaySearchBox
displaySearchBox($sCode, $sPaginate='', $bAdminBox=false)
Definition: ChBaseSearchProfile.php:151
ChBaseSearchProfile\__construct
__construct($sParamName='', $sParamValue='', $sParamValue1='', $sParamValue2='')
Definition: ChBaseSearchProfile.php:39
$sCode
$sCode
Definition: explanation.php:19
ChBaseSearchProfile\getRestriction
getRestriction()
Definition: ChBaseSearchProfile.php:168
php
ChBaseSearchProfile\$aPermalinks
$aPermalinks
Definition: ChBaseSearchProfile.php:27
ChBaseSearchProfile\displaySearchUnit
displaySearchUnit($aData, $aExtendedCss=array())
Definition: ChBaseSearchProfile.php:60
$sParamValue
$sParamValue
Definition: actions.inc.php:16
isAdmin
isAdmin()
Definition: index.php:649
ChBaseSearchResultText
Definition: ChBaseSearchResultText.php:11
ch_check_profile_visibility
ch_check_profile_visibility($iViewedId, $iViewerId=0, $bReturn=false)
Definition: profiles.inc.php:605
$_GET
$_GET['debug']
Definition: index.php:67
and
and
Definition: license.txt:18
getParam
getParam($sParamName, $bUseCache=true)
Definition: db.inc.php:130
$sParamName
$sParamName
Definition: actions.inc.php:15
get_member_thumbnail
get_member_thumbnail($ID, $float, $bGenProfLink=false, $sForceSex='visitor', $aOnline=array())
Definition: design.inc.php:165
getLoggedId
getLoggedId()
Definition: profiles.inc.php:32
getNickName
getNickName( $ID='')
Definition: profiles.inc.php:461
strmaxtextlen
strmaxtextlen($sInput, $iMaxLen=60)
Definition: utils.inc.php:207
$site
$site['ver']
Definition: version.inc.php:8
global
if(!defined("GLOBAL_MODULE")) define("GLOBAL_MODULE" global
Definition: header.inc.php:25
_t
_t($key, $arg0="", $arg1="", $arg2="")
Definition: languages.inc.php:509
getProfileLink
getProfileLink( $iID, $sLinkAdd='')
Definition: profiles.inc.php:484
CH_WSB_LOCALE_DATE_SHORT
const CH_WSB_LOCALE_DATE_SHORT
Definition: utils.inc.php:15
$aProfileInfo
$aProfileInfo
Definition: short_profile_info.php:23
ChBaseSearchProfile
Definition: ChBaseSearchProfile.php:13
getProfileInfo
getProfileInfo($iProfileID=0, $checkActiveStatus=false, $forceCache=false)
Definition: profiles.inc.php:249
ChBaseSearchProfile\_getPseud
_getPseud()
Definition: ChBaseSearchProfile.php:161
ChWsbPrivacy
Definition: ChWsbPrivacy.php:60
DesignBoxContent
DesignBoxContent($title, $content, $db_num=0, $caption_item='', $bottom_item='')
Definition: design.inc.php:78
empty
Attr AllowedRel this is empty
Definition: Attr.AllowedRel.txt:7
getLocaleDate
getLocaleDate($sTimestamp='', $iCode=CH_WSB_LOCALE_DATE_SHORT)
Definition: utils.inc.php:70
as
as
Definition: Filter.ExtractStyleBlocks.Escaping.txt:10
$GLOBALS
$GLOBALS['iAdminPage']
Definition: advanced_settings.php:10
ChBaseSearchProfile\PrintSearhResult
PrintSearhResult($aProfileInfo, $aCoupleInfo='', $aExtendedKey=null, $sTemplateName='', $oCustomTemplate=null)
Definition: ChBaseSearchProfile.php:82