Current File : /home/giriqfky/public_html/Barga/application/modules/settings/models//Settings_model.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Settings_model extends CI_Model
{
var $table_messages = TABLE_MESSAGES;
var $table_settings = TABLE_SETTINGS;
var $table_modules = TABLE_MODULES;
var $table_role_rights = TABLE_ROLE_RIGHTS;
var $table_email_templates = TABLE_EMAIL_TEMPLATES;
var $table_app_keys = TABLE_APP_KEYS;
var $table_app_logs = TABLE_APP_LOGS;
var $table_app_current_status = TABLE_APP_CURRENT_STATUS;
var $table_sms_templates = TABLE_SMS_TEMPLATES;
public function __construct()
{
parent::__construct();
}
public function getNextRankValue($table_name, $rank_field, $parent_id)
{
$this->db->select('MAX(display_order) AS next_rank_val');
$this->db->where($rank_field, $parent_id);
$rank_data = $this->db->get($table_name)->row();
return $rank_data->next_rank_val+1;
}
public function getParentNextRankValue($table_name, $rank_field, $parent_id, $parent_field)
{
$this->db->select('MAX('.$rank_field.') AS next_rank_val');
$this->db->where($parent_field, $parent_id);
$rank_data = $this->db->get($table_name)->row();
return $rank_data->next_rank_val+1;
}
public function getModuleNameById($module_id)
{
$this->db->select('module_name');
$this->db->where('module_id', $module_id);
$this->db->limit(1);
$module_data = $this->db->get($this->table_modules)->row();
return $module_data->module_name;
}
public function getMessage($message_code, $message_type)
{
if($message_type == 1) {
$this->db->select('app_message');
$this->db->where('message_code', $message_code);
$this->db->limit(1);
$msg_data = $this->db->get($this->table_messages)->row();
return $msg_data->app_message;
} elseif($message_type == 2) {
$this->db->select('web_frontend_message');
$this->db->where('message_code', $message_code);
$this->db->limit(1);
$msg_data = $this->db->get($this->table_messages)->row();
return $msg_data->web_frontend_message;
} elseif($message_type == 3) {
$this->db->select('web_backend_message');
$this->db->where('message_code', $message_code);
$this->db->limit(1);
$msg_data = $this->db->get($this->table_messages)->row();
return $msg_data->web_backend_message;
} elseif($message_type == 4) {
$this->db->select('push_message');
$this->db->where('message_code', $message_code);
$this->db->limit(1);
$msg_data = $this->db->get($this->table_messages)->row();
return $msg_data->push_message;
} else {
$this->db->select('web_backend_message');
$this->db->where('message_code', $message_code);
$this->db->limit(1);
$msg_data = $this->db->get($this->table_messages)->row();
return $msg_data->web_backend_message;
}
}
public function getMessageTitle($message_code)
{
$this->db->select('message_title');
$this->db->where('message_code', $message_code);
$this->db->limit(1);
$msg_data = $this->db->get($this->table_messages)->row();
return $msg_data->message_title;
}
public function getSettingValue($setting_name,$select = "setting_value")
{
$this->db->select($select);
$this->db->where('setting_name', $setting_name);
$this->db->limit(1);
$setting_data = $this->db->get($this->table_settings)->row();
if($select == "setting_value")
return $setting_data->setting_value;
else return $setting_data;
}
public function getEmailTemplate($email_template_code)
{
$this->db->select('*');
$this->db->where('email_template_code', $email_template_code);
$this->db->limit(1);
return $this->db->get($this->table_email_templates)->row();
}
public function getLeftMenu($parent_id)
{
$this->db->select('*');
$this->db->where(array('module_parent_id' => $parent_id, 'is_visible' => 1));
$this->db->order_by('module_order', 'ASC');
return $this->db->get($this->table_modules)->result();
}
public function checkModuleAccessByUser($user_role_id, $module_id, $module_action)
{
$this->db->select('*');
$this->db->where(array('user_role_id' => $user_role_id, 'module_id' => $module_id, $module_action => 1));
return $this->db->get($this->table_role_rights)->num_rows();
}
public function getGeneralSettings($params = array())
{
$this->db->select('*');
if(!empty($params['search']['setting_name'])){
$p = $params['search']['setting_name'];
$this->db->where("`setting_name` LIKE '%".$p."%' OR
`setting_description` LIKE '%".$p."%' OR
`setting_value` LIKE '%".$p."%'");
// $this->db->like('setting_name',$params['search']['setting_name']);
}
$this->db->order_by('setting_id', 'ASC');
$res = $this->db->get($this->table_settings)->result();
// debug($this->db->last_query());
return $res;
}
public function getGeneralSettingValue($setting_id)
{
$this->db->select('*');
$this->db->where('setting_id', $setting_id);
$this->db->limit(1);
return $this->db->get($this->table_settings)->row();
}
public function getSystemMessages($params = array())
{
$this->db->select('*');
$this->db->from($this->table_messages);
if(!empty($params['search']['message_code'])){
$this->db->where("`message_code` LIKE '%".$params['search']['message_code']."%' OR
`app_message` LIKE '%".$params['search']['message_code']."%' OR
`web_frontend_message` LIKE '%".$params['search']['message_code']."%' OR
`web_backend_message` LIKE '%".$params['search']['message_code']."%' OR
`push_message` LIKE '%".$params['search']['message_code']."%' OR
`message_title` LIKE '%".$params['search']['message_code']."%'");
}
$this->db->where('is_visible', 1);
$this->db->order_by('message_id','ASC');
//set start and limit
if(array_key_exists("start",$params) && array_key_exists("limit",$params)) {
$this->db->limit($params['limit'],$params['start']);
} elseif(!array_key_exists("start",$params) && array_key_exists("limit",$params)) {
$this->db->limit($params['limit']);
}
$res = $this->db->get()->result();
// debug($this->db->last_query());
return $res;
}
public function getSystmeMessageValue($message_id)
{
$this->db->select('*');
$this->db->where('message_id', $message_id);
$this->db->limit(1);
return $this->db->get($this->table_messages)->row();
}
public function getSystemEmailTemplates()
{
$this->db->select('*');
$this->db->where('is_visible', 1);
$this->db->order_by('email_template_id', 'ASC');
return $this->db->get($this->table_email_templates)->result();
}
public function getSystmeEmailTemplateValue($email_template_id)
{
$this->db->select('*');
$this->db->where('email_template_id', $email_template_id);
$this->db->limit(1);
return $this->db->get($this->table_email_templates)->row();
}
public function getApiKey($id)
{
$this->db->select('key');
$this->db->where('id', $id);
$this->db->limit(1);
$app_key = $this->db->get($this->table_app_keys)->row();
return $app_key->key;
}
public function saveApiKey($data_array, $id = 0)
{
if($id == 0) {
$this->db->insert($this->table_app_keys, $data_array);
$last_id = $this->db->insert_id();
} else {
$this->db->where('id', $id);
$this->db->update($this->table_app_keys, $data_array);
$last_id = $id;
}
return $last_id;
}
public function getApiLogs($params = array())
{
$this->db->select('*');
$this->db->from($this->table_app_logs);
if(!empty($params['search']['api_key'])){
$this->db->like('api_key',$params['search']['api_key']);
}
$this->db->order_by('id','DESC');
//set start and limit
if(array_key_exists("start",$params) && array_key_exists("limit",$params)) {
$this->db->limit($params['limit'],$params['start']);
} elseif(!array_key_exists("start",$params) && array_key_exists("limit",$params)) {
$this->db->limit($params['limit']);
}
return $this->db->get()->result();
}
public function getAppCurrentStatusList()
{
$this->db->select('*');
$this->db->order_by('is_visible', 'ASC');
return $this->db->get($this->table_app_current_status)->result();
}
public function getAppCurrentStatusInfo($id)
{
$this->db->select('*');
$this->db->where('app_current_status_id', $id);
$this->db->limit(1);
return $this->db->get($this->table_app_current_status)->row();
}
public function getAppScreenImage($app_current_status_id)
{
$this->db->select('image_name');
$this->db->where(array('app_current_status_id' => $app_current_status_id));
$this->db->limit(1);
$app_current_status_data = $this->db->get($this->table_app_current_status)->row();
return $app_current_status_data->image_name;
}
public function saveAppCurrentStatus($data_array, $id = 0)
{
if($data_array['is_visible'] == 1) {
$this->db->query("UPDATE ".$this->table_app_current_status." SET is_visible = 2");
}
if($id == 0) {
$this->db->insert($this->table_app_current_status, $data_array);
$last_id = $this->db->insert_id();
} else {
$this->db->where('app_current_status_id', $id);
$this->db->update($this->table_app_current_status, $data_array);
$last_id = $id;
}
return $last_id;
}
public function getSmsTemplate($sms_template_code)
{
$this->db->select('*');
$this->db->where('sms_template_code', $sms_template_code);
$this->db->limit(1);
return $this->db->get($this->table_sms_templates)->row();
}
public function getSystemSmsTemplates()
{
$this->db->select('*');
$this->db->where('is_visible',1);
$this->db->order_by('sms_template_id', 'ASC');
return $this->db->get($this->table_sms_templates)->result();
}
public function getSystmeSmsTemplateValue($sms_template_id)
{
$this->db->select('*');
$this->db->where('sms_template_id', $sms_template_id);
$this->db->limit(1);
return $this->db->get($this->table_sms_templates)->row();
}
}