1 sayfadan 1. sayfa

[alfa] advanced site keywords control - 1.0.1

İletiTarih: 05.01.2007, 22:16
sabri ünal
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...

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 />&raquo;{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ü
Resim

sayfa altı muhtemel görünüşü
Resim

site admin panelinden görünüşü
Resim

forum yönetim panelinden görünüşü
Resim

forum düzenleme sayfasından görüntüsü
Resim

İletiTarih: 05.01.2007, 22:50
sabri ünal
phpBB üyeliği olanlar lütfen giriş yapsın ve başlığa biraz bump yapsınlar, türkleri gözardı edemeyeceklerini ve bu senin bütün phpbb mod ödüllerini bizim toplayacağımızı anlasınlar :)

İletiTarih: 16.01.2007, 11:49
ozgurboard
cok guzel ve cok gerekli bir mod hemen kuruyorum

tesekkurler ;)

Cvp: [alfa] advanced site keywords control - 1.0.1

İletiTarih: 16.01.2007, 20:26
wdp
herbir başlığa mı veriyor yoksa forum katogorilerinemi?

Re: [alfa] advanced site keywords control - 1.0.1

İletiTarih: 19.04.2007, 01:43
RoyaLTurK
yeni bir konu açıldığı zaman, açılan konunun olduğu sayfanın altına otomatik meta tag üretiyor mu ? mediabb'deki gibi

Re: [alfa] advanced site keywords control - 1.0.1

İletiTarih: 20.05.2009, 21:09
GENERAL
kardeşlerim bana bir yardımcı olursanız gerçekten çok memnun olacağım..Çünkü bu sitem için çok önemli ve mutlaka kurmak istiyorum..Yalnız hepsi tamam da takıldığım bir nokta var...

diğerlerinin hepsi tamam da...Bu kodları hangi dosyaya ekleyeceğim.

Kod: Tümünü seç
#--[+]---[ 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 ]----------------------------------------------------

Re: [alfa] advanced site keywords control - 1.0.1

İletiTarih: 20.05.2009, 22:43
GENERAL
Tamamdır bu sorunu çözdüm de..

Şimdi de bir sorum olacak...Alatta etiketler diye yazıyor..Kelimeler yani Etiketler sıralanmış, sorun yok..Fakat vbulletin sitelerinde bu kelimelere tıklayınca o kelime ile ilgili olan farklı sayfalara gidiyor.. Böyle birşey yapılamaz mı veya varda ben mi yapamadım?