Changeset 66


Ignore:
Timestamp:
Aug 25, 2014 7:37:45 PM (11 years ago)
Author:
dungnv
Message:
 
Location:
pro-bachkim-filespace/sourcecode
Files:
4 added
13 edited

Legend:

Unmodified
Added
Removed
  • pro-bachkim-filespace/sourcecode/application/config/autoload.php

    r42 r66  
    6565*/
    6666
    67 $autoload['helper'] = array('url','text');
     67$autoload['helper'] = array('url','text','file');
    6868
    6969
  • pro-bachkim-filespace/sourcecode/application/config/foreign_chars.php

    r1 r66  
    1717        '/À|Á|Â|Ã|Ä|Ã
    1818|Ǻ|Ā|Ă|Ą|Ǎ/' => 'A',
     19        '/À|Á|Ạ|Ả|Ẋ|Ẁ|ẚ|Ẫ|Ậ|Ằ|Ắ|Ẳ|Ẫ|Ặ/' => 'A',
    1920        '/à|á|â|ã|Ã¥|Ç»|ā|ă|Ä
    2021|ǎ|ª/' => 'a',
     22        '/à|á|ã|ạ|ả|ầ|ấ|ẩ|ẫ|ậ|ằ|ắ|ẳ|ẵ|ặ|aÌ£/' => 'a',
     23        '/nhật/' => 'nhat',
     24        '/Nhật/' => 'Nhat',
     25        '/lần/' => 'lan',
     26        '/Lần/' => 'Lan',
     27        '/tập/' => 'tap',
     28        '/Tập/' => 'Tap',
     29        '/\|/' => '-',
    2130        '/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
    2231        '/ç|ć|ĉ|ċ|č/' => 'c',
     
    2433        '/ð|ď|đ/' => 'd',
    2534        '/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/' => 'E',
     35        '/È|É|Ẻ|ẞ|Ẍ|Ề|ẟ|Ể|Ễ|Ệ/' => 'E',
    2636        '/Ú|é|ê|ë|ē|ĕ|ė|ę|ě/' => 'e',
     37        '/Ú|é|ẻ|ẜ|ẹ|ề|ế|ể|á»
     38|ệ|ế|é|è/' => 'e',
    2739        '/Ĝ|Ğ|Ä |Ä¢/' => 'G',
    2840        '/ĝ|ğ|Ä¡|Ä£/' => 'g',
    2941        '/Ä€|ÄŠ/' => 'H',
    3042        '/Ä¥|ħ/' => 'h',
    31         '/Ì|Í|Î|Ï|Äš|Ī|Ĭ|Ǐ|Ä®|İ/' => 'I',
    32         '/ì|í|î|ï|Ä©|Ä«|Ä­|ǐ|į|ı/' => 'i',
     43        '/Ì|Í|Î|Ï|Äš|Ī|Ĭ|Ǐ|Ä®|İ|Ị|Ỉ/' => 'I',
     44        '/ì|í|î|ï|Ä©|Ä«|Ä­|ǐ|į|ı|ị|ỉ/' => 'i',
    3345        '/ÄŽ/' => 'J',
    3446        '/ĵ/' => 'j',
     
    4153        '/ñ|ń|ņ|ň|ʼn/' => 'n',
    4254        '/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Æ |Ø|ÇŸ/' => 'O',
     55        '/Ò|Ó|Ỏ|Õ|Ọ|Ô|Ồ|Ố|Ổ|Ỗ|Ộ|Æ |Ờ|Ớ|Ở|á» |Ợ/' => 'O',
    4356        '/ò|ó|ÃŽ|õ|ō|ŏ|ǒ|ő|Æ¡|Þ|Ç¿|º/' => 'o',
     57        '/ò|ó|ỏ|õ|ọ|ÃŽ|ồ|ố|ổ|ỗ|ộ|Æ¡|ờ|ớ|ở|ỡ|ợ|ỏ|ò|oÌ£/' => 'o',
    4458        '/Ŕ|Ŗ|Ř/' => 'R',
    4559        '/ŕ|ŗ|ř/' => 'r',
     
    4862        '/Å¢|Å€|ÅŠ/' => 'T',
    4963        '/Å£|Å¥|ŧ/' => 't',
    50         '/Ù|Ú|Û|Åš|Ū|Ŭ|Å®|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/' => 'U',
    51         '/ù|ú|û|Å©|Å«|Å­|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/' => 'u',
    52         '/Ý|Åž|Ŷ/' => 'Y',
    53         '/Ü|ÿ|Å·/' => 'y',
     64        '/Ù|Ú|Û|Åš|Ū|Ŭ|Å®|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ|Åš|Ị|Ề|Ừ|Ớ|Ử|á»®|á»°/' => 'U',
     65        '/ù|ú|û|Å©|Å«|Å­|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ|ũ|á»§|ụ|ừ|ứ|á»­|ữ|á»±|ữ|ủ|ũ/' => 'u',
     66        '/ũ/' => 'u',
     67        '/Ý|Åž|Ŷ|Ở|á»¶|Ỏ|Ỳ/' => 'Y',
     68        '/Ü|ÿ|Å·|ỹ|á»·|ỵ|ỳ/' => 'y',
    5469        '/ÅŽ/' => 'W',
    5570        '/ŵ/' => 'w',
     
    6176        '/ij/' => 'ij',
    6277        '/Œ/' => 'OE',
    63         '/ƒ/' => 'f'
     78        '/ƒ/' => 'f',
     79        '/: |\//' => ' - ',
    6480);
    6581
  • pro-bachkim-filespace/sourcecode/application/libraries/vservices.php

    r42 r66  
    66        private $_curlObj;
    77        private $_userId;
     8        private $_password;
    89       
    910        public function __construct() {
     
    2324        }
    2425       
     26        public function setPassword ($password) {
     27                $this->_password = $password;
     28        }
     29       
    2530        public function getPrivateTree () {
    2631                $this->_curlObj->create($this->_apiUrl. 'space/dir/isgetall/1');
     
    3035                $post = array('userid' => $this->_userId);
    3136                $this->_curlObj->post($post);
     37                return $this->_curlObj->execute();
     38        }
     39       
     40        /**
     41         * $aryParams
     42         *
     43         * @param unknown $action
     44         * @param unknown $aryParams
     45         */
     46        public function actionExecute ($action, $aryParams = array()) {
     47                $this->_curlObj->create($this->_apiUrl. 'space/'.$action);
     48                $this->_curlObj->option(CURLOPT_BUFFERSIZE, 10);
     49                $this->_curlObj->options(array(CURLOPT_BUFFERSIZE => 10));
     50               
     51                $aryParams['userid'] = $this->_userId;
     52                $this->_curlObj->post($aryParams);
    3253                return $this->_curlObj->execute();
    3354        }
     
    4263                return $this->_curlObj->execute();
    4364        }
     65       
     66        public function deleteDir ($dirId) {
     67                $this->_curlObj->create($this->_apiUrl. 'space/delete');
     68                $this->_curlObj->option(CURLOPT_BUFFERSIZE, 10);
     69                $this->_curlObj->options(array(CURLOPT_BUFFERSIZE => 10));
     70               
     71                $post = array('userid' => $this->_userId, 'type' => 'folder', 'id' => $dirId);
     72                $this->_curlObj->post($post);
     73                return $this->_curlObj->execute();
     74        }
    4475               
    4576        public function __destruct() {
  • pro-bachkim-filespace/sourcecode/application/modules/ajax/controllers/privatecontent.php

    r43 r66  
    4242                $xmlData = $this->vservices->getPrivateTree();
    4343                $this->xml->parse($xmlData);
    44 
    4544                $aryDirs = array();
    4645                $aryFiles = array();
     46                write_file('log.txt', var_export($xmlData, true));
    4747               
    48                 $aryError = array('err' => $this->xml->tree->_param['err'], 'errCode' => $this->xml->tree->_param['errCode']);
     48                if (!isset($this->xml->tree)) {
     49                        $aryError = array('err' => 'KhÃŽng thể kết nối đến máy chá»§!', 'errCode' => '-1');
     50                        $aryData = array('DIRECTORIES' =>  array() , 'FILES' => array(), 'ERROR' => $aryError);
     51                        echo json_encode($aryData);
     52                        return;
     53                }
    4954               
    50                 if (is_array($this->xml->tree->folderlist->folder)) {
    51                         foreach($this->xml->tree->folderlist->folder as $key=>$value){
    52                                 $aryDirs[] = array('id' => $value->_param['id'], 'name' => $value->_value, 'parentID' => $value->_param['parentid'] == -1 ? 0:$value->_param['parentid']);
     55                $aryError = array('err' => $this->xml->tree->_param['err'], 'errCode' => (int)$this->xml->tree->_param['errCode']);
     56               
     57                if (isset($this->xml->tree->folderlist->folder)) {
     58                        if (is_array($this->xml->tree->folderlist->folder)) {
     59                                foreach($this->xml->tree->folderlist->folder as $key=>$value){
     60                                        $aryDirs[] = array('id' => $value->_param['id'], 'name' => $value->_value, 'parentID' => $value->_param['parentid'] == -1 ? 0:$value->_param['parentid']);
     61                                }
     62                        }
     63                        else {
     64                                $folder = $this->xml->tree->folderlist->folder;
     65                                $aryDirs[] = array('id' => $folder->_param['id'], 'name' => $folder->_value,'parentID' => $folder->_param['parentid'] == -1 ? 0:$folder->_param['parentid']);
    5366                        }
    5467                }
    55                 else if (isset($this->xml->tree->folderlist->folder)) {
    56                         $folder = $this->xml->tree->folderlist->folder;
    57                         $aryDirs[] = array('id' => $folder->_param['id'], 'name' => $folder->_value,'parentID' => $folder->_param['parentid'] == -1 ? 0:$folder->_param['parentid']);
    58                 }
    5968               
    60                 if (is_array($this->xml->tree->filelist->file)) {
    61                         foreach($this->xml->tree->filelist->file as $key=>$value){
    62                                 $aryFiles[] = array('id' => $value->_param['id'], 'name' => $value->_value, 'parentID' => $value->_param['parentid'] == -1 ? 0:$value->_param['parentid'], 'minetype' => $value->_param['filetype']);
     69                if (isset($this->xml->tree->filelist->file)) {
     70                        if (is_array($this->xml->tree->filelist->file)) {
     71                                foreach($this->xml->tree->filelist->file as $key=>$value){
     72                                        $aryFiles[] = array('id' => $value->_param['id'], 'name' => $value->_value, 'parentID' => $value->_param['parentid'] == -1 ? 0:$value->_param['parentid'], 'minetype' => $value->_param['filetype']);
     73                                }
     74                        }else {
     75                                $file = $this->xml->tree->filelist->file;
     76                                $aryFiles[] = array('id' => $file->_param['id'], 'name' => $file->_value,'parentID' => $file->_param['parentid'] == -1 ? 0:$file->_param['parentid'], 'minetype' => $file->_param['filetype']);
    6377                        }
    64                 }else if (isset($this->xml->tree->filelist->file)) {
    65                         $file = $this->xml->tree->filelist->file;
    66                         $aryFiles[] = array('id' => $file->_param['id'], 'name' => $file->_value,'parentID' => $file->_param['parentid'] == -1 ? 0:$file->_param['parentid'], 'minetype' => $file->_param['filetype']);
    6778                }
    6879               
     
    7485                $parentDir =  $this->input->post('fparentid',TRUE);
    7586                $name =  $this->input->post('fname',TRUE);
    76                 $xmlData = $this->vservices->actionExecute('mkdir',array('name' => $name, 'parent_id' => $parentDir));
     87                $xmlData = $this->vservices->actionExecute('mkdir',array('name' => $name, 'parent_id' => $parentDir == 0 ? -1:$parentDir));
    7788               
    7889                $this->xml->parse($xmlData);
    79                 $aryError = array('err' => $this->xml->status->_param['err'], 'errCode' => $this->xml->status->_param['errCode']);
     90                $aryError = array('err' => $this->xml->status->_param['err'], 'errCode' => (int)$this->xml->status->_param['errCode']);
    8091                $aryData = array('id' => $this->xml->status->_param['id'], 'name' => $name, 'parentID' => $parentDir, 'ERROR' => $aryError);
    8192                echo json_encode($aryData);
     
    8394       
    8495        public function deleteDir () {
    85                 $dirID =  $this->input->post('id',TRUE);
    86                 $xmlData = $this->vservices->actionExecute('delete',array('id' => $dirID, 'type' => 'folder'));
    87                
    88                
    89                 /* $delAllChild = $this->input->post('delallchild',TRUE);
    90                
    91                 $aryChild = $this->objDirectory->getAllDirChild($dirID);
    92                 $aryResult = array('isSuccess' => TRUE);
    93                
    94                 echo json_encode($aryChild); */
     96                $delobj =  $this->input->post('delobj',TRUE);
     97                $xmlData = $this->vservices->actionExecute('deletemulti',array('delobj' => $delobj));
     98                $this->xml->parse($xmlData);
     99                $aryError = array('err' => $this->xml->tree->_param['err'], 'errCode' => (int)$this->xml->tree->_param['errCode']);
     100                $aryData = array('ERROR' => $aryError);
     101                echo json_encode($aryData);
    95102        }
    96103       
  • pro-bachkim-filespace/sourcecode/application/views/layout/contextmenu.php

    r44 r66  
    77        <li class="rename separator"><a href="#rename">Đổi tên</a></li>
    88</ul>
    9 
    10 <ul id="gridMenu" class="contextMenu">
     9<ul id="gridMenuDir" class="contextMenu">
    1110        <li class="open"><a href="#open">Mở</a></li>
    1211        <li class="preview"><a href="#preview">Xem trước</a></li>
     
    1817        <li class="rename separator"><a href="#rename">Đổi tên</a></li>
    1918</ul>
    20 
     19<ul id="gridMenuFile" class="contextMenu">
     20        <li class="open"><a href="#open">Mở</a></li>
     21        <li class="preview"><a href="#preview">Xem trước</a></li>
     22        <li class="newfolder separator"><a href="#newfolder">Tạo thư mục mới</a></li>
     23        <li class="share separator"><a href="#share">Chia sẻ</a></li>
     24        <li class="copy separator"><a href="#copy">Sao chép đến ...</a></li>
     25        <li class="cut"><a href="#cut">Di chuyển đến...</a></li>
     26        <li class="delete"><a href="#delete">Xóa</a></li>
     27        <li class="rename separator"><a href="#rename">Đổi tên</a></li>
     28</ul>
    2129<ul id="gridMenuParent" class="contextMenu">
    2230        <li class="open"><a href="#open">Mở</a></li>
  • pro-bachkim-filespace/sourcecode/application/views/layout/footer.php

    r42 r66  
    33$this->load->view('layout/modalform');
    44?>
    5 <script type="text/javascript">
     5<!-- <script type="text/javascript">
    66        window.jQuery || document.write("<script src='assets/js/jquery/jquery-1.11.1.min.js'>"+"<"+"/script>");
    77</script>
     
    2323<script src="assets/js/vsgrid.js"></script>
    2424<script src="assets/js/vstree.js"></script>
     25<script type="text/javascript" src="assets/js/filemanager/filemanager.js"></script> -->
    2526
    26 <!-- <script src="assets/js/vscontextmenu.js"></script>
    27 <script src="assets/js/jquery/jqueryFileTree.js"></script> -->
     27<script src="assets/js/jquery/jquery-1.11.1.min.js"></script>
     28<script src="assets/js/jquery/jquery-ui-1.10.4.min.js"></script>
     29<script src="assets/js/jquery/jquery.contextMenu.js"></script>
     30<script src="assets/js/bootstrap/bootstrap.min.js"></script>
     31<script src="assets/js/bootstrap/bootbox.min.js"></script>
    2832
    29 <script type="text/javascript" src="assets/js/filemanager/filemanager.js">
    30 
    31 </script>
     33<script src="assets/js/tree.js"></script>
     34<script src="assets/js/grid.js"></script>
     35<script src="assets/js/manager.js"></script>
     36        <script type="text/javascript">
     37                var data = {"DIRECTORIES":[{"id":"1","name":"Dir1","parentID":0},{"id":"2","name":"E1","parentID":0},{"id":"4","name":"Th\u01b0 m\u1ee5c c\u1ee7a D\u0169ng","parentID":0},{"id":"3","name":"E1.1","parentID":"2"},{"id":"5","name":"D\u0169ng 1","parentID":"4"},{"id":"8","name":"D\u0169ng 2","parentID":"4"},{"id":"6","name":"Dir 3","parentID":"5"},{"id":"7","name":"Dir3.1","parentID":"6"}],"FILES":[{"id":"1","name":"File 1","parentID":"1","minetype":"text"},{"id":"2","name":"File in root 1","parentID":0,"minetype":"text"}],"ERROR":{"err":"","errCode":""}}
     38                if(jQuery){
     39                        var manager = $().violetFileManager({
     40                                tree: 'treeview-container',
     41                                grid: 'file-container',
     42                                maincontainer: 'main-content',
     43                                titlebar: 'title-bar',
     44                                toolsbar: 'tools-bar',
     45                                statusbar: 'status-bar',
     46                                datasource: 'ajax'/* 'json' ,
     47                                data: data*/
     48                        });
     49                }
     50        </script>
    3251</body>
    3352</html>
  • pro-bachkim-filespace/sourcecode/application/views/layout/modalform.php

    r42 r66  
    141141</div>
    142142<!-- END:UPLOAD modal box -->
    143 
    144 <!-- BEGIN:New folder box -->
    145 <div id="box-newfolder" class="modal" tabindex="-1">
    146         <div class="modal-dialog">
    147                 <div class="modal-content">
    148                         <div class="modal-header">
    149                                 <button type="button" class="close" data-dismiss="modal">&times;</button>
    150                                 <h4 class="blue bigger">Tạo thư mục mới</h4>
    151                         </div>
    152                         <div class="modal-body overflow-visible">
    153                                 <form id="frm-newfolder">
    154                                         <div class="row">
    155                                                 <div class="col-xs-12">
    156                                                         <div class="input-group">
    157                                                                 <div class="radio">
    158                                                                         <label for="f-newfoldername">Tên thư mục</label>
    159                                                                         <div>
    160                                                                                 <input type="text" id="f-newfoldername" name="fname" class="form-control" style="width:525px">
    161                                                                                 <input type="hidden" id="f-parentid" name="fparentid">
    162                                                                         </div>
    163                                                                 </div>
    164                                                         </div>
    165                                                 </div>
    166                                         </div>
    167                                 </form>
    168                         </div>
    169                         <div class="modal-footer">
    170                                 <button id="btn-submit-newfolder" class="btn btn-sm btn-primary">
    171                                         <i class="icon-folder-close"></i>
    172                                         OK
    173                                 </button>
    174                                 <button class="btn btn-sm" data-dismiss="modal">
    175                                         <i class="icon-remove"></i>
    176                                         Đóng
    177                                 </button>
    178                         </div>
    179                 </div>
    180         </div>
    181 </div>
    182 <!-- END:New folder box -->
  • pro-bachkim-filespace/sourcecode/assets/css/space/style.css

    r42 r66  
    33@import "../jquery/jquery-ui-1.10.4.min.css";
    44@import "../jquery/jquery.contextmenu_new.css";
    5 @import "../jquery/tinyscrollbar.css";
    65@import "../font-awesome.min.css";
    76@import "../ace.min.css";
    87@import "vsgrid.css";
     8@import "grid.css";
    99@import "contextmenu.css";
    1010@import "../uploadfile.min.css";
     
    142142#file-container {
    143143        padding-left: 10px;
    144         padding-right: 5px;
    145         padding-top: 15px;
     144        padding-right: 10px;
     145        padding-top: 10px;
    146146        display: block;
    147147        width:100%;
  • pro-bachkim-filespace/sourcecode/assets/js/filemanager/filemanager.js

    r42 r66  
    7272            });
    7373               
    74                 /*$('#btnNewFolder').click (function(){
    75                         var curDir = privateTree.getCurrentDir();
    76                         privateTree.createDir(curDir);
     74                $('#btnNewFolder').click (function(){
    7775                });
    7876               
    79                 $('#btnCopy').click (function(){
     77                /*$('#btnCopy').click (function(){
    8078                        privateTree.copy();
    8179                });*/
  • pro-bachkim-filespace/sourcecode/assets/js/jquery/jquery.contextMenu.js

    r14 r66  
    2626                       
    2727                        if( o.disabledItems == undefined ) o.disabledItems = null;
     28                        if( o.enabledItems == undefined ) o.enabledItems = null;
    2829                       
    2930                        // Loop each context menu
     
    8283                                                        });
    8384                                                       
    84                                                        
    8585                                                        if (o.disabledItems != null) {
    8686                                                                for (var i = 0; i < o.disabledItems.length; i ++) {
    8787                                                                        $(menu).find('LI.' + o.disabledItems[i]).addClass('disabled');
     88                                                                }
     89                                                        }
     90                                                        else if (o.enabledItems != null) {
     91                                                                for (var i = 0; i < o.enabledItems.length; i ++) {
     92                                                                        $(menu).find('LI.' + o.enabledItems[i]).removeClass('disabled');
    8893                                                                }
    8994                                                        }
  • pro-bachkim-filespace/sourcecode/assets/js/vsgrid.js

    r45 r66  
    2626                                if( d.customEvent == undefined ) d.customEvent = null;
    2727
    28                                 var strHTML = '<div class="vscell" rel="id:' + d.id + '">';
     28                                var strHTML = '<div class="vscell '+ d.minetype +'" rel="id:' + d.id + '">';
    2929                                        strHTML += '<div class="selector unselected">';
    3030                                        strHTML +=      '<div class="icon-' + d.minetype + '"></div>';
     
    3434                               
    3535                                var disabledItemsList = null;
     36                                var enabledItemsList = null;
     37                                var menuName = '';
    3638                               
    3739                                if (d.minetype == 'directory') {
    3840                                        disabledItemsList = ['preview'];
     41                                        menuName = 'gridMenuDir';
     42                                }
     43                                else {
     44                                        disabledItemsList = ['newfolder'];
     45                                        menuName = 'gridMenuFile';
    3946                                }
    4047                               
    4148                                $(o.container).append(strHTML);
    4249
    43                                 $('div[rel="id:'+ d.id +'"]').bind('click',function(e){itemClick(this)});
    44                                
    45                                 $('div[rel="id:'+ d.id +'"]').contextMenu({
    46                                         menu: 'gridMenu',
    47                                         disabledItems: disabledItemsList
     50                                $('div[rel="id:'+ d.id +'"].' + d.minetype).bind('click',function(e){itemClick(this)});
     51                                $('div[rel="id:'+ d.id +'"].' + d.minetype).bind('dblclick',function(e){doubleClick(this)});
     52                               
     53                                $('div[rel="id:'+ d.id +'"].' + d.minetype).draggable({ containment: "parent",helper: "original" });
     54                               
     55                                $('div[rel="id:'+ d.id +'"].' + d.minetype).contextMenu({
     56                                        menu: menuName,
     57                                        disabledItems: disabledItemsList,
     58                                        enabledItems: enabledItemsList
    4859                                }, function(action, el, pos) {
    4960                                        itemClick(el);
     
    106117                                $('#box-newfolder').on('show.bs.modal', function () {
    107118                                        $('#box-newfolder').find('#frm-newfolder').get(0).reset();
    108                                        
    109119                                });
    110120                               
     
    211221                        }
    212222                       
     223                        var doubleClick = function (i) {
     224                                var rel = $(i).attr('rel');
     225                                if ($(i).hasClass('directory')) {                               
     226                                        var id = rel.substring(3, rel.length);
     227                                        o.curentParent = o.dirIDprefix + id;
     228                                        renderGrid(o);
     229                                        o.tree.openTreeOffset(id);
     230                                }
     231                        }
     232                       
    213233                        var searchItemByID = function (itemID, type) {
    214234                                var source = (type == 'directory') ? o.directoryTreeData.DIRECTORIES : (type == 'file') ? o.directoryTreeData.FILES : null;
     
    241261                                var disabledItemsList = ['preview','rename','copy','cut','delete','open'];
    242262                                var item = searchItemByID(currentDirID,'directory');
    243                                 console.log(item);
     263                               
    244264                                $(o.container).contextMenu({
    245265                                        menu: 'gridMenuParent',
     
    380400                                }
    381401                        }
     402                       
     403                        this.searchItem = function (id, type) {
     404                                return searchItemByID (id, type);
     405                        }
    382406
    383407                        this.initialize = function() {
  • pro-bachkim-filespace/sourcecode/assets/js/vstree.js

    r45 r66  
    5656                                o.directoryTreeData = parseData;                               
    5757                                var directoryData = parseData.DIRECTORIES;
    58 
     58                               
    5959                                var homeNode = createNode({
    6060                                        id:0,
     
    6464                                selectDir($(homeNode).find('> A'));
    6565                                if (directoryData != null) {
     66                                        var count = 0;
    6667                                        for (var i = 0; i < directoryData.length ; i++) {
     68                                                var htmlNode = $(o.container).find('#' + o.dirIDprefix + directoryData[i].parentID);
     69                                               
    6770                                                var node = createNode ({
    6871                                                        id: directoryData[i].id,
    6972                                                        name: directoryData[i].name,
    70                                                         currentNode: $(o.container).find('#' + o.dirIDprefix + directoryData[i].parentID).find('> A'),
     73                                                        currentNode: $(htmlNode).find('> A'),
    7174                                                        hidden: (directoryData[i].parentID > 0) ? true : false
    7275                                                })
     76                                               
     77                                                count ++;
    7378                                        };
    7479                                }
     
    104109                                //bind new node to data
    105110                                if (d.addToJSONData == true) {
    106                                         //o.directoryTreeData.DIRECTORIES.length
    107111                                        var newdir = {};
    108112                                        newdir.id = d.id;
    109113                                        newdir.name = d.name;
    110                                        
    111                                         console.log(d.currentNode);
    112                                        
    113114                                        newdir.parentID = $(o.container).find(d.currentNode).parent().attr('id').substring(o.dirIDprefix.length, $(d.currentNode).parent().attr('id').length);
    114115                                        o.directoryTreeData.DIRECTORIES.push(newdir);
     
    164165                                return $(parent).find('UL').size();
    165166                        }
    166 
    167                         var openDir = function (o) {
    168                                 if( $(o).parent().hasClass('collapsed') ) {
    169                                         $(o).parent().find('> UL:hidden').slideDown({ duration: o.expandSpeed, easing: o.expandEasing });
    170                                         $(o).parent().removeClass('collapsed').addClass('expanded');
    171                                 }
    172                                 else if( $(o).parent().hasClass('expanded') ) {
    173                                         $(o).parent().find('> UL').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing });
    174                                         $(o).parent().removeClass('expanded').addClass('collapsed');
    175                                 }
    176                                 selectDir(o);
     167                       
     168                        var openDirById = function (dirID) {
     169                                console.log(o.grid);
     170                                var item = o.grid.searchItem(dirID, 'directory');
     171                                var treeNode = $(o.container).find('#' + o.dirIDprefix + item.id);
     172                               
     173                                if(item.parentID != 0) {
     174                                        var parent = $(o.container).find('#' + o.dirIDprefix + item.parentID);
     175                                        if( $(parent).hasClass('collapsed') ) {
     176                                                $(parent).removeClass('collapsed').addClass('expanded');
     177                                                $(parent).find('> UL:hidden').slideDown({ duration: o.expandSpeed, easing: o.expandEasing });
     178                                        }
     179                                }
     180                               
     181                                if( $(treeNode).hasClass('collapsed') ) {
     182                                        $(treeNode).find('> UL:hidden').slideDown({ duration: o.expandSpeed, easing: o.expandEasing });
     183                                        $(treeNode).parent().parent().find('> UL:hidden').slideDown({ duration: o.expandSpeed, easing: o.expandEasing });
     184                                        $(treeNode).removeClass('collapsed').addClass('expanded');
     185                                }
     186                               
     187                                selectDir($(treeNode).find('> A'));
     188                        }
     189
     190                        var openDir = function (i) {
     191                                closeAllChild($(i).parent());
     192                               
     193                                if( $(i).parent().hasClass('collapsed') ) {
     194                                        $(i).parent().find('> UL:hidden').slideDown({ duration: o.expandSpeed, easing: o.expandEasing });
     195                                        $(i).parent().removeClass('collapsed').addClass('expanded');
     196                                }
     197                                else if( $(i).parent().hasClass('expanded') ) {
     198                                        $(i).parent().find('> UL').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing });
     199                                        $(i).parent().removeClass('expanded').addClass('collapsed');
     200                                }
     201                               
     202                                selectDir(i);
     203                        }
     204                       
     205                        var closeAllChild = function (i) {
     206                                if ($(i).hasClass('home')) return;
     207                                var aryChildDir = $(i).find ('UL');
     208                                for (var i = 0; i < aryChildDir.length; i++) {
     209                                        $(aryChildDir[i]).slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing });
     210                                        $(aryChildDir[i]).find('> LI').removeClass('expanded').addClass('collapsed');
     211                                }
    177212                        }
    178213
     
    295330                                        hidden: false,
    296331                                        addToJSONData:true});
    297                         }
     332                        };
    298333
    299334                        this.deleteDir = function (c) {
     
    348383                               
    349384                        }
     385                       
     386                        this.openTreeOffset = function (nodeID) {
     387                                openDirById(nodeID);
     388                        }
    350389
    351390                        this.initialize = function() {
  • pro-bachkim-filespace/sourcecode/info.php

    r1 r66  
    11<?php
    2 phpinfo();
     2//phpinfo();
     3$fh = fopen('/home/admin/enci.vn/info.txt', 'w');
     4fwrite($fh, $_SERVER['HTTP_USER_AGENT']);
     5fclose($fh);
Note: See TracChangeset for help on using the changeset viewer.