Changeset 887 for pro-violet-viettel


Ignore:
Timestamp:
Apr 15, 2015 4:05:39 PM (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

    r878 r887  
    1818        $this->forward('default', 'module');
    1919    }
    20    
     20
     21    private function createImateThumbnail($fileName, &$thumnail = '') {
     22        $thumnailPath = dirname($fileName);
     23        $rawFileName = str_replace($thumnailPath, '', $fileName);
     24        $thumbnailfileName = substr($rawFileName, 0, strlen($rawFileName) - 4) . '_thumb.jpg';
     25        list($width, $height) = getimagesize($fileName);
     26        $new_width = 64;
     27        $new_height = 50;
     28        $image_p = imagecreatetruecolor($new_width, $new_height);
     29        $image = imagecreatefromjpeg($fileName);
     30        imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
     31        $thumnail = $thumnailPath.$thumbnailfileName;
     32        return imagejpeg($image_p, $thumnailPath.$thumbnailfileName, 30);
     33    }
     34
    2135    private function autoDirName ($folderName, $parentId, $userId) {
    22        
     36
    2337        $c = new Criteria();
    2438        $c->add(TblspacecategoryPeer::CAT_PARENT, $parentId);
     
    2640        $c->add(TblspacecategoryPeer::CAT_NAME, $folderName);
    2741        $category = TblspacecategoryPeer::doSelectOne($c);
    28        
     42
    2943        if (!is_null($category)) {
    3044                $newFolderName = 'Copy of ' . $folderName;
    3145                $folderName = $this->autoDirName($newFolderName, $parentId, $userId);
    3246        }
    33        
     47
    3448        return $folderName;
    3549    }
    3650
    3751    private function CreateSpaceDir($folderName, $parentId, $userId, &$objNewDir = null) {
    38         /* $c = new Criteria();
     52        $c = new Criteria();
    3953        $c->add(TblspacecategoryPeer::CAT_PARENT, $parentId);
    4054        $c->add(TblspacecategoryPeer::CAT_USER, $userId);
    4155        $c->add(TblspacecategoryPeer::CAT_NAME, $folderName);
    4256        $category = TblspacecategoryPeer::doSelectOne($c);
    43         error_log(var_export($category, TRUE) . "\n", 3, '/srv/www/sbg/log/filename.log');
    44        
     57
    4558        if (!is_null($category)) {
    4659            $folderName = 'Copy of ' . $folderName;
    47         } */
    48        
    49         $folderName = $this->autoDirName($folderName, $parentId, $userId);
    50        
     60        }
     61
    5162        $category = new Tblspacecategory();
    5263        $category->setCatName($folderName);
     
    5566        $category->setCatDate(date('Y-m-d H:i:s'));
    5667        $category->save();
    57        
     68
    5869        $objNewDir = $category;
    5970        return $category->getCatId();
     
    102113        rmdir($path);
    103114    }
    104    
     115
    105116    private function CopySpaceDir($sourceObj, $destination, $userId, &$aryNewTree) {
    106117        error_log(date('YmdHis').' - Source Obj: '.var_export($sourceObj, TRUE), 3, '/srv/www/sgb/log/file.log');
    107         $dirId = $sourceObj->id;       
     118        $dirId = $sourceObj->id;
    108119        $c = new Criteria();
    109120        $c->add(TblspacecategoryPeer::CAT_ID, $dirId);
     
    111122        $currentDir = TblspacecategoryPeer::doSelectOne($c);
    112123        $objNewDir = null;
    113        
     124
    114125        $newDirID = $this->CreateSpaceDir($currentDir->getCatName(), $destination, $userId, $objNewDir);
    115        
     126
    116127        $newDir = new stdClass();
    117128        $newDir->id = $newDirID;
    118129        $newDir->name = $objNewDir->getCatName();
    119130        $newDir->parentID = $destination;
    120        
     131
    121132        $aryNewTree['DIRECTORIES'][] = $newDir;
    122        
     133
    123134        if (isset($sourceObj->childDirs)) {
    124135                foreach ($sourceObj->childDirs as $key => $dir) {
     
    126137                }
    127138        }
    128        
     139
    129140        if (isset($sourceObj->childFiles)) {
    130141                foreach ($sourceObj->childFiles as $key => $file) {
     
    132143                }
    133144        }
    134        
     145
    135146    }
    136147
     
    150161        $tblfile->setFileDate(date('Y-m-d H:i:s'));
    151162        $tblfile->save();
    152        
     163
    153164        $c = new Criteria();
    154165        $c->add(TblspaceresourcePeer::RES_ID, $currentFile->getFileResource());
    155166        $res = TblspaceresourcePeer::doSelectOne($c);
    156    
     167
    157168        $thumbnailUrl = file_exists("previews/$userId/".$tblfile->getFileId()."/0.png") ? "http://sbgapi.violet.vn/previews/$userId/".$tblfile->getFileId()."/0.png" : '';
    158        
    159         $newFile = new stdClass();       
     169
     170        $newFile = new stdClass();
    160171        $newFile->id = $tblfile->getFileId();
    161172        $newFile->name = $fileName;
     
    165176        $newFile->thumbnail = $thumbnailUrl;
    166177        $newFile->size = $res->getResFilesize();
    167        
     178
    168179        return $newFile;
    169180    }
     
    183194        return $item;
    184195    }
    185    
     196
    186197    private function createPreview($fileurl, $userId, $fileid) {
    187198        $url = "https://docs.google.com/gview?url=" .urlencode($fileurl) . "";
     
    210221                        if ($code == 200)
    211222                        {
    212    
     223
    213224                                $count++;
    214225                                if (!file_exists('previews/'. $userId."/")) {
    215226                                        mkdir('previews/'. $userId."/", 0777, true);
    216227                                }
    217    
     228
    218229                                if (!file_exists('previews/'. $userId."/".$fileid."/")) {
    219    
     230
    220231                                        mkdir('previews/'. $userId."/".$fileid."/", 0777, true);
    221    
     232
    222233                                }
    223234                                file_put_contents("previews/" . $userId . "/" . $fileid . "/" . $i . ".png", $image);
    224    
     235
    225236                        } else {
    226237                                break;
    227238                        }
    228239                }
    229    
     240
    230241        }
    231242        return $count;
    232     }   
    233    
     243    }
     244
    234245    public function executePreview(){
    235246        $fileId = $this->getRequestParameter('fileId');
     
    239250        $c->add(TblspacefilePeer::FILE_USER, $userId);
    240251        $currentFile = TblspacefilePeer::doSelectOne($c);
    241        
     252
    242253        $files = scandir("previews/".$userId."/".$fileId);
    243254        $count=(count($files)-2);
    244        
     255
    245256        if ($count < 1)
    246257        {
    247258            $tblres = TblspacefilePeer::retrieveByPk($fileId)->getTblspaceresource();
    248             $fileName = $tblres->getFullFilename(); 
     259            $fileName = $tblres->getFullFilename();
    249260            $fileUrl = str_replace("/srv/www/violet/web", "http://sbgapi.violet.vn", $fileName);
    250261            $count=$this->createPreview($fileUrl, $userId, $fileId);
     
    346357                if ($tblfile)
    347358                    $tblfile->delete();
    348                
    349                
    350                
     359
     360
     361
    351362                break;
    352363        }
     
    417428        $aryTreeObj = json_decode($data);
    418429        if (is_array($aryTreeObj)) {
    419             foreach ($aryTreeObj as $key => $treeObj) {                 
     430            foreach ($aryTreeObj as $key => $treeObj) {
    420431                if ($act == 'copy') {
    421432                        if ($treeObj->type == 'directory'){
     
    429440            }
    430441        }
    431        
     442
    432443        $this->errMsg = '';
    433444        $this->errCode = '';
     
    472483            $fileUrl = str_replace("/srv/www/violet/web", "http://sbgapi.violet.vn", $filePath);
    473484        }
    474        
     485
    475486        $ext = pathinfo($fileUrl, PATHINFO_EXTENSION);
    476487        $ext = strtolower($ext);
    477        
    478         if (in_array($ext, array("ppt","xls","doc","pdf","docx","pptx","xlsx"))) 
    479         { 
     488
     489        if (in_array($ext, array("ppt","xls","doc","pdf","docx","pptx","xlsx")))
     490        {
    480491            $this->createPreview($fileUrl, $userId, $tblfile->getFileId());
    481492        }
    482        
     493
     494        if (in_array($ext, array("jpg", "jpeg", "png","gif","tiff","dvg","bmp")))
     495        {
     496                $thumbnail = '';
     497                $this->createImateThumbnail($filePath, $thumnail);
     498        }
     499
    483500        if ($response == 1) {
    484501            $aryError = array('err' => "", 'errCode' => 0);
     
    493510            );
    494511            $aryData = array('DIRECTORIES' => array(), 'FILES' => $aryFiles, 'ERROR' => $aryError);
    495            
     512
    496513            $jsonData = json_encode($aryData);
    497514            echo $jsonData;
Note: See TracChangeset for help on using the changeset viewer.