Arkadaşlar Onarcade 2.2.0 versiyonunda SEF linklerde Türkçe karakterler çıkması üzerine Functions.php den karakterleri ayarladım. acak .htaccess i ayarlayamıyorum. linkleri ayarladım ancak linklere tıklayınca not found uyarısı geliyor. acaba ben biyerlerde yanlış mı yaptım diye Functions.php ve .Htaccess dosyalarımı buraya ekliyorum. kontrol ederseniz veya düzeltirseniz çok sevinirim. teşekkür ederim.
Kod:
<?php
/**
* onArcade 2.2.0
* Copyright © 2006-2009 Hans Mäesalu & Eveterm OÜ, All Rights Reserved
**
* ONARCADE IS NOT FREE SOFTWARE!
* http://www.onarcade.com
**
* Global onArcade functions are located here.
**/
// Strip HTML dags
function nohtml($message) {
$message = preg_replace("#&(?!\#[0-9]+;)#si", "&", $message);
$message = str_replace("<","<", $message);
$message = str_replace(">",">", $message);
$message = str_replace("\"",""", $message);
return $message;
}
// Generate file URL
function fileurl($file_id, $file_title) {
global $settings;
if ($settings['sefriendly'] == 1) {
$replace = array(' ', '\'', ':', '(', ')', '&', 'ä', 'ö', 'ü', 'ğ', 'ş', 'ç', 'ı', 'Ö', 'Ü', 'Ğ', 'Ş', 'Ç', 'İ', );
$replacement = array('_', '', '-', '8', '9', 'and', 'a', 'o', 'u', 'g', 's', 'c', 'i', 'O', 'U', 'G', 'S', 'C', 'I');
$file_title = str_replace($replace, $replacement, $file_title);
return $settings['siteurl'] .'/'. $settings['fileurl'] .'/'. $file_id .'/'. $file_title .'.html';
} else
return $settings['siteurl'] .'/file.php?f='. $file_id;
}
// Generate category URL
function categoryurl($category_id, $category_title, $page = 1) {
global $settings;
if ($settings['sefriendly'] == 1) {
$replace=array ("!","^","'","%","&","[","]","(",")","?","=","*",",",".","~","%","#","@","ç","Ç","ş","Ş","ğ","Ğ","ü","Ü","İ","ı","ö","Ö","ı","Å?","ü","ç","ö","Ä?","ÅŸ","Ç","İ","ÄŸ","Å?","Ö","Ü","ı","Å?","ç","ö","Ä?","ÅŸ","Ç","İ","ÄŸ","Å?","Ö","Ü","ü","ÄŸ","@",";","~","=");
$replacement=array("","","","","","","","","","","","","","","","","","","c","C","s","S","g","G","u","U","i","i","o","O","i","s","u","c","o","g","s","C","i","g","S","O","U","i","s","c","o","g","s","C","i","g","S","o","U","u","g","","","","-");
$category_title = str_replace($replace, $replacement, $category_title);
return $settings['siteurl'] .'/'. $settings['categoryurl'] .'/'. $category_id .'/'. $category_title .'/'. $page .'.html';
} else
return $settings['siteurl'] .'/browse.php?c='. $category_id .'&p='. $page;
}
// Generate profile URL
function profileurl($userid,$username) {
global $settings;
if ($settings['sefriendly'] == 1) {
$replace=array ("!","^","'","%","&","[","]","(",")","?","=","*",",",".","~","%","#","@","ç","Ç","ş","Ş","ğ","Ğ","ü","Ü","İ","ı","ö","Ö","ı","Å?","ü","ç","ö","Ä?","ÅŸ","Ç","İ","ÄŸ","Å?","Ö","Ü","ı","Å?","ç","ö","Ä?","ÅŸ","Ç","İ","ÄŸ","Å?","Ö","Ü","ü","ÄŸ","@",";","~","=");
$replacement=array("","","","","","","","","","","","","","","","","","","c","C","s","S","g","G","u","U","i","i","o","O","i","s","u","c","o","g","s","C","i","g","S","O","U","i","s","c","o","g","s","C","i","g","S","o","U","u","g","","","","-");
$username = str_replace($replace, $replacement, $username);
$profileurl = $settings['siteurl'] .'/'. $settings['profileurl'] .'/'. $userid .'/'. $username .'.html';
} else {
$profileurl = $settings['siteurl'] .'/profile.php?u='. $userid;
}
return $profileurl;
}
// Generate score URL
function scoresurl($scores_id, $scores_page = 1) {
global $settings;
if ($settings['sefriendly'] == 1)
return $settings['siteurl'] .'/'. $settings['scoresurl'] .'/'. $scores_id .'/'. $scores_page .'.html';
else
return $settings['siteurl'] .'/scores.php?f='. $scores_id .'&p='. $scores_page;
}
// Get avatar URL
function avatar_url($avatar, $avatar_uploaded) {
global $settings;
if (empty($avatar))
$avatar_url = $settings['siteurl'] .'/images/noavatar.gif';
else {
if ($avatar_uploaded == '1')
$avatar_url = $settings['siteurl'] .'/images/avatars/'. $avatar;
elseif ($avatar_uploaded == '2')
$avatar_url = $settings['siteurl'] .'/images/avatars/galleries/'. $avatar;
else
$avatar_url = $avatar;
}
return $avatar_url;
}
// file image URL
function file_image_url($image_name, $image_location) {
global $settings;
if ($image_location == 1)
return $settings['siteurl'] .'/files/image/'. $image_name;
else
return $image_name;
}
// BB Code
function bbcode($text, $extended = false) {
global $settings;
$text = preg_replace('/\[b\](.*?)\[\/b\]/is', '<b>$1</b>', $text);
$text = preg_replace('/\[u\](.*?)\[\/u\]/is', '<u>$1</u>', $text);
$text = preg_replace('/\[i\](.*?)\[\/i\]/is', '<i>$1</i>', $text);
$text = preg_replace('/\[s\](.*?)\[\/s\]/is', '<s>$1</s>', $text);
$text = str_replace(':)','<img src="'. $settings['siteurl'] .'/images/happy.gif" alt="" />',$text);
$text = str_replace(':(','<img src="'. $settings['siteurl'] .'/images/sad.gif" alt="" />',$text);
$text = str_replace(';)','<img src="'. $settings['siteurl'] .'/images/wink.gif" alt="" />',$text);
$text = str_replace(':@:','<img src="'. $settings['siteurl'] .'/images/@.gif" alt="" />',$text);
$text = str_replace(':8','<img src="'. $settings['siteurl'] .'/images/cool.gif" alt="" />',$text);
$text = str_replace(':wave:','<img src="'. $settings['siteurl'] .'/images/wave.gif" alt="" />',$text);
$text = str_replace(':think:','<img src="'. $settings['siteurl'] .'/images/think.gif" alt="" />',$text);
$text = str_replace(':clap:','<img src="'. $settings['siteurl'] .'/images/clap.gif" alt="" />',$text);
// some extra BB code, we only want this on some pages
if ($extended == true) {
while (preg_match('/\[quote\](.*?)\[\/quote\]/is', $text))
$text = preg_replace('/\[quote\](.*?)\[\/quote\]/is', '<div class="quote">$1</div>', $text);
$text = preg_replace('/\[img\]([a-z0-9_\-?\/:\.]*?)\[\/img\]/is', '<img src="$1" />', $text);
$text = preg_replace('/\[url=([a-z0-9_\-?\/:\.]*?)\](.*?)\[\/url\]/is', '<a href="$1" target="_blank">$2</a>', $text);
}
return $text;
}
// Filter bad words
function word_filter($text) {
global $settings;
if ($settings['bad_word_filter'] == 1) {
$text = preg_replace('/('. $settings['bad_words'] .')/i', '***', $text);
}
return $text;
}
// shorten file description
function shorten_description($description, $length) {
if (strlen($description) > $length)
return substr($description , 0, ($length - 3)) .'...';
else
return $description;
}
// Generate real date from UNIX timestamp
function mod_date($time, $format = 1) {
global $lang;
switch ($format) {
case 1:
$day = date('j', $time);
$month = $lang['datetime'][date('F', $time)];
$year = date('Y', $time);
return $day .' '. $month .' '. $year;
break;
case 2:
$day = date('j', $time);
$month = $lang['datetime'][date('F', $time)];
return $day .' '. $month .' '. date('Y G:i', $time);
break;
case 3:
return date('r', $time);
break;
case 4:
return date('d-m-Y G:i', $time);
break;
}
}
// generate stars
function rating_stars($rating) {
global $settings;
$rating_b = $rating + 0.25;
$rating_c = (int)($rating + 0.75);
$stars = '';
for ($i = 1; $i <= 5; ++$i) {
if ($i <= $rating_b)
$stars .= '<img src="'. $settings['siteurl'] .'/images/star.png" id="rate_'. $i .'" alt="'. $rating .'" /> ';
elseif ($i == $rating_c)
$stars .= '<img src="'. $settings['siteurl'] .'/images/star_half.png" id="rate_'. $i .'" alt="'. $rating .'" /> ';
else
$stars .= '<img src="'. $settings['siteurl'] .'/images/star_empty.png" id="rate_'. $i .'" alt="'. $rating .'" /> ';
}
return $stars;
}
// Get the number of stars (index page)
function stars($stars) {
if ($stars < 0.50)
$stars = 0;
elseif ($stars < 1.50)
$stars = 1;
elseif ($stars < 2.50)
$stars = 2;
elseif ($stars < 3.50)
$stars = 3;
elseif ($stars < 4.50)
$stars = 4;
else
$stars = 5;
return $stars;
}
// Load categories
function menu_categories() {
global $tbl_prefix, $settings, $session;
$menu_categories = get_cache('menu_categories_'. $session->info['status']);
if (!$menu_categories) {
if ($session->info['status'] == 1)
$categories_menu_query = mysql_query("SELECT name, catid FROM ". $tbl_prefix ."categories WHERE status = '1' && parentcategory = 0 ORDER BY catorder, name");
else
$categories_menu_query = mysql_query("SELECT name, catid FROM ". $tbl_prefix ."categories WHERE status = '1' && permissions = '1' && parentcategory = 0 ORDER BY catorder, name");
$menu_categories = array();
while ($categories_menu_row = mysql_fetch_assoc($categories_menu_query)) {
$menu_categories[] = array (
'url' => categoryurl($categories_menu_row['catid'], $categories_menu_row['name'], 1),
'title' => $categories_menu_row['name'],
'last' => false
);
}
// last category in array
$last = count($menu_categories) - 1;
if ($last >= 0)
$menu_categories[$last]['last'] = true;
// Write cache file
write_cache('menu_categories_'. $session->info['status'], $menu_categories);
}
return $menu_categories;
}
// Get news
function news() {
global $tbl_prefix, $settings;
$news = get_cache('news');
if (!$news) {
if ($settings['news'] == 2)
$news_query = mysql_query("
SELECT
r.title, r.message, r.date_posted AS date
FROM
". $tbl_prefix ."forums_topics AS t
LEFT JOIN ". $tbl_prefix ."forums_replies AS r ON (t.topic_id = r.topic_id && first_post = 1)
WHERE
t.forum_id = ". $settings['news_forum'] ."
ORDER BY t.topic_id DESC
LIMIT ". $settings['news_index']
);
else
$news_query = mysql_query("SELECT title, message, date FROM ". $tbl_prefix ."news WHERE status = '1' ORDER BY newsid DESC LIMIT ". $settings['news_index']);
$news = array();
while ($news_row = mysql_fetch_assoc($news_query)) {
$news[] = array (
'title' => nohtml($news_row['title']),
'text' => bbcode(nl2br(nohtml($news_row['message'])), true),
'date' => mod_date($news_row['date'])
);
}
write_cache('news', $news);
}
return $news;
}
/**
* onArcade 2.2 cache engine
**/
function get_cache($file_name) {
global $settings, $u_time;
$cache_file = 'cache/'. $file_name .'.cache';
if ($settings['cache'] == 1 && file_exists($cache_file) && filemtime($cache_file) > ($u_time - ($settings['cache_expire'] * 60))) {
return unserialize(file_get_contents($cache_file));
} else
return false;
}
function write_cache($file_name, $file_content) {
global $settings;
if ($settings['cache'] == 1) {
// Some important variables
$cache_file = 'cache/'. $file_name .'.cache';
$file_content = serialize($file_content);
// And lets write the file
$open_cache_file = fopen($cache_file, "w");
fwrite($open_cache_file, $file_content);
fclose($open_cache_file);
}
}
// make sure username is valid
function verify_username($username) {
if (preg_match('#^[a-zA-Z0-9._-]{3,25}$#', $username))
return true;
else
return false;
}
// make sure email is valid
function verify_email($email) {
if (preg_match('#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z]{2,4}$#', $email))
return true;
else
return false;
}
// new PM notification
function new_pm() {
global $lang, $session, $header_add, $tbl_prefix;
if ($session->info['newpm'] == 1) {
$header_add .= '
<script type="text/javascript">
addLoadEvent(function() { if (window.confirm("'. $lang['new_pm_click_ok_cancel'] .'")) window.location = siteurl + "/privatemessages.php"; });
</script>';
mysql_query("UPDATE ". $tbl_prefix ."users SET newpm = '0' WHERE userid = ". $session->info['id'] ." LIMIT 1");
}
if ($session->info['new_friend'] == 1) {
$header_add .= '
<script type="text/javascript">
addLoadEvent(function() { if (window.confirm("'. $lang['new_friend_ok_cancel'] .'")) window.location = siteurl + "/usercp.php?a=friends&type=invites"; });
</script>';
mysql_query("UPDATE ". $tbl_prefix ."users SET new_friend = '0' WHERE userid = ". $session->info['id'] ." LIMIT 1");
}
}
// check if we have correct HTTP_REFERER
function http_referer($alternative = '') {
global $settings;
if (substr($_SERVER['HTTP_REFERER'], 0, strlen($settings['siteurl'])) == $settings['siteurl'])
return $_SERVER['HTTP_REFERER'];
else
return $settings['siteurl'] . $alternative;
}
// count the number of rows in database
function count_rows($table_name, $variables = null) {
if ($variables == NULL)
$sql = "SELECT count(*) FROM ". $table_name;
else
$sql = "SELECT count(*) FROM ". $table_name ." WHERE ". $variables;
$query = mysql_query($sql);
$row = mysql_fetch_assoc($query);
return $row['count(*)'];
}
// make "unserializing" easier
function unserialize2($data) {
if (strlen($data))
return unserialize($data);
else
return array();
}
// convert json data to array
function json_array($json) {
$json = str_replace('\\/', '/', $json);
$json = str_replace(array('":', '{', '}', '[', ']'), array('"=>', 'array(', ')', 'array(', ')'), $json);
@eval("\$json_array = ". $json .";");
return $json_array;
}
// JSON output
function json_o($json_array) {
header("Content-type: text/json; charset=utf-8"); // header
echo json_encode($json_array); // output
exit(); // and exit
}
?>