HomeHelpTrac

Changeset 11418 for trunk/xmlrpc


Ignore:
Timestamp:
07/15/09 05:07:42 (3 years ago)
Author:
Alexander Trofimov
Message:

XMLRPC media queries for albuns

Location:
trunk/xmlrpc
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/xmlrpc/BxDolXMLRPCImages.php

    r10863 r11418  
    4747    } 
    4848 
     49    function getImageAlbums ($sUser, $sPwd, $sNick) 
     50    { 
     51        $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
     52        if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
     53            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct")); 
     54 
     55        return BxDolXMLRPCMedia::_getMediaAlbums ('photo', $iIdProfile); 
     56    } 
     57 
    4958    function uploadImage ($sUser, $sPwd, $aCats, $binImageData, $iDataLength, $sTitle, $sTags, $sDesc) 
    5059    { 
  • trunk/xmlrpc/BxDolXMLRPCMedia.php

    r11011 r11418  
    33class BxDolXMLRPCMedia 
    44{ 
     5    // ------------------ get files in category 
     6     
    57    function getVideoInCategory($sUser, $sPwd, $sNick, $sCat) 
    68    { 
     
    2022        return BxDolXMLRPCMedia::_getFilesInCategory ('sounds', $iIdProfile, $sCat); 
    2123    } 
    22  
    23     function getAudioCategories ($sUser, $sPwd, $sNick) 
    24     { 
    25         $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
    26         if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
    27             return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct")); 
    28  
    29         return BxDolXMLRPCMedia::_getMediaCategories ('music', $iIdProfile); 
    30     } 
    31  
    32     function getVideoCategories ($sUser, $sPwd, $sNick) 
    33     { 
    34         $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
    35         if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
    36             return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct")); 
    37  
    38         return BxDolXMLRPCMedia::_getMediaCategories ('video', $iIdProfile); 
    39     } 
    40  
    41     function _getMediaCategories ($sType, $iIdProfile) 
    42     { 
    43         switch ($sType) { 
    44             case 'photo': 
    45                 $sTable = 'bx_photos_files'; 
    46                 $sFieldId = 'ID'; 
    47                 $sFieldOwner = 'Owner'; 
    48                 $sType = 'bx_photos'; 
    49                 break; 
    50             case 'video': 
    51                 $sTable = 'RayVideoFiles'; 
    52                 $sFieldId = 'ID'; 
    53                 $sFieldOwner = 'Owner'; 
    54                 $sType = 'bx_videos'; 
    55                 break; 
    56             case 'music': 
    57                 $sTable = 'RayMp3Files'; 
    58                 $sFieldId = 'ID'; 
    59                 $sFieldOwner = 'Owner'; 
    60                 $sType = 'bx_sounds'; 
    61                 break;           
    62             default: 
    63                 return new xmlrpcval (array(), "array"); 
    64         } 
    65  
    66         if (!($r = db_res (" 
    67             SELECT `c`.`Category`, COUNT(`f`.`$sFieldId`) AS `Num` 
    68             FROM `sys_categories` AS `c` 
    69             LEFT JOIN `$sTable` AS `f` ON (`f`.`$sFieldId` = `c`.`ID` AND `f`.`$sFieldOwner` = '$iIdProfile') 
    70             WHERE `c`.`Type` = '$sType' AND (`c`.`Owner` = '0' OR `c`.`Owner` = '$iIdProfile') 
    71             GROUP BY `c`.`Category`"))) 
    72             return new xmlrpcval (array(), "array"); 
    73         $aFiles = array (); 
    74         while ($a = mysql_fetch_array ($r)) 
    75         { 
    76             $aFile = array ( 
    77                 'Id' => new xmlrpcval($a['Category']), 
    78                 'Title' => new xmlrpcval($a['Category']), 
    79                 'Num' =>new xmlrpcval($a['Num']), 
    80             ); 
    81             $aFiles[] = new xmlrpcval($aFile, 'struct'); 
    82         } 
    83         return new xmlrpcval ($aFiles, "array"); 
    84     }    
    8524 
    8625    function _getFilesInCategory ($sModuleName, $iIdProfile, $sCat) 
     
    10645        return new xmlrpcval ($aFiles, "array"); 
    10746    } 
     47 
     48    // ------------------ categories list 
     49 
     50    function getAudioCategories ($sUser, $sPwd, $sNick) 
     51    { 
     52        $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
     53        if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
     54            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct")); 
     55 
     56        return BxDolXMLRPCMedia::_getMediaCategories ('music', $iIdProfile); 
     57    } 
     58 
     59    function getVideoCategories ($sUser, $sPwd, $sNick) 
     60    { 
     61        $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
     62        if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
     63            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct")); 
     64 
     65        return BxDolXMLRPCMedia::_getMediaCategories ('video', $iIdProfile); 
     66    } 
     67 
     68    function _getMediaCategories ($sType, $iIdProfile) 
     69    { 
     70        switch ($sType) { 
     71            case 'photo': 
     72                $sTable = 'bx_photos_files'; 
     73                $sFieldId = 'ID'; 
     74                $sFieldOwner = 'Owner'; 
     75                $sType = 'bx_photos'; 
     76                break; 
     77            case 'video': 
     78                $sTable = 'RayVideoFiles'; 
     79                $sFieldId = 'ID'; 
     80                $sFieldOwner = 'Owner'; 
     81                $sType = 'bx_videos'; 
     82                break; 
     83            case 'music': 
     84                $sTable = 'RayMp3Files'; 
     85                $sFieldId = 'ID'; 
     86                $sFieldOwner = 'Owner'; 
     87                $sType = 'bx_sounds'; 
     88                break;           
     89            default: 
     90                return new xmlrpcval (array(), "array"); 
     91        } 
     92 
     93        if (!($r = db_res (" 
     94            SELECT `c`.`Category`, COUNT(`f`.`$sFieldId`) AS `Num` 
     95            FROM `sys_categories` AS `c` 
     96            LEFT JOIN `$sTable` AS `f` ON (`f`.`$sFieldId` = `c`.`ID` AND `f`.`$sFieldOwner` = '$iIdProfile') 
     97            WHERE `c`.`Type` = '$sType' AND (`c`.`Owner` = '0' OR `c`.`Owner` = '$iIdProfile') 
     98            GROUP BY `c`.`Category`"))) 
     99            return new xmlrpcval (array(), "array"); 
     100        $aFiles = array (); 
     101        while ($a = mysql_fetch_array ($r)) 
     102        { 
     103            $aFile = array ( 
     104                'Id' => new xmlrpcval($a['Category']), 
     105                'Title' => new xmlrpcval($a['Category']), 
     106                'Num' =>new xmlrpcval($a['Num']), 
     107            ); 
     108            $aFiles[] = new xmlrpcval($aFile, 'struct'); 
     109        } 
     110        return new xmlrpcval ($aFiles, "array"); 
     111    }    
     112 
     113    // ----------------- albums list 
     114 
     115    function getAudioAlbums ($sUser, $sPwd, $sNick) 
     116    { 
     117        $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
     118        if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
     119            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct")); 
     120 
     121        return BxDolXMLRPCMedia::_getMediaAlbums ('music', $iIdProfile); 
     122    } 
     123 
     124    function getVideoAlbums ($sUser, $sPwd, $sNick) 
     125    { 
     126        $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
     127        if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
     128            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct")); 
     129 
     130        return BxDolXMLRPCMedia::_getMediaAlbums ('video', $iIdProfile); 
     131    } 
     132 
     133    function _getMediaAlbums ($sType, $iIdProfile)  
     134    {         
     135        switch ($sType) { 
     136            case 'photo': 
     137                $sType = 'bx_photos'; 
     138                break; 
     139            case 'video': 
     140                $sType = 'bx_videos'; 
     141                break; 
     142            case 'music': 
     143                $sType = 'bx_sounds'; 
     144                break;           
     145            default: 
     146                return new xmlrpcval (array(), "array"); 
     147        } 
     148        bx_import('BxDolAlbums'); 
     149        $o = new BxDolAlbums ($sType, $iIdProfile); 
     150        $aList = $o->getAlbumList (array('owner' => $iIdProfile)); 
     151        $aXmlRpc = array (); 
     152        while ($aList = mysql_fetch_array ($r)) 
     153        { 
     154            $a = array ( 
     155                'Id' => new xmlrpcval($a['ID']), 
     156                'Title' => new xmlrpcval($a['Caption']), 
     157                'Num' =>new xmlrpcval($a['ObjCount']), 
     158            ); 
     159            $aXmlRpc[] = new xmlrpcval($aFile, 'struct'); 
     160        } 
     161        return new xmlrpcval ($aXmlRpc, "array"); 
     162    }     
     163 
     164    // ----------------- file list in albums  
     165 
     166    function getVideoInAlbum($sUser, $sPwd, $sNick, $iAlbumId) 
     167    { 
     168        $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
     169        if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
     170            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct")); 
     171 
     172        return BxDolXMLRPCMedia::_getFilesInAlbum ('videos', $iIdProfile, $iAlbumId); 
     173    } 
     174 
     175    function getAudioInAlbum($sUser, $sPwd, $sNick, $iAlbumId) 
     176    { 
     177        $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
     178        if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
     179            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "struct")); 
     180 
     181        return BxDolXMLRPCMedia::_getFilesInAlbum ('sounds', $iIdProfile, $iAlbumId); 
     182    } 
     183 
     184    function _getFilesInAlbum ($sModuleName, $iIdProfile, $iAlbumId) 
     185    {      
     186        $a = BxDolService::call ($sModuleName, 'get_files_in_album', array($iAlbumId), 'Search'); 
     187        if (!$a) 
     188            return new xmlrpcval (array(), "array"); 
     189        foreach ($a as $k => $aRow) 
     190        { 
     191            $a = array ( 
     192                'id' => new xmlrpcval($aRow['id']), 
     193                'title' => new xmlrpcval($aRow['title']), 
     194                'desc' => new xmlrpcval(BxDolService::call ($sModuleName, 'get_length', array($aRow['size']), 'Search')), 
     195                'icon' => new xmlrpcval($aRow['icon']), 
     196                'thumb' => new xmlrpcval($aRow['thumb']), 
     197                'file' => new xmlrpcval($aRow['file']), 
     198                'cat' => new xmlrpcval($sCat), 
     199                'rate' => new xmlrpcval($aRow['voting_rate']), 
     200                'rate_count' => new xmlrpcval((int)$aRow['voting_count']), 
     201            ); 
     202            $aFiles[] = new xmlrpcval($a, 'struct'); 
     203        } 
     204        return new xmlrpcval ($aFiles, "array"); 
     205    }     
    108206} 
    109207 
  • trunk/xmlrpc/BxDolXMLRPCUtil.php

    r10863 r11418  
    9191    { 
    9292        $aRet = array (); 
    93         $aSexSql = getProfileInfo( $iId ); //db_arr( $sSexSql ); 
     93        $aSexSql = getProfileInfo($iId); //db_arr( $sSexSql ); 
    9494        $aRet['title'] = new xmlrpcval($aSexSql['Headline']); 
    9595        $aRet['thumb'] = new xmlrpcval(BxDolXMLRPCUtil::getThumbLink($iId));//$sFileName); 
     
    9898        $aRet['country'] = new xmlrpcval($aSexSql['Country']); 
    9999        $aRet['city'] = new xmlrpcval($aSexSql['City']); 
     100 
     101        bx_import('BxDolAlbums'); 
     102 
     103        $o = new BxDolAlbums ('bx_photos', $iId); 
     104        $aRet['countPhotos'] = new xmlrpcval($o->getAlbumList (array('owner' => $iId, 'status' => ''))); 
     105 
     106        $o = new BxDolAlbums ('bx_videos', $iId); 
     107        $aRet['countVideos'] = new xmlrpcval($o->getAlbumList (array('owner' => $iId, 'status' => ''))); 
     108 
     109        $o = new BxDolAlbums ('bx_sounds', $iId); 
     110        $aRet['countSounds'] = new xmlrpcval($o->getAlbumList (array('owner' => $iId, 'status' => ''))); 
    100111 
    101112        return $aRet; 
  • trunk/xmlrpc/index.php

    r9175 r11418  
    167167                "signature" => array (array ($xmlrpcArray, $xmlrpcString, $xmlrpcString, $xmlrpcString)), 
    168168                "docstring" => "get profile's image categories", 
    169             ),                
     169            ), 
     170            "dolphin.getImageAlbums" => array( 
     171                "function" => "BxDolXMLRPCImages::getImageAlbums", 
     172                "signature" => array (array ($xmlrpcArray, $xmlrpcString, $xmlrpcString, $xmlrpcString)), 
     173                "docstring" => "get profile's images albums", 
     174            ),                            
    170175            "dolphin.uploadImage" => array( 
    171176                "function" => "BxDolXMLRPCImages::uploadImage", 
     
    195200                "signature" => array (array ($xmlrpcArray, $xmlrpcString, $xmlrpcString, $xmlrpcString)), 
    196201                "docstring" => "get profile's music categories", 
    197             ),                
    198  
    199  
     202            ), 
     203            "dolphin.getAudioAlbums" => array( 
     204                "function" => "BxDolXMLRPCMedia::getAudioAlbums", 
     205                "signature" => array (array ($xmlrpcArray, $xmlrpcString, $xmlrpcString, $xmlrpcString)), 
     206                "docstring" => "get profile's sound albums", 
     207            ), 
     208            "dolphin.getVideoAlbums" => array( 
     209                "function" => "BxDolXMLRPCMedia::getVideoAlbums", 
     210                "signature" => array (array ($xmlrpcArray, $xmlrpcString, $xmlrpcString, $xmlrpcString)), 
     211                "docstring" => "get profile's video albums", 
     212            ), 
    200213        ), 
    201214        0 
Note: See TracChangeset for help on using the changeset viewer.