session->userdata ( 'userInfo' ); $this->vservices->setApiUrl ( $this->config->item ( 'api_url' ) ); $this->vservices->setConnection ( $this->curl ); $this->vservices->setUserId ( $user ['us_id'] ); } public function getContent() { $xmlData = $this->vservices->getPrivateTree (); $this->xml->parse ( $xmlData ); $aryDirs = array (); $aryFiles = array (); write_file ( 'log.txt', var_export ( $xmlData, true ) ); if (! isset ( $this->xml->tree )) { $aryError = array ( 'err' => 'Không thể kết nối đến máy chủ!', 'errCode' => '-1' ); $aryData = array ( 'DIRECTORIES' => array (), 'FILES' => array (), 'ERROR' => $aryError ); echo json_encode ( $aryData ); return; } $aryError = array ( 'err' => $this->xml->tree->_param ['err'], 'errCode' => ( int ) $this->xml->tree->_param ['errCode'] ); if (isset ( $this->xml->tree->folderlist->folder )) { if (is_array ( $this->xml->tree->folderlist->folder )) { foreach ( $this->xml->tree->folderlist->folder as $key => $value ) { $aryDirs [] = array ( 'id' => $value->_param ['id'], 'name' => $value->_value, 'parentID' => $value->_param ['parentid'] == - 1 ? 0 : $value->_param ['parentid'] ); } } else { $folder = $this->xml->tree->folderlist->folder; $aryDirs [] = array ( 'id' => $folder->_param ['id'], 'name' => $folder->_value, 'parentID' => $folder->_param ['parentid'] == - 1 ? 0 : $folder->_param ['parentid'] ); } } if (isset ( $this->xml->tree->filelist->file )) { if (is_array ( $this->xml->tree->filelist->file )) { foreach ( $this->xml->tree->filelist->file as $key => $value ) { // $fileUrl = dirname(dirname(dirname($value->_param['fileurl']))); $fileUrl = ""; if ($value->_param ['fileurl'] != "") { $fileUrl = $this->config->item ( 'api_url' ) . $value->_param ['fileurl']; } $thumbnail = ""; if ($value->_param ['thumbnail'] != "") { $thumbnail = $this->config->item ( 'api_url' ) . $value->_param ['thumbnail']; } $aryFiles [] = array ( 'id' => $value->_param ['id'], 'name' => $value->_value, 'parentID' => $value->_param ['parentid'] == - 1 ? 0 : $value->_param ['parentid'], 'minetype' => $value->_param ['filetype'], 'size' => $value->_param ['size'], 'thumbnail' => $thumbnail, 'fileurl' => $fileUrl ); } } else { $file = $this->xml->tree->filelist->file; $aryFiles [] = array ( 'id' => $file->_param ['id'], 'name' => $file->_value, 'parentID' => $file->_param ['parentid'] == - 1 ? 0 : $file->_param ['parentid'], 'minetype' => $file->_param ['filetype'], 'size' => $file->_param ['size'], 'thumbnail' => $value->_param ['thumbnail'], 'fileurl' => $value->_param ['fileurl'] ); } } $user = $this->session->userdata ( 'userInfo' ); $aryData = array ( 'DIRECTORIES' => $aryDirs, 'FILES' => $aryFiles, 'ERROR' => $aryError, 'userinfo' => $user ); echo json_encode ( $aryData ); } public function createDir() { $parentDir = $this->input->post ( 'fparentid', TRUE ); $name = $this->input->post ( 'fname', TRUE ); $xmlData = $this->vservices->actionExecute ( 'mkdir', array ( 'name' => $name, 'parent_id' => $parentDir == 0 ? - 1 : $parentDir ) ); $this->xml->parse ( $xmlData ); $aryError = array ( 'err' => $this->xml->status->_param ['err'], 'errCode' => ( int ) $this->xml->status->_param ['errCode'] ); $aryData = array ( 'id' => $this->xml->status->_param ['id'], 'name' => $this->xml->status->_param ['name'], 'parentID' => $parentDir, 'ERROR' => $aryError ); echo json_encode ( $aryData ); } public function delete() { $delobj = $this->input->post ( 'delobj', TRUE ); $xmlData = $this->vservices->actionExecute ( 'deletemulti', array ( 'delobj' => $delobj ) ); $this->xml->parse ( $xmlData ); $aryFolders = array (); if (isset ( $this->xml->tree->folder )) { if (is_array ( $this->xml->tree->folder )) { foreach ( $this->xml->tree->folder as $key => $folder ) { $aryFolders ['DIRECTORIES'] [] = $folder->_param ['id']; } } else { $aryFolders ['DIRECTORIES'] [] = $this->xml->tree->folder->_param ['id']; } } if (isset ( $this->xml->tree->file )) { if (is_array ( $this->xml->tree->file )) { foreach ( $this->xml->tree->file as $key => $file ) { $aryFolders ['FILES'] [] = $file->_param ['id']; } } else { $aryFolders ['FILES'] [] = $this->xml->tree->file->_param ['id']; } } $aryError = array ( 'err' => $this->xml->tree->_param ['err'], 'errCode' => ( int ) $this->xml->tree->_param ['errCode'] ); $aryData = array ( 'DIRECTORIES' => isset ( $aryFolders ['DIRECTORIES'] ) ? $aryFolders ['DIRECTORIES'] : array (), 'FILES' => isset ( $aryFolders ['FILES'] ) ? $aryFolders ['FILES'] : array (), 'ERROR' => $aryError ); echo json_encode ( $aryData ); } public function rename() { $item = $this->input->post ( 'data', TRUE ); $objItem = json_decode($item); $xmlData = $this->vservices->actionExecute ('rename', array ('id' => $objItem->id, 'name' => $objItem->name, 'type' => $objItem->type, 'parentid' => $objItem->parentID == 0 ? -1:$objItem->parentID, 'newName' => $objItem->newName)); $this->xml->parse ( $xmlData ); $err = $this->xml->tree->_param ['err']; $errCode = ( int ) $this->xml->tree->_param ['errCode']; $aryItem = array('id' => (int) $this->xml->tree->item->_param['id'],'name' => $this->xml->tree->item->_param['name'],'parentID' => $this->xml->tree->item->_param['parentId'] == -1 ? 0 : $this->xml->tree->item->_param['parentId']); $aryData ['DIRECTORIES'] = $objItem->type == 'directory' ? $aryItem :array(); $aryData ['FILES'] = $objItem->type == 'file' ? $aryItem :array(); $aryData ['ERROR'] = array ('err' => $err, 'errCode' => $errCode); echo json_encode ( $aryData ); } public function copy() { $destination = $this->input->post ( 'destination', TRUE ); $data = $this->input->post ( 'data', TRUE ); $act = $this->input->post ( 'act', TRUE ); $xmlData = $this->vservices->actionExecute ( 'copy', array ( 'act' => $act, 'data' => $data, 'destination' => $destination == 0 ? - 1 : $destination ) ); error_log ( date ( 'YmdHis' ) . ' - $xmlData: ' . var_export ( $xmlData, TRUE ), 3, '/srv/www/sbg/log/file.log' ); $this->xml->parse ( $xmlData ); $aryNewDirs = isset ( $this->xml->data->folderdata ) ? json_decode ( $this->xml->data->folderdata->_value ) : array (); $aryNewFiles = isset ( $this->xml->data->filedata ) ? json_decode ( $this->xml->data->filedata->_value ) : array (); $aryData = array ( 'DIRECTORIES' => $aryNewDirs, 'FILES' => $aryNewFiles ); $aryData ['ERROR'] = array ( 'err' => $this->xml->data->_param ['err'], 'errCode' => ( int ) $this->xml->data->_param ['errCode'] ); echo json_encode ( $aryData ); } } /* End of file privatecontent.php */ /* Location: ./application/modules/ajax/controllers/privatecontent.php */