واضح آرشیو وب فارسی:سایت ریسک: t=35392">يه سوال saeed_se2000 13 مرداد 1384, 04:32اقا چه جوري ميشه كاري كرد كه وقتي ماوس را ميبري روي يه تاپيك يه چند خط از محتواي توش را توي اون صفحه زردا مثل انجمن شما نشون بده آيا تو phpbb ممكنه يا فقط تو vb ميشه اگه ممكنه آموزش بدين Hyper 13 مرداد 1384, 14:56در phpBB برای این کار باید یک مود نصب کنید من در تالارم نصب کردم اجازه بدید براتون پیدا میکنم و اینجا میزارم ... Hyper 13 مرداد 1384, 15:28پیداش کردم : ################################################## ############ ## MOD Title: display first message as hover title ## MOD Author: emrag < [email protected] > (Emrah Türkmen) (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.0 ## ## 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 Mojavlinuxs MyCalendar 2.2.6 ## ( ) ## ################################################## ############ ## ## 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 wont 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 didnt test it :( ## ################################################## ############ ## ## 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($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 ;) // // // 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, "<2>", $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 with <br /> // $first_post = preg_replace("/[ ]{1,2}/", <br />, $first_post); // // escape from double and/or single quotes // $first_post = str_replace(array(", ), array(", ), $first_post); // // if message have tags // there will be an error message instead of normal message // if ( preg_match("//i", $first_post) && preg_match("//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; } // // 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 dont 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 موفق باشيد ...
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 241]