Kleines Problem mit Mod (Rank AddOn v 0.1.0.)

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Firestarter
Mitglied
Beiträge: 1162
Registriert: 09.06.2003 15:21

Kleines Problem mit Mod (Rank AddOn v 0.1.0.)

Beitrag von Firestarter »

Ich hab den Mod eingebaut doch leider werden die Images zu den Rängen nicht dargestellt. *grmpf*

Kann mir jemand helfen ?
beiliegend sind die beiden Dateien und Version des Forums ist 2.04.
Ich danke allen helfenden Köpfen auch herzlich im Voraus.

MfG

Firestarter

admin_ranks.php

Code: Alles auswählen


define('IN_PHPBB', 1);

if( !empty($setmodules) )
{
	$file = basename(__FILE__);
	$module['Users']['Ranks'] = "$file";
	return;
}

//
// Let's set the root dir for phpBB
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);

if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
	$mode = ($HTTP_GET_VARS['mode']) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
}
else
{
	//
	// These could be entered via a form button
	//
	if( isset($HTTP_POST_VARS['add']) )
	{
		$mode = "add";
	}
	else if( isset($HTTP_POST_VARS['save']) )
	{
		$mode = "save";
	}
	else
	{
		$mode = "";
	}
}


if( $mode != "" )
{
	if( $mode == "edit" || $mode == "add" )
	{
		//
		// They want to add a new rank, show the form.
		//
		$rank_id = ( isset($HTTP_GET_VARS['id']) ) ? intval($HTTP_GET_VARS['id']) : 0;

		$s_hidden_fields = "";

		if( $mode == "edit" )
		{
			if( empty($rank_id) )
			{
				message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);
			}

			$sql = "SELECT * FROM " . RANKS_TABLE . "
				WHERE rank_id = $rank_id";
			if(!$result = $db->sql_query($sql))
			{
				message_die(GENERAL_ERROR, "Couldn't obtain rank data", "", __LINE__, __FILE__, $sql);
			}

			$rank_info = $db->sql_fetchrow($result);
			$s_hidden_fields .= '<input type="hidden" name="id" value="' . $rank_id . '" />';

		}
		else
		{
			$rank_info['rank_special'] = 0;
		}

		$s_hidden_fields .= '<input type="hidden" name="mode" value="save" />';

		$rank_is_special = ( $rank_info['rank_special'] ) ? "checked=\"checked\"" : "";
		$rank_is_not_special = ( !$rank_info['rank_special'] ) ? "checked=\"checked\"" : "";

		$template->set_filenames(array(
			"body" => "admin/ranks_edit_body.tpl")
		);

		$template->assign_vars(array(
			"RANK" => $rank_info['rank_title'],
			"SPECIAL_RANK" => $rank_is_special,
			"NOT_SPECIAL_RANK" => $rank_is_not_special,
			"MINIMUM" => ( $rank_is_special ) ? "" : $rank_info['rank_min'],
			"IMAGE" => ( $rank_info['rank_image'] != "" ) ? $rank_info['rank_image'] : "",
			"IMAGE_DISPLAY" => ( $rank_info['rank_image'] != "" ) ? '<img src="../' . $rank_info['rank_image'] . '" />' : "",

			"L_RANKS_TITLE" => $lang['Ranks_title'],
			"L_RANKS_TEXT" => $lang['Ranks_explain'],
			"L_RANK_TITLE" => $lang['Rank_title'],
			"L_RANK_SPECIAL" => $lang['Rank_special'],
			"L_RANK_MINIMUM" => $lang['Rank_minimum'],
			"L_RANK_IMAGE" => $lang['Rank_image'],
			"L_RANK_IMAGE_EXPLAIN" => $lang['Rank_image_explain'],
			"L_SUBMIT" => $lang['Submit'],
			"L_RESET" => $lang['Reset'],
			"L_YES" => $lang['Yes'],
			"L_NO" => $lang['No'],

			"S_RANK_ACTION" => append_sid("admin_ranks.$phpEx"),
			"S_HIDDEN_FIELDS" => $s_hidden_fields)
		);

	}
	else if( $mode == "save" )
	{
		if ( is_array($HTTP_POST_VARS['id']) )
		{
			//
			// Ok, they sent us our info, let's update it.
			//
			for( $i = 0; $i < count($HTTP_POST_VARS['id']); $i++ )
			{
				$rank_id = ( isset($HTTP_POST_VARS['id'][$i]) ) ? intval($HTTP_POST_VARS['id'][$i]) : 0;
				$rank_title = ( isset($HTTP_POST_VARS['title'][$rank_id]) ) ? trim($HTTP_POST_VARS['title'][$rank_id]) : "";
				$special_rank = ( $HTTP_POST_VARS['special_rank'][$rank_id] == 1 ) ? TRUE : 0;
				$min_posts = ( isset($HTTP_POST_VARS['min_posts'][$rank_id]) && preg_match("/\d/is", $HTTP_POST_VARS['min_posts'][$rank_id]) ) ? intval($HTTP_POST_VARS['min_posts'][$rank_id]) : -1;
				$rank_image = ( (isset($HTTP_POST_VARS['rank_image'][$rank_id])) ) ? trim($HTTP_POST_VARS['rank_image'][$rank_id]) : "";

				if( $rank_title == "" )
				{
					message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);
				}

				if( $special_rank == 1 )
				{
					$max_posts = -1;
					$min_posts = -1;
				}

				//
				// The rank image has to be a jpg, gif or png
				//
				if($rank_image != "")
				{
					if ( !preg_match("/(\.gif|\.png|\.jpg)$/is", $rank_image))
					{
						$rank_image = "";
					}
				}

				if ($rank_id)
				{
					if (!$special_rank)
					{
						$sql = "UPDATE " . USERS_TABLE . "
							SET user_rank = 0
							WHERE user_rank = $rank_id";

						if( !$result = $db->sql_query($sql) )
						{
							message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);
						}
					}
					$sql = "UPDATE " . RANKS_TABLE . "
						SET rank_title = '" . str_replace("\'", "''", $rank_title) . "', rank_special = $special_rank, rank_min = $min_posts, rank_image = '" . str_replace("\'", "''", $rank_image) . "'
						WHERE rank_id = $rank_id";

					$message = $lang['Rank_updated'];
				}

				if( !$result = $db->sql_query($sql) )
				{
					message_die(GENERAL_ERROR, "Couldn't update ranks table", "", __LINE__, __FILE__, $sql);
				}
			}
			$message .= "<br /><br />" . sprintf($lang['Click_return_rankadmin'], "<a href=\"" . append_sid("admin_ranks.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");

			message_die(GENERAL_MESSAGE, $message);
		}
		else
		{
			//
			// Ok, they sent us our info, let's update it.
			//

			$rank_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : 0;
			$rank_title = ( isset($HTTP_POST_VARS['title']) ) ? trim($HTTP_POST_VARS['title']) : "";
			$special_rank = ( $HTTP_POST_VARS['special_rank'] == 1 ) ? TRUE : 0;
			$min_posts = ( isset($HTTP_POST_VARS['min_posts']) ) ? intval($HTTP_POST_VARS['min_posts']) : -1;
			$rank_image = ( (isset($HTTP_POST_VARS['rank_image'])) ) ? trim($HTTP_POST_VARS['rank_image']) : "";

			if( $rank_title == "" )
			{
				message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);
			}

			if( $special_rank == 1 )
			{
				$max_posts = -1;
				$min_posts = -1;
			}

			//
			// The rank image has to be a jpg, gif or png
			//
			if($rank_image != "")
			{
				if ( !preg_match("/(\.gif|\.png|\.jpg)$/is", $rank_image))
				{
					$rank_image = "";
				}
			}

			if ($rank_id)
			{
				if (!$special_rank)
				{
					$sql = "UPDATE " . USERS_TABLE . "
						SET user_rank = 0
						WHERE user_rank = $rank_id";

					if( !$result = $db->sql_query($sql) )
					{
						message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);
					}
				}
				$sql = "UPDATE " . RANKS_TABLE . "
					SET rank_title = '" . str_replace("\'", "''", $rank_title) . "', rank_special = $special_rank, rank_min = $min_posts, rank_image = '" . str_replace("\'", "''", $rank_image) . "'
					WHERE rank_id = $rank_id";

				$message = $lang['Rank_updated'];
			}
			else
			{
				$sql = "INSERT INTO " . RANKS_TABLE . " (rank_title, rank_special, rank_min, rank_image)
					VALUES ('" . str_replace("\'", "''", $rank_title) . "', $special_rank, $min_posts, '" . str_replace("\'", "''", $rank_image) . "')";

				$message = $lang['Rank_added'];
			}

			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, "Couldn't update/insert into ranks table", "", __LINE__, __FILE__, $sql);
			}

			$message .= "<br /><br />" . sprintf($lang['Click_return_rankadmin'], "<a href=\"" . append_sid("admin_ranks.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");

			message_die(GENERAL_MESSAGE, $message);
		}
	}
	else if( $mode == "delete" )
	{
		//
		// Ok, they want to delete their rank
		//

		if( isset($HTTP_POST_VARS['id']) || isset($HTTP_GET_VARS['id']) )
		{
			$rank_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : intval($HTTP_GET_VARS['id']);
		}
		else
		{
			$rank_id = 0;
		}

		if( $rank_id )
		{
			$sql = "DELETE FROM " . RANKS_TABLE . "
				WHERE rank_id = $rank_id";

			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, "Couldn't delete rank data", "", __LINE__, __FILE__, $sql);
			}

			$sql = "UPDATE " . USERS_TABLE . "
				SET user_rank = 0
				WHERE user_rank = $rank_id";

			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);
			}

			$message = $lang['Rank_removed'] . "<br /><br />" . sprintf($lang['Click_return_rankadmin'], "<a href=\"" . append_sid("admin_ranks.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");

			message_die(GENERAL_MESSAGE, $message);

		}
		else
		{
			message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);
		}
	}
	else
	{
		//
		// They didn't feel like giving us any information. Oh, too bad, we'll just display the
		// list then...
		//
		$template->set_filenames(array(
			"body" => "admin/ranks_list_body.tpl")
		);

		$sql = "SELECT * FROM " . RANKS_TABLE . "
			ORDER BY rank_min, rank_title";
		if( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, "Couldn't obtain ranks data", "", __LINE__, __FILE__, $sql);
		}

		$rank_rows = $db->sql_fetchrowset($result);
		$rank_count = count($rank_rows);

		for( $i = 0; $i < $rank_count; $i++)
		{
			$s_hidden_fields .= '<input type="hidden" name="id[' . $i . ']" value="' . $rank_rows[$i]['rank_id'] . '" />';
			$rank = $rank_rows[$i]['rank_title'];
			$special_rank = $rank_rows[$i]['rank_special'];
			$rank_id = $rank_rows[$i]['rank_id'];
			$rank_min = $rank_rows[$i]['rank_min'];
			$rank_img = $rank_rows[$i]['rank_image'];

			if($special_rank)
			{
				$rank_min = $rank_max = "-";
			}

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

			$template->assign_block_vars("ranks", array(

				"ID" => $rank_id,
				"RANK" => $rank_info['rank_title'],
				"SPECIAL_RANK" => $special_rank ? 'checked' : '',
				"NOT_SPECIAL_RANK" => $special_rank ? '' : 'checked',

				"IMAGE" => ( $rank_img != "" ) ? $rank_img : "",
				"IMAGE_DISPLAY" => ( $rank_img != "" ) ? '<img src="../' . $rank_img . '" />' : "",

				"ROW_COLOR" => "#" . $row_color,
				"ROW_CLASS" => $row_class,
				"RANK" => $rank,
				"RANK_MIN" => $rank_min,

				"SPECIAL_RANK" => ( $special_rank == 1 ) ? $lang['Yes'] : $lang['No'],

				"U_RANK_EDIT" => append_sid("admin_ranks.$phpEx?mode=edit&id=$rank_id"),
				"U_RANK_DELETE" => append_sid("admin_ranks.$phpEx?mode=delete&id=$rank_id"))
			);
		}
		$s_hidden_fields .= '<input type="hidden" name="mode" value="save" />';
		$template->assign_vars(array(
			"L_RANKS_TITLE" => $lang['Ranks_title'],
			"L_RANKS_TEXT" => $lang['Ranks_explain'],
			"L_RANK" => $lang['Rank_title'],
			"L_RANK_MINIMUM" => $lang['Rank_minimum'],
			"L_SPECIAL_RANK" => $lang['Special_rank'],
			"L_EDIT" => $lang['Edit'],
			"L_DELETE" => $lang['Delete'],
			"L_ADD_RANK" => $lang['Add_new_rank'],
			"L_ACTION" => $lang['Action'],

			"L_RANK_TITLE" => $lang['Rank_title'],
			"L_RANK_SPECIAL" => $lang['Rank_special'],
			"L_RANK_MINIMUM" => $lang['Rank_minimum'],
			"L_RANK_IMAGE" => $lang['Rank_image'],
			"L_RANK_IMAGE_EXPLAIN" => $lang['Rank_image_explain'],
			"L_SUBMIT" => $lang['Submit'],
			"L_RESET" => $lang['Reset'],
			"L_YES" => $lang['Yes'],
			"L_NO" => $lang['No'],

			"S_HIDDEN_FIELDS" => $s_hidden_fields,
			"S_RANKS_ACTION" => append_sid("admin_ranks.$phpEx"))
		);
	}
}
else
{
	//
	// Show the default page
	//
	$template->set_filenames(array(
		"body" => "admin/ranks_list_body.tpl")
	);

	$sql = "SELECT * FROM " . RANKS_TABLE . "
		ORDER BY rank_min ASC, rank_special ASC";
	if( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, "Couldn't obtain ranks data", "", __LINE__, __FILE__, $sql);
	}
	$rank_count = $db->sql_numrows($result);

	$rank_rows = $db->sql_fetchrowset($result);

	for($i = 0; $i < $rank_count; $i++)
	{
			$s_hidden_fields .= '<input type="hidden" name="id[' . $i . ']" value="' . $rank_rows[$i]['rank_id'] . '" />';
		$rank = $rank_rows[$i]['rank_title'];
		$special_rank = $rank_rows[$i]['rank_special'];
		$rank_id = $rank_rows[$i]['rank_id'];
		$rank_min = $rank_rows[$i]['rank_min'];
		$rank_img = $rank_rows[$i]['rank_image'];

		if( $special_rank == 1 )
		{
			$rank_min = $rank_max = "-";
		}

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

		$rank_is_special = ( $special_rank ) ? $lang['Yes'] : $lang['No'];

		$template->assign_block_vars("ranks", array(
			"ROW_COLOR" => "#" . $row_color,
			"ROW_CLASS" => $row_class,
			"ID" => $rank_id,
			"RANK" => $rank,
			"SPECIAL_RANK" => $rank_is_special,
			"RANK_MIN" => $rank_min,

			"SPECIAL_RANK" => $special_rank ? 'checked' : '',
			"NOT_SPECIAL_RANK" => $special_rank ? '' : 'checked',

			"IMAGE" => ( $rank_img != "" ) ? $rank_img : "",
			"IMAGE_DISPLAY" => ( $rank_img != "" ) ? '<img src="../' . $rank_img . '" />' : "",

			"U_RANK_EDIT" => append_sid("admin_ranks.$phpEx?mode=edit&id=$rank_id"),
			"U_RANK_DELETE" => append_sid("admin_ranks.$phpEx?mode=delete&id=$rank_id"))
		);
	}
	$s_hidden_fields .= '<input type="hidden" name="mode" value="save" />';
	$template->assign_vars(array(
		"L_RANKS_TITLE" => $lang['Ranks_title'],
		"L_RANKS_TEXT" => $lang['Ranks_explain'],
		"L_RANK" => $lang['Rank_title'],
		"L_RANK_MINIMUM" => $lang['Rank_minimum'],
		"L_SPECIAL_RANK" => $lang['Rank_special'],
		"L_EDIT" => $lang['Edit'],
		"L_DELETE" => $lang['Delete'],
		"L_ADD_RANK" => $lang['Add_new_rank'],
		"L_ACTION" => $lang['Action'],
		"L_RANK_TITLE" => $lang['Rank_title'],
		"L_RANK_SPECIAL" => $lang['Rank_special'],
		"L_RANK_MINIMUM" => $lang['Rank_minimum'],
		"L_RANK_IMAGE" => $lang['Rank_image'],
		"L_RANK_IMAGE_EXPLAIN" => $lang['Rank_image_explain'],
		"L_SUBMIT" => $lang['Submit'],
		"L_RESET" => $lang['Reset'],
		"L_YES" => $lang['Yes'],
		"L_NO" => $lang['No'],

		"S_HIDDEN_FIELDS" => $s_hidden_fields,
		"S_RANKS_ACTION" => append_sid("admin_ranks.$phpEx"))
	);
}

$template->pparse("body");

include('./page_footer_admin.'.$phpEx);

?>
ranks_list_body.tpl

Code: Alles auswählen

<div class="maintitle">{L_RANKS_TITLE}</div>
<br />
<div class="genmed">{L_RANKS_TEXT}</div>
<br />
<form method="post" action="{S_RANKS_ACTION}">
<table cellspacing="1" cellpadding="3" border="0" align="center" class="forumline">
<tr>
<th>&nbsp;{L_RANK}&nbsp;</th>
<th>&nbsp;{L_RANK_MINIMUM}&nbsp;</th>
<th>&nbsp;&nbsp;{L_RANK_IMAGE}&nbsp;&nbsp;</th>
<th>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{L_SPECIAL_RANK}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>
<th>&nbsp;{L_EDIT}&nbsp;</th>
<th>&nbsp;{L_DELETE}&nbsp;</th>
</tr>
<!-- BEGIN ranks -->
<tr>
<td valign="top" align="center" nowrap="nowrap" class="{ranks.ROW_CLASS}"><input type="text" name="title[{ranks.ID}]" size="35" maxlength="40" value="{ranks.RANK}" class="post" /></td>
<td valign="top" class="{ranks.ROW_CLASS}" align="center"><input type="text" name="min_posts[{ranks.ID}]" size="5" maxlength="10" value="{ranks.RANK_MIN}" class="post" /></td>
<td valign="top" class="{ranks.ROW_CLASS}" align="left"><input type="text" name="rank_image[{ranks.ID}]" size="40" maxlength="255" value="{ranks.IMAGE}" class="post" />&nbsp;{ranks.IMAGE_DISPLAY}</td>
<td valign="top" class="{ranks.ROW_CLASS}" align="center"><input type="radio" name="special_rank[{ranks.ID}]" value="1" {ranks.SPECIAL_RANK} />{L_YES} &nbsp;&nbsp; <input type="radio" name="special_rank[{ranks.ID}]" value="0" {ranks.NOT_SPECIAL_RANK} />{L_NO}</td>
<td valign="top" class="{ranks.ROW_CLASS}" align="center"><a href="{ranks.U_RANK_EDIT}">{L_EDIT}</a></td>
<td valign="top" class="{ranks.ROW_CLASS}" align="center"><a href="{ranks.U_RANK_DELETE}">{L_DELETE}</a></td>
</tr>
<!-- END ranks -->
<tr>
<td class="cat" align="center" colspan="6">
<input type="submit" name="submit" value="{L_SUBMIT}" class="mainoption" />
&nbsp;&nbsp;
<input type="reset" value="{L_RESET}" class="button" />
{S_HIDDEN_FIELDS}
</td>
</tr>
</form>
<form method="post" action="{S_RANKS_ACTION}">
<tr>
<td class="cat" align="center" colspan="6">
<input type="submit" class="mainoption" name="add" value="{L_ADD_RANK}" />
</td>
</tr>
</table>
</form>
<br />
Benutzeravatar
Firestarter
Mitglied
Beiträge: 1162
Registriert: 09.06.2003 15:21

Beitrag von Firestarter »

Wer kennt ein FTP-Programm, welches in der Freeware die Funktion "Chmod" durchführen kann?

Ich selbst verwende SmartFTP, doch dies kann es nicht?

THX
Benutzeravatar
.tribal
Mitglied
Beiträge: 83
Registriert: 13.08.2003 03:02
Wohnort: Bonn
Kontaktdaten:

Beitrag von .tribal »

In einem geschlossenen System nimmt das Chaos mit der Zeit zu.
Diabolo
Mitglied
Beiträge: 27
Registriert: 06.12.2002 22:07
Wohnort: Greven

Beitrag von Diabolo »

SmartFTP kann CHMOD
Markier die Datei / Ordner (die Ordner auf der RECHTEN seite markieren, wenn mans auf der linken macht, dann funzts nicht) und drück F7
Benutzeravatar
Firestarter
Mitglied
Beiträge: 1162
Registriert: 09.06.2003 15:21

Beitrag von Firestarter »

THX und nochmals THX @Diabolo.
Antworten

Zurück zu „phpBB 2.0: Mod Support“