Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano (edytowane)

Cześć, probowałem zrobić swój pierwszy plugin do IPS4, ktory by przechwytywal kupiona rzecz i wsadzal lkey, username itp. do mysql. Ale kod mi nie dziala, prosze o pomoc.

<?php
$ip = "localhost";
$username = "root";
$password = "";
$dbname = "auth";

/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
	exit;
}

class hook
{
	public function onPurchaseGenerated( \IPS\nexus\Purchase $purchase, \IPS\nexus\Invoice $invoice )
    {
	try
	{
			try
			{
			    {
						if ($purchase->get__title == "PREMIUM V4") {
							$conn = new mysqli($ip, $username, $password, $dbname, 3306);
							$getid = $conn->query('SELECT ID FROM FinalAuth ORDER BY ID DESC LIMIT 1');
							$row = $getid->fetch_assoc();
							$newid = $row['ID'] + 1;
							$userid = $purchase->member->member_id;
							$checkusername = $conn->query("SELECT USERNAME FROM FinalAuth WHERE USERNAME='$userid'");
							$username_exist = $checkusername->num_rows;
							if($username_exist =< 1) {
								echo "username: '$userid' exist";
								return false;
							} else {
							$token = $purchase->licenseKey;
							$checktoken = $conn->query("SELECT LKEY FROM FinalAuth WHERE LKEY='$token'");
							$token_exist = $checktoken->num_rows;
							if($token_exist =< 1) return echo "token for user: '$userid' exist";
							$sql = "INSERT INTO FinalAuth (ID, LKEY, USERNAME, HWID) VALUES ('$newid', '$token', '$userid', '')";
						}
						if ($conn->query($sql) === TRUE) {
							echo 'added for '$username'';
						} else {
		    				echo "Error: " . $sql . "<br>" . $conn->error;
						}
				return parent::onPurchaseGenerated( $purchase, $invoice );
				$conn->close();
		    	} else {
		    		throw $e;
		    	}
			}
		}
		catch ( \RuntimeException $e )
		{
			if ( method_exists( get_parent_class(), __FUNCTION__ ) )
			{
				return \call_user_func_array( 'parent::' . __FUNCTION__, \func_get_args() );
			}
			else
			{
				throw $e;
			}
		}
	}
	catch ( \RuntimeException $e )
	{
		if ( method_exists( get_parent_class(), __FUNCTION__ ) )
		{
			return \call_user_func_array( 'parent::' . __FUNCTION__, \func_get_args() );
		}
		else
		{
			throw $e;
		}
	}
  }
}

 

Edytowane przez hamsterofficial
Opublikowano (edytowane)

Czemu dwa razy jest "try"?

 

class hook
{
	public function onPurchaseGenerated( \IPS\nexus\Purchase $purchase, \IPS\nexus\Invoice $invoice )
    {
	try
	{
						if ($purchase->get__title == "PREMIUM V4") {
							$conn = new mysqli($ip, $username, $password, $dbname, 3306);
							$getid = $conn->query('SELECT ID FROM FinalAuth ORDER BY ID DESC LIMIT 1');
							$row = $getid->fetch_assoc();
							$newid = $row['ID'] + 1;
							$userid = $purchase->member->member_id;
							$checkusername = $conn->query("SELECT USERNAME FROM FinalAuth WHERE USERNAME='$userid'");
							$username_exist = $checkusername->num_rows;
							if($username_exist =< 1) {
								echo "username: '$userid' exist";
								return false;
							} else {
							$token = $purchase->licenseKey;
							$checktoken = $conn->query("SELECT LKEY FROM FinalAuth WHERE LKEY='$token'");
							$token_exist = $checktoken->num_rows;
							if($token_exist =< 1) return echo "token for user: '$userid' exist";
							$sql = "INSERT INTO FinalAuth (ID, LKEY, USERNAME, HWID) VALUES ('$newid', '$token', '$userid', '')";
						}
						if ($conn->query($sql) === TRUE) {
							echo 'added for '$username'';
						} else {
		    				echo "Error: " . $sql . "<br>" . $conn->error;
						}
				return parent::onPurchaseGenerated( $purchase, $invoice );
				$conn->close();
			}
	}
	catch ( \RuntimeException $e )
	{
		if ( method_exists( get_parent_class(), __FUNCTION__ ) )
		{
			return \call_user_func_array( 'parent::' . __FUNCTION__, \func_get_args() );
		}
		else
		{
			throw $e;
		}
	}
  }
}

 

Edytowane przez maxerxxl
Opublikowano
Teraz, DawPi napisał:

To dwa razy "try" to norma - przy eksporcie pluginu tak jest.

Teraz pytanie - co dokładnie nie działa?

Właśnie nie wiem, żadnych errorów, ani nic, na czystym php (nie jako plugin) wszystko dziala, a to mialo sie wykonywac tylko przy kupowaniu przedmiotu ze sklepu.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.