-
Postów
206 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
18
Typ zawartości
Profile
Forum
Pliki
Galeria
Blogi
Sklep
Wydarzenia
Odpowiedzi opublikowane przez Split
-
-
Jaką użyłeś komende do nadania uprawnień?
-
Cześć. Mam pewien problem. Otóż w jaki sposób mogę pobierać artykuły z jakiegoś działu na forum a nie z jakieś bazy danych w panelu administracyjnym?
-
Problem rozwiązany. Okazuje się że w katalogu wstecz nie może być ten sam silnik forum.
- 1
-
xampp. Wersja 4.4.3 działała mi bez zarzutów. Zainstalowałem od nowa wersję 4.4.4 i błąd się pojawia. Wersja PHP 7.3.
-
Cześć. Mam pewien problem. Otóż zainstalowałem sobie na localhost IPS 4. Problem pojawia się gdy wchodzę w obojętnie jaką zakładkę i nawet na stronie głównej. Do adresu url dodaje się takie coś: ?ct=1562162127 i to zmienia numerki. Czyli wygląda to tak na stronie głównej: localhost/?ct=1562162127. Jak mogę to naprawić? IPS 4 jest oryginalny z Client Area.
-
Usuń plik .htaccess w głównym katalogu forum jeżeli posiadasz i sprawdź czy działa. Zrób kopię tego pliku przed usunięciem.
-
Jakie pliki? Możesz mi podać? Z góry dzięki.
-
A jest wiadome jakie pliki zostały zmienione? Nie chce wgrywać na nowo plików bo się boję że coś pójdzie nie tak ?
-
18 minut temu, aXen napisał:
Niedawno poruszałem ten temat na forum IPSu.
Rozwiązanie to wgrać na nowo całą paczkę bez pliku konfiguracyjnego i uruchomić ręcznie aktualizację przez link
twojastrana.pl/admin/upgrade
Z wersji 4.4.3 do 4.4.3.
Posiadam najnowszą wersję z IPS 4.4.3 świeżo zainstalowaną, nic nie aktualizowałem.
-
Cześć. Mam pewien problem z tłem na forum w profilach użytkowników. Od jakiegoś czasu użytkownicy skarżą się że swojego tła nie widzą a pozostałych widzą tła na profilach. Co może być problemem?
-
Ok dzięki. Problem rozwiązany.
-
@DawPi Czyli to odpowiada za wysyłkę e-maila?
$this->_sendWelcomeEmail();
-
Cześć. Napisałem sobie ostatnio kod na rejestrację IPS na innej stronie. Ustawiłem że konto jest nie aktywne i musi osoba potwierdzić je klikając w link na e-mailu. Zrobiłem funkcję, która generuje kod aktywacyjny:
function _Validating($member) { \IPS\Db::i()->delete('core_validating', ['member_id=? and new_reg=1', $member->member_id]); \IPS\Db::i()->insert('core_validating', [ 'vid' => md5($member->members_pass_hash . \IPS\Login::generateRandomString()), 'member_id' => $member->member_id, 'entry_date' => time(), 'new_reg' => 1, 'ip_address' => $member->ip_address, 'user_verified' => false, 'spam_flag' => false, 'email_sent' => time(), 'do_not_delete' => false ]); }
Wszystko działa jak należy, tylko że podczas pierwszego logowania wyskakuje żebym potwierdził konto ale na poczcie nic nie przychodzi. Muszę klikać przycisk "Wyślij ponownie link aktywacyjny". Chciałbym żeby od razu wysłało ten link aktywacyjny.
Kod od rejestracji:
$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(); _Validating($member);
Z góry dziękuję za pomoc.
-
Hej. Myślę że ten temat Ci pomoże. Miałem podobny problem.
Użyj: https://invisioncommunity.com/developers/docs/development/extensions/coremembersync-r147/
-
Ok dzięki. Problem rozwiązany.
-
Ok dzięki za pomoc. A wiesz może w jaki sposób mogę wyłączyć stronę przez plik php? Bo chciałbym zrobić że jak zewnętrza baza danych nie będzie odpowiadać to forum ma być niedostępne.
-
Jeszcze mam ostatnie pytanie. Jak jest zdefiniowane połączenie z zewnętrzną bazą danych jeżeli ustawię połączenie w kategorii Logowanie i rejestracja kont?
\IPS\Db::i('external_database')
-
Po odnowieniu licencji możesz ją przetransferować. Zależy czy jest możliwość transferu bo chyba jak licencja została wcześniej przeniesiona na inne konto to teraz to już nie będzie możliwości, trzeba z IPS się dogadywać.
-
12 godzin temu, Da Ruś napisał:
Metoda \IPS\Task nie posiada konstruktora, więc nie możesz użyć $this.
PS: Nie musisz przypisywać połączenia do zmiennej, jęsli używasz \IPS\Db, ustawiłeś połączenie i identyfikator na 'external', więc w każdym zapytaniu używaj \IPS\Db::i('external'), to jest Twoja 'zmienna' identyfikująca właśnie to połączenie.
Czy podczas wykonywania zapytania muszę dodawać warunek czy istnieje połączenie czy po prostu jeżeli nie połączy się z inną bazą danych to nie wyświetli błędu?
$connection = \IPS\Db::i('test'); if (isset($connection)) { $connection->insert('users', array( 'id' => $member->member_id, 'username' => $member->name, 'email' => $member->email, 'password' => $member->members_pass_hash, 'ip' => $member->ip_address, )); }
-
55 minut temu, maxerxxl napisał:
Bardzo dziękuję Ci za pomoc. To był mój błąd bo zamiast stworzyć aplikację stworzyłem hook. A teraz utworzyłem ją uruchomiłem dodatek Membersync i tam wprowadziłem w odpowiedniej funkcji kod. Problem rozwiązany.
Jednak mam jeszcze jedno pytanie. Dlaczego wywala mi błąd z tego pliku gdzie mam połączenie do zewnętrznej bazy danych?
<?php /** * @brief serverSync Task * @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a> * @copyright (c) Invision Power Services, Inc. * @license https://www.invisioncommunity.com/legal/standards/ * @package Invision Community * @subpackage serversync * @since 28 Apr 2019 */ namespace IPS\serversync\tasks; /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } /** * serverSync Task */ class _serverSync extends \IPS\Task { public $_connection; public function _getConnection() { return $this->_connection; } /** * Execute * * If ran successfully, should return anything worth logging. Only log something * worth mentioning (don't log "task ran successfully"). Return NULL (actual NULL, not '' or 0) to not log (which will be most cases). * If an error occurs which means the task could not finish running, throw an \IPS\Task\Exception - do not log an error as a normal log. * Tasks should execute within the time of a normal HTTP request. * * @return mixed Message to log or NULL * @throws \IPS\Task\Exception */ public function execute() { try { $this->_connection = \IPS\Db::i('external', array( 'sql_host' => 'xxx', 'sql_user' => 'xxxx', 'sql_pass' => 'xxx', 'sql_database' => 'xxx', 'sql_port' => 3306, 'sql_socket' => '/var/lib/mysql.sock', 'sql_utf8mb4' => true, )); } catch( \IPS\Db\Exception $e ){} } /** * Cleanup * * If your task takes longer than 15 minutes to run, this method * will be called before execute(). Use it to clean up anything which * may not have been done * * @return void */ public function cleanup() { } }
Błąd
Using $this when not in object context
-
W dniu 27.04.2019 o 14:19, DawPi napisał:
Otwórz logi w ACP i wklej pełną treść tego błędu.
Bardzo dziękuję Ci za pomoc. To był mój błąd bo zamiast stworzyć aplikację stworzyłem hook. A teraz utworzyłem ją uruchomiłem dodatek Membersync i tam wprowadziłem w odpowiedniej funkcji kod. Problem rozwiązany.
-
35 minut temu, DawPi napisał:
Edytowałem.
Zdaje mi się że tak.
-
Przy developer mode błąd:
Call to undefined method IPS\Member::loggedIn()
Kod:
//<?php /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { exit; } namespace IPS; class hook22 extends \IPS\Patterns\ActiveRecord { private $connection; public function __construct() { $this->connection = new PDO('mysql:host=xxx;dbname=xxxx;charset=utf8', 'xxxx', 'xxxx'); } /** * Member account has been created * * @param $member \IPS\Member New member account * @return void */ public function onCreateAccount($member) { $query = $this->connection->prepare('INSERT INTO og_users SET id = ?, username = ?, email = ?, password = ?, ip = ?, added = DATE_FORMAT(FROM_UNIXTIME(?), "%Y-%m-%d %H:%i:%s")'); $query->execute(array( $member->member_id, $member->name, $member->email, $member->members_pass_hash, $member->ip_address, $member->joined )); } }
-
1 minutę temu, DawPi napisał:
I co cały kod jaki napisałeś do tego moda?
Nie rozumiem
IPS Pages - pobieranie artykułów z danego działu
w Ogólny support IPS4
Opublikowano
Jednak już nie aktualne. Dzięki za pomoc.