Gewinnspielanpassung

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
all-around-board
Mitglied
Beiträge: 758
Registriert: 09.11.2005 00:47
Wohnort: Amberg
Kontaktdaten:

Gewinnspielanpassung

Beitrag von all-around-board »

Hi Leute,

ich möchte ein kleines Gewinnspiel machen. Man muss einfach nur eine Zahl zwischen 1 und 10.000 Tippen!! Anschaun kann man sichs im Moment unter http://www.all-around-board.de/gws.php (Mitgliedsname: phpbb | PW: phpbb )!! Früher was da mal ein Shopmod. Ich hab ihn ein bisschen umbebaut, aber es sind trotzdem noch total alte Stücke vom Shopmod zu sehn!! Der Code ist:

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';

require_once($phpbb_root_path . 'extension.inc');
require_once($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata);

$from_userid = 42; 		// Absender User-ID eintragen, am besten einen neuen Benutzer anlegen dafür!!!
$to_userid = 2; 			// Empfänger User-ID eintragen
$field = 'user_points'; 	// Feld in der Datenbank ( phpbb_users ) wo das Feld zum Geld drinne steckt

if($userdata['user_id'] == ANONYMOUS)
{
	redirect(append_sid($phpbb_root_path . 'login.' . $phpEx .'?redirect=shop.'.$phpEx));
}	

$sql = "SELECT user_points, username, user_id FROM ".USERS_TABLE." WHERE user_id = '".$userdata['user_id']."' LIMIT 1";
if( !( $result = $db->sql_query($sql) ) )
{
	message_die(GENERAL_ERROR, 'Kann den User Cash nicht auslesen!', '', __LINE__, __FILE__, $sql);
}
$usercash = $db->sql_fetchrow($result);
$usercash = $usercash[user_points];

$item_price = array(
	0 => 0,
	1 => 5,

); 

$item_name = array(
	0 => '',
	1 => 'abschicken',



);	

$item_id = intval($_GET['item']);

if(isset($_GET['item']))
{
	if($usercash > $item_price[$item_id])
	{

		if( isset($_GET['submit_name']) )
		{
			$name = ' Der User hat folgende Zahl getippt: (wenn hier nichst  steht hat der User ein anderes Item gewählt; siehe oben): '.$_GET['new_name'];
		}

		$usercash = $usercash - intval($item_price[$item_id]);
		$time = time();
		$sql = "UPDATE ".USERS_TABLE." SET user_points = '".$usercash."' WHERE user_id = '".$userdata['user_id']."'";
		if( !( $result = $db->sql_query($sql) ) )
		{
			message_die(GENERAL_ERROR, 'Konnte das Shopelement nicht kaufen, wegen nem SQL-Error', '', __LINE__, __FILE__, $sql);
		}
		$sql = "SELECT `privmsgs_id` AS `total` FROM `".PRIVMSGS_TABLE."` ORDER BY `privmsgs_id` DESC LIMIT 1";
		if( !( $result = $db->sql_query($sql) ) )
		{
			message_die(GENERAL_ERROR, 'Kann keine PN-Daten abfragen', '', __LINE__, __FILE__, $sql);
		}
		$row = $db->sql_fetchrow($result);
		$post_id = intval($row['total']) + 1;
		$sql = "INSERT INTO `".PRIVMSGS_TABLE."` (`privmsgs_type`, `privmsgs_subject`, `privmsgs_from_userid`, `privmsgs_to_userid`, `privmsgs_date`, `privmsgs_ip`, `privmsgs_enable_bbcode`, `privmsgs_enable_html`, `privmsgs_enable_smilies`, `privmsgs_attach_sig`)
				VALUES (5, 'Kauf eines Shopelemnts', $from_userid, $to_userid, '$time', '127001', 0, 1, 1, 1)";
		if( !( $result = $db->sql_query($sql) ) )
		{
			message_die(GENERAL_ERROR, 'Kann keine PN hinterlegen', '', __LINE__, __FILE__, $sql);
		}
$sql = "INSERT INTO `".PRIVMSGS_TEXT_TABLE."` (`privmsgs_text_id`, `privmsgs_bbcode_uid`, `privmsgs_text`) VALUES ('".$post_id."', '099f1a0101', 'Benutzer: ".$userdata['username']." hat folgendes ITEM gekauft: ".$item_name[$item_id]." Bitte kontaktiere ihn für weitere Informationen zum Item".$name."')";
		if( !( $result = $db->sql_query($sql) ) )
		{
			message_die(GENERAL_ERROR, 'Kann keine PN hinterlegen', '', __LINE__, __FILE__, $sql);
		}
		$sql = "SELECT `user_id`, `user_new_privmsg` FROM `".USERS_TABLE."` WHERE `user_id` = $to_userid";
		if( !( $result = $db->sql_query($sql) ) )
		{
			message_die(GENERAL_ERROR, 'Kann keine PN hinterlegen', '', __LINE__, __FILE__, $sql);
		}
		$benutzerdaten = $db->sql_fetchrow($result);
		$new_pn = intval($benutzerdaten['user_new_privmsg']) + 1;
		$sql = "UPDATE `".USERS_TABLE."` SET `user_new_privmsg` = '$new_pn' WHERE `user_id` = $to_userid";
		if( !( $result = $db->sql_query($sql) ) )
		{
			message_die(GENERAL_ERROR, 'Kann keine PN hinterlegen', '', __LINE__, __FILE__, $sql);
		}
	}
	else
	{
		message_die(GENERAL_ERROR, 'Du hast nicht genug Geld um das Item zu kaufen');
	}
	if( headers_sent() )
	{
		die('<meta http-equiv="refresh" content="0; url='. $phpbb_root_path . 'shop.php?sid='.$userdata['session_id'].'&buyed=' . $item_id. '" />');
	}
	else
	{
		redirect(append_sid($phpbb_root_path . 'shop.' . $phpEx . '?buyed=' . $item_id));
	}	
}			

$page_title = 'Shop';
require_once($phpbb_root_path . 'includes/page_header.'.$phpEx);

if($_GET['buyed'])
{
	$buyedid = $_GET['buyed'];
	$buyedid = intval($buyedid);
	?>
	<br />
	<table border="0" width="100%">
	<tr>
	<td class="gen"><b><a href="./index.php" style="color:#FFFFFF; font-size:10px; cursor:crosshair;">Zurück zur Forenübersicht</a></b></td>
	</tr>
	</table>
	<br />
	<table border="0" width="100%" class="forumline gen" cellpadding="2" cellspacing="1">
	<tr>
	<th class="tHead">Herzlichen Glückwunsch</th>
	</tr>
	<tr>
	<td class="row1" align="center">Du hast folgendes Item gekauft: <?= $item_name[$buyedid] ?><br />
	Es hat <?= $item_price[$buyedid] ?> Forengeld gekostet.<br />
	<br />
	Ein Administrator wird dich bald kontaktieren.</td>
	</tr>
	</table>
	<br />
    <?
}
else if($_GET['buyed'] == "" && $_GET['item'] == "")
{
?>

        <table width="80%" cellspacing="2" cellpadding="2" border="0" align="center">
	<tr>
	<td class="nav"><a href="./index.php" clasS="nav"><?= $board_config['sitename'] ?> Foren-Übersicht</a></td>
	</tr>
	</table>

	<table class="forumline" width="80%" cellspacing="1" cellpadding="4" border="0">
	<tr>
	<th width="25%" class="tHead">Hinweis</th>
	<th width="25%" class="tHead">Deine Zahl</th>
	<th width="25%" class="tHead">Los geht's</th>
	<th width="25%" class="tHead">Teilnahmebediungung;</th>
	</tr>
	<tr>
	<td class="row1" rowspan="8" valign="top" align="center"><span class="gen"><b>Um an dem Gewinnspiel teilzunehmen, tippe eine Zahl zwischen 1 und 10.000!!</b></span></td>
	<td class="row1" align="center"><b>Sachpreise:</b> <br>MiniShisha<br>GTA Vice City<br>Jack Johnson Album<br>
<td class="row1"><form method="get"> <input type="hidden" value="3" name="item" /> <input type="submit" name="submit_name" value="<?= $item_name[3] ?>" style="text-decoration:underline; border:none; background:none; cursor:hand;"; /> <br />Deine Tippzahl: <input type="text" name="new_name" /></form>(Enter drücken)</td><br>

	<td class="row1" rowspan="8" valign="top" align="center"><span class="gen">Mindestbeiträge: 15 Posts <br><br>Mindestbeteiligung: 75 User</span></td>
	</tr>
	<tr>


	</tr>
	</table>
	<br />
	<?
}
	
require_once($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
!!


Leider funktioniert der Test nur, wenn ichs mit dem Admin probier! Bei normalen Usern wird ein anderer Text per PN geschickt! kann mir jemand helfen?, das ein wenig anzupassen? mfG
Benutzeravatar
Apotemnophiliac
Mitglied
Beiträge: 194
Registriert: 29.01.2006 14:05
Wohnort: Graz

Beitrag von Apotemnophiliac »

Hallo
Beim Shop MOD wird auch der Administrator benachrichtigt, wenn ein User ein Item gekauft hat. Dies zeigt folgender Code Ausschnitt:
$sql = "INSERT INTO `".PRIVMSGS_TEXT_TABLE."` (`privmsgs_text_id`, `privmsgs_bbcode_uid`, `privmsgs_text`) VALUES ('".$post_id."', '099f1a0101', 'Benutzer: ".$userdata['username']." hat folgendes ITEM gekauft: ".$item_name[$item_id]." Bitte kontaktiere ihn für weitere Informationen zum Item".$name."')";
Ändere folgendes
Benutzer: ".$userdata['username']." hat folgendes ITEM gekauft: ".$item_name[$item_id]." Bitte kontaktiere ihn für weitere Informationen zum Item".$name.
in deinen Text um, den der Administrator erhalten soll - Falls er dies tun sollte.

gruß
all-around-board
Mitglied
Beiträge: 758
Registriert: 09.11.2005 00:47
Wohnort: Amberg
Kontaktdaten:

Beitrag von all-around-board »

Also ich bekomm auch eine PN, und die sieht so aus:
Benutzer: phpbb hat folgendes ITEM gekauft: Bitte kontaktiere ihn für weitere Informationen zum Item
Leider seh ich nicht die Zahl, die er getippt hat! Was muss ich tun? mfG
Benutzeravatar
Apotemnophiliac
Mitglied
Beiträge: 194
Registriert: 29.01.2006 14:05
Wohnort: Graz

Beitrag von Apotemnophiliac »

Ich schau mir das später bisschen genauer an nur ist es nicht unsinnig das ganze so zu schreiben, dass der User seine Zahl dir per PN schickt udn du dann siehst ob er gewonnen hat oder nicht? Ist es nicht klüger, das ganze in eine Tabelle zu schreiben, die nur für dich sichtbar ist - Du gibst dann im ACP die Lösung ein und die Gewinner werden auf der Gewinnspiel Seite angezeigt?
all-around-board
Mitglied
Beiträge: 758
Registriert: 09.11.2005 00:47
Wohnort: Amberg
Kontaktdaten:

Beitrag von all-around-board »

Für viele User ist es schon zu anstrengend dem Admin eine Zahl schicken zu müssen. Es muss so einfach wie möglich für die User sein! Deswegen möcht ich einfach ein Feld und ein Okay Button, und anschließend soll die Zahl (aus dem Feld) an den Admin per PN geschickt werden! mfG
Antworten

Zurück zu „phpBB 2.0: Mod Support“