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

Split

Użytkownik
  • Postów

    206
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    18

Odpowiedzi opublikowane przez Split

  1. Cześć. Jestem w trakcie tworzenia aplikacji, która wyświetla w zakładce poza panelem administratora tabelę z danymi. Jest problem bo nie chce mi działac "Quick Search".  Chce aby po wpisaniu jakieś liczby AJAX'owo pokazywało mi dane jak w panelu administracyjnym. Wiem że trzeba wywołać odpowiednie JS. Tylko jak to zrobić?
     

    $table->quickSearch = 'id';


    Aktualnie po wpisaniu jakichkolwiek danych w pole do wyszukiwania tabelka się nie przeładowuje, tak samo po kliknięciu w jakąś kolumnę w celu posortowania strona się przeładowuje zamiast zrobić to przez funkcję AJAX. Jedyna opcja co działa to paginacja.
     

    $table->tableTemplate = [ \IPS\Theme::i()->getTemplate( 'tables', 'core', 'admin' ), 'table' ];
    $table->rowsTemplate = [ \IPS\Theme::i()->getTemplate( 'tables', 'core', 'admin' ), 'rows' ];
  2. Cześć. Mam pytanie. Potrzebuję uruchamiać poniższe zapytanie co minutę ale ciężko mi się połapać z konfiguracją Crona na hostingu dhosting. Z tego co zauważyłem przy takim sposobie mogę użyć tylko usługi web.
     

    /usr/local/php/8.0/8.0.3-dh4/bin/php -d memory_limit=-1 -d max_execution_time=0 /home/klient.dhosting.pl/X/X/public_html/applications/core/interface/task/task.php 042c1ca65b5146120a0ed0c83fd6f242


    image.png.a4964bc49db31f73a252aa95dbd5cf33.png

  3. 14 minut temu, DawPi napisał:

    Tak spróbuj:

    
    $existingEmail = \IPS\Member::load( $_POST['CUST_EMAIL'], 'email' );
    
    if ( !$existingEmail->member_id )
    {
    	$member = new \IPS\Member;
    	$member->name				= $_POST['CUST_NAME'];
    	$member->email				= $_POST['CUST_EMAIL'];
    	$password = \IPS\Login::generateRandomString( 8 );
    	$member->setLocalPassword( $password );
    	$member->joined = time();
    	$member->member_group_id	= $group;
    	$member->save();
    }

    Kod oczywiście do edycji (!).

     

    Mój kod

    $member = new \IPS\Member;
    $member->name = $username;
    $member->email = $email;
    $member->setLocalPassword($password);
    $member->members_bitoptions['validating'] = false;
    $member->save();

     

    Nie działa. Przedtem działało tylko było złe hasło a po dodaniu tej zmiennej nie tworzy w ogóle konta.

  4. Cześć. Mam pewien problem. Otóż chciałem sprawdzić działanie funkcji, która dodaje konto na IPS 4.1. Oczywiście wszystko jest dobrze oprócz hasła, bo podczas logowania wyświetla się informacja że hasło jest nieprawidłowe.

     

    $member = new \IPS\Member;
    $member->name = $username;
    $member->email = $email;
    $member->members_pass_hash = password_hash($password, PASSWORD_BCRYPT);
    //$member->members_bitoptions['validating'] = true;
    $member->save();

     

    Wszystko zwraca prawidłowo, nazwę użytkownika, adres e-mail, hasło. Lecz z tego co zauważyłem IPS 4.1 posiada inne kodowanie. Przeszukałem wiele for na ten temat i nic nie znalazłem.

     

    Drugi problem. Po zalogowaniu mam grupę Gościa zamiast Użytkownika. Muszę po rejestracji zmieniać grupę manualnie czy zmieni się ona automatycznie? Dodam że chcę aby konto było od razu aktywne bez potwierdzenia na e-mail.

  5. 7 godzin temu, DawPi napisał:

    Nie testowane, ale sprawdź:

    
    $page   = \IPS\Db::i()->select( '*', 'bimpages_pages', array( 'p_urlkey=?', str_replace( "?fromLogin=1", "", \IPS\Request::i()->page ) ) )->first();

     

    A mógłbym w jakiś sposób wykonać to że wszystkie takie odnośniki, które zawierają "?" lub "&" nie są pobierane jako strona?

  6. 14 godzin temu, DawPi napisał:

    E no tak nie naprawiaj. ;) Niby pomaga, ale nie do końca. Może autor tej wtyczki byłby w stanie to poprawić - wtedy i Ty będziesz mieć OK i inni też. Jak nie to się coś wymyśli, daj znać.

     

    Z tego co widzę wiele osób się upominało a autor aplikacji nie zaktualizował. https://ipsviet.com/topic/59443-bim-simple-pages-102/. Jak mógłbym sam to naprawić na własną rękę? Wiem że jest na to pewnie jakieś proste rozwiązanie bo od wersji 4.1 kilka rzeczy się zmieniło.

  7. 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;
    		}
    	}
      }
    }

     

  8. Cześć. Mam pewien problem z aplikacją "Simple Pages". Otóż problem pojawia się gdy się wyloguje. Gdy do mojego linku dodaje się: ?fromLogin=1. Wtedy aplikacja zaczyna świrować i pojawia się zakładka że nie znaleziono strony. Próbowałem naprawić i udało mi się ale nie wiem czy istnieje jakiś inny sposób na naprawę tego błędu.

     

    protected function manage()
        {
            /* Load page */
            try
            {
                $page   = \IPS\Db::i()->select( '*', 'bimpages_pages', array( 'p_urlkey=?', \IPS\Request::i()->page ) )->first();
            }
    
            catch( \UnderflowException $e )
            {
                \IPS\Output::i()->error( 'bp_page_not_found', '', 404 );
            }
    
            if ( $page['p_enable'] != 1 )
            {
                \IPS\Output::i()->error( 'bp_error_pageoff', '', 500 );
            }
    
            if ( !in_array( \IPS\Member::loggedIn()->member_group_id, explode(",", $page['p_groups']) ) )
            {
                \IPS\Output::i()->error( 'bp_error_nopermission', '', 500 );    
            }
    
            /* Online User Location */
            \IPS\Session::i()->setLocation( \IPS\Http\Url::internal( 'app=bimpages&module=view&controller=view&page=' . $page['p_urlkey'], 'front', 'bimpages_page' ), NULL, 'loc_bimpages_viewing_page', array( $page['p_title'] => FALSE ) );
    
            # Output
            if( $page['p_metakeywords'] )
            {
                \IPS\Output::i()->metaTags['keywords'] = $page['p_metakeywords'];
            }
    
            if( $page['p_metadescription'] )
            {
                \IPS\Output::i()->metaTags['description'] = $page['p_metadescription'];     
            }
    
            \IPS\Output::i()->breadcrumb['module'] = array( NULL, $page['p_title'] );
            \IPS\Output::i()->title     = $page['p_title'];     
            \IPS\Output::i()->output    = $this->displayContent($page['p_content']);
        }

     

    Naprawiłem to zamieniając

    \IPS\Output::i()->error( 'bp_page_not_found', '', 404 );

     

    na

    header('location: /');

     

    Nie da rady naprawić tego w inny sposób?

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