433 lines
20 KiB
PHP
433 lines
20 KiB
PHP
<?php
|
|
|
|
if (!defined('BASEPATH')) {
|
|
exit('No direct script access allowed');
|
|
}
|
|
|
|
class Main_cards_model extends CI_Model {
|
|
|
|
public function __constructor() {
|
|
parrent::__constructor();
|
|
}
|
|
|
|
public function getCardsQuery($params = []) {
|
|
$whereQuery = '';
|
|
|
|
if (!empty($params['card_category'])) {
|
|
$whereQuery .= " AND main_cards.button1_action='" . pg_escape_string($params['card_category']) . "' ";
|
|
}
|
|
|
|
if (!empty($params['filter_name']) && !empty($params['filter_value'])) {
|
|
$filter_name = $params['filter_name'];
|
|
$filter_value = trim($params['filter_value']);
|
|
|
|
if ($filter_name == 'name') {
|
|
$whereQuery .= " AND main_cards.name ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'title') {
|
|
$whereQuery .= " AND main_cards.title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'short_title') {
|
|
$whereQuery .= " AND main_cards.short_title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'description') {
|
|
$whereQuery .= " AND main_cards.description ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'button1_action') {
|
|
$whereQuery .= " AND main_cards.button1_action ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
}elseif( empty($params['filter_name']) && !empty($params['filter_value']) ){
|
|
// find all
|
|
$filter_value = trim($params['filter_value']);
|
|
$fields_like = [
|
|
'name' => 'main_cards.name',
|
|
'title' => 'main_cards.title',
|
|
'short_title' => 'main_cards.short_title',
|
|
'description' => 'main_cards.description',
|
|
'button1_action'=> 'main_cards.button1_action'
|
|
];
|
|
$whereQuery .= " AND concat(".implode(',',array_values($fields_like)).") ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
$query = "
|
|
SELECT '<button id=\"acc'||main_cards.id||'\" type=\"button\" class=\"btn btn-primary btn-xs\" block onclick=\"viewCard('||main_cards.id||');\">View-'||main_cards.id||'</button>' ||'<br><hr>'|| "
|
|
. "'<button id=\"edit'||main_cards.id||'\" type=\"button\" class=\"btn btn-warning btn-xs\" block onclick=\"editCard('||main_cards.id||');\">Edit-'||main_cards.id||'</button>' AS Edit,"
|
|
. " '<b>Name: </b>'|| main_cards.name||'<br><b>Title: </b>'||title||'<br><b>Short Title: </b>'||short_title||'<br><b>Desc: </b>'||description
|
|
||'<br><b>Button: </b>'||button1||'<br><b>Button Text: </b>'
|
|
||button1_text||'<br><b>Action:</>'||button1_action AS description,
|
|
(CASE WHEN main_cards.template = 7 THEN
|
|
'<div onclick=\"viewCard('||main_cards.id||');\" style=\"width:120px; height:120px; background-color:#'||main_cards.background_color||'\"></div><br>
|
|
<div id=\"del_form'||main_cards.id||'\"><a href=\"#\" onclick=\"deleteCard('||main_cards.id||');\" class=\"text-danger\">archive</a></div> '
|
|
ELSE
|
|
'<img onclick=\"viewCard('||main_cards.id||');\" style=\"height:120px; \" src=\"'||background_picture||'\" ><br>
|
|
<div id=\"del_form'||main_cards.id||'\"><a href=\"#\" onclick=\"deleteCard('||main_cards.id||');\" class=\"text-danger\">archive</a></div> '
|
|
END) As button,
|
|
card_country
|
|
FROM main_cards
|
|
WHERE
|
|
status = 1
|
|
AND main_cards.deleted IS NULL
|
|
AND main_cards.button1_action NOT IN ('SURVEYA')
|
|
" . $whereQuery . "
|
|
ORDER BY main_cards.id DESC
|
|
";
|
|
|
|
return $query;
|
|
}
|
|
|
|
/**
|
|
* Get expired cards
|
|
* @return array
|
|
*/
|
|
public function getCardsExpired( $params = array() ) {
|
|
$whereQuery = '';
|
|
|
|
if (!empty($params['card_category'])) {
|
|
$whereQuery .= " AND button1_action='" . pg_escape_string($params['card_category']) . "' ";
|
|
}
|
|
|
|
if (!empty($params['filter_name']) && !empty($params['filter_value'])) {
|
|
$filter_name = $params['filter_name'];
|
|
$filter_value = trim($params['filter_value']);
|
|
|
|
if ($filter_name == 'name') {
|
|
$whereQuery .= " AND name ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'title') {
|
|
$whereQuery .= " AND title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'short_title') {
|
|
$whereQuery .= " AND short_title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'description') {
|
|
$whereQuery .= " AND description ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'button1_action') {
|
|
$whereQuery .= " AND button1_action ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
}elseif( empty($params['filter_name']) && !empty($params['filter_value']) ){
|
|
// find all
|
|
$filter_value = trim($params['filter_value']);
|
|
$fields_like = [
|
|
'name',
|
|
'title',
|
|
'short_title',
|
|
'description',
|
|
'button1_action'
|
|
];
|
|
$whereQuery .= " AND concat(".implode(',',$fields_like).") ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
$viewButton = "'<button id=\"acc'||id||'\" type=\"button\" class=\"btn btn-primary btn-xs\" block onClick=\"viewCard('||id||');\">View-'||id||'</button>'";
|
|
$details = "'<b>Name: </b>'||name||'<br><b>Title: </b>'||title||'<br><b>Short Title: </b>'||short_title||'<br><b>Desc: </b>'||description ||'<br><b>Button: </b>'||button1||'<br><b>Button Text: </b>'||button1_text||'<br><b>Action: </>'||button1_action AS description";
|
|
$image = "'<img onclick=\"viewCard('||id||');\" style=\"height:120px; \" src=\"'||background_picture||'\" ><br> <div id=\"del_form'||id||'\"><a href=\"#\" onclick=\"returnCard('||id||');\" class=\"text-danger\">make Inactive</a></div> ' As button";
|
|
$del = "'<div id=\"xd_form'||id||'\"><button id=\"xd'||id||'\" type=\"button\" class=\"btn btn-danger btn-xs\" block onclick=\"deleteCard('||id||');\">Delete</button></div>' AS button2";
|
|
$sql = sprintf('
|
|
SELECT
|
|
%s, %s, %s, %s
|
|
from main_cards
|
|
where
|
|
card_canexpire = 1
|
|
and now() > card_expiration
|
|
%s
|
|
order by id desc
|
|
', $viewButton, $details, $image, $del, $whereQuery);
|
|
|
|
return $sql;
|
|
}
|
|
|
|
public function getCardsOrderQuery($params = []) {
|
|
$whereQuery = '';
|
|
|
|
if (!empty($params['card_category'])) {
|
|
$whereQuery .= " AND main_cards.button1_action='" . pg_escape_string($params['card_category']) . "' ";
|
|
}
|
|
|
|
if (!empty($params['filter_name']) && !empty($params['filter_value'])) {
|
|
$filter_name = $params['filter_name'];
|
|
$filter_value = trim($params['filter_value']);
|
|
|
|
if ($filter_name == 'name') {
|
|
$whereQuery .= " AND main_cards.name ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'title') {
|
|
$whereQuery .= " AND main_cards.title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'short_title') {
|
|
$whereQuery .= " AND main_cards.short_title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'description') {
|
|
$whereQuery .= " AND main_cards.description ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'button1_action') {
|
|
$whereQuery .= " AND main_cards.button1_action ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
}
|
|
|
|
$query = "
|
|
SELECT main_cards.card_order AS card_order,main_cards.id AS card_id,"
|
|
. " '<b>Name:</b>'|| main_cards.name||'<br><b>Title:</b>'||title||'<br><b>Short Title</b>'||short_title||'<br><b>Desc :</b>'||description
|
|
AS description,
|
|
'<img onclick=\"viewCard('||main_cards.id||');\" style=\"height:120px; \" src=\"'||background_picture||'\" ><br>
|
|
<div id=\"del_form'||main_cards.id||'\"><a href=\"#\" onclick=\"deleteCard('||main_cards.id||');\" class=\"text-danger\">archive</a></div> ' As button,
|
|
card_country
|
|
FROM main_cards
|
|
WHERE
|
|
status = 1
|
|
AND main_cards.deleted IS NULL
|
|
" . $whereQuery . "
|
|
ORDER BY main_cards.card_order DESC
|
|
";
|
|
|
|
return $query;
|
|
}
|
|
|
|
public function getDeletedCardsQuery($params = []) {
|
|
$whereQuery = '';
|
|
|
|
if (!empty($params['card_category'])) {
|
|
$whereQuery .= " AND button1_action='" . pg_escape_string($params['card_category']) . "' ";
|
|
}
|
|
|
|
if (!empty($params['filter_name']) && !empty($params['filter_value'])) {
|
|
$filter_name = $params['filter_name'];
|
|
$filter_value = trim($params['filter_value']);
|
|
|
|
if ($filter_name == 'name') {
|
|
$whereQuery .= " AND name ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'title') {
|
|
$whereQuery .= " AND title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'short_title') {
|
|
$whereQuery .= " AND short_title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'description') {
|
|
$whereQuery .= " AND description ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'button1_action') {
|
|
$whereQuery .= " AND button1_action ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
}
|
|
|
|
$query = "
|
|
SELECT '<button id=\"acc'||id||'\" type=\"button\" class=\"btn btn-primary btn-xs\" block onclick=\"viewCard('||id||');\">View-'||id||'</button>' ||'<br><hr>'|| "
|
|
. "'-' AS Edit,"
|
|
. " '<b>Name:</b>'|| name||'<br><b>Title:</b>'||title||'<br><b>Short Title</b>'||short_title||'<br><b>Desc :</b>'||description
|
|
||'<br><b>Button :</b>'||button1||'<br><b>Button Text :</b>'
|
|
||button1_text||'<br><b>Action :</>'||button1_action AS description,
|
|
'<img onclick=\"viewCard('||id||');\" style=\"height:120px; \" src=\"'||background_picture||'\" ><br>
|
|
<div id=\"del_form'||id||'\"><a href=\"#\" onclick=\"returnCard('||id||');\" class=\"text-danger\">make Inactive</a></div> ' As button
|
|
FROM
|
|
main_cards
|
|
WHERE
|
|
deleted IS NOT NULL
|
|
" . $whereQuery . "
|
|
ORDER BY deleted DESC
|
|
";
|
|
|
|
return $query;
|
|
}
|
|
|
|
public function getSurveyCardsQuery($params = []) {
|
|
$whereQuery = '';
|
|
|
|
if (!empty($params['card_category'])) {
|
|
$whereQuery .= " AND button1_action='" . pg_escape_string($params['card_category']) . "' ";
|
|
}
|
|
|
|
if (!empty($params['filter_name']) && !empty($params['filter_value'])) {
|
|
$filter_name = $params['filter_name'];
|
|
$filter_value = trim($params['filter_value']);
|
|
|
|
if ($filter_name == 'name') {
|
|
$whereQuery .= " AND name ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'title') {
|
|
$whereQuery .= " AND title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'short_title') {
|
|
$whereQuery .= " AND short_title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'description') {
|
|
$whereQuery .= " AND description ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'button1_action') {
|
|
$whereQuery .= " AND button1_action ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
}elseif( empty($params['filter_name']) && !empty($params['filter_value']) ){
|
|
// find all
|
|
$filter_value = trim($params['filter_value']);
|
|
$fields_like = [
|
|
'name',
|
|
'title',
|
|
'short_title',
|
|
'description',
|
|
'button1_action'
|
|
];
|
|
$whereQuery .= " AND concat(".implode(',',$fields_like).") ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
$query = "
|
|
SELECT '<button id=\"acc'||id||'\" type=\"button\" class=\"btn btn-primary btn-xs\" block onclick=\"viewCard('||id||');\">View-'||id||'</button>' ||'<br><hr>'|| "
|
|
. "'<button id=\"edit'||id||'\" type=\"button\" class=\"btn btn-warning btn-xs\" block onclick=\"editCard('||id||');\">Edit-'||id||'</button>' AS Edit,"
|
|
. " '<b>Card ID:</b>'||name||'<br><b>Question:</b>'||title||'<br><b>Short Title</b>'||short_title||'<br><b>Answers Options :</b>'||description
|
|
||'<br><b>Button :</b>'||button1||'<br><b>Button Text :</b>'
|
|
||button1_text||'<br><b>Action :</>'||button1_action AS description,
|
|
'<img onclick=\"viewCard('||id||');\" style=\"height:120px; \" src=\"'||background_picture||'\" ><br>
|
|
<div id=\"del_form'||id||'\"><a href=\"#\" onclick=\"deleteCard('||id||');\" class=\"text-danger\">archive</a></div> ' As button
|
|
FROM
|
|
main_cards
|
|
WHERE
|
|
status = 1
|
|
" . $whereQuery . "
|
|
ORDER BY id DESC
|
|
";
|
|
|
|
return $query;
|
|
}
|
|
|
|
public function getArchivedCardsQuery($params = []) {
|
|
$whereQuery = '';
|
|
|
|
if (!empty($params['card_category'])) {
|
|
$whereQuery .= " AND button1_action='" . pg_escape_string($params['card_category']) . "' ";
|
|
}
|
|
|
|
if (!empty($params['filter_name']) && !empty($params['filter_value'])) {
|
|
$filter_name = $params['filter_name'];
|
|
$filter_value = trim($params['filter_value']);
|
|
|
|
if ($filter_name == 'name') {
|
|
$whereQuery .= " AND name ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'title') {
|
|
$whereQuery .= " AND title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'short_title') {
|
|
$whereQuery .= " AND short_title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'description') {
|
|
$whereQuery .= " AND description ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'button1_action') {
|
|
$whereQuery .= " AND button1_action ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
}elseif( empty($params['filter_name']) && !empty($params['filter_value']) ){
|
|
// find all
|
|
$filter_value = trim($params['filter_value']);
|
|
$fields_like = [
|
|
'name',
|
|
'title',
|
|
'short_title',
|
|
'description',
|
|
'button1_action'
|
|
];
|
|
$whereQuery .= " AND concat(".implode(',',$fields_like).") ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
$query = "
|
|
SELECT '<button id=\"acc'||id||'\" type=\"button\" class=\"btn btn-primary btn-xs\" block onclick=\"viewCard('||id||');\">View-'||id||'</button>' ||'<br><hr>'|| "
|
|
. "'-' AS Edit,"
|
|
. " '<b>Name:</b>'|| name||'<br><b>Title:</b>'||title||'<br><b>Short Title</b>'||short_title||'<br><b>Desc :</b>'||description
|
|
||'<br><b>Button :</b>'||button1||'<br><b>Button Text :</b>'
|
|
||button1_text||'<br><b>Action :</>'||button1_action AS description,
|
|
'<img onclick=\"viewCard('||id||');\" style=\"height:120px; \" src=\"'||background_picture||'\" ><br>
|
|
<div id=\"del_form'||id||'\"><a href=\"#\" onclick=\"activateCard('||id||');\" class=\"text-danger\">Activate</a></div> ' As button,
|
|
'<div id=\"xd_form'||id||'\"><button id=\"xd'||id||'\" type=\"button\" class=\"btn btn-danger btn-xs\" block onclick=\"deleteCard('||id||');\">Delete</button></div>' AS button2
|
|
FROM
|
|
main_cards
|
|
WHERE
|
|
status <> 1
|
|
AND deleted IS NULL
|
|
" . $whereQuery . "
|
|
ORDER BY id DESC
|
|
";
|
|
|
|
return $query;
|
|
}
|
|
|
|
public function getDynamicCardsQuery($params = []) {
|
|
$whereQuery = '';
|
|
|
|
if (!empty($params['card_category'])) {
|
|
$whereQuery .= " AND button1_action='" . pg_escape_string($params['card_category']) . "' ";
|
|
}
|
|
|
|
if (!empty($params['filter_name']) && !empty($params['filter_value'])) {
|
|
$filter_name = $params['filter_name'];
|
|
$filter_value = trim($params['filter_value']);
|
|
|
|
if ($filter_name == 'name') {
|
|
$whereQuery .= " AND name ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'title') {
|
|
$whereQuery .= " AND title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'short_title') {
|
|
$whereQuery .= " AND short_title ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'description') {
|
|
$whereQuery .= " AND description ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
|
|
if ($filter_name == 'button1_action') {
|
|
$whereQuery .= " AND button1_action ILIKE '%" . pg_escape_string($filter_value) . "%' ";
|
|
}
|
|
}
|
|
|
|
$query = "
|
|
SELECT '<b>Card ID:</b>'||name||'<br><b>Question:</b>'||title||'<br><b>Short Title</b>'||short_title||'<br><b>Answers Options :</b>'||description
|
|
||'<br><b>Button :</b>'||button1||'<br><b>Button Text :</b>'
|
|
||button1_text||'<br><b>Action :</>'||button1_action AS description,
|
|
'<img onclick=\"viewCard('||id||');\" style=\"height:120px; \" src=\"'||background_picture||'\" ><br>
|
|
<div id=\"del_form'||id||'\"><a href=\"#\" onclick=\"deleteCard('||id||');\" class=\"text-danger\">archive</a></div> ' As button,
|
|
'<button id=\"acc'||id||'\" type=\"button\" class=\"btn btn-primary btn-xs\" block onclick=\"viewCard('||id||');\">View-'||id||'</button>' ||'<br><hr>'|| '<button id=\"edit'||id||'\" type=\"button\" class=\"btn btn-warning btn-xs\" block onclick=\"editCard('||id||');\">Edit-'||id||'</button>' AS Edit
|
|
FROM
|
|
main_cards
|
|
WHERE
|
|
status = 1
|
|
" . $whereQuery . "
|
|
ORDER BY id DESC
|
|
";
|
|
|
|
return $query;
|
|
}
|
|
public function getDefaultCardPictureValue(){
|
|
global $savvyext;
|
|
$storage = $savvyext->cfgReadChar('system.storage_url');
|
|
$sql = "SELECT '{$storage}cards/'||uniqueid||'.'||format AS id,"
|
|
. " id||' ['|| file_size*0.01 ||'kb] -{$storage}cards/'||uniqueid||'.'||format AS val FROM card_images limit 1";
|
|
$q = (array)$this->db->query($sql)->row();
|
|
return $q['id']??'';
|
|
}
|
|
|
|
}
|