Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

PHP & TXT Widget


Mateusz_K

Rekomendowane odpowiedzi

Cześć wszystkim,

próbuję zrobić w PHP & TXT Widget szybki panel logowania na podstronie. 

Mam pewną strukturę kodu, ale niestety nie działa ona i nie wiem co trzeba jeszcze poprawić, żeby to ruszyło. Tutaj jest kod : 

<?php
$template1 = \IPS\Theme::i()->getTemplate( 'system', 'core', 'front' )->loginForm( $login );
$login = new \IPS\Login( \IPS\Http\Url::internal( "app=core&module=system&controller=login", 'front', 'login' ) );
$exp1 = \IPS\Session::i()->csrfKey;
 
$szablon = <<<HTML
    <form accept-charset='utf-8' method='post' action='{$login->url}' data-controller="core.global.core.login" class='ipsBox_alt'>
    <input type="hidden" name="csrfKey" value="{$exp1}">
HTML;
 
    if ($ref){
       $szablon .=  <<<HTML
            <input type="hidden" name="ref" value="{$ref}">
HTML;
    }
 
    if (!\IPS\Request::i()->isAjax()){
$szablon .=  <<<HTML
        <div class="ipsSpacer_both">
            <h1 class='ipsType_reset ipsType_veryLarge ipsType_center'></h1>
HTML;
 
            if (\IPS\Login::registrationType() != 'disabled'){
$szablon .=  <<<HTML
                    <p class='ipsType_reset ipsType_large ipsType_center ipsType_light'>
HTML;
                    if (\IPS\Login::registrationType() == 'redirect'){
                        $exp2 = \IPS\Settings::i()->allow_reg_target;
                        $szablon .=  <<<HTML
                             <a href='{$exp2}' target="_blank">
HTML;
                    }
                        $szablon .=  <<<HTML
                              <a href='{url="app=core&module=system&controller=register" seoTemplate="register"}' 
HTML;
if (\IPS\Login::registrationType() == 'normal'){  $szablon .=  <<<HTML
                              data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title=''
HTML;
 } $szablon .=  <<<HTML
    >
HTML;
                    }
                   $szablon .=  <<<HTML
                        </a>
                </p>
HTML;
            }
        $szablon .=  <<<HTML
            </div>
HTML;
    }
    $usernamePasswordMethods = $login->usernamePasswordMethods();
    $buttonMethods = $login->buttonMethods();
    if ($usernamePasswordMethods and $buttonMethods){
        if ($error){
           $szablon .=  <<<HTML
               <div class="ipsMessage ipsMessage_error"></div>
HTML;
        }
        $szablon .=  <<<HTML
            <div class='ipsColumns ipsColumns_collapsePhone'>
            <div class='ipsColumn ipsColumn_fluid'>
                <div class='
HTML;
if (!\IPS\Request::i()->isAjax()){ ipsBox } $szablon .=  <<<HTML
    ipsPad  '>{$template1}
                </div>
            </div>
            <div class='ipsColumn ipsColumn_veryWide'>
                <div class='
HTML;
           if (!\IPS\Request::i()->isAjax()){ipsBox} $szablon .=  <<<HTML
 ipsPad'>
                    <h2 class='ipsType_sectionHead'></h2>
HTML;
 
                    if (count( $buttonMethods ) > 1){
                        $szablon .=  <<<HTML
                        <p class='ipsType_normal ipsType_reset ipsType_light'></p>
HTML;
                    }
                    foreach ($buttonMethods as $method){
                        $szablon .=  <<<HTML
                            <div class='cLogin_social ipsType_center'>
                            {$method->button()}
                        </div>
HTML;
                    }
            $szablon .=  <<<HTML  
                 </div>
            </div>
        </div>
HTML;
    elseif ($usernamePasswordMethods){
        $szablon .=  <<<HTML
           <div class='cLogin_single ipsPos_center'>
HTML;
          if ($error){
           $szablon .=  <<<HTML
               <p class="ipsMessage ipsMessage_error"></p>
HTML;
        }
          $szablon .=  <<<HTML
             <div class="
HTML;
        if (!\IPS\Request::i()->isAjax()){ipsBox} $szablon .=  <<<HTML
 ipsPad">
                {$template1}
            </div>
        </div>
HTML;
    elseif ($buttonMethods){
        $szablon .=  <<<HTML
        <div class="cLogin_single ipsPos_center">
HTML;
            if ($error){
               $szablon .=  <<<HTML
                   <p class="ipsMessage ipsMessage_error"></p>
HTML;
            }
            foreach ($buttonMethods as $method){
               $szablon .=  <<<HTML
                    <div class='ipsPad_half ipsType_center'>
                    {$method->button()}
                </div>
HTML;
            }
        $szablon .=  <<<HTML
        </div>
HTML;
    }
$szablon .=  <<<HTML
    </form>
HTML;
 
echo $szablon;
?>

Z góry dzięki za odpowiedź.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
4 godziny temu, Mateusz_K napisał:

ale niestety nie działa ona

Kod mamy, teraz co nie działa? Jakiś adres tej podstrony?

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

No właśnie nic się nie wyświetla, a nie wiem gdzie siedzi błąd w kodzie. 

Bo testowałem ogólnie zapis typu

$test = <<<HTML
               <p>Test</p>
HTML;

echo $test;

i wyświetlił się napis Test, więc ogólny format jest okej. 

Także moje pytanie, czy ktoś się orientuje gdzie leży błąd w kodzie ? 

Odnośnik do komentarza
Udostępnij na innych stronach

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ę.