|
@@ -8,115 +8,120 @@ $result = Database::query($sql);
|
|
|
$vchamilos = Database::store_result($result, 'ASSOC');
|
|
|
|
|
|
|
|
|
-if ($action == 'syncall') {
|
|
|
- exit;
|
|
|
- $keys = array_keys($_REQUEST);
|
|
|
- $selection = preg_grep('/sel_.*/', $keys);
|
|
|
+switch ($action) {
|
|
|
+ case 'syncall':
|
|
|
+ exit;
|
|
|
+ $keys = array_keys($_REQUEST);
|
|
|
+ $selection = preg_grep('/sel_.*/', $keys);
|
|
|
|
|
|
- foreach ($selection as $selkey) {
|
|
|
- $settingId = str_replace('sel_', '', $selkey);
|
|
|
+ foreach ($selection as $selkey) {
|
|
|
+ $settingId = str_replace('sel_', '', $selkey);
|
|
|
|
|
|
- if (!is_numeric($settingId)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
+ if (!is_numeric($settingId)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
- $value = $_REQUEST[$selkey];
|
|
|
+ $value = $_REQUEST[$selkey];
|
|
|
|
|
|
- $setting = api_get_settings_params_simple(['id' => $settingId]);
|
|
|
+ $setting = api_get_settings_params_simple(['id' => $settingId]);
|
|
|
|
|
|
- $params = [
|
|
|
- 'title' => $setting['title'],
|
|
|
- 'variable' => $setting['variable'],
|
|
|
- 'subkey' => $setting['subkey'],
|
|
|
- 'category' => $setting['category'],
|
|
|
- 'access_url' => $setting['access_url'],
|
|
|
- ];
|
|
|
+ $params = [
|
|
|
+ 'title' => $setting['title'],
|
|
|
+ 'variable' => $setting['variable'],
|
|
|
+ 'subkey' => $setting['subkey'],
|
|
|
+ 'category' => $setting['category'],
|
|
|
+ 'access_url' => $setting['access_url'],
|
|
|
+ ];
|
|
|
|
|
|
- foreach ($vchamilos as $vcid => $chm) {
|
|
|
- $table = $chm['main_database'].".settings_current ";
|
|
|
- $sql = " SELECT * FROM $table
|
|
|
+ foreach ($vchamilos as $chm) {
|
|
|
+ $table = $chm['main_database'].".settings_current ";
|
|
|
+ $sql = " SELECT * FROM $table
|
|
|
WHERE
|
|
|
variable = '{{$setting['variable']}}' AND
|
|
|
access_url = '{$setting['access_url']}'
|
|
|
";
|
|
|
- $result = Database::query($sql);
|
|
|
+ $result = Database::query($sql);
|
|
|
|
|
|
- if (Database::num_rows($result)) {
|
|
|
- $sql = "UPDATE $table SET
|
|
|
+ if (Database::num_rows($result)) {
|
|
|
+ $sql = "UPDATE $table SET
|
|
|
selected_value = '$value'
|
|
|
WHERE id = $settingId";
|
|
|
- Database::query($sql);
|
|
|
+ Database::query($sql);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
- }
|
|
|
-}
|
|
|
+ break;
|
|
|
+ case 'syncthis':
|
|
|
+ $settingId = isset($_GET['settingid']) ? $_GET['settingid'] : '';
|
|
|
+
|
|
|
+ if (is_numeric($settingId)) {
|
|
|
+ $deleteIfEmpty = isset($_REQUEST['del']) ? $_REQUEST['del'] : '';
|
|
|
+ $value = $_REQUEST['value'];
|
|
|
+
|
|
|
+ $setting = api_get_settings_params_simple(['id' => $settingId]);
|
|
|
+ if (empty($setting)) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
|
|
|
-if ($action == 'syncthis') {
|
|
|
- $settingId = isset($_GET['settingid']) ? $_GET['settingid'] : '';
|
|
|
-
|
|
|
- if (is_numeric($settingId)) {
|
|
|
- $delifempty = isset($_REQUEST['del']) ? $_REQUEST['del'] : '';
|
|
|
- $value = $_REQUEST['value'];
|
|
|
-
|
|
|
- $setting = api_get_settings_params_simple(['id' => $settingId]);
|
|
|
- $params = [
|
|
|
- 'access_url_changeable' => $setting['access_url_changeable'],
|
|
|
- 'title' => $setting['title'],
|
|
|
- 'variable' => $setting['variable'],
|
|
|
- 'subkey' => $setting['subkey'],
|
|
|
- 'category' => $setting['category'],
|
|
|
- 'type' => $setting['type'],
|
|
|
- 'comment' => $setting['comment'],
|
|
|
- 'access_url' => $setting['access_url'],
|
|
|
- ];
|
|
|
-
|
|
|
- $errors = '';
|
|
|
- foreach ($vchamilos as $vcid => $chm) {
|
|
|
- $table = "settings_current";
|
|
|
-
|
|
|
- $config = new \Doctrine\DBAL\Configuration();
|
|
|
- $connectionParams = [
|
|
|
- 'dbname' => $chm['main_database'],
|
|
|
- 'user' => $chm['db_user'],
|
|
|
- 'password' => $chm['db_password'],
|
|
|
- 'host' => $chm['db_host'],
|
|
|
- 'driver' => 'pdo_mysql',
|
|
|
+ $params = [
|
|
|
+ 'access_url_changeable' => $setting['access_url_changeable'],
|
|
|
+ 'title' => $setting['title'],
|
|
|
+ 'variable' => $setting['variable'],
|
|
|
+ 'subkey' => $setting['subkey'],
|
|
|
+ 'category' => $setting['category'],
|
|
|
+ 'type' => $setting['type'],
|
|
|
+ 'comment' => $setting['comment'],
|
|
|
+ 'access_url' => $setting['access_url'],
|
|
|
];
|
|
|
- $connection = \Doctrine\DBAL\DriverManager::getConnection($connectionParams, $config);
|
|
|
- try {
|
|
|
- if ($delifempty && empty($value)) {
|
|
|
- $sql = "DELETE FROM $table
|
|
|
+
|
|
|
+ $errors = '';
|
|
|
+ foreach ($vchamilos as $instance) {
|
|
|
+ $table = 'settings_current';
|
|
|
+ $config = new \Doctrine\DBAL\Configuration();
|
|
|
+ $connectionParams = [
|
|
|
+ 'dbname' => $instance['main_database'],
|
|
|
+ 'user' => $instance['db_user'],
|
|
|
+ 'password' => $instance['db_password'],
|
|
|
+ 'host' => $instance['db_host'],
|
|
|
+ 'driver' => 'pdo_mysql',
|
|
|
+ ];
|
|
|
+ $connection = \Doctrine\DBAL\DriverManager::getConnection($connectionParams, $config);
|
|
|
+ try {
|
|
|
+ if ($deleteIfEmpty && empty($value)) {
|
|
|
+ $sql = "DELETE FROM $table
|
|
|
WHERE
|
|
|
selected_value = '$value' AND
|
|
|
variable = '{{$setting['variable']}}' AND
|
|
|
access_url = '{$setting['access_url']}'
|
|
|
- ";
|
|
|
- $connection->executeQuery($sql);
|
|
|
- $case = "delete";
|
|
|
- } else {
|
|
|
- $sql = " SELECT * FROM $table
|
|
|
- WHERE
|
|
|
- variable = '".$setting['variable']."' AND
|
|
|
- access_url = '{$setting['access_url']}'
|
|
|
- ";
|
|
|
- $result = $connection->fetchAll($sql);
|
|
|
-
|
|
|
- if (!empty($result)) {
|
|
|
- $sql = "UPDATE $table SET selected_value = '$value' WHERE id = $settingId";
|
|
|
+ ";
|
|
|
$connection->executeQuery($sql);
|
|
|
+ $case = 'delete';
|
|
|
} else {
|
|
|
- $connection->insert($table, $params);
|
|
|
+ $sql = "SELECT * FROM $table
|
|
|
+ WHERE
|
|
|
+ variable = '".$setting['variable']."' AND
|
|
|
+ access_url = '{$setting['access_url']}'
|
|
|
+ ";
|
|
|
+ $result = $connection->fetchAll($sql);
|
|
|
+
|
|
|
+ if (!empty($result)) {
|
|
|
+ $sql = "UPDATE $table SET selected_value = '$value' WHERE id = $settingId";
|
|
|
+ $connection->executeQuery($sql);
|
|
|
+ } else {
|
|
|
+ $connection->insert($table, $params);
|
|
|
+ }
|
|
|
}
|
|
|
+ } catch (Exception $e) {
|
|
|
+ echo $e->getMessage();
|
|
|
}
|
|
|
- } catch (Exception $e) {
|
|
|
- echo $e->getMessage();
|
|
|
}
|
|
|
+ return $errors;
|
|
|
+ } else {
|
|
|
+ return "Bad ID. Non numeric";
|
|
|
}
|
|
|
- return $errors;
|
|
|
- } else {
|
|
|
- return "Bad ID. Non numeric";
|
|
|
- }
|
|
|
+
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
return 0;
|