Jump to content
  • 0

Includowanie z katalogu /interface


Question

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

Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0
  • Administrator

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
Link to post
Share on other sites
  • 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>  

 

Link to post
Share on other sites
  • 0
  • Administrator

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

Link to post
Share on other sites
  • 0
			$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

Edited by X3nO
Link to post
Share on other sites
  • 0
  • Administrator

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
Link to post
Share on other sites
  • 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.';
		}
	}

 

Link to post
Share on other sites
  • 0
  • Administrator

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Dołącz do pierwszego newslettera Invision Community

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

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.