Cheetah
ChWsbXMLRPCSearch.php
Go to the documentation of this file.
1 <?php
2 
9 {
10  function getSearchResultsLocation($sUser, $sPwd, $sLang, $sCountryCode, $sCity, $isOnlineOnly, $isWithPhotosOnly, $iStart, $iPP)
11  {
13  return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct"));
14 
16 
17  $sCountryCode = process_db_input ($sCountryCode, CH_TAGS_NO_ACTION, CH_SLASHES_NO_ACTION);
19 
20  $sWhere = '';
21  if ($sCountryCode)
22  $sWhere .= " AND `Country`= '$sCountryCode' ";
23  if ($sCity)
24  $sWhere .= " AND `City`LIKE '$sCity' ";
25  if ($isWithPhotosOnly)
26  $sWhere .= " AND `Avatar` ";
27  if ($isOnlineOnly) {
28  $iOnlineTime = (int)getParam( 'member_online_time' );
29  $sWhere .= " AND `DateLastNav` >= DATE_SUB(NOW(), INTERVAL $iOnlineTime MINUTE)";
30  }
31  $iStart = (int)$iStart;
32  if (!$iStart || $iStart < 0)
33  $iStart = 0;
34  $iPP = (int)$iPP;
35  if (!$iPP || $iPP < 1)
36  $iPP = 1;
37 
38  $r = db_res ("
39  SELECT * FROM `Profiles`
40  WHERE `Status` = 'Active' AND (`Profiles`.`Couple` = 0 OR `Profiles`.`Couple` > `Profiles`.`ID`) $sWhere
41  ORDER BY `DateLastNav` DESC
42  LIMIT $iStart, $iPP");
43 
44  while ($aRow = $r->fetch())
45  $aProfiles[] = new xmlrpcval(ChWsbXMLRPCUtil::fillProfileArray($aRow, 'thumb'), 'struct');
46 
47  return new xmlrpcval ($aProfiles, "array");
48  }
49 
50  function getSearchResultsNearMe($sUser, $sPwd, $sLang, $sLat, $sLng, $isOnlineOnly, $isWithPhotosOnly, $iStart, $iPP)
51  {
53  return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct"));
54 
56 
57  $sLat = (float)$sLat;
58  $sLng = (float)$sLng;
59 
60  if ((!$sLat || !$sLng) && ChWsbRequest::serviceExists('wmap', 'get_location')) {
61  $aLocation = ChWsbService::call('wmap', 'get_location', array('profiles', $iId, $iId));
62  if ($aLocation && !empty($aLocation['lat']) && !empty($aLocation['lng'])) {
63  $sLat = $aLocation['lat'];
64  $sLng = $aLocation['lng'];
65  }
66  }
67 
68  if (!$sLat || !$sLng)
69  return new xmlrpcval (array(), "array");
70 
71  $sWhere = '';
72  $sJoin = '';
73  $sLocation = '';
74  $sDistance = ", (POW($sLat-`loc`.`lat`, 2)+POW($sLng-`loc`.`lng`, 2)) AS `distance`";
75  $sJoin .= " INNER JOIN `ch_wmap_locations` AS `loc` ON (`loc`.`part` = 'profiles' AND `loc`.`id` = `Profiles`.`ID` AND `loc`.`failed` = 0) ";
76 
77  if ($isWithPhotosOnly)
78  $sWhere .= " AND `Avatar` ";
79  if ($isOnlineOnly) {
80  $iOnlineTime = (int)getParam( 'member_online_time' );
81  $sWhere .= " AND `DateLastNav` >= DATE_SUB(NOW(), INTERVAL $iOnlineTime MINUTE)";
82  }
83  $iStart = (int)$iStart;
84  if (!$iStart || $iStart < 0)
85  $iStart = 0;
86  $iPP = (int)$iPP;
87  if (!$iPP || $iPP < 1)
88  $iPP = 1;
89 
90  $r = db_res ("
91  SELECT * " . $sDistance . " FROM `Profiles`
92  $sJoin
93  WHERE `Status` = 'Active' AND (`Profiles`.`Couple` = 0 OR `Profiles`.`Couple` > `Profiles`.`ID`) $sWhere
94  ORDER BY `distance` ASC
95  LIMIT $iStart, $iPP");
96 
97  while ($aRow = $r->fetch())
98  $aProfiles[] = new xmlrpcval(ChWsbXMLRPCUtil::fillProfileArray($aRow, 'thumb'), 'struct');
99 
100  return new xmlrpcval ($aProfiles, "array");
101  }
102 
103  function getSearchResultsKeyword($sUser, $sPwd, $sLang, $sKeyword, $isOnlineOnly, $isWithPhotosOnly, $iStart, $iPP)
104  {
106  return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct"));
107 
109 
110  $sKeyword = process_db_input ($sKeyword, CH_TAGS_NO_ACTION, CH_SLASHES_NO_ACTION);
111 
112  $sMatch = '';
113  if ($sKeyword && strlen($sKeyword) > 2) {
114  $sMatch .= " MATCH (`NickName`,`FullName`,`FirstName`,`LastName`,`City`,`DescriptionMe`,`Tags`) AGAINST ('$sKeyword') ";
115 
116  $sWhere .= " AND $sMatch ";
117  }
118  if ($isWithPhotosOnly)
119  $sWhere .= " AND `Avatar` ";
120  if ($isOnlineOnly) {
121  $iOnlineTime = (int)getParam( 'member_online_time' );
122  $sWhere .= " AND `DateLastNav` >= DATE_SUB(NOW(), INTERVAL $iOnlineTime MINUTE)";
123  }
124  $iStart = (int)$iStart;
125  if (!$iStart || $iStart < 0)
126  $iStart = 0;
127  $iPP = (int)$iPP;
128  if (!$iPP || $iPP < 1)
129  $iPP = 1;
130 
131  $r = db_res ("
132  SELECT * " . ( $sMatch ? ", $sMatch" : '') . " FROM `Profiles`
133  WHERE `Status` = 'Active' AND (`Profiles`.`Couple` = 0 OR `Profiles`.`Couple` > `Profiles`.`ID`) $sWhere
134  ORDER BY `DateLastNav` DESC
135  LIMIT $iStart, $iPP");
136 
137  while ($aRow = $r->fetch())
138  $aProfiles[] = new xmlrpcval(ChWsbXMLRPCUtil::fillProfileArray($aRow, 'thumb'), 'struct');
139 
140  return new xmlrpcval ($aProfiles, "array");
141  }
142 
143  function getSeachHomeMenu3($sUser, $sPwd, $sLang)
144  {
146  return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct"));
147 
149 
151 
152  $aMarkersReplace = array (
153  'member_id' => $iId,
154  'member_username' => rawurlencode($sUser),
155  'member_password' => $sPwd,
156  );
157  $aRet['menu'] = new xmlrpcval(ChWsbXMLRPCUtil::getMenu('search', $aMarkersReplace), 'array');
158 
159  return new xmlrpcval ($aRet, "struct");
160  }
161 }
process_db_input
process_db_input($sText, $iStripTags=0)
Definition: utils.inc.php:256
ChWsbXMLRPCSearch
Definition: ChWsbXMLRPCSearch.php:9
ChWsbXMLRPCSearch\getSearchResultsNearMe
getSearchResultsNearMe($sUser, $sPwd, $sLang, $sLat, $sLng, $isOnlineOnly, $isWithPhotosOnly, $iStart, $iPP)
Definition: ChWsbXMLRPCSearch.php:50
ChWsbXMLRPCSearch\getSearchResultsLocation
getSearchResultsLocation($sUser, $sPwd, $sLang, $sCountryCode, $sCity, $isOnlineOnly, $isWithPhotosOnly, $iStart, $iPP)
Definition: ChWsbXMLRPCSearch.php:10
ChWsbXMLRPCSearch\getSearchResultsKeyword
getSearchResultsKeyword($sUser, $sPwd, $sLang, $sKeyword, $isOnlineOnly, $isWithPhotosOnly, $iStart, $iPP)
Definition: ChWsbXMLRPCSearch.php:103
ChWsbXMLRPCUtil\getUserInfo
static getUserInfo($iId, $iIdViewer=0, $isCountData=true)
Definition: ChWsbXMLRPCUtil.php:107
ChWsbRequest\serviceExists
static serviceExists($mixedModule, $sMethod, $sClass="Module")
Definition: ChWsbRequest.php:70
ChWsbXMLRPCSearch\getSeachHomeMenu3
getSeachHomeMenu3($sUser, $sPwd, $sLang)
Definition: ChWsbXMLRPCSearch.php:143
xmlrpcval
Definition: xmlrpc.inc:2696
php
$iId
$iId
Definition: license.php:15
$sPwd
$sPwd
Definition: r.php:14
CH_SLASHES_NO_ACTION
const CH_SLASHES_NO_ACTION
Definition: utils.inc.php:30
getParam
getParam($sParamName, $bUseCache=true)
Definition: db.inc.php:130
CH_TAGS_NO_ACTION
const CH_TAGS_NO_ACTION
Definition: utils.inc.php:21
ChWsbXMLRPCUtil\setLanguage
static setLanguage($sLang)
Definition: ChWsbXMLRPCUtil.php:256
db_res
db_res($query, $bindings=[])
Definition: db.inc.php:39
ChWsbXMLRPCUtil\fillProfileArray
static fillProfileArray($a, $sImage='icon', $iIdViewer=0)
Definition: ChWsbXMLRPCUtil.php:141
xmlrpcresp
Definition: xmlrpc.inc:1911
ChWsbXMLRPCUtil\checkLogin
static checkLogin($sUser, $sPwd)
Definition: ChWsbXMLRPCUtil.php:239
ChWsbXMLRPCUtil\getMenu
static getMenu($sMenu, $aMarkersReplace=array())
Definition: ChWsbXMLRPCUtil.php:179
empty
Attr AllowedRel this is empty
Definition: Attr.AllowedRel.txt:7
ChWsbService\call
static call($mixed, $sMethod, $aParams=array(), $sClass='Module')
Definition: ChWsbService.php:32
$sUser
$sUser
Definition: r.php:13