HomeHelpTrac

Changeset 12465 for trunk/xmlrpc


Ignore:
Timestamp:
08/28/09 05:41:07 (3 years ago)
Author:
Alexander Trofimov
Message:
 
Location:
trunk/xmlrpc
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/xmlrpc/BxDolXMLRPCSearch.php

    r10411 r12465  
    3333            WHERE 1 $sWhere 
    3434            ORDER BY `DateLastNav` DESC 
     35            LIMIT $iStart, $iPP"); 
     36 
     37        while ($aRow = mysql_fetch_array ($r)) 
     38            $aProfiles[] = new xmlrpcval(BxDolXMLRPCUtil::fillProfileArray($aRow, 'thumb'), 'struct'); 
     39 
     40        return new xmlrpcval ($aProfiles, "array"); 
     41    } 
     42 
     43    function getSearchResultsNearMe($sUser, $sPwd, $sLang, $sLat, $sLng, $isOnlineOnly, $isWithPhotosOnly, $iStart, $iPP) 
     44    { 
     45        if (!($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
     46            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct")); 
     47 
     48        BxDolXMLRPCUtil::setLanguage ($sLang);  
     49 
     50        $sWhere = ''; 
     51        $sJoin = ''; 
     52        $sLocation = ''; 
     53        if ($sLat && $sLng) 
     54        { 
     55            $sDistance = ", (POW($sLat-`loc`.`lat`, 2)+POW($sLng-`loc`.`lng`, 2)) AS `distance`"; 
     56            $sJoin .= " INNER JOIN `bx_map_profiles` AS `loc` ON  (`loc`.`id` = `ID` AND `loc`.`failed` = 0) "; 
     57        } 
     58        if ($isWithPhotosOnly) 
     59            $sWhere .= " AND `Avatar` "; 
     60        if ($isOnlineOnly)  
     61        { 
     62            $iOnlineTime = getParam( 'member_online_time' ); 
     63            $sWhere .= " AND `DateLastNav` >= DATE_SUB(NOW(), INTERVAL $iOnlineTime MINUTE)"; 
     64        } 
     65        $iStart = (int)$iStart; 
     66        if (!$iStart || $iStart < 0) 
     67            $iStart = 0; 
     68        $iPP = (int)$iPP; 
     69        if (!$iPP || $iPP < 1) 
     70            $iPP = 1; 
     71 
     72        $r = db_res (" 
     73            SELECT * " . $sDistance  . " FROM `Profiles` 
     74            $sJoin 
     75            WHERE 1 $sWhere 
     76            ORDER BY `distance` ASC 
    3577            LIMIT $iStart, $iPP"); 
    3678 
  • trunk/xmlrpc/BxDolXMLRPCUser.php

    r12175 r12465  
    99    } 
    1010     
     11    function updateUserLocation ($sUser, $sPwd, $sLat, $sLng, $sZoom, $sMapType)  
     12    { 
     13        if (!($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
     14            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct")); 
     15 
     16        $iRet = BxDolService::call('map_profiles', 'update_profile_location_manually', array ($iId, $sLat, $sLng, $sZoom, $sMapType, '', '')) ? '1' : '0'; 
     17 
     18        return new xmlrpcresp(new xmlrpcval($iRet)); 
     19    } 
     20 
    1121    function getUserLocation ($sUser, $sPwd, $sNick)  
    1222    { 
     
    7181    function updateStatusMessage ($sUser, $sPwd, $sStatusMsg)  
    7282    { 
    73         $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sUser); 
    74         if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
     83        if (!($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
    7584            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct")); 
    7685 
    77         $iRet = 0; 
    78         if (db_res ("UPDATE `Profiles` SET `UserStatusMessage` = '" . $GLOBALS['MySQL']->escape(process_db_input ($sStatusMsg, 1)) . "' WHERE `ID` = '$iIdProfile' LIMIT 1")) { 
    79             $iRet = 1; 
    80             createUserDataFile ($iIdProfile); 
    81         } 
     86        ob_start(); 
     87        $_GET['action'] = '1'; 
     88        require_once( BX_DIRECTORY_PATH_ROOT . 'list_pop.php' ); 
     89        ob_end_clean(); 
     90 
     91        $_REQUEST['status_message'] = $sStatusMsg; 
     92        ActionChangeStatusMessage ($iId); 
    8293 
    8394        return new xmlrpcresp(new xmlrpcval($iRet, "int")); 
  • trunk/xmlrpc/index.php

    r12175 r12465  
    7676                "signature" => array (array ($xmlrpcStruct, $xmlrpcString, $xmlrpcString, $xmlrpcString)), 
    7777                "docstring" => "get user location, returns struct on succees, 0 on error, -1 on access denied", 
     78            ), 
     79 
     80            "dolphin.updateUserLocation" => array( 
     81                "function" => "BxDolXMLRPCUser::updateUserLocation", 
     82                "signature" => array (array ($xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString)), 
     83                "docstring" => "update user location, returns 1 on succees, 0 on error", 
    7884            ),  
    7985 
     
    118124                "signature" => array (array ($xmlrpcArray, $xmlrpcString, $xmlrpcString,$xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString)), 
    119125                "docstring" => "get search results by keyword", 
     126            ),             
     127            "dolphin.getSearchResultsNearMe" => array( 
     128                "function" => "BxDolXMLRPCSearch::getSearchResultsNearMe", 
     129                "signature" => array (array ($xmlrpcArray, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString)), 
     130                "docstring" => "get search results near specified location", 
    120131            ),             
    121132 
Note: See TracChangeset for help on using the changeset viewer.