first commit
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
<?php if (!defined('BASEPATH')) {
|
||||
exit('No direct script access allowed');
|
||||
}
|
||||
|
||||
class Members_notification_model extends CI_Model
|
||||
{
|
||||
const PENDING_STATUS = 1;
|
||||
const COMPLETED_STATUS = 5;
|
||||
const EXPIRED_STATUS = 2;
|
||||
const CANCELLED_STATUS = 3;
|
||||
|
||||
public function __constructor()
|
||||
{
|
||||
parrent::__constructor();
|
||||
}
|
||||
|
||||
public function getNotifications($params = [])
|
||||
{
|
||||
$condition = ' WHERE true ';
|
||||
if (isset($params['from_to']) && !empty($params['from_to'])) {
|
||||
// from_to format: 2020-02-03 - 2020-03-01
|
||||
$fromToArray = explode(' - ', $params['from_to']);
|
||||
$fromDate = $fromToArray[0];
|
||||
$toDate = $fromToArray[1];
|
||||
$condition .= " AND to_char(n.added, 'YYYY-MM-DD') >= '" . pg_escape_string($fromDate) . "' AND to_char(n.added, 'YYYY-MM-DD') <= '" . pg_escape_string($toDate) . "' ";
|
||||
}
|
||||
if (isset($params['status']) && $params['status'] !== '') {
|
||||
$condition .= " AND n.status = " . pg_escape_string((int)$params['status']);
|
||||
}
|
||||
if (isset($params['notice_type']) && !empty($params['notice_type'])) {
|
||||
$condition .= " AND n.notice_type = '" . pg_escape_string($params['notice_type']) . "'";
|
||||
}
|
||||
if (isset($params['account_email']) && !empty($params['account_email'])) {
|
||||
$condition .= " AND m.email ILIKE '%" . pg_escape_string($params['account_email']) . "%' ";
|
||||
}
|
||||
if (isset($params['trigger_key']) && !empty($params['trigger_key'])) {
|
||||
$condition .= " AND n.trigger_key ILIKE '%" . pg_escape_string($params['trigger_key']) . "%' ";
|
||||
}
|
||||
if (isset($params['email_msg']) && !empty($params['email_msg'])) {
|
||||
$condition .= " AND n.msg ILIKE '%" . pg_escape_string($params['email_msg']) . "%' ";
|
||||
}
|
||||
if (isset($params['mode']) && !empty($params['mode'])) {
|
||||
$condition .= " AND n.mmode ILIKE '%" . pg_escape_string($params['mode']) . "%' ";
|
||||
}
|
||||
return "SELECT m.id AS member_id , m.email,"
|
||||
. "CASE WHEN m.alert_notification=1 THEN 'Yes' ELSE 'No' END AS NotificationAlert ,n.trigger_key,"
|
||||
. "( CASE WHEN m.alert_email=1 THEN 'Yes' ELSE 'No' END) AS EmailAlert ,"
|
||||
. " n.notice_type,n.msg,"
|
||||
. " ( CASE WHEN n.status=1 THEN 'Pending' WHEN n.status=5 THEN 'Completed' WHEN n.status=2 THEN 'Expired' WHEN n.status=3 THEN 'Cancelled' ELSE 'No' END) AS msg_status, "
|
||||
. " n.added,n.mmode ,"
|
||||
. "'<button type=\"button\" onclick=\"pushNotification('||n.id||','||m.id||');\" class=\"btn btn-danger\" id=\"acc'||n.id||'\">Send</button> <button type=\"button\" onclick=\"pushCard('||n.id||','||m.id||');\" class=\"btn btn-info\" id=\"acc'||n.id||'\">Card</button> <div id=\"msgl'||n.id||'\"></div>' AS Send "
|
||||
. " FROM members_notification n LEFT JOIN members m On m.id=n.member_id " . $condition . " ORDER BY n.added DESC";
|
||||
}
|
||||
|
||||
protected function checkCondition($condition, $query)
|
||||
{
|
||||
if (strpos($query, 'WHERE') === false) {
|
||||
$query .= " WHERE $condition";
|
||||
} else {
|
||||
$query .= " AND $condition";
|
||||
}
|
||||
return $query;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user