• 24-11-2009, 15:52:24
    #1
    1-Sunucumuzun Linux (apache) olması ve mod_rewrite modülün aktif olduğundan emin olun.
    2-Veritabanınızı mutlaka yedekleyin.
    3-Seo4SMF Kurulu İse Bunu Kurmanıza Gerek Yoktur + Seo4Smf'i Kaldırmadan Kurmaya Çalışmayın , seo4smf'i kaldırıp, bunu kurduktan sonra linklerinizin 404 olmasını istemiyorsanız 2.mesajımdaki anlatımı uygulayın
    Değişiklik Yapılacak Dosyalar Aşağıda .. Bunlarıda mutlaka yedekleyin.
    ./index.php
    ./SSI.php
    ./Sources/Admin.php
    ./Sources/ManageErrors.php
    ./Sources/ModSettings.php
    ./Sources/News.php
    ./Sources/QueryString.php
    ./Sources/Subs.php
    ./Sources/Display.php
    ./Sources/MessageIndex.php
    ./Sources/QueryString.php
    ./Sources/Subs-Boards.php


    Yukardaki yönergeleri uyguladıysanız şimdi kuruluma geçebiliriz.
    İlk önce Burdan yada Şurdan Modu indirip
    Forum Kontrolleri >> Paketler >> Paket Yükle Sekmesinden paketi seçip Yükle Diyoruz. Tüm Dosyalarda Test Başarılı ise Yükle Butonuna tıklıyoruz
    Paket Başarıyla yüklendi. Siz şimdi onun ne gibi işlevsellikler eklediğini kullanmalısınız.
    şimdi ./Themes/default/languages/Modifications.turkish.php'de
    bul
    ?>
    üzerine ekle
    //	Şeker Linkler Modifikasyonu
    $txt['pretty_admin_menu'] = 'Şeker Linkler';
    
    //	Kategori Şekerlemesi 
    $txt['pretty_add_url'] = 'Ekle';
    $txt['pretty_add_url_description'] = 'Yeni kalıcı bağlantı yapısını girin .';
    $txt['pretty_board_url_title'] = 'Şekerleşen Kategori : ';
    $txt['pretty_deleted_board'] = 'Sil #';
    $txt['pretty_duplicate_link'] = 'önce birini silin.';
    $txt['pretty_duplicate_warning'] = 'girdiğiniz url zaten başka bi kategoride kullanılmakda ';
    $txt['pretty_make_primary'] = 'Varsayılan yap';
    $txt['pretty_modify_board_url'] = 'El İle Şekerleştir';
    $txt['pretty_no_primary_warning'] = 'Hata, Kalıcı bağlantı atamadınız!';
    $txt['pretty_numerical'] = 'Sorry, but as that URL is either a number or the same as a forum action the board ID had to be added as a suffix.';
    $txt['pretty_primary_url'] = 'Varsayılan';
    
    //	Settings descriptions
    $txt['pretty_action_array'] = 'An array of forum actions, extracted from index.php.';
    $txt['pretty_board_lookup'] = 'A serialized array of <tt>URL => ID_BOARD</tt> pairs, used for processing <tt>$_GET[\'board\']</tt>. There can be more than one URL for each board.';
    $txt['pretty_board_urls'] = 'A serialized array of <tt>ID_BOARD => URL</tt> pairs, used for generating pretty replacement URLs.';
    $txt['pretty_enable_filters'] = 'Sets whether to prettify anything at all. 0 for no, 1 for yes.';
    $txt['pretty_filters'] = 'A serialized array of filter data.';
    $txt['pretty_filter_callbacks'] = 'A serialized array of callback function names, sorted by priority. Don\'t manually edit this, edit the <tt>pretty_filters</tt> setting instead.';
    $txt['pretty_root_url'] = 'The base URL used by the board and topic filters, which by default is the same as <tt>$boardurl</tt>.';
    Türkçeleştirmek için ekteki PrettyUrls.turkish.php 'dosyasını Themes/Default/languages/ dizinine atıyoruz.
    Kullanma Klavuzu
    Panele girdiğimizde Sürüm bilgileri ve Mod yapımcısının sitesinden haberler karşımıza çıkıyor
    ayarlar sekmesine tıklayın

    Ayarlardan aşağıda gösterdiklerimi işaretleyin

    Bakıma ihtiyacınız olabilir :B


    Hata Alanlar yada manuel sevenler için :Y
    ./index.php'de
    bul
    // Clean the request variables, add slashes, etc.
    cleanRequest();
    $context = array();
    değiştir
    // Unserialize the array of pretty board URLs
    $context = array('pretty' => array(
    	'action_array' => unserialize($modSettings['pretty_action_array']),
    	'board_urls' => unserialize($modSettings['pretty_board_urls']),
    	'db_count' => 0,
    ));
    // Clean the request variables, add slashes, etc.
    cleanRequest();
    ./SSI.php'de
    bul
    // Clean the request variables.
    değiştir
    // Unserialize the array of pretty board URLs
    $context = array('pretty' => array(
    	'action_array' => unserialize($modSettings['pretty_action_array']),
    	'board_urls' => unserialize($modSettings['pretty_board_urls']),
    	'db_count' => 0,
    ));
    // Clean the request variables.
    ./Sources/Admin.php'de
    bul
    return ManageCopyright();
    Değiştir
    		return ManageCopyright();
    
    	//	Pretty URLs area h.a.c.k
    	if (isset($_GET['area']) && $_GET['area'] == 'pretty')
    	{
    		require_once($sourcedir . '/PrettyUrls.php');
    		return PrettyInterface();
    	}
    ./Sources/ManageErrors.php'de
    bul
    	$context['sub_template'] = 'error_log';
    değiştir
    	$context['sub_template'] = 'error_log';
    
    	//	Don't rewrite any URLs, we need these ones to remain exact!
    	$modSettings['pretty_enable_filters'] = false;
    ./Sources/ModSettings.php'de
    bul
    			array('check', 'queryless_urls'),
    Değiştir
    			//	Pretty URLs mod - disable the default queryless URLs
    			//	array('check', 'queryless_urls'),
    ./Sources/News.php'de
    bul
    	if ($xml_format == 'smf' || isset($_REQUEST['debug']))
    değiştir
    	//	Pretty URLs need to be rewritten
    	ob_start('ob_sessrewrite');
    	$context['pretty']['search_patterns'][] = '~(<link>|<id>|<comments>|<guid>)([^#<]+)~';
    	$context['pretty']['replace_patterns'][] = '~(<link>|<id>|<comments>|<guid>)([^<]+)~';
    
    	if ($xml_format == 'smf' || isset($_REQUEST['debug']))
    ./Sources/QueryString.php'de
    bul
    function ob_sessrewrite($buffer)
    {
    	global $scripturl, $modSettings, $user_info, $context;
    değiştir
    function ob_sessrewrite($buffer)
    {
    	global $scripturl, $modSettings, $user_info, $context, $db_count, $sourcedir, $time_start, $txt;
    bul
    	// This should work even in 4.2.x, just not CGI without cgi.fix_pathinfo.
    Üstüne Ekle
    /*	Pretty URLs says no!
    bul
    	// Return the changed buffer.
    üstüne ekle
    */
    
    	//	Rewrite the buffer with Pretty URLs!
    	if ($modSettings['pretty_enable_filters'])
    	{
    		require_once($sourcedir . '/PrettyUrls-Filters.php');
    		$buffer = pretty_rewrite_buffer($buffer);
    	}
    
    	//	Update the load times
    	$pattern = '~<span class="smalltext">' . $txt['smf301'] . '([.0-9]+)' . $txt['smf302'] . '([0-9]+)' . $txt['smf302b'] . '</span>~';
    	if (preg_match($pattern, $buffer, $matches))
    	{
    		$newTime = round(array_sum(explode(' ', microtime())) - array_sum(explode(' ', $time_start)), 3);
    		$timeDiff = $newTime - (float) $matches[1];
    		$queriesDiff = $db_count + $context['pretty']['db_count'] - (int) $matches[2];
    		//	Remove the link if you like, I won't enforce it like others do
    		$newLoadTime = '<span class="smalltext">' . $txt['smf301'] . $newTime . $txt['smf302'] . $db_count . $txt['smf302b'] . ' (<a href="http://code.google.com/p/prettyurls/">Pretty URLs</a> adds ' . $timeDiff . 's, ' . $queriesDiff . 'q)</span>';
    		$buffer = str_replace($matches[0], $newLoadTime, $buffer);
    	}
    Bul
    function cleanRequest()
    {
    	global $board, $topic, $boardurl, $scripturl, $modSettings;
    Değiştir
    function cleanRequest()
    {
    	global $board, $topic, $boardurl, $scripturl, $modSettings, $context, $db_prefix;
    Bul
    		// Now make absolutely sure it's a number.
    		$board = (int) $_REQUEST['board'];
    Değiştir
    		// Now make absolutely sure it's a number.
    		// Check for pretty board URLs too, and possibly redirect if oldschool queries were used.
    		if (is_numeric($_REQUEST['board']))
    		{
    			$board = (int) $_REQUEST['board'];
    			if (!isset($_REQUEST['pretty']))
    			{
    				$context['pretty']['oldschoolquery'] = true;
    				unset($_GET['pretty']);
    			}
    		} else {
    			$_REQUEST['board'] = str_replace(array(''', '\\'), array("\x12", ''), $_REQUEST['board']);
    			$pretty_board_lookup = unserialize($modSettings['pretty_board_lookup']);
    			$board = (int) isset($pretty_board_lookup[$_REQUEST['board']]) ? $pretty_board_lookup[$_REQUEST['board']] : 0;
    
    			//	Fix $_REQUEST for silly mods that don't check $board
    			$context['pretty']['query_string']['board'] = $_REQUEST['board'];
    			$_GET['board'] = $board;
    			$_REQUEST['board'] = $board;
    		}
    Bul
    		$topic = (int) $_REQUEST['topic'];
    Değiştir
    		// Check for pretty topic URLs, and possibly redirect if oldschool queries were used.
    		if (is_numeric($_REQUEST['topic']))
    		{
    			$topic = (int) $_REQUEST['topic'];
    			if (!isset($_REQUEST['pretty']))
    			{
    				$context['pretty']['oldschoolquery'] = true;
    				unset($_GET['pretty']);
    			}
    		} else {
    			$_REQUEST['topic'] = str_replace(array(''', '\\'), array("\x12", ''), $_REQUEST['topic']);
    			//	Are we feeling lucky?
    			$query = db_query("
    				SELECT ID_TOPIC
    				FROM {$db_prefix}pretty_topic_urls
    				WHERE pretty_url = '$_REQUEST[topic]'
    				LIMIT 1", __FILE__, __LINE__);
    			//	No? No topic?!
    			if (mysql_num_rows($query) == 0)
    			{
    				$topic = 0;
    			} else {
    				while ($row = mysql_fetch_assoc($query))
    					$topic = (int) $row['ID_TOPIC'];
    			}
    			mysql_free_result($query);
    
    			//	Fix $_REQUEST for silly mods that don't check $topic
    			$context['pretty']['query_string']['topic'] = $_REQUEST['topic'];
    			$_GET['topic'] = $topic;
    			$_REQUEST['topic'] = $topic;
    
    			//	That query should be counted separately
    			$context['pretty']['db_count']++;
    		}
    ./Sources/Security.php'de
    Bul
    	if (!empty($from_action) && (!isset($_SESSION['old_url']) || preg_match('~[?;&]action=' . $from_action . '([;&]|$)~', $_SESSION['old_url']) == 0))
    Değiştir
    	if (!empty($from_action) && (!isset($_SESSION['old_url']) || preg_match('~[?;&]action=' . $from_action . '([;&]|$)|' . $boardurl . '/' . $from_action . '~', $_SESSION['old_url']) == 0))
    ./Sources/Subs.php'de
    Bul
    	global $scripturl, $context, $modSettings, $db_show_debug;
    Değiştir
    	global $scripturl, $context, $modSettings, $db_show_debug, $sourcedir;
    Bul
    	if (!empty($modSettings['queryless_urls']) && (empty($context['server']['is_cgi']) || @ini_get('cgi.fix_pathinfo') == 1) && !empty($context['server']['is_apache']))
    	{
    		if (defined('SID') && SID != '')
    			$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\?(?:' . SID . ';)((?:board|topic)=[^#]+?)(#[^"]*?)?$/e', "\$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2?' . SID", $setLocation);
    		else
    			$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$/e', "\$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2'", $setLocation);
    	}
    Değiştir
    	//	Redirections should be pretty too
    	if ($modSettings['pretty_enable_filters'])
    	{
    		require_once($sourcedir . '/PrettyUrls-Filters.php');
    		$url = array(0 => array('url' => $setLocation, 'url_id' => 'setLocation'));
    		$filter_callbacks = unserialize($modSettings['pretty_filter_callbacks']);
    		foreach ($filter_callbacks as $callback)
    		{
    			$pretty_url = call_user_func($callback, $url);
    			if (isset($pretty_url[0]['replacement']))
    				break;
    		}
    		if (isset($pretty_url[0]['replacement']))
    			$setLocation = $pretty_url[0]['replacement'];
    		$setLocation = str_replace("\x12", '\'', $setLocation);
    		$setLocation = preg_replace(array('~;+|=;~', '~\?;~', '~\?#|;#|=#~', '~\?$|;$|#$|=$~'), array(';', '?', '#', ''), $setLocation);
    	}
    Bul
    				'manage_themes' => '<a href="' . $scripturl . '?action=theme;sa=admin;sesc=' . $sc . '">' . $txt['theme_admin'] . '</a>',
    Değiştir
    				'manage_themes' => '<a href="' . $scripturl . '?action=theme;sa=admin;sesc=' . $sc . '">' . $txt['theme_admin'] . '</a>',
    				'pretty_admin' => '<a href="' . $scripturl . '?action=admin;area=pretty">' . $txt['pretty_admin_menu'] . '</a>',
    ./Sources/Display.php'de
    bul
    	// Load the proper template and/or sub template.
    Değiştir
    	//	301 redirects
    	if ((isset($context['pretty']['oldschoolquery']) || $context['pretty']['query_string']['board'] != $context['pretty']['board_urls'][$board]) && $modSettings['pretty_enable_filters'])
    	{
    		$filterData = unserialize($modSettings['pretty_filters']);
    		if ($filterData['topics']['enabled'])
    		{
    			$url = 'topic=' . $topic . '.' . (isset($_REQUEST['start']) ? $_REQUEST['start'] : '0') . (isset($_REQUEST['prev_next']) ? ';prev_next=' . $_REQUEST['prev_next'] : '') . (isset($_REQUEST['topicseen']) ? ';topicseen' : '') . (isset($_REQUEST['all']) ? ';all' : '') . (isset($_REQUEST['viewResults']) ? ';viewResults' : '');
    			header('HTTP/1.1 301 Moved Permanently');
    			redirectexit($url, false);
    		}
    	}
    
    	// Load the proper template and/or sub template.
    ./Sources/ManageBoards.php'de
    bul
    		'settings' => array('EditBoardSettings', 'admin_forum'),
    Altına ekle
    		'pretty' => array('PrettyBoardUrls', 'admin_forum'),
    Bul (en altta)
    ?>
    Üzerine Ekle
    //	Interface to manage a board's Pretty URLs
    function PrettyBoardUrls()
    {
    	global $boards, $context, $db_prefix, $modSettings, $scripturl, $sourcedir, $txt;
    
    	//	Start by getting a list of the boards, and see if we're editing a deleted board or not
    	require_once($sourcedir . '/Subs-Boards.php');
    	getBoardTree();
    	$board_id = (int) $_REQUEST['boardid'];
    	$context['pretty']['board_title'] = $txt['pretty_board_url_title'] . (isset($boards[$board_id]) ? $boards[$board_id]['name'] : $txt['pretty_deleted_board'] . $board_id);
    
    	//	Get all the pretty URLs for this board
    	$pretty_board_urls = unserialize($modSettings['pretty_board_urls']);
    	$pretty_board_lookup = unserialize($modSettings['pretty_board_lookup']);
    
    	//	Are we missing a primary URL?
    	if (!isset($pretty_board_urls[$board_id]) && isset($boards[$board_id]))
    		$context['pretty']['warning'] = $txt['pretty_no_primary_warning'];
    
    	//	Deleting a URL?
    	if (isset($_REQUEST['do']) && $_REQUEST['do'] == 'delete')
    	{
    		foreach ($pretty_board_urls as $id => $url)
    			if ($url == $_REQUEST['url'])
    				unset($pretty_board_urls[$id]);
    		foreach ($pretty_board_lookup as $url => $id)
    			if ($url == $_REQUEST['url'])
    				unset($pretty_board_lookup[$url]);
    
    		//	Update the database of course
    		updateSettings(array(
    			'pretty_board_lookup' => addslashes(serialize($pretty_board_lookup)),
    			'pretty_board_urls' => addslashes(serialize($pretty_board_urls)),
    		));
    
    		//	Clear the URLs cache
    		db_query("TRUNCATE TABLE {$db_prefix}pretty_urls_cache", __FILE__, __LINE__);
    
    		redirectexit('action=manageboards;sa=pretty;boardid=' . $board_id);
    	}
    	//	Changing the primary URL?
    	if (isset($_REQUEST['do']) && $_REQUEST['do'] == 'primary')
    		if (isset($pretty_board_lookup[$_REQUEST['url']]) && $pretty_board_lookup[$_REQUEST['url']] == $board_id)
    		{
    			$pretty_board_urls[$board_id] = $_REQUEST['url'];
    			updateSettings(array('pretty_board_urls' => addslashes(serialize($pretty_board_urls))));
    			db_query("TRUNCATE TABLE {$db_prefix}pretty_urls_cache", __FILE__, __LINE__);
    			redirectexit('action=manageboards;sa=pretty;boardid=' . $board_id);
    		}
    	//	Adding a URL?
    	if (isset($_REQUEST['add']) && $_REQUEST['add'] != '')
    	{
    		require_once($sourcedir . '/Subs-PrettyUrls.php');
    
    		$pretty_text = pretty_generate_url($_REQUEST['add']);
    		//	Numerical or URLs the same as actions aren't allowed!
    		if (is_numeric($pretty_text) || in_array($pretty_text, $context['pretty']['action_array']))
    		{
    			//	Add suffix '-board_id' to the pretty url
    			$_SESSION['pretty']['warning'] = $txt['pretty_numerical'];
    			$pretty_text .= ($pretty_text != '' ? '-' : 'b') . $board_id;
    		}
    
    		//	Duplicate URL?
    		if (isset($pretty_board_lookup[$pretty_text]))
    			$context['pretty']['warning'] = $txt['pretty_duplicate_warning'] . '<a href="' . $scripturl . '?action=manageboards;sa=pretty;boardid=' . $pretty_board_lookup[$pretty_text] . '">' . $txt['pretty_duplicate_link'] . '</a>';
    		else
    		{
    			//	No it's unique, so we can update the database
    			$pretty_board_lookup[$pretty_text] = $board_id;
    			updateSettings(array('pretty_board_lookup' => addslashes(serialize($pretty_board_lookup))));
    			db_query("TRUNCATE TABLE {$db_prefix}pretty_urls_cache", __FILE__, __LINE__);
    			redirectexit('action=manageboards;sa=pretty;boardid=' . $board_id);
    		}
    	}
    
    	//	Prepare the list of board URLs
    	$context['pretty']['this_board'] = array();
    	foreach ($pretty_board_lookup as $url => $id)
    		if ($id == $board_id)
    			$context['pretty']['this_board'][] = array(
    				'primary' => !isset($context['pretty']['no_primary_warning']) && $url == $pretty_board_urls[$board_id],
    				'url' => $url,
    			);
    
    	//	Load the right template
    	loadTemplate('ManageBoards');
    	$context['sub_template'] = 'pretty_board_url';
    	$context['page_title'] = $context['pretty']['board_title'];
    	if (isset($_SESSION['pretty']['warning']))
    	{
    		$context['pretty']['warning'] = $_SESSION['pretty']['warning'];
    		unset($_SESSION['pretty']['warning']);
    	}
    }
    ./Sources/MessageIndex.php'de
    bul
    	if (WIRELESS)
    Değiştir
    	//	301 redirects
    	if ((isset($context['pretty']['oldschoolquery']) || $context['pretty']['query_string']['board'] != $context['pretty']['board_urls'][$board]) && $modSettings['pretty_enable_filters'])
    	{
    		$filterData = unserialize($modSettings['pretty_filters']);
    		if ($filterData['boards']['enabled'])
    		{
    			$url = 'board=' . $board . '.' . (isset($_REQUEST['start']) ? $_REQUEST['start'] : '0') . (isset($_REQUEST['sort']) ? ';sort=' . $_REQUEST['sort'] : '');
    			header('HTTP/1.1 301 Moved Permanently');
    			redirectexit($url, false);
    		}
    	}
    
    	if (WIRELESS)
    ./Sources/Subs-Boards.php'de bul
    function modifyBoard($board_id, &$boardOptions)
    {
    	global $sourcedir, $cat_tree, $boards, $boardList, $modSettings, $db_prefix;
    Değiştir
    function modifyBoard($board_id, &$boardOptions)
    {
    	global $sourcedir, $cat_tree, $boards, $boardList, $modSettings, $db_prefix, $context;
    Bul
    	if (isset($boardOptions['move_to']))
    		reorderBoards();
    Değiştir
    	if (isset($boardOptions['move_to']))
    		reorderBoards();
    
    //	Update the pretty board URLs
    	if (isset($boardOptions['pretty_url']))
    	{
    		require_once($sourcedir . '/Subs-PrettyUrls.php');
    
    		//	Get the current board URLs
    		$pretty_board_lookup = unserialize($modSettings['pretty_board_lookup']);
    		//	Generate a new one
    		$pretty_url = pretty_generate_url($boardOptions['pretty_url']);
    
    		//	Can't be empty, can't be a number and can't be the same as another
    		if ($pretty_url == '' || is_numeric($pretty_url) || (isset($pretty_board_lookup[$pretty_url]) && $pretty_board_lookup[$pretty_url] != $board_id))
    			//	Add suffix '-board_id' to the pretty url
    			$pretty_url .= ($pretty_url != '' ? '-' : 'b') . $board_id;
    
    		//	Save to the database
    		$context['pretty']['board_urls'][$board_id] = $pretty_url;
    		$pretty_board_lookup[$pretty_url] = $board_id;
    		updateSettings(array(
    			'pretty_board_lookup' => addslashes(serialize($pretty_board_lookup)),
    			'pretty_board_urls' => addslashes(serialize($context['pretty']['board_urls'])),
    		));
    
    		//	Count that query!
    		$context['pretty']['db_count']++;
    	}
    Bul
    	// Change the board according to the given specifications.
    Değiştir
    	if (!isset($boardOptions['pretty_url']))
    		$boardOptions['pretty_url'] = $boardOptions['board_name'];
    
    	// Change the board according to the given specifications.
    ./Themes/default/ManageBoards.template.php'de
    bul
    <td style="padding-left: 1ex;" colspan="4">
    Değiştir
    <td style="padding-left: 1ex;" colspan="5">
    Bul
    <td colspan="4" style="padding-left: 5px;">
    Değiştir
    <td colspan="5" style="padding-left: 5px;">
    Bul
    								<td width="10%" style="padding-right: 1ex;" align="right"><a href="', $scripturl, '?action=manageboards;sa=board;boardid=', $board['id'], '">', $txt['mboards_modify'], '</a></td>
    Değiştir
    								<td width="10%" align="right"><a href="', $scripturl, '?action=manageboards;sa=board;boardid=', $board['id'], '">', $txt['mboards_modify'], '</a></td>
    								<td width="10%" style="padding-right: 1ex;" align="right">', allowedTo('admin_forum') ? '<a href="' . $scripturl . '?action=manageboards;sa=pretty;boardid=' . $board['id'] . '">' . $txt['pretty_modify_board_url'] . '</a>' : '', '</td>
    Bul
    <td style="padding-left: ', 5 + 30 * $board['move_links'][0]['child_level'], 'px;" colspan="4">
    Değiştir
    <td style="padding-left: ', 5 + 30 * $board['move_links'][0]['child_level'], 'px;" colspan="5">
    Bul
    <td colspan="4" align="right">
    Değiştir
    <td colspan="5" align="right">
    Bul (En Altda)
    ?>
    Üstüne Ekle
    //	Interface to manage a board's Pretty URLs
    function template_pretty_board_url()
    {
    	global $context, $scripturl, $txt;
    
    	//	Core really, really sucks.
    	echo '
    <table align="center" cellspacing="1" cellpadding="4" class="bordercolor" style="border: 0; min-width: 650px; width: 50%;">
    	<tr class="titlebg"><th>', $context['pretty']['board_title'], '</th></tr>
    	<tr class="windowbg2"><td>';
    
    	//	Is something wrong?
    	if (isset($context['pretty']['warning']))
    		echo '
    		<p><strong>', $context['pretty']['warning'], '</strong></p>';
    
    	echo '
    		<ul>';
    
    	//	List out the URLs
    	foreach ($context['pretty']['this_board'] as $url)
    	{
    		echo '
    			<li>', $url['url'], ' ';
    
    		if ($url['primary'])
    			echo '<b>', $txt['pretty_primary_url'], '</b>';
    		else
    			echo '<a href="', $scripturl, '?action=manageboards;sa=pretty;boardid=', $_REQUEST['boardid'], ';do=primary;url=', $url['url'], '">', $txt['pretty_make_primary'], '</a>';
    
    		echo ' <a href="', $scripturl, '?action=manageboards;sa=pretty;boardid=', $_REQUEST['boardid'], ';do=delete;url=', $url['url'], '">', $txt['smf138'], '</a></li>';
    	}
    
    	echo '
    		</ul>
    		<form action="', $scripturl, '?action=manageboards;sa=pretty;boardid=', $_REQUEST['boardid'], '" method="post" accept-charset="', $context['character_set'], '">
    			<p><label for="pretty_add_url">', $txt['pretty_add_url_description'], '</label>
    			<input type="text" style="width: 150px;" value="" name="add" id="pretty_add_url" /></p>
    			<p><input type="submit" value="', $txt['pretty_add_url'], '" name="submit" /></p>
    		</form>
    	</td></tr>
    </table>';
    }
    ./Themes/default/languages/Modifications.turkish.php'de
    bul
    ?>
    üzerine ekle
    //	Şeker Linkler Modifikasyonu
    $txt['pretty_admin_menu'] = 'Şeker Linkler';
    
    //	Board URLs interface
    $txt['pretty_add_url'] = 'Ekle';
    $txt['pretty_add_url_description'] = 'Add a URL. Note that what you enter here will be processed as only certain characters are allowed.';
    $txt['pretty_board_url_title'] = 'Pretty URLs for: ';
    $txt['pretty_deleted_board'] = 'Deleted board #';
    $txt['pretty_duplicate_link'] = 'delete it first.';
    $txt['pretty_duplicate_warning'] = 'That URL is already in use by another board. It will be available if you ';
    $txt['pretty_make_primary'] = 'Make primary';
    $txt['pretty_modify_board_url'] = 'Pretty URL';
    $txt['pretty_no_primary_warning'] = 'Warning, no primary URL!';
    $txt['pretty_numerical'] = 'Sorry, but as that URL is either a number or the same as a forum action the board ID had to be added as a suffix.';
    $txt['pretty_primary_url'] = 'Primary';
    
    //	Settings descriptions
    $txt['pretty_action_array'] = 'An array of forum actions, extracted from index.php.';
    $txt['pretty_board_lookup'] = 'A serialized array of <tt>URL => ID_BOARD</tt> pairs, used for processing <tt>$_GET[\'board\']</tt>. There can be more than one URL for each board.';
    $txt['pretty_board_urls'] = 'A serialized array of <tt>ID_BOARD => URL</tt> pairs, used for generating pretty replacement URLs.';
    $txt['pretty_enable_filters'] = 'Sets whether to prettify anything at all. 0 for no, 1 for yes.';
    $txt['pretty_filters'] = 'A serialized array of filter data.';
    $txt['pretty_filter_callbacks'] = 'A serialized array of callback function names, sorted by priority. Don\'t manually edit this, edit the <tt>pretty_filters</tt> setting instead.';
    $txt['pretty_root_url'] = 'The base URL used by the board and topic filters, which by default is the same as <tt>$boardurl</tt>.';

    Sonra indirdiğimiz zipin içinden SMF1-1 klasörünü
    Klasörünü ftpye atıp
    SMF1-1/install.php'yi
    forum dizinine atıp çalıştırıyoruz yani siteadi.com/forum/install.php olacak şekilde
    install işlemleri tamamlandıkdan sonra

    Şu dosyaları da şu dizinlere atın .
    "SMF1-1/PrettyUrls.php" taşi "./Sources".
    "SMF1-1/PrettyUrls-Filters.php" taşi"./Sources".
    "SMF1-1/Subs-PrettyUrls.php" taşi "./Sources".
    "PrettyUrls.template.php" taşi "./Themes/default".
    "pretty" taşi "./Themes/default".
    "PrettyUrls.turkish.php" taşi "./Themes/default/languages".



    Not:
    QueryString.php deki hatalı yerler düzeltilmiştir.

    Ekleme / (29 Kasım 2008, 05:26:27)

    Ekleme 15,Aralık,2008
    Sayfaları görüntülenmeyen (404 Not Found Hatası Alanlar) arkadaşlar ekteki .htaccess dosyasını rardan çıkartıp ana dizinlerine atarlarsa (forum kurulu olan yer) sorun çözülür.


    bu modda normalde her hangi bir sayfada login yapınca ana sayfaya yönleniyor. bu olayı çözdüm işte kodlar

    LogInOut.php'de..
    bul;
     if (empty($_SESSION['login_url']) && isset($_SESSION['old_url']) && preg_match('~(board|topic)[=,]~', $_SESSION['old_url']) != 0)
      $_SESSION['login_url'] = $_SESSION['old_url'];
    değiştir
         if (isset($_SESSION['old_url']))
              $_SESSION['login_url'] = $_SESSION['old_url'];
    ----------------------------------------------------------------------

    http://rapidshare.com/files/31153847...ccess.zip.html

    http://rapidshare.com/files/31153868...rkish.zip.html
  • 26-11-2009, 12:43:34
    #2
    mod_rewrite off olunca hostcuya mail mi atacaz yoksa kendimizin yapabilecegi bisey varmi ?
  • 26-11-2009, 14:43:57
    #3
    Anlatım açık ve güzel olmuş. Yalnız büyük bir forum sitesine sahipseniz bu eklentiyi kullanmayın. Sonunuz hüsran olabilir.
  • 26-11-2009, 16:02:47
    #4
    YUNUSEMRE adlı üyeden alıntı: mesajı görüntüle
    Anlatım açık ve güzel olmuş. Yalnız büyük bir forum sitesine sahipseniz bu eklentiyi kullanmayın. Sonunuz hüsran olabilir.
    o seo4smf için geçerli pretty url de seo4 gibi hata yok
  • 27-11-2009, 17:26:38
    #5
    By_vezir adlı üyeden alıntı: mesajı görüntüle
    o seo4smf için geçerli pretty url de seo4 gibi hata yok
    By_vezir dikkat ederseniz hata var demedim. Seo4smf direk olarak yönlendirme yapıyor fakat preety mysql e işliyor bu da doğal olarak yük doğuruyor.
  • 22-12-2009, 23:37:33
    #6
    kategoriler bölümünde el ile şekerleştir sekmesi yok :S ne yapabilirim ??
  • 23-12-2009, 12:08:30
    #7
    Misafir
    Eline sağlık, yararlı bir döküman olmuş.
  • 01-01-2010, 02:59:49
    #8
    Olmadı, QueryString.php on line 529 hatası verdi. Neyse daha sonra denerim. Teşekkürler.
  • 01-01-2010, 03:08:37
    #9
    Misafir
    Juce adlı üyeden alıntı: mesajı görüntüle
    mod_rewrite off olunca hostcuya mail mi atacaz yoksa kendimizin yapabilecegi bisey varmi ?
    merhaba,

    mod_rewrite için hosting sağlayıcınıza başvurun.

    bu mod'u paket halinde kurmanızı tavsiye ederim ve direk resmi sayfasından indirmenizi tavsiye ederim link: http://custom.simplemachines.org/mods/index.php?mod=636

    bende forum sayfamda kullanıyorum gayet başarılı
    www.forum.karincahosting.com