Принимаем вопросы от населения
| Macik |
|
|---|---|
|
Изучаю код обработки параметров плагина при их изменении в Админке, в разделе «плагин» → конфигурация. Смотрю код admin.config.php
if ($a == 'update' && !empty($_POST))
{
// Update only those options which have been changed
$overriden = array();
$sql = $db->query("SELECT config_name FROM $db_config
WHERE config_owner = ? AND config_cat= ? $where_cat",
array_merge(array($o, $p), $sub_param));
while ($row = $sql->fetch())
{
$cfg_value = trim(cot_import($row['config_name'], 'P', 'NOC'));
if ($o == 'core' && $p == 'users'
&& ($cfg_name == 'av_maxsize' || $cfg_name == 'sig_maxsize' || $cfg_name == 'ph_maxsize'))
{
$cfg_value = min($cfg_value, cot_get_uploadmax() * 1024);
}
$db->update($db_config, array('config_value' => $cfg_value),
"config_name = ? AND config_owner = ? AND config_cat = ? $where_cat",
array_merge(array($row['config_name'], $o, $p), $sub_param));
$overriden[] = $row['config_name'];
}
$sql->closeCursor();
И не понимаю смысла комментария, который вроде бы гласит «записываем только те параметры, которые были изменены». А при этом, судя по коду, $db->update срабатывает в цикле по всем параметрам без разбора. Прокомментируйте, пожалуйста. https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |