|
Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /var/www/ptbos.biz/public_html/application/models/ |
Upload File : |
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Menu_m extends MY_Model {
protected $_table_name = 'menus';
protected $_primary_key = 'id_menus';
protected $_order_by = 'id_menus';
public $rules = array(
array(
'field' => 'menu',
'label' => 'menu',
/* 'rules' => 'trim|required|callback__cek_existing_menu_title' */
'rules' => 'trim|required'
),
// array(
// 'field' => 'menu_en',
// 'label' => 'menu en',
// 'rules' => 'trim|required|callback__cek_existing_menu_en_title',
// 'rules' => 'trim|required'
// ),
array(
'field' => 'menu_type',
'label' => 'menu type',
'rules' => 'trim|required'
),
array(
'field' => 'status',
'label' => 'status',
'rules' => 'trim|required'
),
array(
'field' => 'priority',
'label' => 'priority',
'rules' => 'trim|required|numeric'
),
);
function __construct() {
parent::__construct();
}
//pagination included
function get_all_menus($limit, $start) {
$this->db->select('*');
$this->db->from('menus');
$this->db->where('id_menus !=', '0');
$this->db->order_by('priority');
$this->db->limit($limit, $start);
$query = $this->db->get();
return $query->result();
}
//function to display new menu, where all fields are empty
public function get_new() {
$menus = new stdClass();
$menus->menu = '';
$menus->menu_en = '';
$menus->menu_type = '';
$menus->menu_link = '';
$menus->status = '';
$menus->priority = '';
$menus->parent_id = '';
return $menus;
}
//get all menus
function get_menus() {
$this->db->select('*');
$this->db->from('menus');
$this->db->order_by('id_menus asc');
$query = $this->db->get();
return $query->result();
}
//function add new menu
function add_menu($data) {
$this->db->insert('menus', $data);
return $this->db->insert_id();
}
//function edit menu
function edit_menu($id, $data) {
$this->db->where('id_menus', $id);
$this->db->update('menus', $data);
}
//function count all record for menu
public function record_count() {
return $this->db->get('menus')->num_rows();
}
//function count if existing record exist
public function count_exist($id) {
$this->db->select('*');
$this->db->from('menus');
$this->db->where('id_menus', $id);
$query = $this->db->get();
return $query->num_rows();
}
//FOR FRONT END REGISTRATION PAGE
//get all menus to display at front registration page, with status display 1 only
function get_menus_display_on() {
$this->db->select('*');
$this->db->from('menus');
$this->db->where('status', '1');
$this->db->where('id_menus !=', '0');
$this->db->order_by('id_menus asc');
$query = $this->db->get();
return $query->result();
}
//cek if menu title already exist
public function cek_existing_menu_title($str, $menu_id) {
$this->db->select('id_menus');
$this->db->from('menus');
$this->db->where('menu', $str);
if ($menu_id != NULL) {
$this->db->where('id_menus !=', $menu_id);
}
$query = $this->db->get();
return $query->num_rows();
}
//cek if menu english title already exist
public function cek_existing_menu_en_title($str, $menu_id) {
$this->db->select('id_menus');
$this->db->from('menus');
$this->db->where('menu_en', $str);
if ($menu_id != NULL) {
$this->db->where('id_menus !=', $menu_id);
}
$query = $this->db->get();
return $query->num_rows();
}
public function get_parent_menus() {
$this->db->select('*')->from('menus')->where('parent_id', NULL);
$parent_menus = $this->db->get()->result();
return $parent_menus;
}
public function get_all_parent_menus($limit, $start) {
$this->db->select('*');
$this->db->from('menus');
$this->db->where('parent_id', NULL);
$this->db->order_by('priority', 'ASC');
$this->db->limit($limit, $start);
$query = $this->db->get();
return $query->result();
}
}