Merge pull-request #699

This commit is contained in:
Frederic Guillot
2015-03-10 22:11:30 -04:00
9 changed files with 329 additions and 43 deletions

View File

@@ -111,6 +111,38 @@ class File extends Base
->asc('name')
->findAll();
}
/**
* Get all images for a given task
*
* @access public
* @param integer $task_id Task id
* @return array
*/
public function getAllImages($task_id)
{
return $this->db->table(self::TABLE)
->eq('task_id', $task_id)
->eq('is_image', 1)
->asc('name')
->findAll();
}
/**
* Get all files without images for a given task
*
* @access public
* @param integer $task_id Task id
* @return array
*/
public function getAllDocuments($task_id)
{
return $this->db->table(self::TABLE)
->eq('task_id', $task_id)
->eq('is_image', 0)
->asc('name')
->findAll();
}
/**
* Check if a filename is an image
@@ -121,9 +153,76 @@ class File extends Base
*/
public function isImage($filename)
{
return getimagesize($filename) !== false;
$info = pathinfo($filename);
$extension = strtolower($info['extension']);
switch ($extension) {
case 'jpeg':
case 'jpg':
case 'png':
case 'gif':
return true;
break;
default:
return false;
break;
}
}
/**
* get Font-Awesome Icon for file extension
*
* @access public
* @param string $filename Filename
* @return string Font-Awesome-Icon-Name
*/
public function get_icon($filename){
$info = pathinfo($filename);
$extension = strtolower($info['extension']);
switch ($extension) {
case 'jpeg':
case 'jpg':
case 'png':
case 'gif':
$icon = 'fa-file-image-o';
break;
case 'xls':
case 'xlsx':
$icon = 'fa-file-excel-o';
break;
case 'doc':
case 'docx':
$icon = 'fa-file-word-o';
break;
case 'ppt':
case 'pptx':
$icon = 'fa-file-powerpoint-o';
break;
case 'zip':
case 'rar':
$icon = 'fa-archive-o';
break;
case 'mp3':
$icon = 'fa-audio-o';
break;
case 'avi':
$icon = 'fa-video-o';
break;
case 'php':
case 'html':
case 'css':
$icon = 'fa-code-o';
break;
case 'pdf':
$icon = 'fa-file-pdf-o';
break;
default:
$icon = 'fa-file-o';
break;
}
return $icon;
}
/**
* Generate the path for a new filename
*
@@ -188,7 +287,7 @@ class File extends Base
$task_id,
$original_filename,
$destination_filename,
$this->isImage(FILES_DIR.$destination_filename)
$this->isImage($original_filename)
);
}
}