Skocz do zawartości
  • Zarejestruj się
  • 0
X3nO

Includowanie z katalogu /interface

Pytanie

Witam, mógłbym poprosić o przykład includowania pliku z katalogu interface w frontowym module? Z góry dzięki za odpowiedź.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Polecane posty

  • 0

Ale gdzie w szablonie, czy w kodzie?

W szablonie możesz dać takie coś:

{url="applications/core/interface/html5shiv/html5shiv.js" base="none" protocol="\IPS\Http\Url::PROTOCOL_RELATIVE"}

a w php

include( \IPS\ROOT_PATH . "/applications/.../interface/plik" );

 

  • Thanks 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
21 minut temu, Spanner napisał:

Ale gdzie w szablonie, czy w kodzie?

W szablonie możesz dać takie coś:


{url="applications/core/interface/html5shiv/html5shiv.js" base="none" protocol="\IPS\Http\Url::PROTOCOL_RELATIVE"}

a w php


include( \IPS\ROOT_PATH . "/applications/.../interface/plik" );

 

Dziękuję, jeszcze mam jedno szybkie pytanko, jak zrobić ukryte inputy w formularzu oraz jak ustawić akcje formularza na zewnętrzny serwer?

Przykład:

<form method="post" name="paysafecard" action="https://www.rushpay.pl/api/psc/">
	<input type="hidden" name="userid" value="1">
	<input type="hidden" name="shopid" value="1">
	<input type="submit" value="Zapłać">
</form>  

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

To ma być bramka płatności czy formularz do wypełnienia przez usera?

bo na obiekcie formularza \IPS\Helper\Form możesz dać takie coś:

$form->hiddenValues['name'] = 'value';

a tworząc obiekt formularza możesz jako 3 parametr przekazać adres dla action

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
Napisano (edytowany)
			$form = new \IPS\Helpers\Form( NULL, 'Zapłać', \IPS\Http\Url::external( "https://www.rushpay.pl/api/psc/" ) );
			$form->hiddenValues['userid'] = \IPS\Settings::i()->panel_payaments_userid;
			$form->hiddenValues['shopid'] = '999';
			$form->hiddenValues['return_ok'] = \IPS\Http\Url::internal( "app=panel&module=main&controller=account&do=pscWallet&status=ok", 'front', 'main' );
			$form->hiddenValues['return_fail'] = \IPS\Http\Url::internal( "app=panel&module=main&controller=account&do=pscWallet&status=fail", 'front', 'main' );
			$form->hiddenValues['url'] = \IPS\Http\Url::internal( "app=panel&module=main&controller=account&do=pscWallet", 'front', 'main' );
			$form->hiddenValues['description'] = 'Jakiś opis ;c';
			$form->hiddenValues['control'] = \IPS\Member::loggedIn()->member_id;
			$form->hiddenValues['hash'] = md5(\IPS\Settings::i()->panel_payaments_userid . 'hash' . $amount);
			$form->add( new \IPS\Helpers\Form\Text('amount') );

W ten sposób mam to dodać?

Przechwytywanie.thumb.PNG.b9b6fae3540c952652a1e2d93b12ff7e.PNG

Tak, ten skrypt ma działać jako bramka płatności PaySafeCard za pośrednictwem RushPay.pl

Edytowano przez X3nO

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Działa. w 2 linijkach masz jakieś dziwne białe znaki:

$form->hiddenValues['return_fail'] = \IPS\Http\Url::internal( "app=panel&module=main&controller=account&do=pscWallet&status=fail", 'front', 'main' );
$form->hiddenValues['url'] = \IPS\Http\Url::internal( "app=panel&module=main&controller=account&do=pscWallet", 'front', 'main' );

jak usunąłem to co jest po średniku i sam średnik i dodałem go jeszcze raz to wszystko śmiga

  • Thanks 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Dziękuję, mam jeszcze pytanko, jak odebrać $_POST z zewnętrznego formularza?

     if(isset($_GET['checkPayment']) && $_POST['status']) {
            ob_clean();
            $psc->validate_ipn();
            $psc->validate_user($config, $_POST);

        /*
            rushpay prześle metodą post pod zdefiniowany link url w formularu
            pakiet pakietów. 
        
            status      => Status płatności TRUE i FALSE
            test        => transakcja testowa = true, produkcja = false
            userid      => id przyjmującego płatność
            pid         => Unikalny numer transakcji 
            mtid        => Unikalny numer transakcji w PSC
            control     => Pole dla sklepu, umożliwiające m.in zapisanie sesji
            amount      => Wartość zamówienia (kuponu PSC)
            description => Opis płatności zdefiniowany w fomrmularzu
            hash        => Indywidualna suma kontrolna w md5()
        */

        /* 
            Przykład zastosowania
        */
            if($_POST['status'] == TRUE) { 
                // dalsza część kodu 
                // np. zapytanie mysql
                // SELECT * FROM `payments` WHERE `control` = $_POST['control']
            }

            exit('OK');
     } 

Próbowałem zrobić tak ale mam błąd w panelu RushPay (Twój skrypt nie zwrócił komunikatu "OK") :

	public function pscWallet()
	{
	    global $panel;
		if ( \IPS\Settings::i()->panel_payaments_type == 'rushpay') { //Only RushPay.pl
			/* RushPay.pl PaySafeCard API */

            include( \IPS\ROOT_PATH . "/applications/panel/interface/mpsc.php" );
            $psc = new \IPS\panel\mpsc\mPaySafeCard;

            if(isset(\IPS\Request::i()->checkPayment) && \IPS\Request::i()->status) {
                $psc->validate_ipn();
                $psc->validate_user(\IPS\Settings::i()->panel_payaments_userid, \IPS\Request::i()->userid);

                if(\IPS\Request::i()->status == TRUE) {
                    \IPS\Db::i('samp_db')->update( 'Players', array( 'Gold' => ($panel->gPlayerInfo('Gold', \IPS\Request::i()->control) + $values['amount']) ), array( 'Name=?', $panel->gSamp(\IPS\Request::i()->control) ) );
                }

                \IPS\Output::i()->sendOutput( 'OK' );
                exit();
            }

			$amount = 10;

            $form = new \IPS\Helpers\Form( NULL, "Doładuj", \IPS\Http\Url::external( "https://www.rushpay.pl/api/psc/" ) );
			$form->hiddenValues['userid'] = \IPS\Settings::i()->panel_payaments_userid;
			$form->hiddenValues['shopid'] = '125';
			$form->hiddenValues['return_ok'] = \IPS\Http\Url::internal( "app=panel&module=main&controller=account&do=pscWallet&status=ok", 'front', 'main' );
			$form->hiddenValues['return_fail'] = \IPS\Http\Url::internal( "app=panel&module=main&controller=account&do=pscWallet&status=fail", 'front', 'main' );
			$form->hiddenValues['url'] = \IPS\Http\Url::internal( "app=panel&module=main&controller=account&do=pscWallet", 'front', 'main' );
			$form->hiddenValues['description'] = 'Jakiś opis ;c';
			$form->hiddenValues['control'] = \IPS\Member::loggedIn()->member_id;
			$form->hiddenValues['hash'] = md5(\IPS\Settings::i()->panel_payaments_userid . '###' . $amount);
			$form->add( new \IPS\Helpers\Form\Text('amount') );

			\IPS\Output::i()->output = $form;
		} else {
			\IPS\Output::i()->output = 'Opcje płatności są obecnie wyłączone.';
		}
	}

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Ja normalnie mam stworzony pliczek i $_POST'em przyjmuje parametry i działa. Musisz podać poprawny adres itp

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

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

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×

Ważne informacje

W celu świadczenie usług przez nasz Serwis na najwyższym poziomie, w ramach Serwisu wykorzystujemy pliki Cookies (tzw. ciasteczka). Korzystając ze stron Serwisu IPSBEYOND.PL bez zmiany ustawień przeglądarki będą one zapisane w pamięci urządzenia. Jeżeli nie dokonacie Państwo zmiany ustawień przeglądarki internetowej to wyrażacie zgodę na zapisywanie plików Cookies.