[alfa] advanced site keywords control - 1.0.1
Tarih: 05.01.2007, 22:16
phpbb başlığı
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...
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ü
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ü