Files
dev-chiefworks f76abffdcd first commit
2022-05-31 16:21:53 -04:00

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']??'';
}
}