Display First Message as Hover Title - 1.1.1

Eklenti geliştirme bölümü.

Display First Message as Hover Title - 1.1.1

İleti sabri ünal 04.01.2007, 09:18

bu başlık canverde vardı fakat artık bulamıyorum... bütün mod başlıklarını bu hafta sonu güncelleştireceğim ya neyse... yeniden ekliyorum...

işlevi: vbulletin sitili, forum sayfasında mesajın üstüne gelince mesajı görüntülemeye başlar... eğer bu modu yüklerseniz forum sayfasında görüntülenecek başlık sayısını yarı yarıya azaltın, çünkü bu mod extra bir sorgu daha çekiyor, hızı böylece denkleştirmiş olursunuz... öneriler arasında topic sorgusu ile başlık sorgusunun birleştirilemi de vardı...

not: mod emrag'ın modlarından birisidir ben sadece izin kontrolü eklemiştim....

Kod: Tümünü seç
##############################################################
## MOD Title: Display First Message as Hover Title - 1.1.1
## MOD Author: emrag < emrah987@hotmail.com > (Emrah Türkmen)  www.canver.net  (TURKEY)
## MOD Modified: yakusha < yakusha@tnn.net > (Sabri Ünal)  www.canver.net  (TURKEY)
## MOD Description: with this hack when you hover the mouse on topic link you
## will see first message as hover title like vBulletin Boards ;)
##
## MOD Version: 1.1.1
##
## Installation Level: Easy
## Installation Time : ~5 minutes
## Files to Edit: viewforum.php
## templates/subsilver/viewforum_body.tpl
##
## Included Files: n/a
##############################################################
##
## Author Note:
## - The javascript you will add to viewforum_body.tpl comes from Mojavlinux's MyCalendar 2.2.6
## ( http://www.mojavelinux.com/ )
##
##############################################################
##
## MOD History: 25.09.2004 - 1.0.0
## - First release
##
## 07.10.2004 - 1.0.1
## - Fixed a bug - thanx to Clock
##
## 25.11.2004 - 1.0.2
## - added a character limit for hover title - you can change this value ;)
## (before if message is too long hover title won't be display. Now fixed)
##
## - EasyMod compitable
##
## 01.03.2005 - 1.1.0
## - compitable with bbcodes
## - now hover title show smilies :)
## - compitable with MODE "HIDE" - author: Philiweb
## - now using a javascript code for hover title - author: MojavLinux
## - fixed a bug about single and double quotes - ", '
## - i think this version is compitable with EasyMod but i didn't test it :(
##
## 27.08.2006 - 1.1.1 - [ by yakusha ]
## - added auth control
## - added auth control message
##
############################################################
##
## Before Adding This Hack To Your Forum, You Should Back Up All Files Related To This Hack
##
##############################################################
#
#-----[ OPEN ]------------------------------------------
#

viewforum.php

#
#----[ FIND ]------------------------------------------
#

include($phpbb_root_path . 'common.'.$phpEx);

#
#----[ AFTER, ADD ]------------------------------------------
#

include_once($phpbb_root_path . 'includes/bbcode.'.$phpEx);

#
#----[ FIND ]------------------------------------------
#

      $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
      $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

#
#-----[ AFTER, ADD ]------------------------------------------
#

//
// display first message as title by emrag ;)
//
if ( $is_auth['auth_read'] )
{
      //
      // character limit for hover title
      //
      $chr_limit = '1000';

      $sql = "SELECT p.*,  pt.post_text, pt.post_id, pt.bbcode_uid
         FROM " . POSTS_TABLE . " p, " . POSTS_TEXT_TABLE . " pt
         WHERE p.topic_id = $topic_id
            AND pt.post_id = p.post_id
         ORDER BY p.post_time
         LIMIT 1";
      if ( !($result = $db->sql_query($sql)) )
      {
         message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
      }

      $row = $db->sql_fetchrow($result);
      $first_post = $row['post_text'];
      $first_post_bbcode_uid = $row['bbcode_uid'];

   //
   // if message is longer than character limit break message
   // and add "..." at the last of message
   //
   if (strlen($first_post) > $chr_limit)
   {
      $first_post = substr($first_post, 0, $chr_limit);
      $first_post .= '...';
   }

   //
   // If the board has HTML off but the post has HTML
   // on then we process it, else leave it alone
   //
   if ( !$board_config['allow_html'] )
   {
      if ( $row['enable_html'] )
      {
         $first_message = preg_replace('#(<)([\/]?.*?)(>)#is', "&lt;\\2&gt;", $first_post);
      }
   }

   //
   // Parse message for BBCode if required
   //
   if ( $board_config['allow_bbcode'] )
   {
      if ( $first_post_bbcode_uid != '' )
      {
         $first_post = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($first_post, $first_post_bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $first_post);
      }
   }

   //
   // Parse smilies
   //
   if ( $board_config['allow_smilies'] )
   {
      if ( $row['enable_smilies'] )
      {
         $first_post = smilies_pass($first_post);
      }
   }

   //
   // replace \n with <br />
   //
   $first_post = preg_replace("/[\n\r]{1,2}/", '<br />', $first_post);

   //
   // escape from double and/or single quotes
   //
   $first_post = str_replace(array('"', '\''), array('&quot;', '\\\''), $first_post);

   //
   // if message have [hide] [/hide] tags
   // there will be an error message instead of normal message
   //
   if ( preg_match("/\[hide\]/i", $first_post) && preg_match("/\[\/hide\]/i", $first_post))
   {
      $first_post = '<b>Protected message:</b><br>If you are a <b>*registered user*</b> :<br>you must post a reply to this topic to see the message';
   }

} // end of if auth read
else
{
    $first_post = 'Mesajın içeriğini okumak için lütfen giriş yapınız';
}

//
// display first message as title by emrag ;)
//

#
#----[ FIND ]------------------------------------------
#

         'TOPIC_FOLDER_IMG' => $folder_image,
         'TOPIC_AUTHOR' => $topic_author,

#
#-----[ BEFORE, ADD ]------------------------------------------
#

         'FIRST_POST' => $first_post,

#
#-----[ OPEN ]------------------------------------------
#

templates/subsilver/viewforum_body.tpl

#
#----[ FIND ]------------------------------------------
#
# at the top of the page

<form method="post" action="{S_POST_DAYS_ACTION}">
  <table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">

#
#----[ BEFORE, ADD ]------------------------------------------
#
# at the top of the page

<!-- The javascript presents here comes from MyCalendar 2.2.6 from MojavLinux -->
<script language="Javascript" type="text/javascript">
<!--
var agt = navigator.userAgent.toLowerCase();
var originalFirstChild;

function createTitle(which, string, x, y)
{
   // record the original first child (protection when deleting)
   if (typeof(originalFirstChild) == 'undefined')
   {
      originalFirstChild = document.body.firstChild;
   }

   x = document.all ? (event.clientX + document.body.scrollLeft) : x;
   y = document.all ? (event.clientY + document.body.scrollTop) : y;
   element = document.createElement('div');
   element.style.position = 'absolute';
   element.style.zIndex = 1000;
   element.style.visibility = 'hidden';
   excessWidth = 0;
   if (document.all)
   {
      excessWidth = 50;
   }
   excessHeight = 20;
   element.innerHTML = '<div class="bodyline"><table width="300" cellspacing="0" cellpadding="0" border="0"><tr><td><table width="100%"><tr><td><span class="gen">' + string + '</span></td></tr></table></td></tr></table></div>';
   renderedElement = document.body.insertBefore(element, document.body.firstChild);
   renderedWidth = renderedElement.offsetWidth;
   renderedHeight = renderedElement.offsetHeight;

   // fix overflowing off the right side of the screen
   overFlowX = x + renderedWidth + excessWidth - document.body.offsetWidth;
   x = overFlowX > 0 ? x - overFlowX : x;

   // fix overflowing off the bottom of the screen
   overFlowY = y + renderedHeight + excessHeight - window.innerHeight - window.pageYOffset;
   y = overFlowY > 0 ? y - overFlowY : y;

   renderedElement.style.top = (y + 15) + 'px';
   renderedElement.style.left = (x + 15) + 'px';

   // windows versions of mozilla are like too fast here...we have to slow it down
   if (agt.indexOf('gecko') != -1 && agt.indexOf('win') != -1)
   {
      setTimeout("renderedElement.style.visibility = 'visible'", 1);
   }
   else
   {
      renderedElement.style.visibility = 'visible';
   }
}

function destroyTitle()
{
   // make sure we don't delete the actual page contents (javascript can get out of alignment)
   if (document.body.firstChild != originalFirstChild)
   {
      document.body.removeChild(document.body.firstChild);
   }
}
//-->
</script>

#
#----[ FIND ]------------------------------------------
#

<a href="{topicrow.U_VIEW_TOPIC}" class="topictitle"

#
#----[ AFTER, ADD ]------------------------------------------
#

onmouseover="createTitle(this, '{topicrow.FIRST_POST}', event.pageX, event.pageY);" onmouseout="destroyTitle();"

#
#-----[ SAVE ALL FILES/CLOSE ]------------------------------------------
#
# EoM
Mutluyum, biraz komedi takılıyorum! sakın kızmayın yakında geçer, sebebini ben de bilmiyorum! yeni bir aşk da bulmuş değilim!
Kullanıcı avatarı
sabri ünal
Üye
Üye
 
İleti: 1325
Kayıt: 27.10.2005, 15:49
Konum: İstanbul

İleti

ALEXIS
04.01.2007, 22:42

emrag izin alınmadan kendi modlarında oynama yapılmasından hoşlanmıyor. GPL lisansına rağmen.
Kullanıcı avatarı
ALEXIS
Site Yöneticisi
Site Yöneticisi
 
İleti: 2563
Kayıt: 30.06.2005, 09:08

İleti sabri ünal 05.01.2007, 02:36

mod hatalıysa oynamak lazım, özellikle böylesi bir durumda, mesajın olduğu başlığı hatırlarsan, üyelerin erişim yetkisi olmayan mesajları görüntülemesini sağlıyordu :P bu arada emragın tam sayfa gösterme moduna modcp ve recent.php den sonra özel mesajı da dahil edeceğim... oynanmasını istemiyorsa taaa baştan hepsini yapsaydı da bizi uğraştırmasaydı :)
Mutluyum, biraz komedi takılıyorum! sakın kızmayın yakında geçer, sebebini ben de bilmiyorum! yeni bir aşk da bulmuş değilim!
Kullanıcı avatarı
sabri ünal
Üye
Üye
 
İleti: 1325
Kayıt: 27.10.2005, 15:49
Konum: İstanbul

Cvp: Display First Message as Hover Title - 1.1.1

İleti hope 09.02.2007, 15:03

Arkadaşlar bu moda şöyle bir özellik eklemeye çalıştım ama yapamadım :(

Mesela ziyaretçilere ilk mesajın sadece X kadarını göstericem mesela ilk mesajın 10 harfini
bunu nasıl yapabilirim?
Lütfen yardım edermisiniz?
bir hafta içinde sorduğum 5 yada 6. sorum ama nedense kimse cevap vermiyo
hope
Üye
Üye
 
İleti: 64
Kayıt: 09.11.2005, 22:45

İleti

ALEXIS
09.02.2007, 19:22

Bunu portal için yazmıştım, ancak bu phpbb2 sürümü, includes/functions.php sonuna ekle bu kodu. Örnek kullanımını da yazmışım zaten.

angelside yazdı:Very simple character limiter, I use this function on my phpbb3 portal, recent topic, recent hot topic, etc.

Kod: Tümünü seç
// character limit
$CFG['recent_title_limit'] = '20';

// character limit
function character_limit($short_title, $limit)
{
   if (strlen($short_title) > $limit)
   {
      $short_title = substr(censor_text($short_title), 0, $limit)."...";
   }
   else
   {
      $short_title = censor_text($short_title);
   }
   // return the result
   return $short_title;
}

// usage
// 'TITLE'          => character_limit($row['topic_title'], $CFG['recent_title_limit']),

Kullanıcı avatarı
ALEXIS
Site Yöneticisi
Site Yöneticisi
 
İleti: 2563
Kayıt: 30.06.2005, 09:08

İleti hope 09.02.2007, 20:23

angelside yazdı:Bunu portal için yazmıştım, ancak bu phpbb2 sürümü, includes/functions.php sonuna ekle bu kodu. Örnek kullanımını da yazmışım zaten.

angelside yazdı:Very simple character limiter, I use this function on my phpbb3 portal, recent topic, recent hot topic, etc.

Kod: Tümünü seç
// character limit
$CFG['recent_title_limit'] = '20';

// character limit
function character_limit($short_title, $limit)
{
   if (strlen($short_title) > $limit)
   {
      $short_title = substr(censor_text($short_title), 0, $limit)."...";
   }
   else
   {
      $short_title = censor_text($short_title);
   }
   // return the result
   return $short_title;
}

// usage
// 'TITLE'          => character_limit($row['topic_title'], $CFG['recent_title_limit']),



dediğin gibi kodu functions.php nin sonuna ekledim ama çalışmadı
hala ziyaretçiler konu başlığının üzerine gelince viewforumda verilen değere göre gösteriyo yani 1000 karakter
hope
Üye
Üye
 
İleti: 64
Kayıt: 09.11.2005, 22:45

İleti

ALEXIS
09.02.2007, 23:24

angelside yazdı:Örnek kullanımını da yazmışım zaten.
Kullanıcı avatarı
ALEXIS
Site Yöneticisi
Site Yöneticisi
 
İleti: 2563
Kayıt: 30.06.2005, 09:08

İleti hope 10.02.2007, 00:11

angelside yazdı:
angelside yazdı:Örnek kullanımını da yazmışım zaten.


ne demek istediğini anlamadım
biraz daha açık bir dille yazarmısın?
hope
Üye
Üye
 
İleti: 64
Kayıt: 09.11.2005, 22:45

İleti

ALEXIS
10.02.2007, 00:17

Daha ne kadar açık olabilir, tüm kodları yazdım. Çalışmadı diye birşey sözkonusu olamaz, çalışmayan bir kod yazmam ben.

Kodlarda örnek var yazdım, eğer hala çalıştıramıyorsanız, geri adım atıp bilgilerinizi basitten zora doğru geliştirmelisiniz...


// usage
// 'TITLE' => character_limit($row['topic_title'], $CFG['recent_title_limit']),
Kullanıcı avatarı
ALEXIS
Site Yöneticisi
Site Yöneticisi
 
İleti: 2563
Kayıt: 30.06.2005, 09:08

Cvp: Display First Message as Hover Title - 1.1.1

İleti hope 10.02.2007, 08:31

functions.php dosyasını ekledim ben hala bi yerde hata yaptığımı düşünmüyorum yine de bi bakabilirmisiniz kodlara

http://dosyam.net/?id=xvo898
hope
Üye
Üye
 
İleti: 64
Kayıt: 09.11.2005, 22:45

İleti yeniaykarama 11.02.2007, 19:55

#-----[ OPEN ]------------------------------------------
#

templates/subsilver/viewforum_body.tpl


#----[ FIND ]------------------------------------------
#

<a href="{topicrow.U_VIEW_TOPIC}" class="topictitle"

bu kodu plus 1.53 de bulamadım plusda neyin altına koyabiliriz bilen varmı arkadaşlar
bilgin olmak için bize gelin mutlaka olusunuz www.bilginlerboard.com
yeniaykarama
Üye
Üye
 
İleti: 49
Kayıt: 15.01.2007, 04:28

Cvp: Display First Message as Hover Title - 1.1.1

İleti hope 27.03.2007, 16:30

gerçekten çok yardımcı oluyosunuz
hope
Üye
Üye
 
İleti: 64
Kayıt: 09.11.2005, 22:45


Eklenti Geliştirme



Kimler çevrimiçi

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 0 misafir

cron