Editor mit Zeilenangabe?

Diskutiere Editor mit Zeilenangabe? im Web & Grafik Forum im Bereich Internet & Telekomunikation Forum; Tag! ;) Ich hab grade den ersten Fehler in meinem PHP-Forum gemeldet bekommen und mir wurde gesagt, dass sich dieser Fehler in Zeile 447 befinden...
  • Editor mit Zeilenangabe? Beitrag #1
Crunk Jay

Crunk Jay

Bekanntes Mitglied
Dabei seit
15.08.2006
Beiträge
534
Reaktionspunkte
0
Ort
Emsland
Tag! ;)
Ich hab grade den ersten Fehler in meinem PHP-Forum gemeldet bekommen und mir wurde gesagt, dass sich dieser Fehler in Zeile 447 befinden würde...
Ich möchte da mal eben einen Blick drauf werfen.
Dazu bräuchte ich nun eben einen Editor mit Zeilenangabe :D
Hat da einer nen Tipp für mich? ;)

Vielleicht auch gleich mal zur Meldung:
Code:
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /usr/export/www/hosting/***/phpbb/includes/functions_post.php on line 447
 
  • Editor mit Zeilenangabe? Beitrag #2
Z

Zombie79

Bekanntes Mitglied
Dabei seit
05.10.2001
Beiträge
6.132
Reaktionspunkte
2
Sehr zu empfehlen, aber für Windows-Anwender wahrscheinlich stark gewöhnungsbedürftig: Vim

Ganz netter Editor, der deine Anforderungen erfüllen sollte: PSPad
 
  • Editor mit Zeilenangabe? Beitrag #3
Crunk Jay

Crunk Jay

Bekanntes Mitglied
Dabei seit
15.08.2006
Beiträge
534
Reaktionspunkte
0
Ort
Emsland
Danke, danke, der Editor gefällt mir...
aber nun bin ich direkt schon an den Schranken meiner PHP-Kenntnisse

Ich müsste mal wissen, wo der Fehler liegt! :D
Code:
// Start code for Stop Post Count MOD
	$board_config['no_post_count_forum_id'] = $GLOBALS['board_config']['no_post_count_forum_id'];
	if( strstr($board_config['no_post_count_forum_id'], ',') )
	{
		$fids = explode(',', $board_config['no_post_count_forum_id']);
	
		while( list($foo, $id) = each($fids) )
		{
			$fid[] = intval( trim($id) );
		}
	}
	else
	{
		$fid[] = intval( trim($board_config['no_post_count_forum_id']) );
	}
	reset($fid);
	// End code for Stop Post Count MOD

	return;
}

Wobei die besagt Zeile (447) die letzte Zeile, also die Spitze Klammer ist.
Wo kann da der Fehler stecken? :D
 
  • Editor mit Zeilenangabe? Beitrag #4
futtlui

futtlui

Bekanntes Mitglied
Dabei seit
21.01.2003
Beiträge
10.439
Reaktionspunkte
2
also ne spitze Klammer sieht erstmal so aus: < >
{ } sind geschweifte Klammern

Die 447 wird deshalb ausgegeben, weil der Fehler innerhalb des Bereichs bis zu dieser geschweiften Klammer vorkommt - wo genau der Fehler liegt weiß PHP nicht, weil dem Parser ja nicht klar ist, was Du überhaupt machen willst und was da im einzelnen nicht passt.
Aber die Fehlermeldung gibt ja noch mehr Auskunft. Nämlich dass der Daten des zweiten Arguments innerhalb der in_array()-Funktion nicht stimmt (wenn ich das mal so übersetze)
Vermutlich hast Du nur irgendwo ein Anführungszeichen vergessen.
Ist halt immer riskant in Code rumzurühren, den man nicht versteht...
 
  • Editor mit Zeilenangabe? Beitrag #5
Crunk Jay

Crunk Jay

Bekanntes Mitglied
Dabei seit
15.08.2006
Beiträge
534
Reaktionspunkte
0
Ort
Emsland
Wenn du den Code verstehst, was ich ja nicht tue....

Kannst du mir dann kurz sagen, ob der Code irgendwas aussagt?
Ich meine mich erinnern zu können diese "Stop Post Count" Funktion mal eingebaut zu haben....

Was ich nun auch noch gefundne habe ist folgendes:
Code:
//
// Update post stats and details
//
function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_id, &$user_id)
{
	global $db;

	[COLOR="Red"][b]if ($forum_id == 37 || $forum_id == 41 || $forum_id == 42 || $forum_id == 43 || $forum_id == 15)[/b][/COLOR]
   {
      $sign = '';
   }
   else
   {
      $sign = ( $mode == 'delete' ) ? '- 1' : '+ 1';
   }
	$forum_update_sql = "forum_posts = forum_posts $sign";
	$topic_update_sql = '';

	if ($mode == 'delete')
	{
		if ($post_data['last_post'])
		{
			if ($post_data['first_post'])
			{
				$forum_update_sql .= ', forum_topics = forum_topics - 1';
			}
			else
			{

				$topic_update_sql .= 'topic_replies = topic_replies - 1';

				$sql = "SELECT MAX(post_id) AS last_post_id
					FROM " . POSTS_TABLE . " 
					WHERE topic_id = $topic_id";
				if (!($result = $db->sql_query($sql)))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}

				if ($row = $db->sql_fetchrow($result))
				{
					$topic_update_sql .= ', topic_last_post_id = ' . $row['last_post_id'];
				}
			}

			if ($post_data['last_topic'])
			{
				$sql = "SELECT MAX(post_id) AS last_post_id
					FROM " . POSTS_TABLE . " 
					WHERE forum_id = $forum_id"; 
				if (!($result = $db->sql_query($sql)))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}

				if ($row = $db->sql_fetchrow($result))
				{
					$forum_update_sql .= ($row['last_post_id']) ? ', forum_last_post_id = ' . $row['last_post_id'] : ', forum_last_post_id = 0';
				}
			}
		}
		else if ($post_data['first_post']) 
		{
			$sql = "SELECT MIN(post_id) AS first_post_id
				FROM " . POSTS_TABLE . " 
				WHERE topic_id = $topic_id";
			if (!($result = $db->sql_query($sql)))
			{
				message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
			}

			if ($row = $db->sql_fetchrow($result))
			{
				$topic_update_sql .= 'topic_replies = topic_replies - 1, topic_first_post_id = ' . $row['first_post_id'];
			}
		}
		else
		{
			$topic_update_sql .= 'topic_replies = topic_replies - 1';
		}
	}
	else if ($mode != 'poll_delete')
	{
		$forum_update_sql .= ", forum_last_post_id = $post_id" . (($mode == 'newtopic') ? ", forum_topics = forum_topics $sign" : ""); 
		$topic_update_sql = "topic_last_post_id = $post_id" . (($mode == 'reply') ? ", topic_replies = topic_replies $sign" : ", topic_first_post_id = $post_id");
	}
	else 
	{
		$topic_update_sql .= 'topic_vote = 0';
	}

	if ($mode != 'poll_delete')
	{
		$sql = "UPDATE " . FORUMS_TABLE . " SET 
			$forum_update_sql 
			WHERE forum_id = $forum_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}

	if ($topic_update_sql != '')
	{
		$sql = "UPDATE " . TOPICS_TABLE . " SET 
			$topic_update_sql 
			WHERE topic_id = $topic_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}

	// if ($mode != 'poll_delete')
	// Previous line replaced by next line for Stop Post Count MOD
	if ($mode != 'poll_delete' && in_array($forum_id, $fid) == false)
	{
		$sql = "UPDATE " . USERS_TABLE . "
			SET user_posts = user_posts $sign 
			WHERE user_id = $user_id";
		if (!$db->sql_query($sql, END_TRANSACTION))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}

Man achte auf die Rote Zeile....

Der Code kommt direkt VOR dem anderen "Stop-Post-Count"-Code
und in der rot markierten Zeile trage ich die Foren ein, die nicht in den Beiträgen mitgezählt werden sollen...

Steht der Code mit dem anderen IRGENDWIE in Verbindung, sonst lösche ich den "Stop-Post-Count"-Code mal versucheshalber einfach (da ich denke, den mal zusätzlich eingebaut zu haben).
Falls die beiden Codes nicht miteinander in Verbindung stehen sollten, dürfte das ja theoretisch kein Problem sein.
Mein Problem ist nur, dass ich die "Funktion" des "Stop-Post-Count"-Codes nicht verstehe und auch nicht weiß, ob er mit dem anderen in Verbindung steht.
 
  • Editor mit Zeilenangabe? Beitrag #6
futtlui

futtlui

Bekanntes Mitglied
Dabei seit
21.01.2003
Beiträge
10.439
Reaktionspunkte
2
sonst lösche ich den "Stop-Post-Count"-Code mal versucheshalber einfach (da ich denke, den mal zusätzlich eingebaut zu haben).
Wär das nicht einfacher und schneller als auf ne (spekulative) Antwort zu warten, die vielleicht auch nicht weiterhilft?
Auf jeden Fall würde das anderen (die hier ja freiwillig mithelfen) vielleicht Zeit und Arbeit ersparen...
Wieso probierst Du's nicht zuerst mal aus? So Versucheshalber.... :rolleyes:
 
  • Editor mit Zeilenangabe? Beitrag #7
Crunk Jay

Crunk Jay

Bekanntes Mitglied
Dabei seit
15.08.2006
Beiträge
534
Reaktionspunkte
0
Ort
Emsland
Ich wusste ja nicht, dass die Antworten spekulativ sind...

Ich hab mir einfach mal gedacht, da du den Code verstehst, dass du mir nur sagen kannst, ob die beiden Codes miteinander in Verbindung stehen.

Wenn das nicht der Fall ist, wäre der Stop-Post-Count Code eh überflüssig.
 
  • Editor mit Zeilenangabe? Beitrag #8
futtlui

futtlui

Bekanntes Mitglied
Dabei seit
21.01.2003
Beiträge
10.439
Reaktionspunkte
2
ich hab mir den Code gar nicht angesehen. Warum soll ich mir die Mühe machen wenn Du den Fehler vielleicht schon selbst gefunden hast aber nicht prüfen willst, ob es daran liegt?
Außerdem konnt ich jetzt auf die Schnell nichts von wegen in_array erkennen. Das steht ja nicht umsonst in der Fehlermeldung.
 
  • Editor mit Zeilenangabe? Beitrag #9
Crunk Jay

Crunk Jay

Bekanntes Mitglied
Dabei seit
15.08.2006
Beiträge
534
Reaktionspunkte
0
Ort
Emsland
Ich hab jetzt genau den Teil des Codes entfernt
Code:
// Start code for Stop Post Count MOD
	$board_config['no_post_count_forum_id'] = $GLOBALS['board_config']['no_post_count_forum_id'];
	if( strstr($board_config['no_post_count_forum_id'], ',') )
	{
		$fids = explode(',', $board_config['no_post_count_forum_id']);
	
		while( list($foo, $id) = each($fids) )
		{
			$fid[] = intval( trim($id) );
		}
	}
	else
	{
		$fid[] = intval( trim($board_config['no_post_count_forum_id']) );
	}
	reset($fid);
	// End code for Stop Post Count MOD

Und die Fehlermeldung kommt immer noch:

Code:
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /usr/export/www/hosting/***/phpbb/includes/functions_post.php on line 447

Andere Fehler fielen mir jetzt durch das Entfernen irgendwie nicht auf.
 
Thema:

Editor mit Zeilenangabe?

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben