http://www.phpbb.com/phpBB/viewtopic.php?t=465856
modu burda açılamaları çıkarıp koydum, orda da türkçe açıklamaları çıkarıp koydum, benim sitede ise işleyiş mekanizmasını anlatarak koyuyorum...
- Kod: Tümünü seç
###########################################
## Mod NAME: advanced site keywords control
## Mod VERSION : 1.0.1 / alpha 2
## Mod AUTHOR: yakusha < yakushaBB@yahoo.com > (sabri ünal) < http://www.canver.net | http://www.yakusha.net >
###########################################
## Installation Level: Medium
## Installation Time : 10 minutes
## Edited Files: (9-11)
## - lang_main.php,
## - overall_header.tpl, board_config_body.tpl, forum_edit_body.tpl
## - page_header.php, viewtopic.php, viewforum.php,
## - admin_board.php, admin_forums.php,
##
## Edited Optional Files
## - forum_admin_body.tpl, overall_footer.tpl,
##
## Included Files: (0)
############################################
## Support and Help : http://www.canver.net - http://www.yakusha.net
## copyleft : Copyleft © - canver|net, yakusha|net
## Lisance : GNU Public License v2 http://opensource.org/licenses/gpl-license.php
############################################
## Author Notes:
## phpBB & Canver & Yakusha! All my Love :)
###########################################
## Mod History:
##
## 1.0.1 - 05-01-2007
## - redesigned alpha versions
## added js counters two times...
## on site keyword, on forum keyword.
##
## 1.0.0 - 28-10-2006
## - optimize edilmiş alfa versiyon
##
## 0.1.0 - 27-10-2006
## - hayalin siteye uygulandığı ilk versiyon
##
############################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
############################################
#
#-----[ SQL ]-----------------------------------------------------
ALTER TABLE `phpbb_forums` ADD `forum_keywords` VARCHAR( 255 ) NOT NULL ;
INSERT INTO phpbb_config (config_name, config_value) VALUES ('site_keywords','sitenizde görünsenisi istediğiniz etiketleri buraya arasını virgül ile ayırarak yazınız ve tırnaklı işaretler kullanmayınız... 255 karakter sınırı vardır.');
#-----[ OPEN ]----------------------------------------------------
language/lang_turkish/lang_main.php
#-----[ FIND ]----------------------------------------------------
?>
#-----[ BEFORE ADD ]----------------------------------------------
$lang['Site_words'] = 'Etiketler:';
$lang['Forum_keywords'] = 'Forum Etiketleri:';
$lang['Site_keywords'] = 'Site Etiketleri:';
$lang['Site_keywords_explain'] = 'Sitenizi tanıtıcı ekitetleri buraya yazınız.';
$lang['keywords_len_explain'] = "[ Kalan Karaker ]";
#-----[ OPEN ]----------------------------------------------------
templates/subSilver/overall_header.tpl
#-----[ FIND ]----------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html dir="{S_CONTENT_DIRECTION}">
<head>
<meta http-equiv="Content-Type" .............
<meta http-equiv="Content-Style ...............
#-----[ AFTER ADD ]-----------------------------------------------
<meta name="distribution" content="global" />
<meta name="rating" content="general" />
<meta name="expires" content="never" />
<meta name="robots" content="index,follow,archive" />
<meta name="revisit-after" content="1 days" />
<meta name="author" content="{SITENAME}, {SITE_DESCRIPTION}" />
<meta name="owner" content="{SITENAME}, {SITE_DESCRIPTION}" />
<meta name="copyright" content="(c) {SITENAME}, 2006" />
<meta name="description" content="{SITENAME}, {SITE_DESCRIPTION}" />
<meta name="keywords" content="{SITE_KEYWORDS}" />
#-----[ OPTIONAL ]------------------------------------------------
# Sisteminizde yüklü olanları ekleyebilirsiniz...
<meta name="siteinfo" content="./robots.txt" />
<meta name="sitemap" content="./google_sitemap.php" />
<link rel="icon" href="./images/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="./images/favicon.ico" type="image/x-icon" />
#-----[ OPEN ]----------------------------------------------------
admin/admin_board.php
#-----[ FIND ]----------------------------------------------------
"L_SUBMIT" => $lang['Submit'],
"L_RESET" => $lang['Reset'],
#-----[ AFTER, ADD ]----------------------------------------------
// ---[+]---- site meta keywords ----
"L_SITE_KEYWORDS" => $lang['Site_keywords'],
"L_SITE_KEYWORDS_EXPLAIN" => $lang['Site_keywords_explain'],
"SITE_KEYWORDS" => $new['site_keywords'],
"KEYWORDS_LEN" => $lang['keyword_len_explain'],
// ---[-]---- site meta keywords ----
#-----[ OPEN ]----------------------------------------------------
templates/subSilver/admin/board_config_body.tpl
#-----[ FIND ]----------------------------------------------------
<tr>
<td class="row1">{L_SITE_DESCRIPTION}</td>
<td class="row2"><input class="post" type="text" size="40" maxlength="255" name="site_desc" value="{SITE_DESCRIPTION}" /></td>
</tr>
#-----[ AFTER, ADD ]----------------------------------------------
<tr>
<td class="row1">
<span class="genmed">{L_SITE_KEYWORDS}</span><br />
<span class="gensmall">{L_SITE_KEYWORDS_EXPLAIN}</span><br />
</td>
<td class="row2">
<script language="JavaScript" type="text/javascript">
<!--
// backported from underhill signatureCounter mods
function signatureCounter(field, countfield, maxlimit)
{
if (field.value.length > maxlimit)
{
field.value = field.value.substring(0, maxlimit);
}
else
{
countfield.value = maxlimit - field.value.length;
}
}
//-->
</script>
<textarea name="site_keywords" rows="5" cols="40" wrap="virtual" onKeyDown="signatureCounter(this.form.site_keywords, this.form.signatureLen, 255);" onKeyUp="signatureCounter(this.form.site_keywords, this.form.signatureLen, 255);">{SITE_KEYWORDS}</textarea>
<input class="post" readonly="readonly" type="text" name="signatureLen" size="3" maxlength="3" style="text-align:center;" value="{255}" /> {KEYWORDS_LEN}
</td>
</tr>
#-----[ OPEN ]----------------------------------------------------
templates/subSilver/admin/forum_edit_body.tpl
#-----[ FIND ]----------------------------------------------------
<tr>
<td class="row1">{L_FORUM_DESCRIPTION}</td>
<td class="row2"><textarea rows="5" cols="45" wrap="virtual" name="forumdesc" class="post">{DESCRIPTION}</textarea></td>
</tr>
#-----[ AFTER, ADD ]---------------------------------------------
<tr>
<td class="row1">{L_FORUM_KEYWORD}</td>
<td class="row2">
<script language="JavaScript" type="text/javascript">
<!--
// backported from underhill signatureCounter mods
function signatureCounter(field, countfield, maxlimit)
{
if (field.value.length > maxlimit)
{
field.value = field.value.substring(0, maxlimit);
}
else
{
countfield.value = maxlimit - field.value.length;
}
}
//-->
</script>
<textarea name="forum_keywords" rows="5" cols="45" wrap="virtual" onKeyDown="signatureCounter(this.form.forum_keywords, this.form.signatureLen, 255);" onKeyUp="signatureCounter(this.form.forum_keywords, this.form.signatureLen, 255);">{FORUM_KEYWORDS}</textarea>
<br /><input class="post" readonly="readonly" type="text" name="signatureLen" size="3" maxlength="3" style="text-align:center;" value="{255}" /> {KEYWORDS_LEN} </td>
</td>
</tr>
#-----[ OPEN ]----------------------------------------------------
admin/admin_forums.php
#-----[ FIND ]----------------------------------------------------
$forumstatus = $row['forum_status'];
#-----[ AFTER, ADD ]----------------------------------------------
$forum_keywords = $row['forum_keywords'];
#-----[ FIND ]----------------------------------------------------
$forumstatus = FORUM_UNLOCKED;
#-----[ AFTER, ADD ]----------------------------------------------
$forum_keywords = '';
#-----[ FIND ]----------------------------------------------------
'L_FORUM_STATUS' => $lang['Forum_status'],
#-----[ AFTER, ADD ]----------------------------------------------
'L_FORUM_KEYWORD' => $lang['Forum_keywords'],
'KEYWORDS_LEN' => $lang['keyword_len_explain'],
#-----[ FIND ]----------------------------------------------------
'DESCRIPTION' => $forumdesc
#-----[ BEFORE ADD ]----------------------------------------------
'FORUM_KEYWORDS' => $forum_keywords,
#--[+]---[ IF YOU USING SIMPLE SUBFORUM ]----------------------------------------------
# START WARNING
#-----[ FIND ]----------------------------------------------
$template->assign_block_vars("catrow.forumrow", array(
'FORUM_ID' => $forum_rows[$k]['forum_id'],
'FORUM_NAME' => $forum_rows[$k]['forum_name'],
'FORUM_DESC' => $forum_rows[$k]['forum_desc'],
#-----[ AFTER ADD ]----------------------------------------------
'FORUM_KEYWORDS' => $forum_rows[$k]['forum_keywords'],
# END WARNING
#--[-]---[ IF YOU USING SIMPLE SUBFORUM ]----------------------------------------------
#-----[ FIND ]----------------------------------------------------
// There is no problem having duplicate forum names so we won't check for it.
$sql = "INSERT INTO " . FORUMS_TABLE . " (forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status, prune_enable" . $field_sql . ")
#-----[ IN-LINE FIND ]--------------------------------------------
forum_status
#-----[ IN-LINE AFTER, ADD ]--------------------------------------
, forum_keywords
#-----[ FIND ]----------------------------------------------------
VALUES ('" . $next_id . "', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', $next_order, " . intval($HTTP_POST_VARS['forumstatus']) . ", " . intval($HTTP_POST_VARS['prune_enable']) . $value_sql . ")";
#-----[ IN-LINE FIND ]--------------------------------------------
, " . intval($HTTP_POST_VARS['forumstatus']) . "
#-----[ IN-LINE AFTER, ADD ]--------------------------------------
, '" . str_replace("\'", "''", $HTTP_POST_VARS['forum_keywords']) . "'
#-----[ FIND ]----------------------------------------------------
$sql = "UPDATE " . FORUMS_TABLE . "
SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . "
WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]);
#-----[ IN-LINE FIND ]--------------------------------------------
, forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . "
#-----[ IN-LINE AFTER, ADD ]--------------------------------------
, forum_keywords = '" . str_replace("\'", "''", $HTTP_POST_VARS['forum_keywords']) . "'
#-----[ FIND ]----------------------------------------------------
'FORUM_DESC' => $forum_rows[$j]['forum_desc'],
#-----[ AFTER, ADD ]----------------------------------------------
'FORUM_KEYWORDS' => $forum_rows[$j]['forum_keywords'],
#-----[ OPEN ]----------------------------------------------------
templates/subSilver/admin/forum_admin_body.tpl
#-----[ FIND ]----------------------------------------------------
<td class="row2"><span class="gen"><a href="{catrow.forumrow.U_VIEWFORUM}" target="_new">{catrow.forumrow.FORUM_NAME}</a></span><br /><span class="gensmall">{catrow.forumrow.FORUM_DESC}</span></td>
#-----[ REPLACE ]----------------------------------------------------
<td class="row2"><span class="gen"><a href="{catrow.forumrow.U_VIEWFORUM}" target="_new">{catrow.forumrow.FORUM_NAME}</a></span><br /><span class="gensmall">{catrow.forumrow.FORUM_DESC}<br />»{catrow.forumrow.FORUM_KEYWORDS}</span></td>
#-----[ OPEN ]----------------------------------------------------
includes/page_header.php
#-----[ FIND ]----------------------------------------------------
$template->assign_vars(array(
'SITENAME' => $board_config['sitename'],
#-----[ BEFORE ADD ]----------------------------------------------
// eğer site keyword belirlenmemişse site açıklamasını parçala ve etiket diye getir
if (trim($board_config['site_keywords']) == '')
{
//$board_config['site_keywords'] = $board_config['site_desc'];
$board_config['site_keywords'] = str_replace(' ', ', ', $board_config['site_desc']);
//$board_config['site_keywords'] = str_replace(" ", ", ", $board_config['sitename']." ".$board_config['site_desc']);
}
#-----[ FIND ]----------------------------------------------------
'SITE_DESCRIPTION' => $board_config['site_desc'],
#-----[ AFTER, ADD ]----------------------------------------------
'L_SITE_WORDS' => $lang['Site_words'],
'SITE_KEYWORDS' => ($keywords) ? $keywords : $board_config['site_keywords'],
#-----[ OPEN ]----------------------------------------------------
viewforum.php
#------[ FIND ]---------------------------------------------------
//
// Dump out the page header and load viewforum template
//
#------[ BEFORE ADD ]---------------------------------------------
//kısa fakat üç kontrol yapıyor, $mark'ı ayrıştırıyor, forum keylerin olup olmadığına bakıyor
//varsa forum keylerini yoksa forum açıklamasını kullanıyor
if(isset($HTTP_GET_VARS[POST_FORUM_URL]) and !$mark)
{
$keywords = trim($forum_row['forum_keywords']) != '' ? $forum_row['forum_keywords'] : str_replace(" ", ", ", $forum_row['forum_desc']);
}
#-----[ OPEN ]----------------------------------------------------
viewtopic.php
#-----[ FIND ]----------------------------------------------------
$page_title = $lang['View_topic'] .' - ' . $topic_title;
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
#-----[ BEFORE ADD ]----------------------------------------------
//--------[+]---- meta tags--------------
if(isset($HTTP_GET_VARS[POST_TOPIC_URL]) && !$mode)
{
$sql = "SELECT w.word_text
FROM " . TOPICS_TABLE . " t, " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w
WHERE t.topic_first_post_id = m.post_id
AND m.word_id = w.word_id
AND t.topic_id = " . intval($HTTP_GET_VARS[POST_TOPIC_URL]). "
ORDER BY rand()
LIMIT 20";
if( ($result = $db->sql_query($sql)) )
{
$keywords = '';
while ( $meta_row = $db->sql_fetchrow($result) )
{
//sonradi virgülü ayırmak için böyle garip bir sorgu yapıyoruz...
// eğer kelime boş değilse kelimeyi al, değilse ,virgül koy kelimeyi al
$keywords .= ($keywords == '') ? $meta_row['word_text'] : ', ' . $meta_row['word_text'];
}
//eğer topicde kelimeler yoksa! ki bu çeşitli şekillerde olabilir,
// o zaman ilgili mesajı etiketler haline getir
if (trim($keywords) == '')
{
$keywords = str_replace(" ", ", ", $topic_title);
}
}
}
if(isset($HTTP_GET_VARS[POST_POST_URL]) && !$mode)
{
$sql = "SELECT w.word_text
FROM " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w
WHERE m.word_id = w.word_id
AND m.post_id = " . intval($HTTP_GET_VARS[POST_POST_URL]) . "
ORDER BY rand()
LIMIT 20";
if( ($result = $db->sql_query($sql)) )
{
$keywords = '';
while ( $meta_row = $db->sql_fetchrow($result) )
{
//sonradi virgülü ayırmak için böyle garip bir sorgu yapıyoruz...
// eğer kelime boş değilse kelimeyi al, değilse ,virgül koy kelimeyi al
$keywords .= ($keywords == '') ? $meta_row['word_text'] : ', ' . $meta_row['word_text'];
}
}
}
//--------[-]---- meta tags---------------------
#-----[ OPEN ]----------------------------------------------------
# bundan sonrası sizin tercihlerinize kalmış
overall_footer.tpl
#-----[ FIND ]----------------------------------------------------
</td>
</tr>
</table>
#-----[ EKLE ]-------------------------------------------------
<table width="100%" cellpadding="1" cellspacing="1" border="0">
<tr>
<td align="left" valign="top"><span class="gensmall">{L_SITE_WORDS} {SITE_KEYWORDS}</span></td>
</tr>
</table>
#-----[ SAVE & CLOSE ]--------------------------------------------
### YENI SAYFALAR EKLEME #######
#
# EVIL>3 / SINGLE POST MODU ILE UYUMLU HALE GETIRMEK...
#
#-----[ OPEN ]----------------------------------------------------
viewpost.php
#-----[ FIND ]----------------------------------------------------
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
#-----[ BEFORE ADD ]----------------------------------------------------
//---[ + ] ------- meta tags---------------------
if(isset($HTTP_GET_VARS[POST_POST_URL]) && !$mode)
{
$sql = "SELECT w.word_text
FROM " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w
WHERE m.word_id = w.word_id
AND m.post_id = " . intval($HTTP_GET_VARS[POST_POST_URL]) . "
ORDER BY rand()
LIMIT 20";
if( ($result = $db->sql_query($sql)) )
{
$keywords = '';
while ( $meta_row = $db->sql_fetchrow($result) )
{
//sonradi virgülü ayırmak için böyle garip bir sorgu yapıyoruz...
// eğer kelime boş değilse kelimeyi al, değilse ,virgül koy kelimeyi al
$keywords .= ($keywords == '') ? $meta_row['word_text'] : ', ' . $meta_row['word_text'];
}
}
}
#-----[ SAVE & CLOSE ]----------------------------------------------------
Modla ilgili resimler
kaynak kod görüntüsü
sayfa altı muhtemel görünüşü
site admin panelinden görünüşü
forum yönetim panelinden görünüşü
forum düzenleme sayfasından görüntüsü