Arkadaşlar Yardım
8
●874
- 18-10-2007, 17:49:51ekteki dosyayı ftp ye at... sonra çalıştır...
Sanırım veritbanı ismini filen değiştirmiş...
Çünkü veritabanı ile bağlantı kurulamıyor...
Edit: Dosya yüklerken hata verdiğinde ekleyemedim...
onar.php diye kaydet aşağıdaki kodları...
<?php /****************************************************************************** * repair_settings.php * ******************************************************************************* * SMF: Simple Machines Forum * * Open-Source Project Inspired by Zef Hemel (zef@zefhemel.com) * * =========================================================================== * * Software Version: SMF 1.1 * * Software by: Simple Machines (Home of SMF: Free PHP and MySQL forum software) * * Copyright 2001-2005 by: Lewis Media (Website Design and Web Development in Kitchener, Waterloo and Cambridge) * * Support, News, Updates at: Home of SMF: Free PHP and MySQL forum software * ******************************************************************************* * This program is free software; you may redistribute it and/or modify it * * under the terms of the provided license as published by Lewis Media. * * * * This program is distributed in the hope that it is and will be useful, * * but WITHOUT ANY WARRANTIES; without even any implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * * * See the "license.txt" file for details of the Simple Machines license. * * The latest version can always be found at Home of SMF: Free PHP and MySQL forum software. * ******************************************************************************/ // Initialize everything and load the language files. initialize_inputs(); $txt['smf_repair_settings'] = 'SMF Site Onarım Araçları'; $txt['no_value'] = '<i style="font-weight: normal; color: red;">Deger Bulunamadı</i>'; $txt['default_value'] = 'Önerilen Deger'; $txt['save_settings'] = 'Ayarları Kaydet'; $txt['not_writable'] = 'Settings.php server\'a yazılamadı.Lütfen Dosya İzinlerinizi Kontrol Edin'; $txt['recommend_blank'] = '<i>(blank)</i>'; $txt['database_settings_hidden'] = 'Bazı ayarlar veritabanına kaydedilemedi. Lütfen veritabanınızı kontrol edin'; $txt['critical_settings'] = 'Kritik Ayarlar'; $txt['critical_settings_info'] = 'Asagıdaki Alanları Kontrol Edin ve Sitenizdeki Dosya ve Klasörlerin Konumuna Göre Yol verin. Eger Nasıl Yapıldıgını Bilmiyorsanız Smf Sitesine Basvurun'; $txt['maintenance'] = 'Bakım Modu'; $txt['maintenance0'] = 'Kapalı <em>(önerilen)</em>'; $txt['maintenance1'] = 'Açık'; $txt['maintenance2'] = 'Forum kullanıma kapalı <em>(Önerilmez!)</em>'; $txt['language'] = 'Dil Dosyası'; $txt['cookiename'] = 'Cookie Adı'; $txt['queryless_urls'] = 'Sorgusuz URL'; $txt['queryless_urls0'] = 'Kapalı (Önerilen)'; $txt['queryless_urls1'] = 'Açık'; $txt['enableCompressedOutput'] = 'Sıkıstırılmıs Çıktı'; $txt['enableCompressedOutput0'] = 'Kapalı (Forumda hata alıyorsanız önenilir. Bu özelligi açabilmeniz için, sunucuzda zip/zlib kurulu olmalıdır.)'; $txt['enableCompressedOutput1'] = 'Açık (Trafik (bandwidth) miktarınız düşükse önerilir.)'; $txt['databaseSession_enable'] = 'Veritabanı bazlı oturum'; $txt['databaseSession_enable0'] = 'Kapalı'; $txt['databaseSession_enable1'] = 'Açık (Önerilen)'; $txt['database_settings'] = 'MySQL Database Bilgileri'; $txt['database_settings_info'] = 'MYSQL KULLANICI ADI,SERVER YOLU vs. ASAGIYA YAZIN'; $txt['db_server'] = 'MySQL sunucu adı'; $txt['db_name'] = 'MySQL veritabanı Adı'; $txt['db_user'] = 'MySQL Kullanici Adı'; $txt['db_passwd'] = 'MySQL Sifresi'; $txt['db_prefix'] = 'MySQL Tabloları Öneki'; $txt['db_persist'] = 'MySQL Baglantı Tipi'; $txt['db_persist0'] = 'Standart (Önerilen)'; $txt['db_persist1'] = 'Sürekli baglantı (Eger sorun yaşarsanız bunu kapatın. Daha çok tekil sunucular için önerilir.)'; $txt['path_url_settings'] = 'Dosya ve Klasör Yolları'; $txt['path_url_settings_info'] = 'Bu alana SMF forumunuzun dosya yollarını yazmalısınız<br /> Eger dosya yollarını bilmiyorsanız, Önerilen Degerlere tıklatın'; $txt['boardurl'] = 'Forum URL'; $txt['boarddir'] = 'Forum Dizini'; $txt['sourcedir'] = 'Sources Dizini'; $txt['attachmentUploadDir'] = 'Attachment Dizini'; $txt['avatar_url'] = 'Avatar URL'; $txt['avatar_directory'] = 'Avatar Dizini'; $txt['smileys_url'] = 'Smileys URL'; $txt['smileys_dir'] = 'Smileys Dizini'; $txt['theme_url'] = 'Default Teması URL'; $txt['images_url'] = 'Default Teması Resimleri URL'; $txt['theme_dir'] = 'Default Tema Dizini'; if (isset($_POST['submit'])) set_settings(); // Note that we're using the default URLs because we aren't even going to try to use Settings.php's settings. echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>', $txt['smf_repair_settings'], '</title> <script language="JavaScript" type="text/javascript" src="Themes/default/script.js"></script> <style type="text/css"> body { font-family: Verdana, sans-serif; background-color: #D4D4D4; margin: 0; } body, td { font-size: 10pt; } div#header { background-color: white; padding: 22px 4% 12px 4%; font-family: Georgia, serif; font-size: xx-large; border-bottom: 1px solid black; height: 40px; } div#content { padding: 20px 30px; } div.error_message { border: 2px dashed red; background-color: #E1E1E1; margin: 1ex 4ex; padding: 1.5ex; } div.panel { border: 1px solid gray; background-color: #F0F0F0; margin: 1ex 0; padding: 1.2ex; } div.panel h2 { margin: 0; margin-bottom: 0.5ex; padding-bottom: 3px; border-bottom: 1px dashed black; font-size: 14pt; font-weight: normal; } div.panel h3 { margin: 0; margin-bottom: 2ex; font-size: 10pt; font-weight: normal; } form { margin: 0; } td.textbox { padding-top: 2px; font-weight: bold; white-space: nowrap; padding-right: 2ex; } </style> </head> <body> <div id="header"> <a href="Home of SMF: Free PHP and MySQL forum software" target="_blank">Simple Machines</a> <div title="Zanarkand">', $txt['smf_repair_settings'], '</div> </div> <div id="content">'; show_settings(); echo ' </div> </body> </html>'; function initialize_inputs() { // Turn off magic quotes runtime and enable error reporting. @set_magic_quotes_runtime(0); error_reporting(E_ALL); if (@ini_get('session.save_handler') == 'user') @ini_set('session.save_handler', 'files'); @session_start(); // Add slashes, as long as they aren't already being added. if (get_magic_quotes_gpc() == 0) { foreach ($_POST as $k => $v) { if (is_array($v)) foreach ($v as $k2 => $v2) $_POST[$k][$k2] = addslashes($v2); else $_POST[$k] = addslashes($v); } } // This is really quite simple; if ?delete is on the URL, delete the installer... if (isset($_GET['delete'])) { @unlink(__FILE__); // Now just redirect to a blank.gif... header('Location: http://' . (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT']) . dirname($_SERVER['PHP_SELF']) . '/Themes/default/images/blank.gif'); exit; } } function show_settings() { global $txt; // Check to make sure Settings.php exists! if (file_exists(dirname(__FILE__) . '/Settings.php')) $settingsArray = file(dirname(__FILE__) . '/Settings.php'); else $settingsArray = array(); if (count($settingsArray) == 1) $settingsArray = preg_split('~[\r\n]~', $settingsArray[0]); $settings = array(); for ($i = 0, $n = count($settingsArray); $i < $n; $i++) { $settingsArray[$i] = rtrim($settingsArray[$i]); if (substr($settingsArray[$i], 0, 1) == '$') { preg_match('~^[$]([a-zA-Z_]+)\s*=\s*(["\'])?(.*?)(?:\\2)?;~', $settingsArray[$i], $match); if (isset($match[3])) { if ($match[3] == 'dirname(__FILE__)') $settings[$match[1]] = dirname(__FILE__); elseif ($match[3] == 'dirname(__FILE__) . \'/Sources\'') $settings[$match[1]] = dirname(__FILE__) . '/Sources'; elseif ($match[3] == '$boarddir . \'/Sources\'') $settings[$match[1]] = $settings['boarddir'] . '/Sources'; else $settings[$match[1]] = stripslashes($match[3]); } } } if (isset($settings['db_server']) && isset($settings['db_name']) && isset($settings['db_user']) && isset($settings['db_passwd'])) { $attempt = @mysql_connect($settings['db_server'], $settings['db_user'], $settings['db_passwd']); if ($attempt != false) $attempt = @mysql_select_db($settings['db_name']); if ($attempt && isset($settings['db_prefix'])) { $request = @mysql_query(" SELECT DISTINCT variable, value FROM $settings[db_prefix]settings"); while ($row = @mysql_fetch_row($request)) $settings[$row[0]] = $row[1]; @mysql_free_result($request); $request = @mysql_query(" SELECT variable, value FROM $settings[db_prefix]themes WHERE ID_THEME = 1 AND variable IN ('theme_dir', 'theme_url', 'images_url') LIMIT 3"); while ($row = @mysql_fetch_row($request)) $settings[$row[0]] = $row[1]; @mysql_free_result($request); $show_db_settings = $request; } } else $show_db_settings = false; $known_settings = array( 'critical_settings' => array( 'maintenance' => array('flat', 'int', 2), 'language' => array('flat', 'string', 'english'), 'cookiename' => array('flat', 'string', 'SMFCookie11'), 'queryless_urls' => array('db', 'int', 1), 'enableCompressedOutput' => array('db', 'int', 1), 'databaseSession_enable' => array('db', 'int', 1), ), 'database_settings' => array( 'db_server' => array('flat', 'string', 'localhost'), 'db_name' => array('flat', 'string'), 'db_user' => array('flat', 'string'), 'db_passwd' => array('flat', 'string'), 'db_prefix' => array('flat', 'string'), 'db_persist' => array('flat', 'int', 1), ), 'path_url_settings' => array( 'boardurl' => array('flat', 'string'), 'boarddir' => array('flat', 'string'), 'sourcedir' => array('flat', 'string'), 'attachmentUploadDir' => array('db', 'string'), 'avatar_url' => array('db', 'string'), 'avatar_directory' => array('db', 'string'), 'smileys_url' => array('db', 'string'), 'smileys_dir' => array('db', 'string'), 'theme_url' => array('theme', 'string'), 'images_url' => array('theme', 'string'), 'theme_dir' => array('theme', 'string'), ) ); $host = empty($_SERVER['HTTP_HOST']) ? $_SERVER['SERVER_NAME'] . (empty($_SERVER['SERVER_PORT']) || $_SERVER['SERVER_PORT'] == '80' ? '' : ':' . $_SERVER['SERVER_PORT']) : $_SERVER['HTTP_HOST']; $url = 'http://' . $host . substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')); $known_settings['path_url_settings']['boardurl'][2] = $url; $known_settings['path_url_settings']['boarddir'][2] = dirname(__FILE__); if (file_exists(dirname(__FILE__) . '/Sources')) $known_settings['path_url_settings']['sourcedir'][2] = realpath(dirname(__FILE__) . '/Sources'); if (file_exists(dirname(__FILE__) . '/attachments')) $known_settings['path_url_settings']['attachmentUploadDir'][2] = realpath(dirname(__FILE__) . '/attachments'); if (file_exists(dirname(__FILE__) . '/avatars')) { $known_settings['path_url_settings']['avatar_url'][2] = $url . '/avatars'; $known_settings['path_url_settings']['avatar_directory'][2] = realpath(dirname(__FILE__) . '/avatars'); } if (file_exists(dirname(__FILE__) . '/Smileys')) { $known_settings['path_url_settings']['smileys_url'][2] = $url . '/Smileys'; $known_settings['path_url_settings']['smileys_dir'][2] = realpath(dirname(__FILE__) . '/Smileys'); } if (file_exists(dirname(__FILE__) . '/Themes/default')) { $known_settings['path_url_settings']['theme_url'][2] = $url . '/Themes/default'; $known_settings['path_url_settings']['images_url'][2] = $url . '/Themes/default/images'; $known_settings['path_url_settings']['theme_dir'][2] = realpath(dirname(__FILE__) . '/Themes/default'); } if (isset($attempt) && $attempt) { $request = @mysql_query(" SHOW TABLES LIKE '%log_topics'"); if (@mysql_num_rows($request) == 1) list ($known_settings['database_settings']['db_prefix'][2]) = preg_replace('~log_topics$~', '', mysql_fetch_row($request)); @mysql_free_result($request); } elseif (empty($show_db_settings)) { echo ' <div class="error_message" style="margin-bottom: 2ex;"> ', $txt['database_settings_hidden'], ' </div>'; } echo ' <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[ // Get the inner HTML of an element. function getInnerHTML(element) { if (typeof(element.innerHTML) != "undefined") return element.innerHTML; else { var returnStr = ""; for (var i = 0; i < element.childNodes.length; i++) returnStr += getOuterHTML(element.childNodes[i]); return returnStr; } } function getOuterHTML(node) { if (typeof(node.outerHTML) != "undefined") return node.outerHTML; var str = ""; switch (node.nodeType) { // An element. case 1: str += "<" + node.nodeName; for (var i = 0; i < node.attributes.length; i++) { if (node.attributes[i].nodeValue != null) str += " " + node.attributes[i].nodeName + "=\"" + node.attributes[i].nodeValue + "\""; } if (node.childNodes.length == 0 && in_array(node.nodeName.toLowerCase(), ["hr", "input", "img", "link", "meta", "br"])) str += " />"; else str += ">" + getInnerHTML(node) + "</" + node.nodeName + ">"; break; // 2 is an attribute. // Just some text.. case 3: str += node.nodeValue; break; // A CDATA section. case 4: str += "<![CDATA" + "[" + node.nodeValue + "]" + "]>"; break; // Entity reference.. case 5: str += "&" + node.nodeName + ";"; break; // 6 is an actual entity, 7 is a PI. // Comment. case 8: str += "<!--" + node.nodeValue + "-->"; break; } return str; } // ]]></script> <form action="', $_SERVER['PHP_SELF'], '" method="post"> <div class="panel">'; foreach ($known_settings as $settings_section => $section) { echo ' <h2>', $txt[$settings_section], '</h2> <h3>', $txt[$settings_section . '_info'], '</h3> <table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 3ex;"> <tr>'; foreach ($section as $setting => $info) { if ($info[0] != 'flat' && empty($show_db_settings)) continue; echo ' <td width="20%" valign="top" class="textbox" style="padding-bottom: 1ex;"> <label for="', $setting, '">', $txt[$setting], ':</label>', !isset($settings[$setting]) && $info[1] != 'check' ? '<br /> ' . $txt['no_value'] : '', ' </td> <td style="padding-bottom: 1ex;">'; if ($info[1] == 'int' || $info[1] == 'check') { for ($i = 0; $i <= $info[2]; $i++) echo ' <label for="', $setting, $i, '"><input type="radio" name="', $info[0], 'settings[', $setting, ']" id="', $setting, $i, '" value="', $i, '"', isset($settings[$setting]) && $settings[$setting] == $i ? ' checked="checked"' : '', ' class="check" /> ', $txt[$setting . $i], '</label><br />'; } elseif ($info[1] == 'string') { echo ' <input type="text" name="', $info[0], 'settings[', $setting, ']" id="', $setting, '" value="', isset($settings[$setting]) ? $settings[$setting] : '', '" size="', $settings_section == 'path_url_settings' ? '60" style="width: 80%;' : '30', '" />'; if (isset($info[2])) echo ' <div style="font-size: smaller;">', $txt['default_value'], ': "<b><a href="javascript:void(0);" onclick="document.getElementById(\'', $setting, '\').value = ', $info[2] == '' ? '\'\';">' . $txt['recommend_blank'] : 'getInnerHTML(this);">' . $info[2], '</a></b>".</div>'; } echo ' </td> </tr><tr>'; } echo ' <td colspan="2"></td> </tr> </table>'; } echo ' <div align="right" style="margin: 1ex;">'; $failure = false; if (substr(__FILE__, 1, 2) != ':\\') { // On linux, it's easy - just use is_writable! $failure |= !is_writable('Settings.php') && !@chmod('Settings.php', 0777); } // Windows is trickier. Let's try opening for r+... else { // Funny enough, chmod actually does do something on windows - it removes the read only attribute. @chmod(dirname(__FILE__) . '/' . 'Settings.php', 0777); $fp = @fopen(dirname(__FILE__) . '/' . 'Settings.php', 'r+'); // Hmm, okay, try just for write in that case... if (!$fp) $fp = @fopen(dirname(__FILE__) . '/' . 'Settings.php', 'w'); $failure |= !$fp; @fclose($fp); } if ($failure) echo ' <input type="submit" name="submit" value="', $txt['save_settings'], '" disabled="disabled" /><br />', $txt['not_writable']; else echo ' <input type="submit" name="submit" value="', $txt['save_settings'], '" />'; echo ' </div> </div> </form>'; } function set_settings() { $db_updates = isset($_POST['dbsettings']) ? $_POST['dbsettings'] : array(); $theme_updates = isset($_POST['themesettings']) ? $_POST['themesettings'] : array(); $file_updates = isset($_POST['flatsettings']) ? $_POST['flatsettings'] : array(); $db_updates['theme_guests'] = 1; $settingsArray = file(dirname(__FILE__) . '/Settings.php'); $settings = array(); for ($i = 0, $n = count($settingsArray); $i < $n; $i++) { $settingsArray[$i] = rtrim($settingsArray[$i]); // Remove the redirect... if ($settingsArray[$i] == 'if (file_exists(dirname(__FILE__) . \'/install.php\'))') { $settingsArray[$i] = ''; $settingsArray[$i++] = ''; $settingsArray[$i++] = ''; continue; } if (substr($settingsArray[$i], 0, 1) == '$' && preg_match('~^[$]([a-zA-Z_]+)\s*=\s*(["\'])?(.*?)(?:\\2)?;~', $settingsArray[$i], $match) == 1) $settings[$match[1]] = stripslashes($match[3]); foreach ($file_updates as $var => $val) if (strncasecmp($settingsArray[$i], '$' . $var, 1 + strlen($var)) == 0) { $comment = strstr($settingsArray[$i], '#'); $settingsArray[$i] = '$' . $var . ' = \'' . $val . '\';' . ($comment != '' ? "\t\t" . $comment : ''); } } // Blank out the file - done to fix a oddity with some servers. $fp = @fopen(dirname(__FILE__) . '/Settings.php', 'w'); @fclose($fp); $fp = fopen(dirname(__FILE__) . '/Settings.php', 'r+'); $lines = count($settingsArray); for ($i = 0; $i < $lines - 1; $i++) { // Don't just write a bunch of blank lines. if ($settingsArray[$i] != '' || $settingsArray[$i - 1] != '') fwrite($fp, $settingsArray[$i] . "\n"); } fwrite($fp, $settingsArray[$i]); fclose($fp); // Make sure it works. require(dirname(__FILE__) . '/Settings.php'); // Attempt a connection. @mysql_connect($db_server, $db_user, $db_passwd); @mysql_select_db($db_name); $setString = ''; foreach ($db_updates as $var => $val) $setString .= " ('$var', '$val'),"; if (!empty($setString)) @mysql_query(" REPLACE INTO {$db_prefix}settings (variable, value) VALUES" . substr($setString, 0, -1)); $setString = ''; foreach ($theme_updates as $var => $val) $setString .= " (1, 0, '$var', '$val'),"; if (!empty($setString)) @mysql_query(" REPLACE INTO {$db_prefix}themes (ID_THEME, ID_MEMBER, variable, value) VALUES" . substr($setString, 0, -1)); } ?>
adminlerin bütün şifrelerini değiştirmişler nerden yapcaz