298 lines
12 KiB
PHP
298 lines
12 KiB
PHP
<?php
|
|
namespace App\Models;
|
|
|
|
use CodeIgniter\Model;
|
|
|
|
class Agenda_model extends Model
|
|
{
|
|
|
|
protected $table = 'agenda';
|
|
protected $primaryKey = 'id_agenda';
|
|
protected $allowedFields = [];
|
|
|
|
// Listing
|
|
public function listing()
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// Listing
|
|
public function listing_cari($keywords)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->like('agenda.nama_agenda',$keywords);
|
|
$builder->orLike('agenda.isi',$keywords);
|
|
$builder->orLike('agenda.keywords',$keywords);
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// Kategori
|
|
public function menu_kategori()
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where( [ 'status_agenda' => 'Publish']);
|
|
$builder->groupBy('agenda.id_kategori_agenda');
|
|
$builder->orderBy('kategori_agenda.urutan','ASC');
|
|
$builder->limit(9);
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// kategori_agenda
|
|
public function kategori_agenda_4($id_kategori_agenda)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama, kategori_agenda.keterangan AS konten');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where( [ 'status_agenda' => 'Publish',
|
|
// 'jenis_agenda' => 'Produk',
|
|
'agenda.id_kategori_agenda' => $id_kategori_agenda]);
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$builder->limit(4);
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// home
|
|
public function beranda()
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where( [ 'status_agenda' => 'Publish']);
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$builder->limit(9);
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// home
|
|
public function paginasi()
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where( [ 'status_agenda' => 'Publish']);
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// home
|
|
public function sidebar($limit)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where( [ 'status_agenda' => 'Publish']);
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$this->limit((int)$limit);
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
|
|
// home
|
|
public function home()
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where( [ 'status_agenda' => 'Publish',
|
|
'jenis_agenda' => 'Produk']);
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// kategori_agenda
|
|
public function kategori_agenda($id_kategori_agenda)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where( [ 'status_agenda' => 'Publish',
|
|
// 'jenis_agenda' => 'Produk',
|
|
'agenda.id_kategori_agenda' => $id_kategori_agenda]);
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// kategori_agenda
|
|
public function kategori_agenda_all($id_kategori_agenda)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where( [ 'agenda.id_kategori_agenda' => $id_kategori_agenda]);
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// total
|
|
public function total_kategori_agenda($id_kategori_agenda)
|
|
{
|
|
$builder = $this->db->table('agenda')->where('id_kategori_agenda',$id_kategori_agenda);
|
|
$query = $builder->get();
|
|
return $query->getNumRows();
|
|
}
|
|
|
|
// author
|
|
public function author_all($id_user)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where( [ 'agenda.id_user' => $id_user]);
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// total
|
|
public function total_author($id_user)
|
|
{
|
|
$builder = $this->db->table('agenda')->where('id_user',$id_user);
|
|
$query = $builder->get();
|
|
return $query->getNumRows();
|
|
}
|
|
|
|
// kategori_agenda
|
|
public function jenis_agenda_all($jenis_agenda)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where( [ 'agenda.jenis_agenda' => $jenis_agenda]);
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// total
|
|
public function total_jenis_agenda($jenis_agenda)
|
|
{
|
|
$builder = $this->db->table('agenda')->where('jenis_agenda',$jenis_agenda);
|
|
$query = $builder->get();
|
|
return $query->getNumRows();
|
|
}
|
|
|
|
// status_agenda
|
|
public function status_agenda_all($status_agenda)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where( [ 'agenda.status_agenda' => $status_agenda]);
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$query = $builder->get();
|
|
return $query->getResultArray();
|
|
}
|
|
|
|
// status_agenda
|
|
public function total_status_agenda($status_agenda)
|
|
{
|
|
$builder = $this->db->table('agenda')->where('status_agenda',$status_agenda);
|
|
$query = $builder->get();
|
|
return $query->getNumRows();
|
|
}
|
|
|
|
|
|
|
|
// total
|
|
public function total_cari($keywords)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->like('agenda.nama_agenda',$keywords);
|
|
$builder->orLike('agenda.isi',$keywords);
|
|
$builder->orLike('agenda.keywords',$keywords);
|
|
$query = $builder->get();
|
|
return $query->getNumRows();
|
|
}
|
|
|
|
// total
|
|
public function total()
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$query = $builder->get();
|
|
return $query->getNumRows();
|
|
}
|
|
|
|
// total
|
|
public function total_status($status_agenda)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->where('status_agenda',$status_agenda);
|
|
$query = $builder->get();
|
|
return $query->getNumRows();
|
|
}
|
|
|
|
// detail
|
|
public function detail($id_agenda)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where('agenda.id_agenda',$id_agenda);
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$query = $builder->get();
|
|
return $query->getRowArray();
|
|
}
|
|
|
|
// read
|
|
public function read($slug_agenda)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->select('agenda.*, kategori_agenda.nama_kategori_agenda, kategori_agenda.slug_kategori_agenda, users.nama');
|
|
$builder->join('kategori_agenda','kategori_agenda.id_kategori_agenda = agenda.id_kategori_agenda','LEFT');
|
|
$builder->join('users','users.id_user = agenda.id_user','LEFT');
|
|
$builder->where('agenda.slug_agenda',$slug_agenda);
|
|
$builder->where('agenda.status_agenda','Publish');
|
|
$builder->orderBy('agenda.id_agenda','DESC');
|
|
$query = $builder->get();
|
|
return $query->getRowArray();
|
|
}
|
|
|
|
// tambah
|
|
public function tambah($data)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->insert($data);
|
|
}
|
|
|
|
// tambah
|
|
public function edit($data)
|
|
{
|
|
$builder = $this->db->table('agenda');
|
|
$builder->where('id_agenda',$data['id_agenda']);
|
|
$builder->update($data);
|
|
}
|
|
|
|
} |