Seite 1 von 1

Kleines Problem mit Mod (Rank AddOn v 0.1.0.)

Verfasst: 01.10.2003 06:14
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 />

Verfasst: 02.10.2003 07:36
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

Verfasst: 02.10.2003 07:42
von .tribal

Verfasst: 02.10.2003 08:15
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

Verfasst: 03.10.2003 10:35
von Firestarter
THX und nochmals THX @Diabolo.