Potrzebuje pomocy w rozmieszczeniu tabeli usługami i przeniesieniu przycisku kup na równo z cena. Poniżej ss'y i kod :
obrazek - xLUq1Hs.png
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>SqiuGames.pl</title>
<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootswatch/3.3.4/yeti/bootstrap.min.css">
<style type="text/css">
body {
background-image: url('http://g4m3rr.eu/sqiugames/images/bg.pn');
background-size:
</style>
</head>
<body>
<?php
/*
╒═══════════════════════════════════════════════╕
SMS Shop by exevan/goukan pod Platnosci-online.pl SMS
╘═══════════════════════════════════════════════╛
╒════════════╕
KONFIGURACJA
╘════════════╛
Aby dzialalo polaczenie Rcon nalezy dodac do server.properties takie linijki:
enable-rcon=true
rcon.port=25575
rcon.password=haslo
*/
//Polaczenie RCon
define( 'MQ_SERVER_ADDR', 'mycrafts.pl' ); //ip serwera minecraft
define( 'MQ_SERVER_PORT', 25575 ); //RCon port serwera minecraft
define( 'MQ_SERVER_PASS', 'supermocnehaslo'); //haslo rcon serwera minecraft
define( 'MQ_TIMEOUT', 2 );
//Powiadomienia mail
$dane = "SMS Shop"; //Dostajac meila ten napis bedzie widnial w rubryce 'Od kogo?'
$headers1='MIME-Version: 1.0'."\n"; //nie ruszaj!
$headers1.='Content-type: text/html; charset=UTF-8'."\n"; //nie ruszaj!
$headers1.='from: <'.$dane.">\n"; //nie ruszaj!
$data=date("Y-m-d H:i"); // nie ruszaj!
$email = "email"; // twoj email
$czy_email = "nie"; // Chcesz otrzymywac powiadomienia email o zakupionych uslugach? Wpisz tak lub nie.
//Dane do usług sms
$id_sprzedawcy = 3544; // ID Partnera
$klucz_transakcyjny = 'e605108b019eb488aa679d593a0807af'; // 32-znakowy klucz do podpisywania transakcji.
//Dane do strony
$current = "EasyHc.php"; //strona glowna sms shopa np. ?page_id=4 lub sms.php
$wlasciciel = "SqiuGames.pl"; //nazwa wlasciciela strony
$oprogramowanie = "php"; // wpisz na jakim oprogramowaniu bedzie dzialac sms shop: wp, inne
$offer = array(array()); // nie ruszaj!
//Uslugi SMS Shop
$offer[1]['offer_type'] = "item"; //nie ruszac
$offer[1]['image'] = "http://icons.iconarchive.com/icons/chrisl21/minecraft/128/Crafting-Table-icon.png";
$offer[1]['item_name'] = "VIP (31 dni)";
$offer[1]['opis'] = "
<b>Co może VIP?</b>
<br>
-Komenda /fly<br>
-Bzykać dziewczyny<br>
-Palić marihuaen xD<br>
-Używać GameMode
";
$offer[1]['number'] = 7143; //numer telefonu, pod który trzeba wysłać SMS. Znajdziesz go na stronie https://platnosci-online.pl/kody_sms.html
$offer[1]['code'] = "AR46"; //tresc smsa(bez MPA.) sufiks usługi SMS (dla uslugi MPA.ABCD będzie to slowo ABCD ).
$offer[1]['price'] = "1,23"; //koszt smsa
$offer[1]['komenda1'] = "say [nick] dupa [nick]"; //[nick] - nick gracza, jesli nie chcesz tylu komend w danej usludze to zostaw puste
$offer[1]['komenda2'] = "say kuuurwa [nick]";
$offer[1]['komenda3'] = "";
$offer[1]['komenda4'] = "";
$offer[1]['komenda5'] = "";
$offer[1]['komenda6'] = "";
$offer[1]['komenda7'] = "";
$offer[2]['offer_type'] = "item"; //nie ruszac
$offer[2]['image'] = "http://icons.iconarchive.com/icons/chrisl21/minecraft/128/Chest-icon.png"; //sciezka do obrazka uslugi
$offer[2]['item_name'] = "UNBAN";
$offer[2]['number'] = 74550; //numer telefonu, pod który trzeba wysłać SMS. Znajdziesz go na stronie https://platnosci-online.pl/kody_sms.html
$offer[2]['code'] = "ABCD"; //tresc smsa(bez MPA.) sufiks usługi SMS (dla uslugi MPA.ABCD będzie to slowo ABCD ).
$offer[2]['price'] = "7,32"; //koszt smsa
$offer[2]['komenda1'] = "time day"; //[nick] - nick gracza, jesli nie chcesz tylu komend w danej usludze to zostaw puste
$offer[2]['komenda2'] = "say [nick] to jest drugie gowno";
$offer[2]['komenda3'] = "";
$offer[2]['komenda4'] = "";
$offer[2]['komenda5'] = "";
$offer[2]['komenda6'] = "";
$offer[2]['komenda7'] = "";
$offer[3]['offer_type'] = "item"; //nie ruszac
$offer[3]['image'] = "http://icons.iconarchive.com/icons/chrisl21/minecraft/128/Tnt-icon.png";
$offer[3]['item_name'] = "COS TAM";
$offer[3]['number'] = 74550; //numer telefonu, pod który trzeba wysłać SMS. Znajdziesz go na stronie https://platnosci-online.pl/kody_sms.html
$offer[3]['code'] = "ABCD"; //tresc smsa(bez MPA.) sufiks usługi SMS (dla uslugi MPA.ABCD będzie to slowo ABCD ).
$offer[3]['price'] = "7,32"; //koszt smsa
$offer[3]['komenda1'] = ""; //[nick] - nick gracza, jesli nie chcesz tylu komend w danej usludze to zostaw puste
$offer[3]['komenda2'] = "";
$offer[3]['komenda3'] = "";
$offer[3]['komenda4'] = "";
$offer[3]['komenda5'] = "";
$offer[3]['komenda6'] = "";
$offer[3]['komenda7'] = "";
/*
╒════════════════════════╕
KONIEC KONFIGURACJI
╘════════════════════════╛
*/
?>
<!-- NIE RUSZAC TEGO NIZEJ-->
<?php
class MinecraftRconException extends Exception
{
// Exception thrown by MinecraftRcon class
}
class MinecraftRcon
{
// Sending
const SERVERDATA_EXECCOMMAND = 2;
const SERVERDATA_AUTH = 3;
// Receiving
const SERVERDATA_RESPONSE_VALUE = 0;
const SERVERDATA_AUTH_RESPONSE = 2;
private $Socket;
private $RequestId;
public function __destruct( )
{
$this->Disconnect( );
}
public function Connect( $Ip, $Port = 25575, $Password, $Timeout = 3 )
{
$this->RequestId = 0;
if( $this->Socket = FSockOpen( $Ip, (int)$Port ) )
{
Socket_Set_TimeOut( $this->Socket, $Timeout );
if( !$this->Auth( $Password ) )
{
$this->Disconnect( );
throw new MinecraftRconException( "Authorization failed." );
}
}
else
{
throw new MinecraftRconException( "Can't open socket." );
}
}
public function Disconnect( )
{
if( $this->Socket )
{
FClose( $this->Socket );
$this->Socket = null;
}
}
public function Command( $String )
{
if( !$this->WriteData( self :: SERVERDATA_EXECCOMMAND, $String ) )
{
return false;
}
$Data = $this->ReadData( );
if( $Data[ 'RequestId' ] < 1 || $Data[ 'Response' ] != self :: SERVERDATA_RESPONSE_VALUE )
{
return false;
}
return $Data[ 'String' ];
}
private function Auth( $Password )
{
if( !$this->WriteData( self :: SERVERDATA_AUTH, $Password ) )
{
return false;
}
$Data = $this->ReadData( );
return $Data[ 'RequestId' ] > -1 && $Data[ 'Response' ] == self :: SERVERDATA_AUTH_RESPONSE;
}
private function ReadData( )
{
$Packet = Array( );
$Size = FRead( $this->Socket, 4 );
$Size = UnPack( 'V1Size', $Size );
$Size = $Size[ 'Size' ];
// TODO: Add multiple packets (Source)
$Packet = FRead( $this->Socket, $Size );
$Packet = UnPack( 'V1RequestId/V1Response/a*String/a*String2', $Packet );
return $Packet;
}
private function WriteData( $Command, $String = "" )
{
// Pack the packet together
$Data = Pack( 'VV', $this->RequestId++, $Command ) . $String . "\x00\x00\x00";
// Prepend packet length
$Data = Pack( 'V', StrLen( $Data ) ) . $Data;
$Length = StrLen( $Data );
return $Length === FWrite( $this->Socket, $Data, $Length );
}
}
if($oprogramowanie == "wp") $zn="&";
else $zn="?";
?>
<!-- NIE RUSZAC TEGO WYZEJ-->
<?php
$erno = 0;
if($_POST['offer'] == "item")
{
echo'<div style="width: 500px; padding: 15px; border:1px solid #ababab; margin: 20px auto;">';
$nick = $_POST['nick'];
$check = $_POST['check'];
$offerId = $_POST['numer'];
//nie ruszaj
$offer[$offerId]['komenda1'] = str_replace("[nick]", $nick, $offer[$offerId]['komenda1']);
$offer[$offerId]['komenda2'] = str_replace("[nick]", $nick, $offer[$offerId]['komenda2']);
$offer[$offerId]['komenda3'] = str_replace("[nick]", $nick, $offer[$offerId]['komenda3']);
$offer[$offerId]['komenda4'] = str_replace("[nick]", $nick, $offer[$offerId]['komenda4']);
$offer[$offerId]['komenda5'] = str_replace("[nick]", $nick, $offer[$offerId]['komenda5']);
$offer[$offerId]['komenda6'] = str_replace("[nick]", $nick, $offer[$offerId]['komenda6']);
$offer[$offerId]['komenda7'] = str_replace("[nick]", $nick, $offer[$offerId]['komenda7']);
$wiadomosc="
<html>
<body>
W twoim SMS Shopie została kupiona usługa z danymi:<br>
Nick: $nick<br />
Nazwa usługi: ".$offer[$offerId]['item_name']."<br />
Data: $data<br>
Kod do tej usługi: $check<br>
Komendy jakie zostały wpisane:<br>
1. ".$offer[$offerId]['komenda1']."<br>
2. ".$offer[$offerId]['komenda2']."<br>
3. ".$offer[$offerId]['komenda3']."<br>
4. ".$offer[$offerId]['komenda4']."<br>
5. ".$offer[$offerId]['komenda5']."<br>
6. ".$offer[$offerId]['komenda6']."<br>
7. ".$offer[$offerId]['komenda7']."<br>
<br />
</body>
</html>"; //wiadomosc jaka sie pojawi w email
$sms_code = substr($_POST['check'],0,10); // kod SMS wprowadzony w formularzu
if ($sms_code != "")
{
$sufix = substr($offer[$offerId]['code'], 0, 10); // sufiks usługi SMS
$valsms = intval($_POST['valsms']); // kwota w groszach za SMS
// sprawdzenie kodu SMS
$tablica = array();
$tablica['code'] = $sms_code;
$tablica['id'] = $id_sprzedawcy;
$tablica['sufix'] = $sufix;
$sms_server = 'https://platnosci-online.pl/sms_check.php';
$opch = curl_init();
curl_setopt ($opch, CURLOPT_URL, $sms_server);
curl_setopt ($opch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($opch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt ($opch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($opch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($opch, CURLOPT_TIMEOUT, 100);
curl_setopt ($opch, CURLOPT_POST, 1);
curl_setopt ($opch, CURLOPT_POSTFIELDS, $tablica);
$wynik = curl_exec ($opch);
curl_close ($opch);
$dane = explode("\n", $wynik);
$status = $dane[0]; // wartości 1 - OK, 0 - błąd
$amount = $dane[1]; // kwota w groszach za SMS (netto), lub numer bledu
$control = $dane[2]; // suma kontrolna
$bkey = pack('H*',$klucz_transakcyjny);
$control_test = md5($id_sprzedawcy.$sufix.$sms_code.$bkey); // oblicz sumę kontrolną transakcji
if($status == 0)
{
// Kod niepoprawny
// Kody błędów:
// jeśli zmienna $status jest równa 0:
// 1 - kod już był raz sprawdzony przez formularz użytkownika więc jest nieważny
// 2 - kod jest niewłaściwy
// 3 - SUFIKS usługi SMS nie należy do Partnera
// 4 - niewłaściwy tryb sprawdzania kodów (zdefiniowana lista kodów a sprawdzenie online)
$message = "Podany kod jest niewłaściwy lub juz wykorzystany. Kod bledu: ".$amount.". A to jest sufix".$sufix;
}
elseif($status == 1)
{
if($control_test == $control)
{
if($amount == $valsms)
{
$message = '<img src="http://upload.wikimedia.org/wikipedia/commons/4/47/Done.png" style="max-width:100px; max-height:100px;"><br>
Kod został wprowadzony poprawnie. '.$offer[$offerId]['item_name'].' został dodany na postać '.$nick.'.';
if($czy_email=="tak") mail($email, $nick.' kupił usługę', $wiadomosc, $headers1);
else echo '';
$Rcon = new MinecraftRcon;
$Rcon->Connect( MQ_SERVER_ADDR, MQ_SERVER_PORT, MQ_SERVER_PASS, MQ_TIMEOUT );
$Data = $Rcon->Command($offer[$offerId]['komenda1']);
$Data = $Rcon->Command($offer[$offerId]['komenda2']);
$Data = $Rcon->Command($offer[$offerId]['komenda3']);
$Data = $Rcon->Command($offer[$offerId]['komenda4']);
$Data = $Rcon->Command($offer[$offerId]['komenda5']);
$Data = $Rcon->Command($offer[$offerId]['komenda6']);
$Data = $Rcon->Command($offer[$offerId]['komenda7']);
$Rcon->Disconnect();
}
else
{
// nie zgadza się cena SMS
$message = "Blad ceny za SMS.";
}
}
else
{
// suma kontrolna transakcji się nie zgadza
$message = "Blad sumy kontrolnej.";
}
}
}
if(isset($message))
{
echo '<center>'.$message.'<br><a href="'.$current.$zn.'buy=item'.$offerId.'">Wróć do poprzedniej strony.</a></center>';
$erno = 1;
}
echo'</div>';
}
?>
<?php
if($_GET['buy'] != "" && $erno==0)
{
$from = "0";
$to = count($offer);
while($from < $to)
{
$from++;
if($_GET['buy'] == "item".$from)
{
?>
<!--↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓kawałek kodu odpowiedzialny za wyświetlanie tabelki z danymi do wyslania smsa i formularzem↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ -->
<div id="test" style="width: 500px; height:550px; padding: 15px; border:1px solid #ababab; margin: 0px auto;">
<form action="" method="post">
<img src="<?php echo $offer[$from]['image']; ?>" style="max-width:165px; max-height:200px;"/><div style="float:right;">Koszt: <?php echo $offer[$from]['price']; ?> PLN</div>
<center>
Aby zakupić <?php echo $offer[$from]['item_name']; ?> wyślij sms o treści: <b>MPA.<?php echo $offer[$from]['code']; ?></b> na numer <b><?php echo $offer[$from]['number']; ?></b>. Niżej wpisz otrzymany kod oraz swój nick.
<br>
Kod: <input type="text" name="check" size="10" maxlength="8">
Nick: <input type="text" name="nick" size="10" maxlength="20">
<input type="hidden" name="offer" value="<?php echo $offer[$from]['offer_type']; ?>">
<input type="hidden" name="numer" value="<?php echo $from; ?>">
<input type="hidden" name="valsms" value="">
<input type="hidden" name="sufsms" value="">
<input type="submit" name="submit" onclick="return confirm('UWAGA! Upewnij się, że postać jest zalogowana. Inaczej mogą być problemy z przyjściem przedmiotów!')" value="Kup !"/>
<br>
<?php
if(isset($offer[$from]['opis'])) echo'<div style="width:15%; padding: 15px; border:1px solid #ababab; margin: 0px auto;">'.$offer[$from]['opis'].'</div>';
?>
</form>
<br>
<br>Serwis SMS obsługiwany przez: <a href="http://platnosci-online.pl" target="_blank">Płatnosci-Online.pl</a><br>
Reklamacje składamy tutaj: <a href="http://platnosci-online.pl/reklamacja.html" target="_blank">Płatnosci-Online.pl</a><br>
Usluga SMS jest dostępna w sieci Era GSM, Plus GSM, Orange i Play.<br>
<b>Właściciel serwiu: <?php echo $wlasciciel; ?></b>
</center>
<div style="float:left;"><a href="http://www.platnosci-online.pl/regulamin_sms.html" target="_blank">Regulamin</a></div>
<div style="float:right;"><a href="<?php echo $current; ?>">Wróć do sklepu</a></div><br><br><br>
</div>
<!--↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑-->
<?php
}
}
}
$x = $_SERVER['HTTP_USER_AGENT'];
if(substr_count($x,"pera")!=0)
{ $opera = "Opera"; }
else if(substr_count($x,"MSIE")!=0)
{ $ie = "Internet Explorer"; }
else if(substr_count($x,"etscape6")!=0)
{ $netscape = "Netscape 6"; }
else if(substr_count($x,"Chrome")!=0)
{ $chrome = "Chrome"; }
else if(substr_count($x,"Firefox")!=0)
{ $mozilla = "Mozilla 1.x"; }
else if(substr_count($x,"4.7")!=0)
{ $scape = "Netscape 4.7x"; }
else
{ $br = "inna"; }
if($_GET['buy'] == "" && $erno == 0)
{
$from = "1";
$to = count($offer);
echo'<table>';
$n = 0;
$tr = false;
while($from < $to)
{
//↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓kawałek kodu odpowiedzialny za wyświetlanie usług↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
if(!($n%3) AND !$tr)
{
echo '<tr>';
$tr = true;
}
echo '
<div class="col-md-2">
<div class="panel panel-default">
<div class="panel-heading">
<h2 class="panel-title"><center><span class="label label-warning">' . $offer[$from]['item_name'] . '</span></center></h2>
</div>
<div class="panel-body" style="width: 10;">
<img src="' . $offer[$from]['image'] . '" alt="vip"><br><br>
<span class="label label-success">' . $offer[$from]['price'] . ' PLN</span>-<form method="post" action="'.$_SERVER['REQUEST_URI'].$zn.'buy=item'.$from.'">
<span class="label label-warning"><input name="item'.$from.'" type="submit" value="KUP"></span>
</form></div>
</div>';
$n++;
if(!($n%3) AND $tr)
{
echo '</tr>';
$tr = false;
}
//↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
$from++;
}
echo'</table>';
}
?>