function getVideoInAlbum($sUser, $sPwd, $sNick, $iAlbumId) { $iIdProfile = BxDolXMLRPCUtil::getIdByNickname($sNick); if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin($sUser, $sPwd))) { return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1, "int")), "struct")); } return BxDolXMLRPCMedia::_getFilesInAlbum('videos', $iIdProfile, $iId, $iAlbumId, 'video', 'getToken', 'flash/modules/video/get_mobile.php?id='); }
function getImagesInAlbum($sUser, $sPwd, $sNick, $iAlbumId) { $iIdProfile = BxDolXMLRPCUtil::getIdByNickname($sNick); if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin($sUser, $sPwd))) { return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1, "int")), "struct")); } return BxDolXMLRPCMedia::_getFilesInAlbum('photos', $iIdProfile, $iId, (int) $iAlbumId); }
function updateStatusMessage($sUser, $sPwd, $sStatusMsg) { if (!($iId = BxDolXMLRPCUtil::checkLogin($sUser, $sPwd))) { return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1, "int")), "struct")); } ob_start(); $_GET['action'] = '1'; require_once BX_DIRECTORY_PATH_ROOT . 'list_pop.php'; ob_end_clean(); $_POST['status_message'] = $sStatusMsg; ActionChangeStatusMessage($iId); return new xmlrpcresp(new xmlrpcval($iRet, "int")); }
function addFriend($sUser, $sPwd, $sNick, $sLang) { $iIdProfile = BxDolXMLRPCUtil::getIdByNickname($sNick); if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin($sUser, $sPwd))) { return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1, "int")), "struct")); } BxDolXMLRPCUtil::setLanguage($sLang); ob_start(); $_GET['action'] = '1'; require_once BX_DIRECTORY_PATH_ROOT . 'list_pop.php'; ob_end_clean(); $sRet = PageListFriend($iId, $iIdProfile); return new xmlrpcval(trim(strip_tags($sRet))); }
function _getMessages($sUser, $sPwd, $isInbox) { $aRet = array(); if (!($iId = BxDolXMLRPCUtil::checkLogin($sUser, $sPwd))) { return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1, "int")), "struct")); } $aMsgs = array(); $sWhere = $isInbox ? " `Recipient` = '{$iId}' " : " `Sender`= '{$iId}' "; $sJoinOn = $isInbox ? " `m`.`Sender` = `p`.`ID` " : " `m`.`Recipient` = `p`.`ID` "; $r = db_res("SELECT \r\n `m`.`ID`, `m`.`Date`, `m`.`Sender`, `m`.`Recipient`, `m`.`Subject`, `m`.`New`, \r\n `p`.`NickName` AS `Nick` \r\n FROM `sys_messages` AS `m`\r\n LEFT JOIN `Profiles` AS `p` ON ({$sJoinOn})\r\n WHERE {$sWhere} \r\n ORDER BY `Date` DESC"); while ($aRow = mysql_fetch_array($r)) { $sIcon = BxDolXMLRPCUtil::getThumbLink($isInbox ? $aRow['Sender'] : $aRow['Recipient'], 'thumb'); $aMsg = array('ID' => new xmlrpcval($aRow['ID']), 'Date' => new xmlrpcval($aRow['Date']), 'Sender' => new xmlrpcval($aRow['Sender']), 'Recipient' => new xmlrpcval($aRow['Recipient']), 'Subject' => new xmlrpcval($aRow['Subject']), 'New' => new xmlrpcval($aRow['New']), 'Nick' => new xmlrpcval($aRow['Nick']), 'Thumb' => new xmlrpcval($sIcon)); $aMsgs[] = new xmlrpcval($aMsg, 'struct'); } return new xmlrpcval($aMsgs, "array"); }
function _getMessages($sUser, $sPwd, $isInbox) { $aRet = array(); if (!($iId = BxDolXMLRPCUtil::checkLogin($sUser, $sPwd))) { return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1, "int")), "struct")); } $aMsgs = array(); if ($isInbox) { $sWhere = "`Recipient` = '{$iId}' AND NOT FIND_IN_SET('recipient', `Trash`)"; } else { $sWhere = "`Sender` = '{$iId}' AND NOT FIND_IN_SET('sender', `Trash`)"; } $sFieldsAdd = $isInbox ? ", `m`.`Sender` AS `AuthorID`" : ", `m`.`Recipient` AS `AuthorID` "; $r = db_res("SELECT\n `m`.`ID`, UNIX_TIMESTAMP(`m`.`Date`) AS `Date`, `m`.`Sender`, `m`.`Recipient`, `m`.`Subject`, `m`.`New` {$sFieldsAdd}\n FROM `sys_messages` AS `m`\n INNER JOIN `Profiles` as `p` ON (`p`.`ID` = `m`.`Sender`)\n WHERE {$sWhere}\n ORDER BY `Date` DESC"); while ($aRow = $r->fetch()) { $sIcon = BxDolXMLRPCUtil::getThumbLink($isInbox ? $aRow['Sender'] : $aRow['Recipient'], 'thumb'); $aMsg = array('ID' => new xmlrpcval($aRow['ID']), 'Date' => new xmlrpcval(defineTimeInterval($aRow['Date'])), 'Sender' => new xmlrpcval($aRow['Sender']), 'Recipient' => new xmlrpcval($aRow['Recipient']), 'Subject' => new xmlrpcval($aRow['Subject']), 'New' => new xmlrpcval($aRow['New']), 'Nick' => new xmlrpcval(getUsername($aRow['AuthorID'])), 'UserTitleInterlocutor' => new xmlrpcval(getNickName($aRow['AuthorID'])), 'Thumb' => new xmlrpcval($sIcon)); $aMsgs[] = new xmlrpcval($aMsg, 'struct'); } return new xmlrpcval($aMsgs, "array"); }
function checkLogin($sUser, $sPwd) { //sleep(1); $iId = (int) BxDolXMLRPCUtil::getIdByNickname($sUser); $aProfile = getProfileInfo((int) $iId); if (!$aProfile) { return 0; } $_COOKIE["memberID"] = $iId; $_COOKIE["memberPassword"] = sha1($sPwd . $aProfile['Salt']); return ($GLOBALS['logged']['member'] = member_auth(0, false)) ? $iId : 0; }
function _uploadFile($sType, $sUser, $sPwd, $sAlbum, $binData, $iDataLength, $sTitle, $sTags, $sDesc, $sExt) { $sFieldTitle = 'title'; $sFieldDesc = 'desc'; $sFieldTags = 'tags'; $sFieldCats = 'categories'; $sFieldAlbum = 'album'; switch ($sType) { case 'photo': $sModuleName = 'photos'; $sService = 'perform_photo_upload'; $sMemAction = 'BX_PHOTOS_ADD'; $sFieldTitle = 'medTitle'; $sFieldDesc = 'medDesc'; $sFieldTags = 'medTags'; $sFieldCats = 'Categories'; $sFieldAlbum = 'album'; $sModuleUnit = 'bx_photos'; break; case 'video': $sModuleName = 'videos'; $sService = 'perform_video_upload'; $sMemAction = 'BX_VIDEOS_ADD'; $sModuleUnit = 'bx_videos'; break; case 'music': $sModuleName = 'sounds'; $sService = 'perform_sound_upload'; $sMemAction = 'BX_SOUNDS_ADD'; $sModuleUnit = 'bx_sounds'; break; default: return array(); } if (!($iId = BxDolXMLRPCUtil::checkLogin($sUser, $sPwd))) { return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1, "int")), "struct")); } if (!BxDolXMLRPCMedia::_isMembershipEnabledFor($iId, $sMemAction, true)) { return new xmlrpcval("fail access"); } if (!BxDolService::call($sModuleName, 'is_ext_allowed', array($sExt), 'Uploader')) { return new xmlrpcval("fail wrong extension - " . $sExt); } // write tmp file $sTmpFilename = BX_DIRECTORY_PATH_ROOT . "tmp/" . time() . $sType . $iId . '.' . $sExt; $f = fopen($sTmpFilename, "wb"); if (!$f) { return new xmlrpcval("fail fopen"); } if (!fwrite($f, $binData, (int) $iDataLength)) { fclose($f); return new xmlrpcval("fail write"); } fclose($f); // upload $aFileInfo = array(); $aFileInfo[$sFieldTitle] = $sTitle; $aFileInfo[$sFieldDesc] = $sDesc; $aFileInfo[$sFieldTags] = $sTags; $aFileInfo[$sFieldCats] = 'photo' == $sType ? array($sAlbum) : $sAlbum; $aFileInfo[$sFieldAlbum] = $sAlbum; if ('photo' == $sType && BxDolService::call($sModuleName, $sService, array($sTmpFilename, $aFileInfo, 0, $iId), 'Uploader')) { return new xmlrpcval("ok"); } elseif ('photo' != $sType && ($iFileId = BxDolService::call($sModuleName, $sService, array($sTmpFilename, $aFileInfo, true), 'Uploader'))) { $oZ = new BxDolAlerts($sModuleUnit, 'add', $iFileId, $iId); $oZ->alert(); return new xmlrpcval("ok"); } else { return new xmlrpcval("fail upload"); } }
<?php require_once '../inc/header.inc.php'; require_once BX_DIRECTORY_PATH_INC . 'design.inc.php'; require_once BX_DIRECTORY_PATH_INC . 'utils.inc.php'; require_once BX_DIRECTORY_PATH_ROOT . 'xmlrpc/BxDolXMLRPCUtil.php'; $sUser = bx_get('user'); $sPwd = bx_get('pwd'); $sUrl = rawurldecode(bx_get('url')); $iId = BxDolXMLRPCUtil::checkLogin($sUser, $sPwd); if ($iId) { bx_login($iId); header("HTTP/1.1 301 Moved Permanently"); header("Location: " . BX_DOL_URL_ROOT . $sUrl); exit; } else { $GLOBALS['oSysTemplate']->addCss('mobile.css'); $aVars = array('content' => $_page_cont[$_ni]['page_main_code']); $sOutput = $GLOBALS['oSysTemplate']->parseHtmlByName('mobile_box.html', $aVars); $iNameIndex = 11; $_page['name_index'] = $iNameIndex; $_page_cont[$iNameIndex]['page_main_code'] = '<div style="text-align:center;" class="bx-sys-mobile-padding">Access Denied</div>'; } PageCode();
public static function checkLogin($sUser, $sPwd) { $iId = (int) BxDolXMLRPCUtil::getIdByNickname($sUser); $aProfile = getProfileInfo((int) $iId); if (!$aProfile || getParam('enable_dolphin_footer') == 'on') { return 0; } $_COOKIE["memberID"] = $iId; $_COOKIE["memberPassword"] = 32 == strlen($sPwd) ? sha1($sPwd . $aProfile['Salt']) : $sPwd; $iRet = ($GLOBALS['logged']['member'] = member_auth(0, false)) ? $iId : 0; bx_import('BxDolAlerts'); $oZ = new BxDolAlerts('mobile', 'check_login', $iId, 0, array('password' => $sPwd, 'return_data' => &$iRet)); $oZ->alert(); return $iRet; }
function getSeachHomeMenu3($sUser, $sPwd, $sLang) { if (!($iId = BxDolXMLRPCUtil::checkLogin($sUser, $sPwd))) { return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1, "int")), "struct")); } BxDolXMLRPCUtil::setLanguage($sLang); $aRet = BxDolXMLRPCUtil::getUserInfo($iId); $aMarkersReplace = array('member_id' => $iId, 'member_username' => $sUser, 'member_password' => $sPwd); $aRet['menu'] = new xmlrpcval(BxDolXMLRPCUtil::getMenu('search', $aMarkersReplace), 'array'); return new xmlrpcval($aRet, "struct"); }
function getSearchResultsKeyword($sUser, $sPwd, $sLang, $sKeyword, $isOnlineOnly, $isWithPhotosOnly, $iStart, $iPP) { if (!($iId = BxDolXMLRPCUtil::checkLogin($sUser, $sPwd))) { return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1, "int")), "struct")); } BxDolXMLRPCUtil::setLanguage($sLang); $sKeyword = process_db_input($sKeyword, BX_TAGS_NO_ACTION, BX_SLASHES_NO_ACTION); $sMatch = ''; if ($sKeyword && strlen($sKeyword) > 2) { $sMatch .= " MATCH (`NickName`, `City`, `Headline`, `DescriptionMe`, `Tags`) AGAINST ('{$sKeyword}') "; $sWhere .= " AND {$sMatch} "; } if ($isWithPhotosOnly) { $sWhere .= " AND `Avatar` "; } if ($isOnlineOnly) { $iOnlineTime = getParam('member_online_time'); $sWhere .= " AND `DateLastNav` >= DATE_SUB(NOW(), INTERVAL {$iOnlineTime} MINUTE)"; } $iStart = (int) $iStart; if (!$iStart || $iStart < 0) { $iStart = 0; } $iPP = (int) $iPP; if (!$iPP || $iPP < 1) { $iPP = 1; } $r = db_res("\r\n SELECT * " . ($sMatch ? ", {$sMatch}" : '') . " FROM `Profiles`\r\n WHERE 1 {$sWhere}\r\n ORDER BY `DateLastNav` DESC\r\n LIMIT {$iStart}, {$iPP}"); while ($aRow = mysql_fetch_array($r)) { $aProfiles[] = new xmlrpcval(BxDolXMLRPCUtil::fillProfileArray($aRow, 'thumb'), 'struct'); } return new xmlrpcval($aProfiles, "array"); }