8 require_once(CH_DIRECTORY_PATH_INC .
"utils.inc.php");
9 require_once(CH_DIRECTORY_PATH_INC .
"membership_levels.inc.php");
10 require_once(CH_DIRECTORY_PATH_CLASSES .
"ChWsbInstallerUtils.php");
40 return isModuleAvailable(
"chat", $sUserId, ACTION_ID_USE_CHAT) ?
"#desktopUrl#chat.html?id=#owner#&password=#password#" :
"";
45 return isModuleAvailable(
"messenger", $sUserId, ACTION_ID_USE_MESSENGER) ?
"im/sender=#owner#&password=#password#&recipient=#user#/#nick#/10,10,550,500/true" :
"";
50 if(count($aUsers) == 0)
return null;
51 $sUsers =
"('" . implode(
"','", $aUsers) .
"')";
52 $sSql =
"SELECT `users`.`ID`, COUNT(DISTINCT `music`.`ID`) AS `CountMusic`, COUNT(DISTINCT `video`.`ID`) AS `CountVideo` FROM `Profiles` AS `users` LEFT JOIN `" . DB_PREFIX .
"Mp3Files` AS `music` ON `users`.`ID`=`music`.`Owner` AND `music`.`Status`='approved' LEFT JOIN `" . DB_PREFIX .
"VideoFiles` AS `video` ON `users`.`ID`=`video`.`Owner` AND `video`.`Status`='approved' WHERE `users`.`ID` IN " . $sUsers .
" GROUP BY `users`.`ID`";
60 require_once(CH_DIRECTORY_PATH_INC .
"db.inc.php");
62 $iMin = (int)
getParam(
"member_online_time");
63 $sOnlineFactor =
"`UserStatus`!='" . USER_STATUS_OFFLINE .
"' AND `DateLastNav`>SUBDATE(NOW(), INTERVAL " . $iMin .
" MINUTE)";
64 $sRetrieveFactor =
"`DateLastNav`>SUBDATE(NOW(), INTERVAL " . ($iMin*60 + $iUpdateInterval*3) .
" SECOND)";
65 $rResult =
getResult(
"SELECT `ID`, IF(" . $sOnlineFactor .
", 1, 0) AS `Online` FROM `Profiles` WHERE `ID`<>'" . $sUserId .
"' AND " . $sRetrieveFactor .
" ORDER BY `ID`");
69 while((
$aUser = $rResult->fetch()) !=
null)
71 else $aOffline[] =
$aUser[
'ID'];
73 return array(
'online' => $aOnline,
'offline' => $aOffline);
81 return (
int)
getValue(
"SELECT `ID` FROM `Profiles` WHERE `NickName` = '" .
$sNick .
"' LIMIT 1");
92 $aUrl = parse_url(
$GLOBALS[
'site'][
'url']);
93 $sPath = isset($aUrl[
'path']) && !
empty($aUrl[
'path']) ? $aUrl[
'path'] :
'/';
96 setcookie(
"memberID",
$sId, 0, $sPath, $sHost);
97 setcookie(
"memberPassword",
$sPassword, 0, $sPath, $sHost,
false,
true );
103 setcookie(
"memberID",
'',
time() - 86400);
104 setcookie(
"memberPassword",
'',
time() - 86400);
110 return getValue(
"SELECT `UserStatus` FROM `Profiles` WHERE `ID`='" .
$sId .
"'");
115 $sOnlineUpdate = $bOnline ?
"NOW()" :
"(NOW()-" . ((int)
getParam(
"member_online_time") * 120) .
")";
117 getResult(
"UPDATE `Profiles` SET `DateLastNav`=" . $sOnlineUpdate . $sStatusUpdate .
" WHERE `ID`='" .
$sId .
"'");
118 if(!
empty($sStatusUpdate))
129 $sNotIn =
empty($sGotMails) ?
"" :
" AND `ID` NOT IN(" . $sGotMails .
")";
130 $sQuery =
"SELECT `ID`, `Sender`, SUBSTRING(`Text`, 1, 150) AS `Body` FROM `sys_messages` WHERE `Recipient` = '" .
$sId .
"' AND `New`='1'" . $sNotIn .
" AND NOT FIND_IN_SET('recipient', `Trash`)";
135 for($i=0; $i<$rResult->rowCount(); $i++) {
136 $aMail = $rResult->fetch();
137 if(!in_array($aMail[
'Sender'], $aFullUsers)) $aSenders[] = $aMail[
'Sender'];
140 $aSenders = array_unique($aSenders);
142 $aMediaUsers = array();
144 if($rMedia !=
null) {
145 for($i=0; $i<$rMedia->rowCount(); $i++) {
146 $aUser = $rMedia->fetch();
149 $aMediaUsers[$sUserId][
'music'] =
$aUser[
'CountMusic'] > 0 ? TRUE_VAL : FALSE_VAL;
150 $aMediaUsers[$sUserId][
'video'] =
$aUser[
'CountVideo'] > 0 ? TRUE_VAL : FALSE_VAL;
155 for($i=0; $i<count($aMails); $i++) {
156 $sSenderId = $aMails[$i][
'Sender'];
157 $aMails[$i][
'Body'] = strip_tags($aMails[$i][
'Body']);
158 if(is_array($aMediaUsers[$sSenderId])) {
159 $aUser = $aMediaUsers[$sSenderId];
160 $sResult .=
parseXml(
$aXmlTemplates[
"message"], $aMails[$i][
'ID'], $sSenderId, $aMails[$i][
'Body'],
$aUser[
'nick'],
$aUser[
'sex'],
$aUser[
'age'],
$aUser[
'photo'],
$aUser[
'profile'],
$aUser[
'music'],
$aUser[
'video']);
170 $rResult =
getResult(
"SELECT * FROM `" . DB_PREFIX .
"ImPendings` WHERE `RecipientID`='" .
$sId .
"' ORDER BY `ID` DESC");
172 for($i=0; $i<$rResult->rowCount(); $i++) {
173 $aIm = $rResult->fetch();
181 getResult(
"DELETE FROM `" . DB_PREFIX .
"ImPendings` WHERE `ID`='" .
$sId .
"'");
184 require_once(CH_DIRECTORY_PATH_INC .
"languages.inc.php");
185 require_once(CH_DIRECTORY_PATH_INC .
"design.inc.php");
186 require_once(CH_DIRECTORY_PATH_CLASSES .
"ChWsbUserStatusView.php");
193 foreach($oStatuses->aStatuses
as $sKey => $aStatus)