Maalesef

(((
Şimdi de çift tırnak içine tek tırnağı almadı;
$cfg['mysqlpassword'] = "....@$3....";
sizide yordum bu düzenlemeden sonra çalışmazsa iş ciddiye binecek
function cot_installConfigReplace(&$file_contents, $config_name, $config_value)
{
// Gelen değeri temizle
$config_value = trim($config_value);
// Değer boş string ise
if ($config_value === '') {
$config_value_escaped = "''";
}
// Değer tırnaklarla başlayıp bitiyorsa
elseif (preg_match('/^(["\'])(.*)\1$/', $config_value, $matches)) {
$content = $matches[2];
if ($matches[1] === '"') {
// Çift tırnaktan tek tırnağa çevir
$content = str_replace(['\\', '$', "'"], ['\\\\', '\\$', "\\'"], $content);
$config_value_escaped = "'" . $content . "'";
} else {
// Tek tırnaktan çift tırnağa çevir
$content = str_replace(['\\', '$', '"'], ['\\\\', '\\$', '\\"'], $content);
$config_value_escaped = '"' . $content . '"';
}
}
// Tırnaksız gelen değer
else {
$content = str_replace(['\\', '$', "'"], ['\\\\', '\\$', "\\'"], $config_value);
$config_value_escaped = "'" . $content . "'";
}
// Config içeriğini güncelle
$search = "\$cfg['$config_name'] = ";
$pos = strpos($file_contents, $search);
if ($pos !== false) {
// Noktalı virgüle kadar olan kısmı bul
$end_pos = strpos($file_contents, ';', $pos);
if ($end_pos !== false) {
$before = substr($file_contents, 0, $pos + strlen($search));
$after = substr($file_contents, $end_pos);
$file_contents = $before . $config_value_escaped . $after;
return true;
}
}
return false;
}