<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * PrivateContent Class
 * 
 * @author dzungnv02
 *
 */

/* private $_aryDir = array(
 0 => array ('id' => 1, 'name' => 'Dir 1', 'parentID' => 0),
		1 => array ('id' => 2, 'name' => 'Dir 2', 'parentID' => 0),
		2 => array ('id' => 3, 'name' => 'Dir 1.1', 'parentID' => 1),
		3 => array ('id' => 4, 'name' => 'Dir 1.1.1', 'parentID' => 3),
		4 => array ('id' => 5, 'name' => 'Dir 1.1.1.1', 'parentID' => 4),
		5 => array ('id' => 6, 'name' => 'Dir 1.1.2', 'parentID' => 3),
		6 => array ('id' => 7, 'name' => 'Dir 3', 'parentID' => 0),
		7 => array ('id' => 8, 'name' => 'Dir 3.1', 'parentID' => 7)
);

private $_aryFile = array(
		0 => array('id' => 1, 'name' => 'File 1', 'minetype' => 'text', 'size' => '1.5MB', 'parentID' => 1),
		1 => array('id' => 2, 'name' => 'File 2', 'minetype' => 'text', 'size' => '1.6MB', 'parentID' => 1),
		2 => array('id' => 3, 'name' => 'File 3', 'minetype' => 'text', 'size' => '1.7MB', 'parentID' => 2),
		3 => array('id' => 4, 'name' => 'File 4', 'minetype' => 'text', 'size' => '1.8MB', 'parentID' => 2),
		4 => array('id' => 5, 'name' => 'File 5', 'minetype' => 'text', 'size' => '1.8MB', 'parentID' => 0),
		5 => array('id' => 6, 'name' => 'File 6', 'minetype' => 'text', 'size' => '1.8MB', 'parentID' => 3),
		5 => array('id' => 7, 'name' => 'File 7', 'minetype' => 'text', 'size' => '1.8MB', 'parentID' => 5)
); */

class PrivateContent extends MX_Controller 
{

	public function __construct() {
		parent::__construct();
		$this->load->model('Directory_model', 'objDirectory', TRUE);
		$this->vservices->setApiUrl($this->config->item('api_url'));
		$this->vservices->setConnection($this->curl);
		$this->vservices->setUserId(33);
	}
	
	public function getContent () {
		$xmlData = $this->vservices->getPrivateTree();
		$this->xml->parse($xmlData);

		$aryDirs = array();
		$aryFiles = array();
		
		$aryError = array('err' => $this->xml->tree->_param['err'], 'errCode' => $this->xml->tree->_param['errCode']);
		
		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 if (isset($this->xml->tree->folderlist->folder)) {
			$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 (is_array($this->xml->tree->filelist->file)) {
			foreach($this->xml->tree->filelist->file as $key=>$value){
				$aryFiles[] = array('id' => $value->_param['id'], 'name' => $value->_value, 'parentID' => $value->_param['parentid'] == -1 ? 0:$value->_param['parentid'], 'minetype' => $value->_param['filetype']);
			}
		}else if (isset($this->xml->tree->filelist->file)) {
			$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']);
		}
		
		$aryData = array('DIRECTORIES' =>  $aryDirs , 'FILES' => $aryFiles, 'ERROR' => $aryError);
		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));
		
		$this->xml->parse($xmlData);
		$aryError = array('err' => $this->xml->status->_param['err'], 'errCode' => $this->xml->status->_param['errCode']);
		$aryData = array('id' => $this->xml->status->_param['id'], 'name' => $name, 'parentID' => $parentDir, 'ERROR' => $aryError);
		echo json_encode($aryData);
	}
	
	public function deleteDir () {
		$dirID =  $this->input->post('id',TRUE);
		$xmlData = $this->vservices->actionExecute('delete',array('id' => $dirID, 'type' => 'folder'));
		
		
		/* $delAllChild = $this->input->post('delallchild',TRUE);
		
		$aryChild = $this->objDirectory->getAllDirChild($dirID);
		$aryResult = array('isSuccess' => TRUE);
		
		echo json_encode($aryChild); */
	}
	
	public function rename() {
		$id =  $this->input->post('id',TRUE);
		$newName =  $this->input->post('newname',TRUE);
		$objectType =  $this->input->post('objtype',TRUE);

		$aryData = array();
		$aryData['RESULT'] = $this->objDirectory->rename($id, $newName, $objectType);;
		$aryData['UPDATED'] = array('id' => $id, 'name' => $newName, 'type' => $objectType);
		echo json_encode($aryData);
	}
	
	public function upload() {
		
	}
}

/* End of file directory.php */
/* Location: ./application/modules/ajax/controllers/directory.php */