protected function _post_args($key, $type = ARGS_TYPE_STRING, $default = '', $params = array())
 {
     $value = '';
     $post_default = '';
     $key_exist = array_key_exists($key, $_POST);
     $override = array_key_exists('override', $params) ? $params['override'] : FALSE;
     $entities_to_ascii = array_key_exists('entities_to_ascii', $params) ? $params['entities_to_ascii'] : FALSE;
     $gtzero = array_key_exists('gtzero', $params) ? $params['gtzero'] : TRUE;
     switch ($type) {
         case ARGS_TYPE_STRING:
             $post_default = $override ? $default : '';
             $value = $key_exist ? $this->input->post($key, TRUE) ? $this->input->post($key, TRUE) : $post_default : $default;
             if ($entities_to_ascii) {
                 $value = entities_to_ascii($value);
             }
             break;
         case ARGS_TYPE_INT:
             $default = validate_integer($default) ? to_int($default) : 0;
             $post_default = $override ? $default : 0;
             $value = $key_exist ? ($value = $this->input->post($key)) && gtzero_integer($value) ? to_int($value) : $post_default : $default;
             break;
         case ARGS_TYPE_TRUE_FALSE:
             $default = validate_integer($default) ? gtzero_integer($default) ? TRUE : FALSE : FALSE;
             $post_default = $override ? $default : FALSE;
             $value = $key_exist ? ($value = $this->input->post($key)) && ($gtzero && gtzero_integer($value) || !$gtzero && validate_integer($value)) ? TRUE : $post_default : $default;
             break;
         case ARGS_TYPE_ARRAY:
             $value = $key_exist ? ($value = $this->input->post($key)) && is_array($value) ? $value : array() : (is_array($default) ? $default : array());
             break;
         case ARGS_TYPE_DECIMAL:
             $default = gtzero_decimal($default) ? to_float($default) : 0;
             $post_default = $override ? $default : 0;
             $value = $key_exist ? ($value = $this->input->post($key)) && gtzero_decimal($value) ? to_float($value) : $post_default : $default;
             break;
         case ARGS_TYPE_DATE:
             $default = validate_date($default) ? $default : '';
             $post_default = $override ? $default : '';
             $value = $key_exist ? ($value = $this->input->post($key)) && validate_date($value) ? $value : $post_default : $default;
             break;
         case ARGS_TYPE_DATETIME:
             $default = validate_datetime($default) ? $default : '';
             $post_default = $override ? $default : '';
             $value = $key_exist ? ($value = $this->input->post($key)) && validate_date($value) ? $value : $post_default : $default;
             break;
         default:
             $post_default = $override ? $default : '';
             $value = $key_exist ? $this->input->post($key, TRUE) ? $this->input->post($key, TRUE) : $post_default : $default;
             break;
     }
     unset($post_default);
     return $value;
 }
 function date_diff_days($start_date, $end_date)
 {
     $start_date = new DateTime(date('Y-m-d', strtotime($start_date)));
     $end_date = new DateTime(date('Y-m-d', strtotime($end_date)));
     $interval = $start_date->diff($end_date);
     return validate_integer($interval->days) ? $interval->days : 0;
 }
function array_filter_int($var)
{
    return validate_integer($var, true);
}
Example #4
0
 public function dropdown_list($company_id, $params = array())
 {
     $this->db->select('s.id as site_id,s.code AS site_code, s.site_ref')->from('sites s')->join('companies com', 's.company_id = com.id')->where("s.is_deleted", 0)->where("com.is_deleted", 0);
     if (array_key_exists('site_ids', $params) && is_array($params['site_ids']) && count($params['site_ids'])) {
         $this->db->where_in("s.id", $params['site_ids']);
     }
     if (array_key_exists('limit', $params)) {
         $limit = validate_integer($params['limit']) ? to_int($params['limit']) : 0;
         $this->db->limit($limit);
     }
     return $this->db->get()->result();
 }
Example #5
0
 public function _max_size($val)
 {
     $question_type = $this->_post_args('question_type', ARGS_TYPE_STRING);
     $max_size = $this->_post_args('max_size', ARGS_TYPE_INT);
     if ($question_type == 'upload' && !validate_integer($max_size)) {
         $this->form_validation->set_message('_max_size', 'The %s field needs to be numeric value');
         return FALSE;
     } elseif ($question_type == 'upload' && $max_size <= 0) {
         $this->form_validation->set_message('_max_size', 'The %s field is required');
         return FALSE;
     }
     return TRUE;
 }
Example #6
0
 public function upload_document()
 {
     $status = "";
     $msg = "";
     $file_element_name = 'userfile';
     $document_type_id = $this->input->post('document_type_id') ? $this->input->post('document_type_id') : 1;
     if (empty($_POST['ref_id'])) {
         $status = "error";
         $msg = "No ref_id found";
     }
     $file_id = false;
     if ($status != "error") {
         $this->load->library('upload');
         if (!$this->upload->do_upload($file_element_name)) {
             $status = 'error';
             $msg = $this->upload->display_errors('', '');
             $this->session->set_flashdata('message', $msg);
         } else {
             $data = $this->upload->data();
             $thumbnail_name = '';
             //create a thumbnail if it's an image
             if ($data['is_image']) {
                 $config['image_library'] = 'gd2';
                 $config['source_image'] = $data['full_path'];
                 $config['create_thumb'] = TRUE;
                 $config['maintain_ratio'] = TRUE;
                 $config['width'] = 112;
                 $config['height'] = 87;
                 $this->load->library('image_lib', $config);
                 if (!$this->image_lib->resize()) {
                     $this->session->set_flashdata('message', $this->image_lib->display_errors('<p class="error">', '</p>'));
                 }
                 $thumbnail_name = $data['raw_name'] . $this->image_lib->thumb_marker . $data['file_ext'];
             } else {
                 //not an image so set the thumbnail to be standard
                 switch ($data['file_ext']) {
                     case '.avi':
                         $thumbnail_name = 'avi.png';
                         break;
                     case '.doc':
                         $thumbnail_name = 'doc.png';
                         break;
                     case '.docx':
                         $thumbnail_name = 'docx.png';
                         break;
                     case '.pdf':
                         $thumbnail_name = 'pdf.png';
                         break;
                     case '.ppt':
                         $thumbnail_name = 'ppt.png';
                         break;
                     case '.pptx':
                         $thumbnail_name = 'pptx.png';
                         break;
                     case '.psd':
                         $thumbnail_name = 'psd.png';
                         break;
                     case '.txt':
                         $thumbnail_name = 'txt.png';
                         break;
                     case '.xls':
                         $thumbnail_name = 'xls.png';
                         break;
                     case '.xlsx':
                         $thumbnail_name = 'xlsx.png';
                         break;
                     case '.dwg':
                         $thumbnail_name = 'dwg.png';
                         break;
                     default:
                         $thumbnail_name = 'file.png';
                         break;
                 }
             }
             $file_data = array('document_type_id' => $document_type_id, 'ref_id' => $this->input->post('ref_id'), 'document_name' => $data['file_name'], 'original_name' => $data['orig_name'], 'uploaded_by_user_id' => $this->current_user->user_id, 'mime_type' => $data['file_type'], 'is_image' => $data['is_image'], 'thumbnail_name' => $thumbnail_name);
             $file_id = $this->document_model->insert_file($file_data);
             if ($file_id) {
                 $status = "success";
                 $msg = "File successfully uploaded";
                 if (validate_integer($document_type_id) && (int) $document_type_id == 1) {
                     $job_id = $this->input->post('ref_id');
                     if (validate_integer($job_id) && (int) $job_id == 1) {
                         $this->load->model('job_model', 'job_m');
                         $job = $this->job_m->get_job_by_id($job_id);
                         trigger_trip("new_job_document", $job['company_id'], array('document_id' => $file_id, 'job_id' => $job_id, 'created_by' => $this->current_user->user_id));
                     }
                 }
                 if (ENVIRONMENT == "production" || ENVIRONMENT == 'testing') {
                     try {
                         //move the file
                         //upload it to s3 also...
                         $this->load->library('s3');
                         //$input_file = $this->s3->inputFile($file_element_name);
                         $bucket = 'workdeskpro';
                         $input = $this->s3->inputResource(fopen($data['full_path'], "rb"), filesize($data['full_path']));
                         if ($this->s3->putObject($input, $bucket, DOCUMENT_FOLDER . $data['file_name'], S3::ACL_PUBLIC_READ)) {
                             //remove the locally uploaded file
                             @unlink($data['full_path']);
                             if ($data['is_image']) {
                                 //do same with thumbnail...
                                 $input = $this->s3->inputResource(fopen($data['file_path'] . $thumbnail_name, "rb"), filesize($data['file_path'] . $thumbnail_name));
                                 $this->s3->putObject($input, $bucket, DOCUMENT_FOLDER . $thumbnail_name, S3::ACL_PUBLIC_READ);
                                 @unlink($data['file_path'] . $thumbnail_name);
                             }
                         } else {
                             $status = "error";
                             $msg = "File successfully uploaded, but transfer to CDN failed";
                         }
                     } catch (Exception $e) {
                         $status = "error";
                         $msg = "File successfully uploaded, but transfer to CDN failed";
                     }
                 }
             } else {
                 unlink($data['full_path']);
                 $status = "error";
                 $msg = "Something went wrong when saving the file, please try again.";
             }
         }
         @unlink($_FILES[$file_element_name]);
     }
     echo json_encode(array('status' => $status, 'msg' => $msg, 'file_id' => $file_id));
 }
 public function dropdown_list($company_id, $params = array())
 {
     $this->db->select('cl.id as client_id')->select('CONCAT(`cl`.`first_name`, \'\', `cl`.`last_name`) as client_name', FALSE)->from('clients cl')->join('companies com', 'cl.company_id = com.id')->where('cl.company_id', to_int($company_id))->where("cl.is_deleted", 0)->where("com.is_deleted", 0);
     if (array_key_exists('name', $params) && $params['name']) {
         $this->db->like("cl.name", $params['name']);
     }
     if (array_key_exists('client_ids', $params) && is_array($params['client_ids']) && count($params['client_ids'])) {
         $this->db->where_in("cl.id", $params['client_ids']);
     }
     if (array_key_exists('limit', $params)) {
         $limit = validate_integer($params['limit']) ? to_int($params['limit']) : 0;
         $this->db->limit($limit);
     }
     return $this->db->get()->result();
 }
 function to_int($input)
 {
     if (validate_integer($input) === FALSE) {
         return 0;
     }
     $input = to_string($input);
     $minus = strrpos($input, '-');
     $multiplier = $minus !== FALSE && to_int($minus) == 0 ? -1 : 1;
     $input = str_replace(array('-'), array(''), $input);
     return (int) $input * $multiplier;
 }