8 namespace Fossology\Lib\Dao;
16 const TYPE_MAP = array(
29 function __construct(
DbManager $dbManager, Logger $logger)
32 $this->logger = $logger;
40 $sql =
"select * from sysconfig order by group_name, group_order";
49 return $this->
dbManager->getSingleRow(
"SELECT conf_value FROM sysconfig
50 WHERE variablename = 'BannerMsg'")[
"conf_value"];
61 foreach ($data as $row) {
62 $type = self::TYPE_MAP[$row[
'vartype']];
64 "key" => $row[
'variablename'],
65 "value" => $row[
'conf_value'],
67 "label" => $row[
'ui_label'],
68 "group_name" => $row[
'group_name'],
69 "group_order" => intval($row[
'group_order']),
70 "option_value" => $row[
"option_value"]
85 $key = strval($data[
'key']);
86 $value = strval($data[
'value']);
90 foreach ($sysconfigData as $item) {
91 $oldarray[$item[
'variablename']] = $item[
'conf_value'];
94 if ($value != $oldarray[$key]) {
96 $sys_array = $this->
dbManager->getSingleRow(
"SELECT validation_function,
97 ui_label FROM sysconfig WHERE variablename = $1", [$key],__METHOD__.
'.getVarNameData');
98 $validation_function = $sys_array[
'validation_function'];
99 $ui_label = $sys_array[
'ui_label'];
100 $is_empty = empty($validation_function);
106 if ($is_empty || (! $is_empty && (1 == $validation_function($value)))) {
108 "UPDATE sysconfig SET conf_value=$1 WHERE variablename=$2",
109 [$value, $key], __METHOD__ .
'.setVarNameData');
111 }
else if (! $is_empty && (0 == $validation_function($value))) {
116 $warning_msg =
"Error: Unable to update $key.";
117 if (! strcmp($validation_function,
'check_boolean')) {
119 "Error: You set $ui_label to $value. Valid values are 'true' and 'false'.");
120 }
else if (strpos($validation_function,
"url")) {
122 "Error: $ui_label $value, is not a reachable URL.");
124 return [
false, $warning_msg];
getBannerData()
Fetch banner message.
getConfigData()
Fetch configuration rows.
UpdateConfigData($data)
Update Configuration Data.
fo_dbManager * dbManager
fo_dbManager object