Changeset 861


Ignore:
Timestamp:
Mar 31, 2015 11:53:49 AM (10 years ago)
Author:
dungnv
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pro-violet-viettel/www/deploy/api/platform/modules/space/actions/actions.class.php

    r856 r861  
    8282   
    8383    private function CopySpaceDir($sourceObj, $destination, $userId, &$aryNewTree) {
    84         $dirId = $sourceObj->id;
    85        
     84        error_log(date('YmdHis').' - Source Obj: '.var_export($sourceObj, TRUE), 3, '/srv/www/sgb/log/file.log');
     85        $dirId = $sourceObj->id;       
    8686        $c = new Criteria();
    8787        $c->add(TblspacecategoryPeer::CAT_ID, $dirId);
     
    9898        $aryNewTree['DIRECTORIES'][] = $newDir;
    9999       
     100        error_log(date('YmdHis').' - $aryNewTree: '.var_export($aryNewTree, TRUE), 3, '/srv/www/sgb/log/file.log');
     101       
    100102        if (isset($sourceObj->childDirs)) {
    101                 $aryChidlDirs = $sourceObj->childDirs;
    102                 foreach ($aryChidlDirs as $key => $dir) {
    103 
    104                                
    105                        
    106                                         /*$c = new Criteria();
    107                                 $c->add(TblspacecategoryPeer::CAT_ID, $dir->id);
    108                                 $c->add(TblspacecategoryPeer::CAT_USER, $userId);
    109                                 $currentDir = TblspacecategoryPeer::doSelectOne($c);
    110                                 $newChildDirID = $this->CreateSpaceDir($currentDir->getCatName(), $newDirID, $userId);
    111                                
    112                                 $newDir = new stdClass();
    113                                 $newDir->id = $newChildDirID;
    114                                 $newDir->name = $dir->name;
    115                                 $newDir->parentID = $newDirID;
    116                                
    117                                 $aryNewTree['DIRECTORIES'][] = $newDir; */
    118                        
    119                         //$this->CopySpaceDir($dir, $newDirID, $userId, $aryNewTree);
     103                foreach ($sourceObj->childDirs as $key => $dir) {
     104                                $this->CopySpaceDir($dir, $newDir->id, $userId , $aryNewTree);
    120105                }
    121106        }
    122107       
    123        
    124         /* $c = new Criteria();
    125         $c->add(TblspacecategoryPeer::CAT_ID, $newDirID);
    126         $c->add(TblspacecategoryPeer::CAT_USER, $userId);
    127         $newCat = TblspacecategoryPeer::doSelectOne($c);
    128 
    129         $newDir = new stdClass();
    130         $newDir->id = $newDirID;
    131         $newDir->name = $newCat->getCatName();
    132         $newDir->parentID = $newCat->getCatParent(); */
    133 
    134         //$aryNewTree['DIRECTORIES'][] = $newDir;
    135 
    136         /* if (isset($sourceObj->files)) {
    137             $aryChidlFiles = $sourceObj->files;
    138             foreach ($aryChidlFiles as $key => $file) {
    139                 $aryNewTree['FILES'][] = $this->CopySpaceFile($file->id, $newDirID, $userId);
    140             }
    141         }
    142 
    143         if (isset($sourceObj->childs)) {
    144             $aryChidlDirs = $sourceObj->childs;
    145             foreach ($aryChidlDirs as $key => $dir) {
    146                 $this->CopySpaceDir($dir, $newDirID, $userId, $aryNewTree);
    147             }
    148         } */
     108        if (isset($sourceObj->childFiles)) {
     109                foreach ($sourceObj->childFiles as $key => $file) {
     110                        $aryNewTree['FILES'][] = $this->CopySpaceFile($file->id, $newDirID, $userId);
     111                }
     112        }
     113       
    149114    }
    150115
    151116    private function CopySpaceFile($fileId, $destination, $userId) {
    152         $newFile = new stdClass();
    153117        $c = new Criteria();
    154118        $c->add(TblspacefilePeer::FILE_ID, $fileId);
     
    165129        $tblfile->setFileDate(date('Y-m-d H:i:s'));
    166130        $tblfile->save();
     131       
     132        $c = new Criteria();
     133        $c->add(TblspaceresourcePeer::RES_ID, $currentFile->getFileResource());
     134        $res = TblspaceresourcePeer::doSelectOne($c);
     135   
     136        $thumbnailUrl = file_exists("previews/$userId/".$tblfile->getFileId()."/0.png") ? "http://sbgapi.violet.vn/previews/$userId/".$tblfile->getFileId()."/0.png" : '';
     137       
     138        $newFile = new stdClass();       
    167139        $newFile->id = $tblfile->getFileId();
    168140        $newFile->name = $fileName;
    169141        $newFile->parentID = $destination;
    170142        $newFile->minetype = $currentFile->getFileType();
     143        $newFile->fileurl = str_replace('/srv/www/violet/web', 'http://sbgapi.violet.vn', $res->getFullFilename());
     144        $newFile->thumbnail = $thumbnailUrl;
     145        $newFile->size = $res->getResFilesize();
     146       
    171147        return $newFile;
    172148    }
     
    366342        $act = $this->getRequestParameter('act');
    367343        $data = $this->getRequestParameter('data');
    368         $aryNewTree = array('DIRECTORIES' => array(), 'FILES' => array(),);
     344        $aryNewTree = array('DIRECTORIES' => array(), 'FILES' => array());
    369345        $aryTreeObj = json_decode($data);
    370346        if (is_array($aryTreeObj)) {
    371             foreach ($aryTreeObj as $key => $treeObj) {
    372                 if ($act == 'copy') {
    373                     if ($treeObj->type == 'directory') {
    374                         $this->CopySpaceDir($treeObj, $destination, $userId, $aryNewTree);
    375                     } else {
    376                         $aryNewTree['FILES'] = $this->CopySpaceFile($treeObj->id, $destination, $userId);
    377                     }
    378                 } else if ($act == 'move') {
    379                     $this->changeParentDir($treeObj, $destination);
    380                     if ($treeObj->type == 'directory')
    381                         $aryNewTree['DIRECTORIES'][] = $treeObj;
    382                     if ($treeObj->type == 'file')
    383                         $aryNewTree['FILES'][] = $treeObj;
    384                 }
    385             }
    386         }
    387 
     347            foreach ($aryTreeObj as $key => $treeObj) {                 
     348                if ($act == 'copy') {
     349                        if ($treeObj->type == 'directory'){
     350                                $this->CopySpaceDir($treeObj, $destination, $userId, $aryNewTree);
     351                        }
     352                        else {
     353                                $newFile = $this->CopySpaceFile($treeObj->id, $destination, $userId);
     354                                $aryNewTree['FILES'][] = $newFile;
     355                        }
     356                }
     357            }
     358        }
     359       
    388360        $this->errMsg = '';
    389361        $this->errCode = '';
Note: See TracChangeset for help on using the changeset viewer.