Da vielen Stefan Pfeifer und Sapphire Flyff nutzen und fast jedem Teammitglied zugang zum Admin Panel geben und manche es ausnutzen, Items ohne log zu verschicken gibt es hier nun ein Update, damit nicht mehr gepusht wird :P
1. Ihr geht in euer Admin Panel und sucht die datei account_senditem.php
2. Ihr öffnet die Datei und sucht nach if(isset($_POST['senditem_sbm'])) {
3. Ihr ändert die funktion von
zu
4. Dann geht ihr in eure Datenbank und führt dieses Script aus
Nun lassen wir es noch wiedergeben in den den "Diverse Logs"
Dafür geht ihr in die list_database.php und fügt unter
das hier ein
dann sucht ihr nach elseif( isset($_GET['GSRanking']) ){ und fügt darüber das hier ein
Am Ende sieht es dann so aus
[Only registered and activated users can see links. Click Here To Register...]
1. Ihr geht in euer Admin Panel und sucht die datei account_senditem.php
2. Ihr öffnet die Datei und sucht nach if(isset($_POST['senditem_sbm'])) {
3. Ihr ändert die funktion von
PHP Code:
if(isset($_POST['senditem_sbm'])) {
odbc_exec($odbc_connect, 'USE [' . $_CONFIG['db_databases']['chr'] . ']');
$charid = odbc_exec($odbc_connect, 'SELECT m_idPlayer FROM [CHARACTER_TBL] WHERE m_szName=\''.mssql_escape_string($_POST['character']).'\'');
if(odbc_num_rows($charid) == 1) {
odbc_exec($odbc_connect, 'INSERT INTO [ITEM_SEND_TBL](
m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, m_bItemResist, m_nResistAbilityOption, idSender, nPiercedSize
) VALUES(
\''.mssql_escape_string(odbc_result($charid, 'm_idPlayer')).'\',
\'01\',
\''.mssql_escape_string($_POST['itemname']).'\',
\''.mssql_escape_string($_POST['count']).'\',
\''.mssql_escape_string($_POST['upgrade']).'\',
\''.mssql_escape_string($_POST['element']).'\',
\''.mssql_escape_string($_POST['elementupgrade']).'\',
\'0000000\',
\''.mssql_escape_string($_POST['piercing']).'\'
)');
echo '<div class="success">The item has successfully been send!</div>';
} else {
echo '<div class="fail">Character does not exist!</div>';
}
}
PHP Code:
if(isset($_POST['senditem_sbm'])) {
$charid = odbc_exec($odbc_connect, 'SELECT m_idPlayer FROM [' . $_CONFIG['db_databases']['chr'] . '].dbo.[CHARACTER_TBL] WHERE m_szName=\''.mssql_escape_string($_POST['character']).'\'');
$charname = odbc_exec($odbc_connect, 'SELECT m_szName FROM [' . $_CONFIG['db_databases']['chr'] . '].dbo.[CHARACTER_TBL] WHERE m_szName=\''.mssql_escape_string($_POST['character']).'\'');
if(odbc_num_rows($charid) == 1) {
$ItemSendToCharakter = '
INSERT INTO [' . $_CONFIG['db_databases']['chr'] . '].dbo.[ITEM_SEND_TBL] (
m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, m_bItemResist, m_nResistAbilityOption, idSender, nPiercedSize
) VALUES(
\''.mssql_escape_string($_SESSION['user']).'\',
\''.mssql_escape_string(odbc_result($charid, 'm_idPlayer')).'\',
\'01\',
\''.mssql_escape_string($_POST['itemname']).'\',
\''.mssql_escape_string($_POST['count']).'\',
\''.mssql_escape_string($_POST['upgrade']).'\',
\''.mssql_escape_string($_POST['element']).'\',
\''.mssql_escape_string($_POST['elementupgrade']).'\',
\'0000000\',
\''.mssql_escape_string($_POST['piercing']).'\'
)
';
$ItemSendLog = '
INSERT INTO [' . $_CONFIG['db_databases']['web'] . '].dbo.[LOG_SENDITEM] (
von, an, itemname, count, upgrade, element, elementupgrade, piercing
) VALUES(
\''.mssql_escape_string(odbc_result($charname, 'm_szName')).'\',
\''.mssql_escape_string($_POST['itemname']).'\',
\''.mssql_escape_string($_POST['count']).'\',
\''.mssql_escape_string($_POST['upgrade']).'\',
\''.mssql_escape_string($_POST['element']).'\',
\''.mssql_escape_string($_POST['elementupgrade']).'\',
\''.mssql_escape_string($_POST['piercing']).'\'
)
';
if(@odbc_exec($odbc_connect, $ItemSendToCharakter) AND @odbc_exec($odbc_connect, $ItemSendLog)) {
echo createMessage('Das Item wurde erfolgreich versendet', 'success');
}
else {
echo createMessage('Das Item konnte leider nicht versendet werden', 'fail');
}
} else {
echo '<div class="fail">Character does not exist!</div>';
}
}
4. Dann geht ihr in eure Datenbank und führt dieses Script aus
Code:
USE [WEBSITE_DBF] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[LOG_SENDITEM]( [sid] [int] IDENTITY(1,1) NOT NULL, [von] [varchar](50) NULL, [an] [varchar](50) NULL, [itemname] [varchar](50) NOT NULL, [count] [int] NOT NULL, [upgrade] [int] NOT NULL, [element] [int] NOT NULL, [elementupgrade] [int] NULL, [piercing] [int] NULL, CONSTRAINT [web_senditemlogs] PRIMARY KEY CLUSTERED ( [sid] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO
Nun lassen wir es noch wiedergeben in den den "Diverse Logs"
Dafür geht ihr in die list_database.php und fügt unter
PHP Code:
<input type="submit" name="logins" value="Websitelogins" />
PHP Code:
<br /><br />
<input type="submit" name="SendItems" value="Versendete Items" />
PHP Code:
elseif(isset($_GET['SendItems'])){
odbc_exec($odbc_connect, 'USE [' . $_CONFIG['db_databases']['web'] . ']');
$select = odbc_exec($odbc_connect, 'SELECT TOP 100 * FROM [LOG_SENDITEM] ORDER BY [sid] ASC');
if( odbc_num_rows($select) == 0 ){
echo '<div class="fail">'.$lang['db_no_del'].'</div>';
}
else {
echo '
<table cellspacing="0">
<thead>
<tr>
<td> </td>
<td>Von</td>
<td>An</td>
<td>Itemname</td>
<td>Anzahl</td>
<td>Upgrade</td>
<td>Element</td>
<td>Element Upgrade</td>
<td>Sockel Anzahl</td>
</tr>
</thead>
<tbody>';
while($result = odbc_fetch_array($select)){
echo '
<tr>
<td>('.$result['sid'].')</td>
<td>'.$result['von'].'</td>
<td>'.$result['an'].'</td>
<td>'.$result['itemname'].'</td>
<td>'.$result['count'].'</td>
<td>'.$result['upgrade'].'</td>
<td>'.$result['element'].'</td>
<td>'.$result['elementupgrade'].'</td>
<td>'.$result['piercing'].'</td>
</tr>';
}
echo '
</tbody>
</table>';
}
echo '
<br />
<a href="list_database.php">'.$lang['panel_back'].'</a>';
}
Am Ende sieht es dann so aus
[Only registered and activated users can see links. Click Here To Register...]