mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 18:02:18 +00:00
add filter function for Tags, refactoring and restyling, add phrases and dbupdate
This commit is contained in:
@@ -28,4 +28,67 @@ class Bookmark_model extends DB_Model
|
||||
|
||||
return $this->execQuery($qry, array('uid' => $uid));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Overrides of given uid and funktion_kurzbz and widget_id
|
||||
* @param integer $widget_id
|
||||
* @param string $uid
|
||||
* @param string $funktion_kurzbz
|
||||
* @return array
|
||||
*/
|
||||
public function getTagFilter($widgetId, $uid, $funktion_kurzbz)
|
||||
{
|
||||
$qry = " SELECT override -> '" . $funktion_kurzbz . "'-> 'widgets'-> '" . $widgetId . "'-> 'config' -> 'tags' AS tags FROM dashboard.tbl_dashboard_benutzer_override WHERE uid = '" . $uid . "';";
|
||||
|
||||
return $this->execQuery($qry);
|
||||
}
|
||||
|
||||
/*
|
||||
* updates Tagfilter
|
||||
* checks and changes type of config
|
||||
* if config == array -> change to object
|
||||
*/
|
||||
public function addAndUpdateTagFilter($widgetId, $uid, $funktion_kurzbz, $tags)
|
||||
{
|
||||
$params = [
|
||||
$funktion_kurzbz, $widgetId,
|
||||
$funktion_kurzbz, $widgetId,
|
||||
$funktion_kurzbz, $widgetId,
|
||||
$funktion_kurzbz, $widgetId,
|
||||
$tags,
|
||||
$uid
|
||||
];
|
||||
|
||||
$qry = "
|
||||
UPDATE dashboard.tbl_dashboard_benutzer_override
|
||||
SET override = jsonb_set(
|
||||
-- check if config is object
|
||||
jsonb_set(
|
||||
COALESCE(override, '{}'::jsonb),
|
||||
format('{%s,widgets,%s,config}', ?, ?)::text[],
|
||||
CASE
|
||||
WHEN jsonb_typeof(override #> format('{%s,widgets,%s,config}', ?, ?)::text[]) = 'array'
|
||||
THEN '{}'::jsonb
|
||||
ELSE COALESCE((override #> format('{%s,widgets,%s,config}', ?, ?)::text[])::jsonb, '{}'::jsonb)
|
||||
END,
|
||||
true
|
||||
),
|
||||
-- insert tags
|
||||
format('{%s,widgets,%s,config,tags}', ?, ?)::text[],
|
||||
?::jsonb,
|
||||
true
|
||||
)
|
||||
WHERE uid = ?
|
||||
";
|
||||
|
||||
return $this->execQuery($qry, $params);
|
||||
}
|
||||
|
||||
public function checkOrAddToOverride($widgetId, $uid, $funktion_kurzbz)
|
||||
{
|
||||
$params = [$funktion_kurzbz, $widgetId, $uid];
|
||||
$qry = " SELECT override -> '" . $funktion_kurzbz . "'-> 'widgets'-> '" . $widgetId . "'-> 'widgetid' as widgetid FROM dashboard.tbl_dashboard_benutzer_override WHERE uid = '" . $uid . "';";
|
||||
|
||||
return $this->execQuery($qry, $params);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,58 +23,4 @@ class Dashboard_Override_model extends DB_Model
|
||||
{
|
||||
return $this->loadWhere(array('dashboard_id' => $dashboard_id, 'uid'=> $uid));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Overrides of given uid and funktion_kurzbz and widget_id
|
||||
* @param integer dashboard_id
|
||||
* @param string $uid
|
||||
* @return array
|
||||
*/
|
||||
//TODO(MANU) move to bookmark model
|
||||
public function getTagFilter($widgetId, $uid, $funktion_kurzbz)
|
||||
{
|
||||
// $qry = "SELECT override -> ? -> 'widgets' -> ? -> 'tags' AS tags FROM dashboard.tbl_dashboard_benutzer_override WHERE uid = ?";
|
||||
|
||||
// $qry = " SELECT override -> '" . $funktion_kurzbz . "'-> 'widgets'-> '" . $widgetId . "'-> 'tags' AS tags FROM dashboard.tbl_dashboard_benutzer_override WHERE uid = '" . $uid . "';";
|
||||
|
||||
//unter config
|
||||
$qry = " SELECT override -> '" . $funktion_kurzbz . "'-> 'widgets'-> '" . $widgetId . "'-> 'config' -> 'tags' AS tags FROM dashboard.tbl_dashboard_benutzer_override WHERE uid = '" . $uid . "';";
|
||||
/* $qry = <<<SQL
|
||||
SELECT
|
||||
override -> ?
|
||||
-> 'widgets'
|
||||
-> ?
|
||||
-> 'tags' AS tags
|
||||
FROM dashboard.tbl_dashboard_benutzer_override
|
||||
WHERE uid = ?
|
||||
SQL;*/
|
||||
|
||||
//return $qry;
|
||||
|
||||
return $this->execQuery($qry);
|
||||
// return $this->execQuery($qry, array($funktion_kurzbz, $widgetId, $uid));
|
||||
}
|
||||
|
||||
//TODO(MANU) move to bookmark model
|
||||
public function addTagFilter($widgetId, $uid, $funktion_kurzbz, $tags)
|
||||
{
|
||||
if (is_array($tags)) {
|
||||
$tags = json_encode($tags); // convert PHP array to JSON string
|
||||
}
|
||||
$params = [$funktion_kurzbz, $widgetId, $tags, $uid];
|
||||
|
||||
$qry = "
|
||||
UPDATE dashboard.tbl_dashboard_benutzer_override
|
||||
SET override = jsonb_set(
|
||||
COALESCE(override, '{}'::jsonb),
|
||||
format('{%s,widgets,%s,config,tags}',? , ?)::text[],
|
||||
?::jsonb,
|
||||
true
|
||||
)
|
||||
WHERE uid = ?
|
||||
";
|
||||
// return $qry;
|
||||
|
||||
return $this->execQuery($qry, $params);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user