[問題]尋找兩支KCTONY開發的外掛~

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

主題已鎖定
chenbbs
星球普通子民
星球普通子民
文章: 7
註冊時間: 2003-08-07 11:38

[問題]尋找兩支KCTONY開發的外掛~

文章 chenbbs »

問題外掛:1.文章加密 2.付費瀏覽\r
參考連結:1.文章加密 2.付費瀏覽
使用版本:phpBB 2.0.6

狀況描述:

不知道有沒有人有保留上面兩支外掛
都是KCTONY開發的外掛
剛好有需要用到,但是連結已經失效~
最後由 chenbbs 於 2004-02-06 00:51 編輯,總共編輯了 2 次。
頭像
H.T.Demon
竹貓忠實會員
竹貓忠實會員
文章: 368
註冊時間: 2002-09-26 00:24
聯繫:

文章 H.T.Demon »

主題名稱怎麼忘了....?
請問這篇是提問什麼呢?
chenbbs
星球普通子民
星球普通子民
文章: 7
註冊時間: 2003-08-07 11:38

文章 chenbbs »

H.T.Demon 寫:主題名稱怎麼忘了....?
請問這篇是提問什麼呢?
不好意思~
剛剛還在預覽\r
按太快結果按到送出哩~
:oops: :oops:
吉川拓也
竹貓忠實會員
竹貓忠實會員
文章: 1215
註冊時間: 2003-02-09 18:24
來自: [ G.I.T ]
聯繫:

文章 吉川拓也 »

chenbbs 寫:
H.T.Demon 寫:主題名稱怎麼忘了....?
請問這篇是提問什麼呢?
不好意思~
剛剛還在預覽\r
按太快結果按到送出哩~
:oops: :oops:
付費瀏覽在該文章下方就已經有安裝教學了..
應該不用再尋找了吧 ? 沒有附加檔案要下載啊 = =
善用 搜尋 可以解決您 90% 的問題
頭腦清晰,選擇正確。 (╯▔︹▔)╯~╘═╛
頭像
H.T.Demon
竹貓忠實會員
竹貓忠實會員
文章: 368
註冊時間: 2002-09-26 00:24
聯繫:

文章 H.T.Demon »

請複製code裡的內容並貼到最適合眼睛瀏覽的地方欣賞

文章加密機制:

代碼: 選擇全部

---------------------------------------- 

SQL 語法: 

ALTER TABLE phpbb_posts_text 
ADD needpost MEDIUMINT(8) UNSIGNED DEFAULT '0' NOT NULL; 
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_needpost', '1'); 


打開 language\lang_chinese_traditional_taiwan\lang_main.php 
找地方加入 

// Need_Post_MOD 
$lang['Needpost_is_ON'] = "文章加密 <u>開啟</u>"; 
$lang['Needpost_is_OFF'] = "文章加密 <u>關閉</u>"; 
$lang['Needpost_set'] = "這篇文章是否需要加密,解密所需:"; 
$lang['Needpost_Need'] = "您無權看這篇文章,您需要大於"; 
$lang['Needpost_Poster'] = "此篇文章您已設定加密,需要"; 
$lang['Needpost_Needok'] = "此篇文章已設定加密,請勿引用!"; 
$lang['Needpost_Cantquote'] = "此篇文章已設定加密,無法引用!"; 


打開 language\lang_chinese_traditional_taiwan\lang_admin.php 
找地方加入 

// Need_Post_MOD 
$lang['Allow_Need_Post'] = "允許使用者設定加密文章"; 




打開 Viewtopic.php 

尋找 
// Go ahead and pull all data for this topic 
// 
$sql = "SELECT 

在SELECT後面那一大串的最後面加上 
, pt.needpost 

例如 (由於這部分常常會去改到 有加過其他MOD的請別直接COPY) 
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_money, u.user_bank, u.user_level, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, u.user_allow_viewonline, u.user_session_time ,p.* ,pt.post_text, pt.post_subject, pt.bbcode_uid, u.user_robfail, pt.needpost 


尋找 

$template->assign_block_vars('postrow', array( 


在前面加入 

        // Need_Post_MOD By KCTONY 
          $user_ps = $userdata['user_points']; 
          $needposts = $postrow[$i]['needpost']; 

          if($needposts > 0) 
          { 
              If ($poster_id == $userdata['user_id']) 
              { 
              $message = $message . '<p>----------<br><font color="#FF0000">[' . $lang['Needpost_Poster'] . $needposts . $board_config['points_name'] . ']' . '</font></p>'; 
              } else { 
              if ( $user_ps >= $needposts) 
              { 
                    $message = $message . '<p>----------<br><font color="#FF0000">[' .  $lang['Needpost_Needok'] . ']' . '</font></p>'; 
              } else { 

                    $message = '<font color="#FF0000">[' . $lang['Needpost_Need'] . $needposts . $board_config['points_name'] . ']' . '</font>'; 
              } 
              } 
          } 
        // Need_Post_MOD 



打開 posting.php 

收尋 
$select_sql = ( !$submit ) ? ", t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig" : ''; 

在 u.user_sig 後面加入 
, pt.needpost 

也就是改成 
$select_sql = ( !$submit ) ? ", t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig, pt.needpost" : ''; 



收尋 
                $message = $post_info['post_text']; 

後面加入 
                $needpost = $post_info['needpost']; 


收尋 
submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length); 

在 $poll_length 後下加入 
, $needpost 

也就是改成 
submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length, $needpost); 


收尋 
$message = '[quote="' . $quote_username . '"]' . $message . '[/quote]'; 

後面加上 
                        // Need_Post_MOD By KCTONY 
                        if ($needpost != 0) $message = '[quote="' . $quote_username . '"]' . $lang['Needpost_Cantquote']. '[/quote]'; 
                        // END Need_Post_MOD 

尋找 
// 
// Output the data to the template 
// 
$template->assign_vars(array( 

在前面加入 (修改 $i<=10 的數字 可以設定範圍 0~10 ) 

for ($i=0;$i<=10;$i++) 
    { 
      if ($needpost == $i ) 
      { 
      $checked = 'selected'; 
      } else { 
      $checked = ''; 
      } 

      $select_needpost .= '<option ' . $checked . ' value="'.$i.'">'.$i.'</option>'; 
    } 

尋找 
// 
// HTML toggle selection 
// 
if ( $board_config['allow_html'] ) 
{ 
   $html_status = $lang['HTML_is_ON']; 
   $template->assign_block_vars('switch_html_checkbox', array()); 
} 
else 
{ 
   $html_status = $lang['HTML_is_OFF']; 
} 
在前面加入 

// 
// Need_Post_Mod By KCTONY 
// 
if ( $board_config['allow_needpost'] ) 
{ 
   $needpost_status = $lang['Needpost_is_ON']; 
   $template->assign_block_vars('switch_needpost_text', array()); 
} 
else 
{ 
   $needpost_status = $lang['Needpost_is_OFF']; 
} 



尋找 
   'SMILIES_STATUS' => $smilies_status, 

在後面加入 
   'NEED_POST_STATUS' => $needpost_status, // Need_Post_MOD By KCTONY 
   'L_SET_NEED_POST' => $lang['Needpost_set'], // Need_Post_MOD 
        'SELECT_NEED_POST' => $select_needpost, // Need_Post_MOD 
        'POINTS_NAME' => $board_config['points_name'], // Need_Post_MOD 



打開 templates/subSilver/posting_body.tpl 

尋找 
{HTML_STATUS}<br /> 
在前面加入 
{NEED_POST_STATUS}<br /> 


尋找 
        <!-- BEGIN switch_html_checkbox --> 
        <tr> 
         <td> 
           <input type="checkbox" name="disable_html" {S_HTML_CHECKED} /> 
         </td> 
         <td><span cla+ss="gen">{L_DISABLE_HTML}</span></td> 
        </tr> 
        <!-- END switch_html_checkbox --> 

在前面加入 

        <!-- BEGIN switch_needpost_text --> 
        <tr> 
                        <td></td> 
         <td> 
           <span class="gen">{L_SET_NEED_POST}</span><select size="1" name="needpost">{SELECT_NEED_POST}</select><span class="gen">{POINTS_NAME}</span> 
         </td> 
        </tr> 
        <!-- END switch_needpost_text --> 







打開 includes/functions_post.php 

收尋 
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, &$post_username, &$post_subject, &$post_message, &$poll_title, &$poll_options, &$poll_length) 

在 &$poll_length 後面加上 
, &$needpost 

也就是改成 
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, &$post_username, &$post_subject, &$post_message, &$poll_title, &$poll_options, &$poll_length, &$needpost) 


收尋 (要改三的地方 要小心改!) 

$sql = ( $mode != 'editpost' ) ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text) VALUES ($post_id, '$post_subject', '$bbcode_uid', '$post_message')" : "UPDATE " . POSTS_TEXT_TABLE . " SET post_text = '$post_message',  bbcode_uid = '$bbcode_uid', post_subject = '$post_subject' WHERE post_id = $post_id"; 
\r
在 post_id, post_subject, bbcode_uid, post_text 後面加上 
, needpost 

在 $post_id, '$post_subject', '$bbcode_uid', '$post_message' 後面加上 
, '$needpost' 

在 , post_subject = '$post_subject' 後面加上 
, needpost = '$needpost' 

也就是改成 
   $sql = ( $mode != 'editpost' ) ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text, needpost) VALUES ($post_id, '$post_subject', '$bbcode_uid', '$post_message', '$needpost')" : "UPDATE " . POSTS_TEXT_TABLE . " SET post_text = '$post_message',  bbcode_uid = '$bbcode_uid', post_subject = '$post_subject', needpost = '$needpost' WHERE post_id = $post_id"; 



打開 includes/topic_review.php 

收尋 
$sql = "SELECT u.username, u.user_id, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid 

後面加上 
, pt.needpost 

例如 
$sql = "SELECT u.username, u.user_id, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid, pt.needpost 


收尋 
$template->assign_block_vars('postrow', array( 

在前面加入 

        // Need_Post_MOD By KCTONY 
          $user_ps = $row['user_points']; 
          $needposts = $row['needpost']; 
          
          if($needposts > 0) 
          { 
              If ($poster_id == $userdata['user_id']) 
              { 
              $message = $message . '<p>----------<br><font color="#FF0000">[' . $lang['Needpost_Poster'] . $needposts . $board_config['points_name'] . ']' . '</font></p>'; 
              } else { 
              if ( $user_ps >= $needposts) 
              { 
                    $message = $message . '<p>----------<br><font color="#FF0000">[' .  $lang['Needpost_Needok'] . ']' . '</font></p>'; 
              } else { 

                    $message = '<font color="#FF0000">[' . $lang['Needpost_Need'] . $needposts . $board_config['points_name'] . ']' . '</font>'; 
              } 
              } 
          } 
        // Need_Post_MOD 




打開 admin/admin_board.php 

收尋 
$html_yes = ( $new['allow_html'] ) ? "checked="checked"" : ""; 
$html_no = ( !$new['allow_html'] ) ? "checked="checked"" : ""; 

前面加入 
$needpost_yes = ( $new['allow_needpost'] ) ? "checked="checked"" : ""; 
$needpost_no = ( !$new['allow_needpost'] ) ? "checked="checked"" : ""; 


收尋 
   "L_ALLOW_HTML" => $lang['Allow_HTML'], 

前面加入 
        "L_ALLOW_NEEDPOST" => $lang['Allow_Need_Post'], // Pay_Money_MOD By KCTONY 
          "NEEDPOST_YES" => $needpost_yes, // Pay_Money_MOD 
   "NEEDPOST_NO" => $needpost_no, // Pay_Money_MOD 




打開 templates/subSilver/admin/board_config_body.tpl 

收尋 
   <tr> 
      <td class="row1">{L_ALLOW_HTML}</td> 
      <td class="row2"><input type="radio" name="allow_html" value="1" {HTML_YES} /> {L_YES}&&<input type="radio" name="allow_html" value="0" {HTML_NO} /> {L_NO}</td> 
   </tr> 
前面加入 
   <tr> 
      <td class="row1">{L_ALLOW_NEEDPOST}</td> 
      <td class="row2"><input type="radio" name="allow_needpost" value="1" {NEEDPOST_YES} /> {L_YES}&&<input type="radio" name="allow_needpost" value="0" {NEEDPOST_NO} /> {L_NO}</td> 
   </tr> 





打開 search.php 

收尋 
if ( $show_results == 'posts' ) 
{ 
$sql = "SELECT pt.post_text, pt.bbcode_uid, pt.post_subject, p.*, f.forum_id, f.forum_name, t.*, u.username, u.user_id, u.user_sig, u.user_sig_bbcode_uid 

在 u.user_sig_bbcode_uid 後面加入 
, pt.needpost 

也就是改成 
$sql = "SELECT pt.post_text, pt.bbcode_uid, pt.post_subject, p.*, f.forum_id, f.forum_name, t.*, u.username, u.user_id, u.user_sig, u.user_sig_bbcode_uid, pt.needpost 



尋找 
$message = $searchset[$i]['post_text']; 

在後面加入 

          // Need_Post_MOD By KCTONY 
          $user_ps = $userdata['user_points']; 
          $needposts = $searchset[$i]['needpost']; 
          $poster_id = $searchset[$i]['poster_id']; 
          
          if($needposts > 0) 
          { 
              If ($poster_id == $userdata['user_id']) 
              { 
              $message = $message . '<p>----------<br><font color="#FF0000">[' . $lang['Needpost_Poster'] . $needposts . $board_config['points_name'] . ']' . '</font></p>'; 
              } else { 
              if ( $user_ps >= $needposts) 
              { 
                    $message = $message . '<p>----------<br><font color="#FF0000">[' .  $lang['Needpost_Needok'] . ']' . '</font></p>'; 
              } else { 

                    $message = '<font color="#FF0000">[' . $lang['Needpost_Need'] . $needposts . $board_config['points_name'] . ']' . '</font>'; 
              } 
              } 
          } 

        // Need_Post_MOD 
        




=========================================================== 
如果有裝 "友善列印" 的外掛的話 

打開 printview.php 

尋找 
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid 

在 pt.bbcode_uid 後面加上 
, pt.needpost 

也就是變成 
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid, pt.needpost 



尋找 
$message = $postrow[$i]['post_text']; 


在下方加入 


        // Need_Post_MOD By KCTONY 
          $user_ps = $userdata['user_points']; 
          $needposts = $postrow[$i]['needpost']; 
          $poster_id = $postrow[$i]['poster_id']; 

          if($needposts > 0) 
          { 
              If ($poster_id == $userdata['user_id']) 
              { 
              $message = $message . '<p>----------<br><font color="#FF0000">[' . $lang['Needpost_Poster'] . $needposts . $board_config['points_name'] . ']' . '</font></p>'; 
              } else { 
              if ( $user_ps >= $needposts) 
              { 
                    $message = $message . '<p>----------<br><font color="#FF0000">[' .  $lang['Needpost_Needok'] . ']' . '</font></p>'; 
              } else { 

                    $message = '<font color="#FF0000">[' . $lang['Needpost_Need'] . $needposts . $board_config['points_name'] . ']' . '</font>'; 
              } 
              } 
          } 

        // Need_Post_MOD 
        


=========================================================== 

如果有裝attach file mod的使用者作下面的修改 
就可以把attach file mod的部分也隱藏起來了 

本來打算從attach file mod的程式去修改 
可是版本不同 差異不小 所以做個最簡單的方法 

打開 viewtopic.php 
尋找 

                    $message = '<font color="#FF0000">[' . $lang['Needpost_Need'] . $needposts . $board_config['points_name'] . ']' . '</font>'; 

在下面加入 

$showatt = 'no'; 


尋找 (這部分音版本不同也會有差異,就是在裝attach file mod時,viewtopic.php最後修改的部分.) 


display_post_attachments($postrow[$i]['post_id'], $postrow[$i]['post_attachment']); 


改成 
if ($showatt <> 'no') 
{ 
display_post_attachments($postrow[$i]['post_id'], $postrow[$i]['post_attachment']); 
} 


打開 includes\topic_review.php 

尋找 

                    $message = '<font color="#FF0000">[' . $lang['Needpost_Need'] . $needposts . $board_config['points_name'] . ']' . '</font>'; 

下面加入 

                                   $showatt = 'no'; 



尋找 (這部分音版本不同也會有差異,就是在裝attach file mod時,topic_review.php最後修改的部分.) 

display_review_attachments($row['post_id'], $row['post_attachment'], $is_auth); 


修改成 


         if ($showatt <> 'no') 
                        { 
         display_review_attachments($row['post_id'], $row['post_attachment'], $is_auth); 
                        } 


這樣就可以了
最後由 H.T.Demon 於 2004-02-06 01:01 編輯,總共編輯了 1 次。
chenbbs
星球普通子民
星球普通子民
文章: 7
註冊時間: 2003-08-07 11:38

文章 chenbbs »

謝謝H.T.Demon、吉川拓也兩位的幫忙~
arti
星球公民
星球公民
文章: 52
註冊時間: 2003-09-28 09:00

文章 arti »

請問一下這文章加密機制跟付費瀏覽有何不一樣,
我裝過付費瀏覽,一直想找個威望或是積分控制之類的,
不是黃牌外掛喔!
所以很好奇這文章加密,有人可幫忙解釋一下嗎?
加密又要如何解密呢?
像付費這樣嗎?
--------------------------------
原來這裡有去瞧瞧。
http://phpbb-tw.net/phpbb/viewtopic.php?t=11005
竹貓忠實會員
竹貓忠實會員
文章: 1058
註冊時間: 2003-05-15 00:30
來自: Game.Hack-遊戲駭客
聯繫:

文章 »

arti 寫:請問一下這文章加密機制跟付費瀏覽有何不一樣,
我裝過付費瀏覽,一直想找個威望或是積分控制之類的,
不是黃牌外掛喔!
所以很好奇這文章加密,有人可幫忙解釋一下嗎?
加密又要如何解密呢?
像付費這樣嗎?
--------------------------------
原來這裡有去瞧瞧。
http://phpbb-tw.net/phpbb/viewtopic.php?t=11005
兩個類似...

一個是依照你積分的LEVEL來評斷你是否有權限觀看文章...
一個則是要你付出指定的積分來觀看文章(即為付費)...

我裝過付費...但不建議裝這種機制的外掛...除非是特種論壇...

Why? 簡單明瞭四個字...「不好管理」...
有事問問題,沒事答問題。
廣告不是這樣打滴!遊戲駭客
arti
星球公民
星球公民
文章: 52
註冊時間: 2003-09-28 09:00

文章 arti »

謝謝您的解釋,
可以再請問這兩個外掛可以共存嗎?
我已經裝上付費瀏覽,
但是看這解釋覺得文章加密好像在管理上比較優,
想來試試,另這外掛是否一定要搭配Points System,
可不可以搭配CashMod?
--------------------------------------------
已經安裝了,
確定可以搭配CashMod。
不過這文章加密要參考付費瀏覽來修改,
可依心靈捕手的筆記修改posting.php檔。
http://phpbb-tw.net/phpbb/viewtopic.php?t=29196
bc010843
竹貓忠實會員
竹貓忠實會員
文章: 333
註冊時間: 2004-10-13 18:33
聯繫:

文章 bc010843 »

H.T.Demon 寫:請複製code裡的內容並貼到最適合眼睛瀏覽的地方欣賞

文章加密機制:
恕刪
請問
我照上述改了之後要發送文章出現下面的訊息\r

代碼: 選擇全部

Error in posting

DEBUG MODE

SQL Error : 1196 Warning: Some non-transactional changed tables couldn't be rolled back

INSERT INTO phpbb_posts_text (post_id, post_subject, bbcode_uid, post_text, '') VALUES (5, '111', '42e3c8d750', '111111', '')

Line : 282
File : functions_post.php
是哪出了問題?

phpbb:2.0.13
os:linux
快速程式:無\r
風格:icg

謝謝
PHPBB:2.0.20
OS:LINUX
風格: ICG
快速程式:無
上網方式:Hinet 8m/640
架設環境:竹貓空間
主題已鎖定

回到「外掛問題討論」