Simplified attachments
This commit is contained in:
parent
bdbec2b9b3
commit
59090dc452
|
|
@ -52,8 +52,6 @@ if($host == 'cmc.lan') {
|
||||||
$basedir = '/var/www/CMC-Sales/app';
|
$basedir = '/var/www/CMC-Sales/app';
|
||||||
Configure::write('email_directory', '/var/www/cakephp/app/emails');
|
Configure::write('email_directory', '/var/www/cakephp/app/emails');
|
||||||
|
|
||||||
Configure::write('pdf_directory', $basedir.'/webroot/pdf/');
|
|
||||||
Configure::write('attachments_directory', $basedir.'/attachments_files/');
|
|
||||||
|
|
||||||
Configure::write('smtp_settings', array(
|
Configure::write('smtp_settings', array(
|
||||||
'port' => '25',
|
'port' => '25',
|
||||||
|
|
@ -76,22 +74,6 @@ if($host == 'cmc.lan') {
|
||||||
else { //Staging config
|
else { //Staging config
|
||||||
$basedir = '/home/karlcordes/CMC-Sales/app/';
|
$basedir = '/home/karlcordes/CMC-Sales/app/';
|
||||||
|
|
||||||
|
|
||||||
Configure::write('smtp_settings', array(
|
|
||||||
'port' => '1025',
|
|
||||||
'timeout' => '30',
|
|
||||||
'host' => 'localhost'));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* Cache Engine Configuration
|
|
||||||
* Default settings provided below
|
|
||||||
*
|
|
||||||
* File storage engine.
|
|
||||||
*/
|
|
||||||
Cache::config('default', array(
|
Cache::config('default', array(
|
||||||
'engine' => 'File', //[required]
|
'engine' => 'File', //[required]
|
||||||
'duration'=> 3600, //[optional]
|
'duration'=> 3600, //[optional]
|
||||||
|
|
@ -105,6 +87,10 @@ else { //Staging config
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Configure::write('pdf_directory', $basedir.'/webroot/pdf/');
|
||||||
|
Configure::write('attachments_directory', $basedir.'/webroot/attachments_files/');
|
||||||
|
|
||||||
|
|
||||||
// $output_dir = '/var/www/cakephp/app/webroot/pdf/';
|
// $output_dir = '/var/www/cakephp/app/webroot/pdf/';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ class AttachmentsController extends AppController {
|
||||||
|
|
||||||
function index() {
|
function index() {
|
||||||
$this->Attachment->recursive = 1;
|
$this->Attachment->recursive = 1;
|
||||||
$this->set('attachments', $this->paginate());
|
$this->set('attachments', $this->paginate());
|
||||||
}
|
}
|
||||||
|
|
||||||
function view($id = null) {
|
function view($id = null) {
|
||||||
|
|
@ -14,23 +14,26 @@ class AttachmentsController extends AppController {
|
||||||
$this->Session->setFlash(__('Invalid Attachment.', true));
|
$this->Session->setFlash(__('Invalid Attachment.', true));
|
||||||
$this->redirect(array('action'=>'index'));
|
$this->redirect(array('action'=>'index'));
|
||||||
}
|
}
|
||||||
$this->set('attachment', $this->Attachment->read(null, $id));
|
$this->set('attachment', $this->Attachment->read(null, $id));
|
||||||
$this->layout = 'pdf';
|
$this->layout = 'pdf';
|
||||||
}
|
}
|
||||||
|
|
||||||
function add() {
|
function add() {
|
||||||
if (!empty($this->data)) {
|
if (!empty($this->data)) {
|
||||||
|
|
||||||
$attachment = $this->Attachment->process_attachment($this->data);
|
|
||||||
|
|
||||||
|
$attachment = $this->Attachment->process_attachment($this->data);
|
||||||
|
if(!$attachment) {
|
||||||
|
$this->Session->setFlash('The Attachment could not be saved. The filename exists');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$this->Attachment->create();
|
||||||
|
|
||||||
$this->Attachment->create();
|
if ($this->Attachment->save($attachment)) {
|
||||||
|
$this->Session->setFlash(__('The Attachment has been saved', true));
|
||||||
if ($this->Attachment->save($attachment)) {
|
$this->redirect(array('action'=>'index'));
|
||||||
$this->Session->setFlash(__('The Attachment has been saved', true));
|
} else {
|
||||||
$this->redirect(array('action'=>'index'));
|
$this->Session->setFlash(__('The Attachment could not be saved. Please, try again.', true));
|
||||||
} else {
|
}
|
||||||
$this->Session->setFlash(__('The Attachment could not be saved. Please, try again.', true));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$principles = $this->Attachment->Principle->find('list');
|
$principles = $this->Attachment->Principle->find('list');
|
||||||
|
|
@ -62,11 +65,13 @@ class AttachmentsController extends AppController {
|
||||||
$this->Session->setFlash(__('Invalid id for Attachment', true));
|
$this->Session->setFlash(__('Invalid id for Attachment', true));
|
||||||
$this->redirect(array('action'=>'index'));
|
$this->redirect(array('action'=>'index'));
|
||||||
}
|
}
|
||||||
|
$attachment = $this->Attachment->read(null, $id);
|
||||||
if ($this->Attachment->del($id)) {
|
if ($this->Attachment->del($id)) {
|
||||||
|
unlink($attachment['Attachment']['file']);
|
||||||
$this->Session->setFlash(__('Attachment deleted', true));
|
$this->Session->setFlash(__('Attachment deleted', true));
|
||||||
$this->redirect(array('action'=>'index'));
|
$this->redirect(array('action'=>'index'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ class Attachment extends AppModel {
|
||||||
'name' => array('notempty'),
|
'name' => array('notempty'),
|
||||||
'type' => array('notempty'),
|
'type' => array('notempty'),
|
||||||
'size' => array('numeric'),
|
'size' => array('numeric'),
|
||||||
'archived' => array('numeric'),
|
'archived' => array('numeric'),
|
||||||
);
|
);
|
||||||
|
|
||||||
//The Associations below have been created with all possible keys, those that are not needed can be removed
|
//The Associations below have been created with all possible keys, those that are not needed can be removed
|
||||||
|
|
@ -25,53 +25,49 @@ class Attachment extends AppModel {
|
||||||
'DocumentAttachment' => array(
|
'DocumentAttachment' => array(
|
||||||
'className' => 'DocumentAttachment',
|
'className' => 'DocumentAttachment',
|
||||||
'foreignKey' => 'attachment_id'
|
'foreignKey' => 'attachment_id'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
// Based on comment 8 from: http://bakery.cakephp.org/articles/view/improved-advance-validation-with-parameters
|
// Based on comment 8 from: http://bakery.cakephp.org/articles/view/improved-advance-validation-with-parameters
|
||||||
|
|
||||||
function isUploadedFile($params){
|
function isUploadedFile($params){
|
||||||
$val = array_shift($params);
|
$val = array_shift($params);
|
||||||
if ((isset($val['error']) && $val['error'] == 0) ||
|
if ((isset($val['error']) && $val['error'] == 0) ||
|
||||||
(!empty( $val['tmp_name']) && $val['tmp_name'] != 'none')) {
|
(!empty( $val['tmp_name']) && $val['tmp_name'] != 'none')) {
|
||||||
return is_uploaded_file($val['tmp_name']);
|
return is_uploaded_file($val['tmp_name']);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passed a PHP upload
|
* Passed a PHP upload
|
||||||
* array('name', 'type', 'tmp_name', 'error' 'size').
|
* array('name', 'type', 'tmp_name', 'error' 'size').
|
||||||
*
|
*
|
||||||
* Move the uploaded file to the storage directory
|
* Move the uploaded file to the storage directory
|
||||||
* and return a cake array for insertion.
|
* and return a cake array for insertion.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function process_attachment($attachment) {
|
function process_attachment($attachment) {
|
||||||
|
|
||||||
$upload = $attachment['Attachment']['file'];
|
$upload = $attachment['Attachment']['file'];
|
||||||
|
|
||||||
$new_filename = Configure::read('attachments_directory').time().$upload['name'];
|
$new_filename = Configure::read('attachments_directory').$upload['name'];
|
||||||
|
if(!file_exists($new_filename)) {
|
||||||
|
move_uploaded_file($upload['tmp_name'], $new_filename);
|
||||||
|
|
||||||
$moved = move_uploaded_file($upload['tmp_name'], $new_filename);
|
$attachment['Attachment']['filename'] = $upload['name'];
|
||||||
|
$attachment['Attachment']['file'] = $new_filename;
|
||||||
|
$attachment['Attachment']['size'] = $upload['size'];
|
||||||
|
$attachment['Attachment']['type'] = $upload['type'];
|
||||||
|
return $attachment;
|
||||||
|
|
||||||
if($moved) {
|
}
|
||||||
$attachment['Attachment']['filename'] = $upload['name'];
|
return false;
|
||||||
$attachment['Attachment']['file'] = $new_filename;
|
|
||||||
$attachment['Attachment']['size'] = $upload['size'];
|
|
||||||
$attachment['Attachment']['type'] = $upload['type'];
|
|
||||||
return $attachment;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
die("Error! Unable to move the uploaded file");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue