1 頁 (共 1 頁)

[問題]關於 精華區mod...正體中文版

發表於 : 2003-07-27 09:21
diegod
問題外掛 : [外掛]精華區mod...正體中文版
參考連結 : 無\r
作業系統 : freebsd
安裝程式 : phpBB 2.0.4
空間連結 :
狀況描述 :在把文章加入到精華區之後,連結出錯,出現Invalid_session,這該怎麼解決呢??

發表於 : 2003-07-27 10:35
夏飛
請用搜尋=_=(很多人跟我講過這段話)

發表於 : 2003-07-27 20:47
ernie
看這邊吧\r

http://phpbb-tw.net/phpbb/viewtopic.php ... id_session

其實我也是碰到這問題才上來找.....||b

發表於 : 2003-08-11 13:59
yuankuei
我是使用 phpBB 2.0.6
一樣在安裝完 精華區 這個MOD之後,發生相同的問題
問題是發生在設定完成之後,Redirect 時候發生 Invalid_session 的問題

看了上面幾個文章,還有搜尋過的結果
我覺得應該不是因為 ip 改變的原因造成的
因為加入或刪除精華區的時候並不會改變到 ip 啊..

但是其實發生 Invalid_session 這個問題
並不會影響到精華區的設定
也就是說,雖然有錯誤訊息,但是跟設定是沒有關係的

後來我找了一下
將 modcp.php 的內容改了一下,就沒有錯誤訊息發生了

打開 modcp.php ,尋找\r

代碼: 選擇全部

//Excerption Mod by Howard
	case 'excerption':
		$topics = ( isset($HTTP_POST_VARS['topic_id_list']) ) ?  $HTTP_POST_VARS['topic_id_list'] : array($topic_id);

		$topic_id_sql = "";
		for($i = 0; $i < count($topics); $i++)
		{
			if( $topic_id_sql != "")
			{
				$topic_id_sql .= ", ";
			}
			$topic_id_sql .= $topics[$i];
		}

		$sql = "UPDATE " . TOPICS_TABLE . " 
			SET topic_excerption = 1 
			WHERE topic_id IN ($topic_id_sql) 
				AND topic_moved_id = 0";
		if( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, "Could not update topics table!", "Error", __LINE__, __FILE__, $sql);
		}

		if( !empty($topic_id) )
		{
			[color=red]$redirect_page = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id");[/color]
			$message = sprintf($lang['Click_return_topic'], '<a href="' . $redirect_page . '">', '</a>');
		}
		else
		{
			[color=red]$redirect_page = append_sid("modcp.$phpEx?" . POST_FORUM_URL . "=$forum_id");[/color]
			$message = sprintf($lang['Click_return_modcp'], '<a href="' . $redirect_page . '">', '</a>');
		}

		$message = $message . "<br \><br \>" . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');

		$template->assign_vars(array(
			"META" => '<meta http-equiv="refresh" content="3;url=' . $redirect_page . '">')
		);

		message_die(GENERAL_MESSAGE, $lang['Topics_Excerption'] . "<br /><br />" . $message);

		break;

	case 'unexcerption':
		$topics = ( isset($HTTP_POST_VARS['topic_id_list']) ) ?  $HTTP_POST_VARS['topic_id_list'] : array($topic_id);

		$topic_id_sql = "";
		for($i = 0; $i < count($topics); $i++)
		{
			if( $topic_id_sql != "")
			{
				$topic_id_sql .= ", ";
			}
			$topic_id_sql .= $topics[$i];
		}

		$sql = "UPDATE " . TOPICS_TABLE . " 
			SET topic_excerption = 0 
			WHERE topic_id IN ($topic_id_sql) 
				AND topic_moved_id = 0";
		if( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, "Could not update topics table!", "Error", __LINE__, __FILE__, $sql);
		}

		if( !empty($topic_id) )
		{
			[color=red]$redirect_page = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id");[/color]
			$message = sprintf($lang['Click_return_topic'], '<a href="' . $redirect_page . '">', '</a>');
		}
		else
		{
			[color=red]$redirect_page = append_sid("modcp.$phpEx?" . POST_FORUM_URL . "=$forum_id");[/color]
			$message = sprintf($lang['Click_return_modcp'], '<a href="' . $redirect_page . '">', '</a>');
		}

		$message = $message . "<br \><br \>" . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');

		$template->assign_vars(array(
			"META" => '<meta http-equiv="refresh" content="3;url=' . $redirect_page . '">')
		);

		message_die(GENERAL_MESSAGE, $lang['Topics_Unexcerption'] . "<br /><br />" . $message);

		break;
//Excerption Mod end
取代成

代碼: 選擇全部

//Excerption Mod by Howard
	case 'excerption':
		$topics = ( isset($HTTP_POST_VARS['topic_id_list']) ) ?  $HTTP_POST_VARS['topic_id_list'] : array($topic_id);

		$topic_id_sql = "";
		for($i = 0; $i < count($topics); $i++)
		{
			if( $topic_id_sql != "")
			{
				$topic_id_sql .= ", ";
			}
			$topic_id_sql .= $topics[$i];
		}

		$sql = "UPDATE " . TOPICS_TABLE . " 
			SET topic_excerption = 1 
			WHERE topic_id IN ($topic_id_sql) 
				AND topic_moved_id = 0";
		if( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, "Could not update topics table!", "Error", __LINE__, __FILE__, $sql);
		}

		if( !empty($topic_id) )
		{
			[color=red]$redirect_page = "viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&sid=" . $userdata['session_id'];[/color]
			$message = sprintf($lang['Click_return_topic'], '<a href="' . $redirect_page . '">', '</a>');
		}
		else
		{
			[color=red]$redirect_page = "modcp.$phpEx?" . POST_FORUM_URL . "=$forum_id&sid=" . $userdata['session_id'];[/color]
			$message = sprintf($lang['Click_return_modcp'], '<a href="' . $redirect_page . '">', '</a>');
		}

		$message = $message . "<br \><br \>" . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');

		$template->assign_vars(array(
			"META" => '<meta http-equiv="refresh" content="3;url=' . $redirect_page . '">')
		);

		message_die(GENERAL_MESSAGE, $lang['Topics_Excerption'] . "<br /><br />" . $message);

		break;

	case 'unexcerption':
		$topics = ( isset($HTTP_POST_VARS['topic_id_list']) ) ?  $HTTP_POST_VARS['topic_id_list'] : array($topic_id);

		$topic_id_sql = "";
		for($i = 0; $i < count($topics); $i++)
		{
			if( $topic_id_sql != "")
			{
				$topic_id_sql .= ", ";
			}
			$topic_id_sql .= $topics[$i];
		}

		$sql = "UPDATE " . TOPICS_TABLE . " 
			SET topic_excerption = 0 
			WHERE topic_id IN ($topic_id_sql) 
				AND topic_moved_id = 0";
		if( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, "Could not update topics table!", "Error", __LINE__, __FILE__, $sql);
		}

		if( !empty($topic_id) )
		{
			[color=red]$redirect_page = "viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&sid=" . $userdata['session_id'];[/color]
			$message = sprintf($lang['Click_return_topic'], '<a href="' . $redirect_page . '">', '</a>');
		}
		else
		{
			[color=red]$redirect_page = "modcp.$phpEx?" . POST_FORUM_URL . "=$forum_id&sid=" . $userdata['session_id'];[/color]
			$message = sprintf($lang['Click_return_modcp'], '<a href="' . $redirect_page . '">', '</a>');
		}

		$message = $message . "<br \><br \>" . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');

		$template->assign_vars(array(
			"META" => '<meta http-equiv="refresh" content="3;url=' . $redirect_page . '">')
		);

		message_die(GENERAL_MESSAGE, $lang['Topics_Unexcerption'] . "<br /><br />" . $message);

		break;
//Excerption Mod end
其實,就只是將變數 $redirect 的設定改掉 (上面程式碼紅色部分)
不使用 append_sid(); 這個 function 來加入 session_id
我參考了上面其他的 mode (鎖定和解除等)
好像也沒有用 append_sid(); ,不知道當初為什麼要這樣寫?

p.s:初次發表..有錯請多見諒.. 8-)

發表於 : 2003-08-11 17:25
yuankuei
補充一下

剛剛又發現\r
如果直接按"版面管理列" (不是進入版面管理的功能裡)
上面的加入/刪除精華區連結還是有問題
按照下面的方法修改\r

開啟 viewtopic.php
尋找\r

代碼: 選擇全部

//Excerption Mod by Howard
	$topic_mod .= ( $forum_row['topic_excerption'] == 0 ) ? '<a href="' . append_sid("modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=excerption") . '"><img src="' . $images['folder_excerption'] . '" alt="' . $lang['Excerption_topic'] . '" title="' . $lang['Excerption_topic'] . '" border="0" /></a> ' : '<a href="' . append_sid("modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=unexcerption") . '"><img src="' . $images['folder'] . '" alt="' . $lang['Unexcerption_topic'] . '" title="' . $lang['Unexcerption_topic'] . '" border="0" /></a> ';
//Excerption Mod end
替代成

代碼: 選擇全部

//Excerption Mod by Howard
	$topic_mod .= ( $forum_topic_data['topic_excerption'] == 0 ) ? "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=excerption&sid=" . $userdata['session_id'] . '"><img src="' . $images['folder_excerption'] . '" alt="' . $lang['Excerption_topic'] . '" title="' . $lang['Excerption_topic'] . '" border="0" /></a> ' : "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=unexcerption&sid=" . $userdata['session_id'] . '"><img src="' . $images['folder'] . '" alt="' . $lang['Unexcerption_topic'] . '" title="' . $lang['Unexcerption_topic'] . '" border="0" /></a> ';
//Excerption Mod end
注意
這個方法只在 phpBB 2.0.6 版本上面確定可以執行
其他版本請參考上下語法來做修正

Re: [問題]關於 精華區mod...正體中文版

發表於 : 2003-09-19 08:55
di-di
diegod 寫:問題外掛 : [外掛]精華區mod...正體中文版
參考連結 : 無\r
作業系統 : freebsd
安裝程式 : phpBB 2.0.4
空間連結 :
狀況描述 :在把文章加入到精華區之後,連結出錯,出現Invalid_session,這該怎麼解決呢??
我的也是2.0.4版,會檢查$sid
開啟viewtopic.php,找\r

代碼: 選擇全部

//Excerption Mod by Howard
	$topic_mod .= ( $forum_row['topic_excerption'] == 0 ) ? '<a href="' . append_sid("modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=excerption") . '"><img src="' . $images['folder_excerption'] . '" alt="' . $lang['Excerption_topic'] . '" title="' . $lang['Excerption_topic'] . '" border="0" /></a> ' : '<a href="' . append_sid("modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=unexcerption") . '"><img src="' . $images['folder'] . '" alt="' . $lang['Unexcerption_topic'] . '" title="' . $lang['Unexcerption_topic'] . '" border="0" /></a> ';
//Excerption Mod end
換成

代碼: 選擇全部

//Excerption Mod by Howard
	$topic_mod .= ( $forum_row['topic_excerption'] == 0 ) ? "<a href="modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=excerption&sid=". $userdata['session_id'] . '"><img src="' . $images['folder_excerption'] . '" alt="' . $lang['Excerption_topic'] . '" title="' . $lang['Excerption_topic'] . '" border="0" /></a> ' : '<a href="' . append_sid("modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=unexcerption") . '"><img src="' . $images['folder'] . '" alt="' . $lang['Unexcerption_topic'] . '" title="' . $lang['Unexcerption_topic'] . '" border="0" /></a> ';
//Excerption Mod end

發表於 : 2004-04-14 20:34
晴月
問題外掛:精華區mod...正體中文版
參考連結:
http://phpbb-tw.net/phpbb/viewtopic.php?t=18178
使用版本:phpBB 2.0.6
網站位置:
http://70123.24cc.com
狀況描述:
這個問題好像不算新厚@@
不過我是最近才裝的~所以就這個主題下來發問一下
使用這個精華區的話~是不是原本主題還是會顯示在版面那邊啊?
有沒有辦法加入精華區以後~它就收到精華區之中~不要在版面上顯示呢? :?:
謝謝~~~

發表於 : 2004-04-14 23:32
依夢兒
晴月 寫:使用這個精華區的話~是不是原本主題還是會顯示在版面那邊啊?
有沒有辦法加入精華區以後~它就收到精華區之中~不要在版面上顯示呢? :?:
這一支外掛原來的設計我忘了。
我只知道修改一行就可以讓被設為精華的主題是否可以顯示在版面上,不過那一篇修改方法被砍了....XD

如果原來的設計就是不會顯示在版面上,你就不用改了。

發表於 : 2004-04-15 06:43
晴月
依夢兒 寫:
晴月 寫:使用這個精華區的話~是不是原本主題還是會顯示在版面那邊啊?
有沒有辦法加入精華區以後~它就收到精華區之中~不要在版面上顯示呢? :?:
這一支外掛原來的設計我忘了。
我只知道修改一行就可以讓被設為精華的主題是否可以顯示在版面上,不過那一篇修改方法被砍了....XD

如果原來的設計就是不會顯示在版面上,你就不用改了。
嗯~這個設計是會顯示在版面上的~~~

一行就OK了喔?哇.....
那不知道大大你大概記得是改哪個檔呢?我去看看有沒有辦法被我誤打誤撞改出來= ="
謝謝唷m(_ _)m