Cheetah
ChWsbXMLRPCUser.php
Go to the documentation of this file.
1 <?php
2 
8 define('CH_XMLRPC_PROTOCOL_VER', 5);
9 
11 {
12  function login($sUser, $sPwd)
13  {
15  return new xmlrpcresp(new xmlrpcval($iId, "int"));
16  }
17 
18  function login4($sUser, $sPwdClear)
19  {
20  $iId = 0;
22  if ($aProfileInfo && ((32 == strlen($sPwdClear) || 40 == strlen($sPwdClear)) && ChWsbXMLRPCUtil::checkLogin ($sUser, $sPwdClear)))
23  $iId = $aProfileInfo['ID'];
24  elseif ($aProfileInfo && getParam('enable_cheetah_footer') != 'on' && check_password ($aProfileInfo['ID'], $sPwdClear, CH_WSB_ROLE_MEMBER, false))
25  $iId = $aProfileInfo['ID'];
26 
27  return new xmlrpcresp(new xmlrpcval(array(
28  'member_id' => new xmlrpcval($iId, "int"),
29  'member_pwd_hash' => new xmlrpcval($iId ? $aProfileInfo['Password'] : ""),
30  'member_username' => new xmlrpcval($iId ? getUsername($iId) : ""),
31  'protocol_ver' => new xmlrpcval(CH_XMLRPC_PROTOCOL_VER, "int"),
32  ), "struct"));
33  }
34 
35  function login2($sUser, $sPwd)
36  {
38  return new xmlrpcresp(new xmlrpcval(array(
39  'member_id' => new xmlrpcval($iId, "int"),
40  'protocol_ver' => new xmlrpcval(CH_XMLRPC_PROTOCOL_VER, "int"),
41  ), "struct"));
42  }
43 
44  function updateUserLocation ($sUser, $sPwd, $sLat, $sLng, $sZoom, $sMapType)
45  {
46  if (!($iId = ChWsbXMLRPCUtil::checkLogin ($sUser, $sPwd)) || !preg_match('/^[A-Za-z0-9]*$/', $sMapType))
47  return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct"));
48 
49  $iRet = ChWsbService::call('wmap', 'update_location_manually', array ('profiles', $iId, (float)$sLat, (float)$sLng, (int)$sZoom, $sMapType)) ? '1' : '0';
50 
51  return new xmlrpcresp(new xmlrpcval(false === $iRet || 404 == $iRet || 403 == $iRet ? false : true));
52  }
53 
55  {
57  return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct"));
58 
59  $iProfileId = getID($sNick, false);
60  $aLocation = ChWsbService::call('wmap', 'get_location', array('profiles', $iProfileId, $iId));
61  if (-1 == $aLocation) // access denied
62  return new xmlrpcval("-1");
63  if (!is_array($aLocation)) // location is undefined
64  return new xmlrpcval("0");
65 
66  return new xmlrpcval(array(
67  'lat' => new xmlrpcval($aLocation['lat']),
68  'lng' => new xmlrpcval($aLocation['lng']),
69  'zoom' => new xmlrpcval($aLocation['zoom']),
70  'type' => new xmlrpcval($aLocation['type']),
71  'address' => new xmlrpcval($aLocation['address']),
72  'country' => new xmlrpcval($aLocation['country']),
73  ), 'struct');
74  }
75 
77  {
79  return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct"));
80 
82 
83  $aRet['unreadLetters'] = new xmlrpcval(getNewLettersNum($iId));
84  $aFriendReq = db_arr( "SELECT count(*) AS `num` FROM `sys_friend_list` WHERE `Profile` = {$iId} AND `Check` = '0'" );
85  $aRet['friendRequests'] = new xmlrpcval($aFriendReq['num']);
86 
87  return new xmlrpcval ($aRet, "struct");
88  }
89 
90  function getHomepageInfo2($sUser, $sPwd, $sLang)
91  {
93  return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct"));
94 
96 
98 
99  $aMarkersReplace = array (
100  'member_id' => $iId,
101  'member_username' => rawurlencode($sUser),
102  'member_password' => $sPwd,
103  );
104  $aRet['menu'] = new xmlrpcval(ChWsbXMLRPCUtil::getMenu('homepage', $aMarkersReplace), 'array');
105 
106  ch_import('ChWsbMemberInfo');
107  $oMemberInfo = ChWsbMemberInfo::getObjectInstance(getParam('sys_member_info_thumb'));
108  $aRet['search_with_photos'] = new xmlrpcval($oMemberInfo->isAvatarSearchAllowed() ? 1 : 0);
109 
110  return new xmlrpcval ($aRet, "struct");
111  }
112 
113  function getUserInfo2($sUser, $sPwd, $sNick, $sLang)
114  {
116  if (!$iIdProfile || !($iId = ChWsbXMLRPCUtil::checkLogin ($sUser, $sPwd)))
117  return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct"));
118 
120 
121  $mixedRet = ChWsbXMLRPCUser::_checkUserPrivacy ($iId, $iIdProfile);
122  if (true !== $mixedRet)
123  return $mixedRet;
124 
125  $aRet['info'] = new xmlrpcval (ChWsbXMLRPCUtil::getUserInfo($iIdProfile, 0, false), "struct");
126 
127  $aMarkersReplace = array (
128  'member_id' => $iId,
129  'member_username' => rawurlencode($sUser),
130  'member_password' => $sPwd,
131  'profile_id' => $iIdProfile,
132  'profile_username' => $sNick,
133  );
134  $aRet['menu'] = new xmlrpcval(ChWsbXMLRPCUtil::getMenu('profile', $aMarkersReplace), 'array');
135 
136  return new xmlrpcval ($aRet, "struct");
137  }
138 
139  function getUserInfo($sUser, $sPwd, $sNick, $sLang)
140  {
142  if (!$iIdProfile || !($iId = ChWsbXMLRPCUtil::checkLogin ($sUser, $sPwd)))
143  return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct"));
144 
146 
147  $mixedRet = ChWsbXMLRPCUser::_checkUserPrivacy ($iId, $iIdProfile);
148  if (true !== $mixedRet)
149  return $mixedRet;
150 
151  $aRet = ChWsbXMLRPCUtil::getUserInfo($iIdProfile, 0, true);
152  return new xmlrpcval ($aRet, "struct");
153  }
154 
155  function _checkUserPrivacy($iId, $iIdProfile)
156  {
157  $mixedAccessDenied = false;
158 
159  if ($iIdProfile != $iId) {
160  // membership
161  $aCheckRes = checkAction($iId, ACTION_ID_VIEW_PROFILES, true, $iIdProfile);
163  $mixedAccessDenied = strip_tags($aCheckRes[CHECK_ACTION_MESSAGE]);
164 
165  // privacy
166  if (false === $mixedAccessDenied) {
167  ch_import('ChWsbPrivacy');
168  $oPrivacy = new ChWsbPrivacy('Profiles', 'ID', 'ID');
169  if ($iIdProfile != $iId && !$oPrivacy->check('view', $iIdProfile, $iId))
170  $mixedAccessDenied = '-1';
171  }
172  }
173 
174  ch_import('ChWsbAlerts');
175  $oZ = new ChWsbAlerts('mobile', 'view_profile', $iIdProfile, $iId, array('access_denied' => &$mixedAccessDenied));
176  $oZ->alert();
177 
178  if (false !== $mixedAccessDenied)
179  return new xmlrpcval ($mixedAccessDenied);
180 
181  return true;
182  }
183 
184  function getUserInfoExtra($sUser, $sPwd, $sNick, $sLang)
185  {
187  if (!$iIdProfile || !($iId = ChWsbXMLRPCUtil::checkLogin ($sUser, $sPwd)))
188  return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct"));
189 
191 
192  $o = new ChWsbXMLRPCProfileView ($iIdProfile, $iId);
193  return $o->getProfileInfoExtra();
194  }
195 
196  function updateStatusMessage ($sUser, $sPwd, $sStatusMsg)
197  {
199  return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct"));
200 
201  ob_start();
202  $_GET['action'] = '1';
203  require_once( CH_DIRECTORY_PATH_ROOT . 'list_pop.php' );
204  ob_end_clean();
205 
206  $_POST['status_message'] = $sStatusMsg;
208 
209  return new xmlrpcresp(new xmlrpcval($iRet, "int"));
210  }
211 
212 }
ChWsbXMLRPCUser\getUserInfo2
getUserInfo2($sUser, $sPwd, $sNick, $sLang)
Definition: ChWsbXMLRPCUser.php:113
ActionChangeStatusMessage
ActionChangeStatusMessage($iMemberIdForce=0)
Definition: list_pop.php:188
ChWsbXMLRPCUser\login4
login4($sUser, $sPwdClear)
Definition: ChWsbXMLRPCUser.php:18
ChWsbMemberInfo\getObjectInstance
static getObjectInstance($sObject)
Definition: ChWsbMemberInfo.php:39
ChWsbXMLRPCUtil\getUserInfo
static getUserInfo($iId, $iIdViewer=0, $isCountData=true)
Definition: ChWsbXMLRPCUtil.php:107
ChWsbXMLRPCProfileView
Definition: ChWsbXMLRPCProfileView.php:14
ChWsbXMLRPCUser\_checkUserPrivacy
_checkUserPrivacy($iId, $iIdProfile)
Definition: ChWsbXMLRPCUser.php:155
CHECK_ACTION_RESULT_ALLOWED
const CHECK_ACTION_RESULT_ALLOWED
Definition: membership_levels.inc.php:60
ch_import
ch_import($sClassName, $aModule=array())
Definition: utils.inc.php:1218
CHECK_ACTION_RESULT
const CHECK_ACTION_RESULT
Definition: membership_levels.inc.php:54
xmlrpcval
Definition: xmlrpc.inc:2696
check_password
check_password($sUsername, $sPassword, $iRole=CH_WSB_ROLE_MEMBER, $error_handle=true)
Definition: admin.inc.php:296
CHECK_ACTION_MESSAGE
const CHECK_ACTION_MESSAGE
Definition: membership_levels.inc.php:55
php
$oZ
$oZ
Definition: db.php:20
$iId
$iId
Definition: license.php:15
ChWsbXMLRPCUser\getHomepageInfo
getHomepageInfo($sUser, $sPwd)
Definition: ChWsbXMLRPCUser.php:76
$sPwd
$sPwd
Definition: r.php:14
ChWsbXMLRPCUtil\getIdByNickname
static getIdByNickname($sUser)
Definition: ChWsbXMLRPCUtil.php:233
ChWsbXMLRPCUser\getUserInfoExtra
getUserInfoExtra($sUser, $sPwd, $sNick, $sLang)
Definition: ChWsbXMLRPCUser.php:184
ChWsbAlerts
Definition: ChWsbAlerts.php:39
db_arr
db_arr($query, $bindings=[])
Definition: db.inc.php:76
$_GET
$_GET['debug']
Definition: index.php:67
getParam
getParam($sParamName, $bUseCache=true)
Definition: db.inc.php:130
CH_XMLRPC_PROTOCOL_VER
const CH_XMLRPC_PROTOCOL_VER
Definition: ChWsbXMLRPCUser.php:8
ChWsbXMLRPCUser
Definition: ChWsbXMLRPCUser.php:11
ChWsbXMLRPCUser\getUserInfo
getUserInfo($sUser, $sPwd, $sNick, $sLang)
Definition: ChWsbXMLRPCUser.php:139
getUsername
getUsername( $ID='')
Definition: profiles.inc.php:443
ChWsbXMLRPCUser\updateUserLocation
updateUserLocation($sUser, $sPwd, $sLat, $sLng, $sZoom, $sMapType)
Definition: ChWsbXMLRPCUser.php:44
CH_WSB_ROLE_MEMBER
const CH_WSB_ROLE_MEMBER
Definition: profiles.inc.php:16
ChWsbXMLRPCUser\login2
login2($sUser, $sPwd)
Definition: ChWsbXMLRPCUser.php:35
ChWsbXMLRPCUser\login
login($sUser, $sPwd)
Definition: ChWsbXMLRPCUser.php:12
checkAction
checkAction($iMemberId, $actionID, $performAction=false, $iForcedProfID=0, $isCheckMemberStatus=true)
Definition: membership_levels.inc.php:313
ChWsbXMLRPCUser\updateStatusMessage
updateStatusMessage($sUser, $sPwd, $sStatusMsg)
Definition: ChWsbXMLRPCUser.php:196
$aProfileInfo
$aProfileInfo
Definition: short_profile_info.php:23
ChWsbXMLRPCUtil\setLanguage
static setLanguage($sLang)
Definition: ChWsbXMLRPCUtil.php:256
getID
getID( $str, $with_email=1)
Definition: admin.inc.php:139
getProfileInfo
getProfileInfo($iProfileID=0, $checkActiveStatus=false, $forceCache=false)
Definition: profiles.inc.php:249
getNewLettersNum
getNewLettersNum( $iID)
Definition: profiles.inc.php:275
ChWsbXMLRPCUser\getUserLocation
getUserLocation($sUser, $sPwd, $sNick)
Definition: ChWsbXMLRPCUser.php:54
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
ChWsbPrivacy
Definition: ChWsbPrivacy.php:60
$sNick
$sNick
Definition: actions.inc.php:9
$o
$o
Definition: cmd.php:193
ChWsbService\call
static call($mixed, $sMethod, $aParams=array(), $sClass='Module')
Definition: ChWsbService.php:32
ChWsbXMLRPCUser\getHomepageInfo2
getHomepageInfo2($sUser, $sPwd, $sLang)
Definition: ChWsbXMLRPCUser.php:90
$iProfileId
if( $sMembersList) $iProfileId
Definition: communicator.php:29
ACTION_ID_VIEW_PROFILES
const ACTION_ID_VIEW_PROFILES
Definition: membership_levels.inc.php:36
$sUser
$sUser
Definition: r.php:13