예제 #1
0
 function showBlockFriends($sCaption, $oParent, $bNoDB = false)
 {
     $iLimit = $this->iFriendsPerPage;
     $sAllFriends = 'viewFriends.php?iUser='******'';
     if ($iCount) {
         $iPages = ceil($iCount / $iLimit);
         $iPage = isset($_GET['page']) ? (int) $_GET['page'] : 1;
         if ($iPage < 1) {
             $iPage = 1;
         }
         if ($iPage > $iPages) {
             $iPage = $iPages;
         }
         $sqlFrom = ($iPage - 1) * $iLimit;
         if ($sqlFrom < 1) {
             $sqlFrom = 0;
         }
         $sqlLimit = "LIMIT {$sqlFrom}, {$iLimit}";
     } else {
         return;
     }
     $aAllFriends = getMyFriendsEx($this->_iProfileID, '', 'image', $sqlLimit);
     $iCurrCount = count($aAllFriends);
     $aTmplVars = array('bx_repeat:friends' => array());
     foreach ($aAllFriends as $iFriendID => $aFriendsPrm) {
         $aTmplVars['bx_repeat:friends'][] = array('content' => get_member_thumbnail($iFriendID, 'none', true, 'visitor', array('is_online' => $aFriendsPrm[5])));
     }
     $sOutputHtml = $GLOBALS['oSysTemplate']->parseHtmlByName('profile_friends.html', $aTmplVars);
     $oPaginate = new BxDolPaginate(array('page_url' => BX_DOL_URL_ROOT . 'profile.php', 'count' => $iCount, 'per_page' => $iLimit, 'page' => $iPage, 'on_change_page' => 'return !loadDynamicBlock({id}, \'' . $sProfileLink . '?page={page}&per_page={per_page}\');'));
     $sPaginate = $oPaginate->getSimplePaginate($sAllFriends);
     return array($sOutputHtml, array(), $sPaginate, true);
 }
예제 #2
0
 function getBlockCode_Friends()
 {
     $iLimit = 10;
     $sContent = $sPaginate = '';
     $sAllFriends = 'viewFriends.php?iUser='******'page']) ? (int) $_GET['page'] : 1;
     if ($iPage < 1) {
         $iPage = 1;
     }
     if ($iPage > $iPages) {
         $iPage = $iPages;
     }
     $sSqlFrom = ($iPage - 1) * $iLimit;
     $sSqlLimit = "LIMIT {$sSqlFrom}, {$iLimit}";
     $aFriends = getMyFriendsEx($this->iMember, '', 'image', $sSqlLimit);
     $aTmplParams['bx_repeat:friends'] = array();
     foreach ($aFriends as $iId => $aFriend) {
         $aTmplParams['bx_repeat:friends'][] = array('content' => get_member_thumbnail($iId, 'none', true, 'visitor', array('is_online' => $aFriend[5])));
     }
     $sContent = $GLOBALS['oSysTemplate']->parseHtmlByName('member_friends.html', $aTmplParams);
     $oPaginate = new BxDolPaginate(array('page_url' => BX_DOL_URL_ROOT . 'member.php', 'count' => $iCount, 'per_page' => $iLimit, 'page' => $iPage, 'on_change_page' => 'return !loadDynamicBlock({id}, \'member.php?page={page}&per_page={per_page}\');'));
     $sPaginate = $oPaginate->getSimplePaginate($sAllFriends);
     return array($sContent, array(), $sPaginate);
 }
예제 #3
0
 /**
  * Function will generate list of member's friends ;
  *
  * @param  : $iMemberId (integer) - member's Id;
  * @return : Html presentation data;
  */
 function get_member_menu_friends_list($iMemberId = 0)
 {
     global $oFunctions;
     $iMemberId = (int) $iMemberId;
     $iOnlineTime = (int) getParam('member_online_time');
     // define the member's menu position ;
     $sExtraMenuPosition = isset($_COOKIE['menu_position']) ? $_COOKIE['menu_position'] : getParam('ext_nav_menu_top_position');
     $aLanguageKeys = array('requests' => _t('_Friend Requests'), 'online' => _t('_Online Friends'));
     // get all friends requests ;
     $iFriendsRequests = getFriendRequests($iMemberId);
     $iOnlineFriends = getFriendNumber($iMemberId, 1, $iOnlineTime);
     // try to generate member's messages list ;
     $sWhereParam = "AND p.`DateLastNav` > SUBDATE(NOW(), INTERVAL " . $iOnlineTime . " MINUTE)";
     $aAllFriends = getMyFriendsEx($iMemberId, $sWhereParam, 'last_nav_desc', "LIMIT 5");
     $oModuleDb = new BxDolModuleDb();
     $sVideoMessengerImgPath = $GLOBALS['oSysTemplate']->getIconUrl('video.png');
     $sMessengerTitle = _t('_Chat');
     foreach ($aAllFriends as $iFriendID => $aFriendsPrm) {
         $aMemberInfo = getProfileInfo($iFriendID);
         $sThumb = $oFunctions->getMemberIcon($aMemberInfo['ID'], 'none');
         $sHeadline = mb_strlen($aMemberInfo['UserStatusMessage']) > 40 ? mb_substr($aMemberInfo['UserStatusMessage'], 0, 40) . '...' : $aMemberInfo['UserStatusMessage'];
         $aFriends[] = array('profile_link' => getProfileLink($iFriendID), 'profile_nick' => $aMemberInfo['NickName'], 'profile_id' => $iFriendID, 'thumbnail' => $sThumb, 'head_line' => $sHeadline, 'bx_if:video_messenger' => array('condition' => $oModuleDb->isModule('messenger'), 'content' => array('sender_id' => $iMemberId, 'sender_passw' => getPassword($iMemberId), 'recipient_id' => $iFriendID, 'video_img_src' => $sVideoMessengerImgPath, 'messenger_title' => $sMessengerTitle)));
     }
     $aExtraSection = array('friends_request' => $aLanguageKeys['requests'], 'request_count' => $iFriendsRequests, 'ID' => $iMemberId, 'online_friends' => $aLanguageKeys['online'], 'online_count' => $iOnlineFriends);
     // fill array with needed keys ;
     $aTemplateKeys = array('bx_if:menu_position_bottom' => array('condition' => $sExtraMenuPosition == 'bottom', 'content' => $aExtraSection), 'bx_if:menu_position_top' => array('condition' => $sExtraMenuPosition == 'top' || $sExtraMenuPosition == 'static', 'content' => $aExtraSection), 'bx_repeat:friend_list' => $aFriends);
     $sOutputCode = $GLOBALS['oSysTemplate']->parseHtmlByName('view_friends_member_menu_friends_list.html', $aTemplateKeys);
     return $sOutputCode;
 }
예제 #4
0
 /**
  * Function will get array with all member's friends ;
  *
  * @param         : $sSqlLimit (string) - rows limit for sql query ;
  * @return        : array;
  */
 function getFriendsList($sSqlLimit)
 {
     $sSqlLimit = process_db_input($sSqlLimit);
     // init some needed variables ;
     $aFriendsList = array();
     $this->iTotalContactsCount = getFriendNumber($this->aMailBoxSettings['member_id']);
     $sQuery = "\n                    SELECT p.*,\n                    DATE_FORMAT(f.`When`, '" . getLocaleFormat(BX_DOL_LOCALE_DATE_SHORT, BX_DOL_LOCALE_DB) . "' ) AS 'When'\n                    FROM (\n                    SELECT `ID` AS `ID`, `When` FROM `sys_friend_list` WHERE `Profile`='{$this->aMailBoxSettings['member_id']}' AND `Check` =1\n                    UNION\n                    SELECT `Profile` AS `ID`, `When` FROM `sys_friend_list` WHERE `ID` = '{$this->aMailBoxSettings['member_id']}' AND `Check` =1\n) AS `f`\n                    INNER JOIN `Profiles` AS `p` ON (`p`.`ID` = `f`.`ID`)\n                    ORDER BY f.`When` DESC\n                    {$sSqlLimit}\n                ";
     $rResult = db_res($sQuery);
     while (true == ($aRow = $rResult->fetch())) {
         $aFriendsList[] = $aRow;
     }
     return $aFriendsList;
 }
예제 #5
0
 function fillProfileArray($a, $sImage = 'icon', $iIdViewer = 0)
 {
     if (!$iIdViewer) {
         $iIdViewer = $_COOKIE['memberID'];
     }
     $sImageKey = ucfirst($sImage);
     $sImage = BxDolXMLRPCUtil::getThumbLink($a['ID'], $sImage);
     bx_import('BxDolAlbums');
     return array('ID' => new xmlrpcval($a['ID']), 'Title' => new xmlrpcval($a['Headline']), 'Nick' => new xmlrpcval($a['NickName']), 'Sex' => new xmlrpcval($a['Sex']), 'Age' => new xmlrpcval(age($a['DateOfBirth'])), 'Country' => new xmlrpcval(_t($GLOBALS['aPreValues']['Country'][$a['Country']]['LKey'])), 'City' => new xmlrpcval($a['City']), 'CountPhotos' => new xmlrpcval(BxDolXMLRPCMedia::_getMediaCount('photo', $iId, $iIdViewer)), 'CountVideos' => new xmlrpcval(BxDolXMLRPCMedia::_getMediaCount('video', $iId, $iIdViewer)), 'CountSounds' => new xmlrpcval(BxDolXMLRPCMedia::_getMediaCount('music', $iId, $iIdViewer)), 'CountFriends' => new xmlrpcval(getFriendNumber($a['ID'])), $sImageKey => new xmlrpcval($sImage));
 }
예제 #6
0
 function getBlockCode_Friends()
 {
     $iLimit = 10;
     $sAllFriends = 'viewFriends.php?iUser='******'';
     if ($iCount) {
         $iPages = ceil($iCount / $iLimit);
         $iPage = isset($_GET['page']) ? (int) $_GET['page'] : 1;
         if ($iPage < 1) {
             $iPage = 1;
         }
         if ($iPage > $iPages) {
             $iPage = $iPages;
         }
         $sqlFrom = ($iPage - 1) * $iLimit;
         $sqlLimit = "LIMIT {$sqlFrom}, {$iLimit}";
     } else {
         return;
     }
     $aAllFriends = getMyFriendsEx($this->iMember, '', 'image', $sqlLimit);
     $iCurrCount = count($aAllFriends);
     foreach ($aAllFriends as $iFriendID => $aFriendsPrm) {
         $sOutputHtml .= '<div class="member_block">';
         $sOutputHtml .= get_member_thumbnail($iFriendID, 'none', true, 'visitor', array('is_online' => $aFriendsPrm[5]));
         $sOutputHtml .= '</div>';
     }
     $sOutputHtml = $GLOBALS['oFunctions']->centerContent($sOutputHtml, '.member_block');
     $oPaginate = new BxDolPaginate(array('page_url' => BX_DOL_URL_ROOT . 'member.php', 'count' => $iCount, 'per_page' => $iLimit, 'page' => $iPage, 'per_page_changer' => true, 'page_reloader' => true, 'on_change_page' => 'return !loadDynamicBlock({id}, \'member.php?page={page}&per_page={per_page}\');', 'on_change_per_page' => ''));
     $sPaginate = $oPaginate->getSimplePaginate($sAllFriends);
     return array($sOutputHtml, array(), $sPaginate);
 }
 function showBlockMutualFriends($sCaption, $bNoDB = false)
 {
     global $site;
     $iFriendNums = getFriendNumber($this->_iProfileID);
     $ret = '';
     $iCounter = 0;
     $iTotalCounter = 0;
     foreach ($this->aMutualFriends as $key => $value) {
         $iCounter++;
         $sKey = '1';
         //if( $iCounter == 3 ) $sKey = '2';
         $ret .= '<div class="friends_thumb_' . $sKey . '">' . get_member_thumbnail($key, 'none', true) . '<div class="clear_both"></div><div class="browse_nick"><a href="' . getProfileLink($key) . '">' . $value . '</a></div><div class="clear_both"></div></div>';
         if ($iCounter == 3) {
             $iCounter = 0;
         }
         $iTotalCounter++;
         if ($iTotalCounter >= 12) {
             break;
         }
     }
     if ($ret) {
         $ret .= '<div class="clear_both"></div>';
         $sFriendInfo = '<div class="caption_item"><a href="' . $site['url'] . 'viewFriends.php?iUser='******'">' . $iFriendNums . ' ' . _t("_Friends") . '</a></div>';
         if ($bNoDB) {
             return $ret;
         } else {
             echo DesignBoxContent(_t($sCaption), $ret, 1, $sFriendInfo);
         }
     }
 }
예제 #8
0
 public static function fillProfileArray($a, $sImage = 'icon', $iIdViewer = 0)
 {
     if (!$iIdViewer) {
         $iIdViewer = (int) $_COOKIE['memberID'];
     }
     $sImageKey = ucfirst($sImage);
     $sImage = BxDolXMLRPCUtil::getThumbLink($a['ID'], $sImage);
     bx_import('BxDolAlbums');
     $oBxDolXMLRPCMedia = new BxDolXMLRPCMedia();
     $aRet = array('user_title' => new xmlrpcval($GLOBALS['oFunctions']->getUserTitle($a['ID'])), 'user_info' => new xmlrpcval($GLOBALS['oFunctions']->getUserInfo($a['ID']) . ' '), 'user_location' => new xmlrpcval(BxDolXMLRPCUtil::getUserLocation($a) . ' '), 'user_friend' => new xmlrpcval(is_friends($a['ID'], (int) $iIdViewer) ? 1 : 0), 'ID' => new xmlrpcval($a['ID']), 'Title' => new xmlrpcval($GLOBALS['oFunctions']->getUserTitle($a['ID'])), 'Nick' => new xmlrpcval($a['NickName']), 'Sex' => new xmlrpcval($a['Sex']), 'Age' => new xmlrpcval(age($a['DateOfBirth'])), 'Country' => new xmlrpcval(_t($GLOBALS['aPreValues']['Country'][$a['Country']]['LKey'])), 'City' => new xmlrpcval($a['City']), 'CountPhotos' => new xmlrpcval($oBxDolXMLRPCMedia->_getMediaCount('photo', $iId, $iIdViewer)), 'CountVideos' => new xmlrpcval($oBxDolXMLRPCMedia->_getMediaCount('video', $iId, $iIdViewer)), 'CountSounds' => new xmlrpcval($oBxDolXMLRPCMedia->_getMediaCount('music', $iId, $iIdViewer)), 'CountFriends' => new xmlrpcval(getFriendNumber($a['ID'])), $sImageKey => new xmlrpcval($sImage));
     bx_import('BxDolAlerts');
     $oZ = new BxDolAlerts('mobile', 'user_info2', $a['ID'], $iIdViewer, array('profile' => &$a, 'return_data' => &$aRet));
     $oZ->alert();
     return $aRet;
 }
예제 #9
0
    function getBlockCode_Friends()
    {
        global $site;
        $sFriendList = ShowFriendList($this->iMember);
        $iFriendNums = getFriendNumber($this->iMember);
        if ($sFriendList) {
            ob_start();
            ?>
				<div class="clear_both"></div>
				<?php 
            echo $sFriendList;
            ?>
				<div class="clear_both"></div>
			<?php 
            $ret = ob_get_clean();
            $sFriendInfo = '<div class="caption_item"><a href="' . $site['url'] . 'viewFriends.php?iUser='******'">' . $iFriendNums . ' ' . _t("_Friends") . '</a></div>';
            $aDbTopMenu = array(_t("_Friends") => array('href' => "{$site['url']}viewFriends.php?iUser={$this->iMember}"));
            return array($ret, $aDbTopMenu);
        }
    }