|
|
|
|
@ -8,115 +8,120 @@ $result = Database::query($sql); |
|
|
|
|
$vchamilos = Database::store_result($result, 'ASSOC'); |
|
|
|
|
|
|
|
|
|
// propagate in all known vchamilos a setting |
|
|
|
|
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); |
|
|
|
|
} |
|
|
|
|
//$DB->set_field('settings_current', 'selected_value', $value, $params, 'id', $chm->main_database); |
|
|
|
|
} |
|
|
|
|
//$DB->set_field('settings_current', 'selected_value', $value, $params, 'id', $chm->main_database); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 'syncthis': |
|
|
|
|
$settingId = isset($_GET['settingid']) ? $_GET['settingid'] : ''; |
|
|
|
|
|
|
|
|
|
if (is_numeric($settingId)) { |
|
|
|
|
$deleteIfEmpty = isset($_REQUEST['del']) ? $_REQUEST['del'] : ''; |
|
|
|
|
$value = $_REQUEST['value']; |
|
|
|
|
// Getting the local setting record. |
|
|
|
|
$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']; |
|
|
|
|
// Getting the local setting record. |
|
|
|
|
$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; |
|
|
|
|
|