crm-summit/app/Controllers/Contacts.php

93 lines
3.0 KiB
PHP
Raw Normal View History

2024-04-24 13:20:52 +07:00
<?php
namespace App\Controllers;
use App\Models\ContactsModel;
2026-03-18 11:10:05 +07:00
use App\Models\SiteContactModel;
2024-04-24 13:20:52 +07:00
use CodeIgniter\Controller;
class Contacts extends Controller {
protected $helper = ['form'];
public function index() {
$db = \Config\Database::connect();
$sql = "select c.contactid, c.firstname, c.lastname, c.title, c.initial, c.createdate, c.email_1 from contacts c";
$query = $db->query($sql);
$results = $query->getResultArray();
$data['contacts'] = $results;
return view('contacts_index', $data);
}
public function view($contactid = null) {
$db = \Config\Database::connect();
$sql = "SELECT * FROM contacts where contactid='$contactid'";
$query = $db->query($sql);
$results = $query->getResultArray();
$data['contacts'] = $results;
return view('contacts_view', $data);
}
public function edit($contactid = null) {
$db = \Config\Database::connect();
$data = array();
if($contactid != 0) {
$sql = "select * from contacts where contactid='$contactid'";
$query = $db->query($sql);
$results = $query->getResultArray();
$data['contacts'] = $results;
}
if ($this->request->getMethod() === 'POST') {
2024-04-24 13:20:52 +07:00
$rules = [
2026-03-18 11:10:05 +07:00
// 'contactid' => 'required',
2024-04-24 13:20:52 +07:00
'firstname' => 'required',
'email_1' => 'required',
'initial' => 'required'
];
$data['new_value'] = [
'firstname' => $this->request->getVar('firstname'),
'lastname' => $this->request->getVar('lastname'),
'title' => $this->request->getVar('title'),
'initial' => $this->request->getVar('initial'),
'birthdate' => ($this->request->getVar('birthdate') == '') ? NULL : $this->request->getVar('birthdate'),
'email_1' => $this->request->getVar('email_1'),
'email_2' => $this->request->getVar('email_2'),
'phone' => $this->request->getVar('phone'),
'mobile_1' => $this->request->getVar('mobile_1'),
2026-03-18 11:10:05 +07:00
'mobile_2' => $this->request->getVar('mobile_2'),
'siteid' => $this->request->getVar('siteid') ?? null //Untuk Create dari AR
2024-04-24 13:20:52 +07:00
];
if($this->validate($rules)){
if($contactid != 0) {
$contactsModel = new contactsModel();
$contactsModel->set('enddate', NULL);
$contactsModel->update($contactid, $data['new_value']);
return view('form_success');
} else {
$contactsModel = new ContactsModel();
$contactsModel->set('createdate', 'NOW()', FALSE);
$contactsModel->set('enddate', NULL);
$contactsModel->insert($data['new_value']);
2026-03-18 11:10:05 +07:00
$contactid = $contactsModel->getInsertID();
if($this->request->getVar('siteid') != null) {
$siteContactModel = new SiteContactModel();
$siteContactValue = [
'siteid' => $this->request->getVar('siteid'),
'contactid' => $contactid,
'contactemail' => $this->request->getVar('email_1'),
];
$siteContactModel->insert($siteContactValue);
}
2024-04-24 13:20:52 +07:00
return view('form_success');
}
} else {
$data['validation'] = $this->validator;
return view('contacts_editor',$data);
}
}
return view('contacts_editor', $data);
}
}