'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 'View-'||main_cards.id||' ' ||'
'|| "
. "'Edit-'||main_cards.id||' ' AS Edit,"
. " 'Name: '|| main_cards.name||'Title: '||title||'Short Title: '||short_title||'Desc: '||description
||'Button: '||button1||'Button Text: '
||button1_text||'Action:>'||button1_action AS description,
(CASE WHEN main_cards.template = 7 THEN
'
'
ELSE
'
'
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 = "'View-'||id||' '";
$details = "'Name: '||name||'Title: '||title||'Short Title: '||short_title||'Desc: '||description ||'Button: '||button1||'Button Text: '||button1_text||'Action: >'||button1_action AS description";
$image = "' ' As button";
$del = "' Delete
' 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,"
. " 'Name: '|| main_cards.name||'Title: '||title||'Short Title '||short_title||'Desc : '||description
AS description,
'
' 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 'View-'||id||' ' ||' '|| "
. "'-' AS Edit,"
. " 'Name: '|| name||'Title: '||title||'Short Title '||short_title||'Desc : '||description
||'Button : '||button1||'Button Text : '
||button1_text||'Action :>'||button1_action AS description,
'
' 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 'View-'||id||' ' ||' '|| "
. "'Edit-'||id||' ' AS Edit,"
. " 'Card ID: '||name||'Question: '||title||'Short Title '||short_title||'Answers Options : '||description
||'Button : '||button1||'Button Text : '
||button1_text||'Action :>'||button1_action AS description,
'
' 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 'View-'||id||' ' ||' '|| "
. "'-' AS Edit,"
. " 'Name: '|| name||'Title: '||title||'Short Title '||short_title||'Desc : '||description
||'Button : '||button1||'Button Text : '
||button1_text||'Action :>'||button1_action AS description,
'
' As button,
' Delete
' 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 'Card ID: '||name||'Question: '||title||'Short Title '||short_title||'Answers Options : '||description
||'Button : '||button1||'Button Text : '
||button1_text||'Action :>'||button1_action AS description,
'
' As button,
'View-'||id||' ' ||' '|| 'Edit-'||id||' ' 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']??'';
}
}