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); }
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(); }
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; }
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; }