HomeHelpTrac

Changeset 8181 for trunk/xmlrpc


Ignore:
Timestamp:
12/22/08 10:17:31 (3 years ago)
Author:
hihi
Message:
 
Location:
trunk/xmlrpc
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/xmlrpc/BxDolXMLRPCImages.php

    r7936 r8181  
    11<?php 
    22 
    3 class BxDolXMLRPCImages 
     3class BxDolXMLRPCImages extends BxDolXMLRPCMedia 
    44{ 
    55    function getImages($sUser, $sPwd, $sNick) 
     
    88    } 
    99 
    10     function getImagesInCategory($sUser, $sPwd, $sNick, $iCatId) 
     10    function getImagesInCategory($sUser, $sPwd, $sNick, $sCat) 
    1111    { 
    1212        $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
     
    1414            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "scruct")); 
    1515 
    16         require_once( BX_DIRECTORY_PATH_CLASSES . 'BxDolSharedPhoto.php' ); 
    17         $a = BxDolSharedPhoto::getActiveUserPhotosListForCategory ($iIdProfile, $iCatId); 
    18         if (!$a) 
    19             return new xmlrpcval (array(), "array"); 
    20  
    21         $aImages = array(); 
    22         foreach ($a as $aRow) 
    23         { 
    24             $a = array ( 
    25                 'id' => new xmlrpcval($aRow['id']), 
    26                 'title' => new xmlrpcval($aRow['title']), 
    27                 'desc' => new xmlrpcval($aRow['desc']), 
    28                 'icon' =>new xmlrpcval($aRow['icon']), 
    29                 'image' =>new xmlrpcval($aRow['medium']), 
    30                 'cat' =>new xmlrpcval($aRow['cat']), 
    31             ); 
    32             $aImages[] = new xmlrpcval($a, 'struct'); 
    33         } 
    34  
    35         return new xmlrpcval ($aImages, "array"); 
     16        global $tmpl; 
     17        require_once(BX_DIRECTORY_PATH_ROOT . 'templates/tmpl_'.$tmpl.'/scripts/BxTemplSearchSharedPhoto.php'); 
     18        $oMedia = new BxTemplSearchSharedPhoto(); 
     19        return parent::_getFilesInCategory ($oMedia, $iIdProfile, $sCat); 
    3620    } 
    3721 
     
    5539            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "scruct")); 
    5640 
    57         return new xmlrpcval ("ok"); 
     41        require_once(BX_DIRECTORY_PATH_CLASSES . 'BxDolSharedPhoto.php'); 
     42        $aMember = array ('ID' => $iId); 
     43        $oMedia = new BxDolSharedPhoto();  
     44 
     45        if ($oMedia->setThumbnail ($iImageId)) 
     46            return new xmlrpcval ("ok"); 
    5847        return new xmlrpcval ("fail"); 
    5948    } 
     
    6554            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "scruct")); 
    6655 
    67         if (!($r = db_res (" 
    68             SELECT `pc`.`ID`, `pc`.`Title`, `pc`.`Desc`, COUNT(`pf`.`medID`) AS `Num` 
    69             FROM `sharePhotoCategories` AS `pc` 
    70             LEFT JOIN `sharePhotoFiles` AS `pf` ON (`pf`.`CategoryId` = `pc`.`ID` AND `pf`.`medProfId` = '$iIdProfile') 
    71             GROUP BY `pc`.`ID` 
    72             ORDER BY `pc`.`Order`"))) 
    73             return new xmlrpcval (array(), "array"); 
     56        require_once(BX_DIRECTORY_PATH_CLASSES . 'BxDolSharedPhoto.php'); 
     57        $oMedia = new BxDolSharedPhoto();          
    7458 
    75         $aRet = array(); 
    76         while ($a = mysql_fetch_array ($r)) 
    77         { 
    78             $aImage = array ( 
    79                 'Id' => new xmlrpcval($a['ID']), 
    80                 'Title' => new xmlrpcval($a['Title']), 
    81                 'Desc' =>new xmlrpcval($a['Desc']), 
    82                 'Num' =>new xmlrpcval($a['Num']), 
    83             ); 
    84             $aImages[] = new xmlrpcval($aImage, 'struct'); 
    85         } 
    86         return new xmlrpcval ($aImages, "array"); 
     59        return parent::_getMediaCategories ($oMedia->sFileTable, $oMedia->aFileFields['medID'], $oMedia->sType, $iIdProfile); 
    8760    } 
    8861 
    89     function uploadImage ($sUser, $sPwd, $iCat, $binImageData, $iDataLength, $sTitle, $sTags, $sDesc) 
     62    function uploadImage ($sUser, $sPwd, $aCats, $binImageData, $iDataLength, $sTitle, $sTags, $sDesc) 
    9063    { 
    9164        if (!($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
     
    11689        $aFileInfo['medDesc'] = process_db_input(htmlspecialchars_adv($sDesc)); 
    11790        $aFileInfo['medTags'] = process_db_input(htmlspecialchars_adv($sTags)); 
    118         $aFileInfo['CategoryId'] = $iCat = (int)$iCat ? (int)$iCat : PROFILE_PHOTOS_CATEGORY; 
     91        $aFileInfo['Categories'] = is_array($aCats) && count($aCats) ? $aCats : array(PROFILE_PHOTOS_CATEGORY);  
     92         
     93        $isUpdateThumb = (int)db_value("SELECT `Picture` FROM `Profiles` WHERE `ID` = '$iId' LIMIT 1") ? false : true; 
    11994 
    120         $isUpdateThumb = false; 
    121         if ($iCat == PROFILE_PHOTOS_CATEGORY) 
    122             $isUpdateThumb = BxDolSharedPhoto::getActiveUserPhotosListForCategory ($iId, $iCat) ? false : true; 
    123  
    124         $oUploader = new BxDolDefPhotoUploader(); 
    125         if ($oUploader->performPhotoUpload($sTmpFilename, $aFileInfo, $isUpdateThumb)) 
     95        $oUploader = new BxDolDefPhotoUploader(); 
     96        if ($oUploader->performPhotoUpload('', $aFileInfo, $isUpdateThumb, $sTmpFilename) > 0) 
    12697            return new xmlrpcval ("ok"); 
    12798        else 
  • trunk/xmlrpc/BxDolXMLRPCMedia.php

    r7936 r8181  
    33class BxDolXMLRPCMedia 
    44{ 
    5     function getVideoInCategory($sUser, $sPwd, $sNick, $iCatId) 
     5    function getVideoInCategory($sUser, $sPwd, $sNick, $sCat) 
    66    { 
    77        $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
     
    99            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "scruct")); 
    1010 
    11         $aMedia = array(); 
    12         { 
    13             $a = array ( 
    14                 'id' => new xmlrpcval(1), 
    15                 'title' => new xmlrpcval('title'), 
    16                 'desc' => new xmlrpcval('desc'), 
    17                 'icon' =>new xmlrpcval('http://www.boonex.us/ray/modules/movie/files/941_small.jpg'), 
    18                 'file' =>new xmlrpcval('http://www.boonex.us/111.mp4'), 
    19                 'cat' =>new xmlrpcval(1), 
    20             ); 
    21             $aMedia[] = new xmlrpcval($a, 'struct'); 
    22  
    23             $a = array ( 
    24                 'id' => new xmlrpcval(2), 
    25                 'title' => new xmlrpcval('title22'), 
    26                 'desc' => new xmlrpcval('desc22'), 
    27                 'icon' =>new xmlrpcval('http://www.boonex.us/ray/modules/movie/files/475_small.jpg'), 
    28                 'file' =>new xmlrpcval('http://www.boonex.us/222.mp4'), 
    29                 'cat' =>new xmlrpcval(1), 
    30             ); 
    31             $aMedia[] = new xmlrpcval($a, 'struct'); 
    32         } 
    33  
    34         return new xmlrpcval ($aMedia, "array"); 
    35  
     11        global $tmpl; 
     12        require_once(BX_DIRECTORY_PATH_ROOT . 'templates/tmpl_'.$tmpl.'/scripts/BxTemplSearchSharedVideo.php'); 
     13        $oMedia = new BxTemplSearchSharedVideo(); 
     14        return BxDolXMLRPCMedia::_getFilesInCategory ($oMedia, $iIdProfile, $sCat); 
    3615    } 
    3716 
    38     function getAudioInCategory($sUser, $sPwd, $sNick, $iCatId) 
     17    function getAudioInCategory($sUser, $sPwd, $sNick, $sCat) 
    3918    { 
    4019        $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
     
    4221            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "scruct")); 
    4322 
    44         $aMedia = array(); 
    45         { 
    46             $a = array ( 
    47                 'id' => new xmlrpcval(1), 
    48                 'title' => new xmlrpcval('title'), 
    49                 'desc' => new xmlrpcval('desc'), 
    50                 'icon' =>new xmlrpcval('http://www.boonex.us/templates/tmpl_uni/images/music.png'), 
    51                 'file' =>new xmlrpcval('http://hihi.s/1.mp3'), 
    52                 'cat' =>new xmlrpcval(1), 
    53             ); 
    54             $aMedia[] = new xmlrpcval($a, 'struct'); 
    55         } 
    56  
    57         return new xmlrpcval ($aMedia, "array"); 
     23        global $tmpl; 
     24        require_once(BX_DIRECTORY_PATH_ROOT . 'templates/tmpl_'.$tmpl.'/scripts/BxTemplSearchSharedMusic.php'); 
     25        $oMedia = new BxTemplSearchSharedMusic(); 
     26        return BxDolXMLRPCMedia::_getFilesInCategory ($oMedia, $iIdProfile, $sCat); 
    5827    } 
    5928 
    6029    function getAudioCategories ($sUser, $sPwd, $sNick) 
    6130    { 
    62         return BxDolXMLRPCMedia::getVideoCategories ($sUser, $sPwd, $sNick); 
     31        $iIdProfile = BxDolXMLRPCUtil::getIdByNickname ($sNick); 
     32        if (!$iIdProfile || !($iId = BxDolXMLRPCUtil::checkLogin ($sUser, $sPwd))) 
     33            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "scruct")); 
     34 
     35        require_once(BX_DIRECTORY_PATH_CLASSES . 'BxDolSharedMusic.php'); 
     36        $oMedia = new BxDolSharedMusic();          
     37 
     38        return BxDolXMLRPCMedia::_getMediaCategories ($oMedia->sFileTable, $oMedia->aFileFields['medID'], $oMedia->sType, $iIdProfile); 
    6339    } 
    6440 
     
    6945            return new xmlrpcresp(new xmlrpcval(array('error' => new xmlrpcval(1,"int")), "scruct")); 
    7046 
    71         $aRet = array(); 
    72         { 
    73             $aMedia = array ( 
    74                 'Id' => new xmlrpcval(1), 
    75                 'Title' => new xmlrpcval('Title'), 
    76                 'Desc' =>new xmlrpcval('Desc'), 
    77                 'Num' =>new xmlrpcval(1), 
    78             ); 
    79             $aMedias[] = new xmlrpcval($aMedia, 'struct'); 
    80         } 
    81         return new xmlrpcval ($aMedias, "array"); 
     47        require_once(BX_DIRECTORY_PATH_CLASSES . 'BxDolSharedVideo.php'); 
     48        $oMedia = new BxDolSharedVideo();          
     49 
     50        return BxDolXMLRPCMedia::_getMediaCategories ($oMedia->sFileTable, $oMedia->aFileFields['medID'], $oMedia->sType, $iIdProfile); 
    8251    } 
    8352 
     53    function _getMediaCategories ($sTable, $sFieldId, $sType, $iIdProfile) 
     54    { 
     55        if (!($r = db_res (" 
     56            SELECT `c`.`Category`, COUNT(`f`.`$sFieldId`) AS `Num` 
     57            FROM `Categories` AS `c` 
     58            LEFT JOIN `$sTable` AS `f` ON (`f`.`$sFieldId` = `c`.`ID`) 
     59            WHERE `c`.`Type` = '$sType' AND (`c`.`Owner` = '0' OR `c`.`Owner` = '$iIdProfile') 
     60            GROUP BY `c`.`Category`"))) 
     61            return new xmlrpcval (array(), "array");         
     62        $aRet = array(); 
     63        while ($a = mysql_fetch_array ($r)) 
     64        { 
     65            $aImage = array ( 
     66                'Id' => new xmlrpcval($a['Category']), 
     67                'Title' => new xmlrpcval($a['Category']), 
     68                'Num' =>new xmlrpcval($a['Num']), 
     69            ); 
     70            $aImages[] = new xmlrpcval($aImage, 'struct'); 
     71        } 
     72        return new xmlrpcval ($aImages, "array"); 
     73    }    
     74 
     75    function _getFilesInCategory (&$oMedia, $iIdProfile, $sCat) 
     76    {       
     77        $oMedia->aCurrent['restriction']['owner']['value'] = $iIdProfile;   
     78        $oMedia->aCurrent['paginate']['perPage'] = 1000; 
     79        $oMedia->aCurrent['join']['category'] = array( 
     80            'type' => 'left', 
     81            'table' => 'Categories', 
     82            'mainField' => $oMedia->aPseud['id'], 
     83            'onField' => 'ID', 
     84            'joinFields' => array('Category') 
     85        ); 
     86        $oMedia->aCurrent['restriction']['category'] = array( 
     87            'value' => $sCat, 
     88            'field' => 'Category', 
     89            'operator' => '=', 
     90            'table' => 'Categories'  
     91        );          
     92 
     93        $aFiles = array(); 
     94        $a = $oMedia->getSearchData(); 
     95        if (!$a) 
     96            return new xmlrpcval (array(), "array"); 
     97 
     98        foreach ($a as $k => $aRow) 
     99        { 
     100            $a = array ( 
     101                'id' => new xmlrpcval($aRow['id']), 
     102                'title' => new xmlrpcval($aRow['title']), 
     103                'desc' => new xmlrpcval($aRow['size']), 
     104                'icon' =>new xmlrpcval($oMedia->getImgUrl($aRow['id'], 'icon')), 
     105                'file' =>new xmlrpcval($oMedia->getImgUrl($aRow['id'], 'file')), 
     106                'cat' =>new xmlrpcval($sCat), 
     107            ); 
     108            $aFiles[] = new xmlrpcval($a, 'struct'); 
     109        } 
     110 
     111        return new xmlrpcval ($aFiles, "array"); 
     112    } 
    84113} 
    85114 
  • trunk/xmlrpc/index.php

    r7936 r8181  
    88    require_once(BX_DIRECTORY_PATH_ROOT . 'xmlrpc/BxDolXMLRPCSearch.php'); 
    99    require_once(BX_DIRECTORY_PATH_ROOT . 'xmlrpc/BxDolXMLRPCFriends.php'); 
     10    require_once(BX_DIRECTORY_PATH_ROOT . 'xmlrpc/BxDolXMLRPCMedia.php');     
    1011    require_once(BX_DIRECTORY_PATH_ROOT . 'xmlrpc/BxDolXMLRPCImages.php'); 
    11     require_once(BX_DIRECTORY_PATH_ROOT . 'xmlrpc/BxDolXMLRPCMedia.php'); 
    1212 
    1313    require_once(BX_DIRECTORY_PATH_ROOT . 'xmlrpc/BxDolXMLRPCProfileView.php'); 
     
    167167            "dolphin.uploadImage" => array( 
    168168                "function" => "BxDolXMLRPCImages::uploadImage", 
    169                 "signature" => array (array ($xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcBase64, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString)), 
     169                "signature" => array (array ($xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcArray, $xmlrpcBase64, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString)), 
    170170                "docstring" => "upload new image", 
    171171            ),  
Note: See TracChangeset for help on using the changeset viewer.