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

Ptasior

Użytkownik
  • Postów

    31
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Ptasior

  1. Miałeś racje, faktycznie w sufiksie grupy brakowało zakończenia tagu <b>. Dzięki wielkie, temat do zamknięcia.
  2. Od pewnego momentu zauważyłem, że na forum mam rozwalone "najnowsze tematy" w sidebarze, pierwszy temat od góry jest w porządku, a reszcie tak jakby brakuje marginesu. Co później odkryłem to to: W szablonie nic z tych rzeczy nie ma, a jedyne co mi się nasunęło patrząc na szablon hook'a recentTopics to to, że szablonowy <foreach> dodaje te tagi <b>. Macie jakieś pomysły?
  3. Zawsze można za pomocą jquery to zrobić. Jeśli np. chciałbyś dodać ten czerwony "kwadracik" w zakładce aplikacji(w głównym menu nawigacyjnym ipb) - z tego rozwiązania korzysta np. IPS Shoutbox.
  4. Witajcie. Przeniosłem wczoraj moje ipb ze zwykłego hostingu www na serwer vps. Na samym początku gdy na forum weszło ponad 100 osób nie dało się nic zrobić, zużycie pamięci ram drastycznie wzrastało do 100% co w zasadzie jest nie możliwe, ponieważ serwer ma 2gb ramu z czego pasywnie używa około 400mb. Po pewnym czasie udało mi się poprawić konfigurację apache i forum zaczęło hulać. Aktualnie wszystko chodzi w miarę ładnie, aczkolwiek martwi mnie czas generowania stron(0.09 - 0.6, gdzie na hostingu maksymalnie wynosił 0.04-0.06). Najciekawsze jest "zamrażanie" się apache po wgraniu jakiegoś hooka czy dokonania zmiany w stylu(zużycie pamięci wzrasta do ~90%). Wychodzę z pytaniem do was - co może być nie tak? Może powinienem zmienić apache na np. nginxa? Pozdrawiam, Tomek. @down Wybaczcie.
  5. Rozwiązałem ten problem tworząc rozszerzenie, którym rozszerzyłem sobie metodę _viewModern() z klasy public_members_profile_view dodające: $this->registry->output->addJSModule('game', 0); Gdybyście mieli lepsze rozwiązanie to zamieniam się w słuch.
  6. Cześć. Napisałem sobie taki prosty moduł ips.game.js, który odpowiada za wyświetlanie popupów itd. Chciałbym go jednak użyć w moim szablonie rozszerzającym profileTabs, a jak wiadomo kolejne zakładki w profilach wczytywane są za pomocą ajax i żadne parse module czy addModule nie działa(albo po prostu nie umiem użyć ). Jak mogę osiągnąć taki efekt?
  7. No wlasnie, wczoraj wpadlem na pomysl przeslonienia calej metody i w sumie siwetnie to dziala, oczywiscie z tym minusem, ze wszystko zapewne posypie sie po update, aczkolwiek nie jest to jakas straszna przeszkoda. Jedyne co mnie zastanawia to to, ze w template hook'u musze przeprowadzic walidacje aby wysiwetlac bledy w formularzu, a w overloadzie przeprowadzam walidacje, aby blokowac wykonanie sie rejestracji. Dzieki za pomoc, temat mozna zamknac.
  8. Właśnie to napisałem. Aktualnie mam coś takiego: <?php class tpRegisterPaymentOverloader extends public_core_global_register { public function registerProcessForm() { $this->registry->class_localization->loadLanguageFile( array( 'public_d3elite' ), 'd3elite' ); /* Mod is enabled? */ if ( $this->settings['tp_regp_enable'] == 0 ) { return; } if( strlen($this->request['serviceCode']) < 8 ) { $form_errors['code'] = $this->lang->words['tp_regp_error_code_minlength']; } else { $form_errors['code'] = $this->lang->words['tp_regp_error_code_wrong']; } parent::registerProcessForm(); } } lecz nadal $form_errors nie zawiera błędu(sprawdzam przy użyciu var_dump w register.php).
  9. Czytając jeszcze temat na oficjalnym forum invisionize, doszukałem się informacji o tych action overloader'ach i jeśli dobrze rozumiem, to aby to rozszerzenie formularza działało poprawnie to muszę użyć dwóch hook'ów, tak? Jednego template hook'a oraz action overloader'a aby przeprowadzić walidacje formularza. @edit: ups.
  10. Tak, o tym 'zahaczającym', dokładniej przed if'em "hasCfields".
  11. Ostatecznie stwierdziłem, że rozszerzenie formularza rejestracji będzie najłatwiej osiągalne za pomocą hook'a. Wszystko ładnie pięknie do momentu kiedy muszę walidować pola, które dodałem. Niby można to obsłużyć bezpośrednio w klasie należącej do rozszerzenia, aczkolwiek nie mam pojęcia jak można wtedy zwracać błędy(w głównym pliku modułu rejestracji tabela z błędami to $form_errors), tzn. mimo iż błąd wystąpił i powinien zostać wyświetlony to formularz ma to gdzieś i przechodzi do kroku 2 - 'potwierdzenia'. I tu właśnie oczekuję pomocy, a mianowicie - w jaki sposób mogę obsłużyć dodaną część formularza oraz jak zsynchronizować moje błędy z głównymi błędami rejestracji. Z góry dziękuje.
  12. Tutaj. Aczkolwiek teraz kod się wykonuję, dzięki piękne.
  13. Tak jak myślałem, nie wykonuje się, a najgorsze, że nie mam pojęcia czego to jest wina. Tak jakby nawet nie czytał tego pliku coreExtensions, ponieważ nawet kiedy zapisuje z błędem w składni to i tak nie ma żadnego komunikatu Syntax error.
  14. Witam. Mam swoją aplikację, w której potrzebuję dopisać moduł do rejestracji użytkownika(płatność sms), przy czym nie chcę używać hook'a tylko wbudować to w istniejącą już aplikację. Czytałem 'artykuł dla dewelopera' nt. MemberSync, lecz mimo tego, że dopisałem tą klasę do pliku coreExtensions.php, to tak naprawdę kod nie jest wykonywany. Chciałem zapytać czy ten sposób jest nadal aktualny na IPB 3.3 ? Kod: class incraftMemberSync { /** * Registry reference * * @access public * @var object */ public $registry; /** * CONSTRUCTOR * * @access public * @return void **/ public function __construct() { $this->registry = ipsRegistry::instance(); } /** * This method is run when a new account is created * * @access public * @param array $member Array of member data * @return void **/ public function onCreateAccount( $member ) { } /** * This method is run when the register form is displayed to a user * * @access public * @return void **/ public function onRegisterForm() { $a = "HELLO"; var_dump($a); } } Z góry dzięki.
  15. http://example.pl/zlecenia/47-wykonanie-layoutu-portalu/ - to już mam ale problemem jest to, że poprzez $this->request nie mogę wyciągnąć wartości id '47'.
  16. Nie mam problemu z odbieraniem tych danych przy pomocy $this->request, ale w momencie kiedy dochodzi seo title( {__title__} ) po prostu te dane mi znikają.
  17. Cześć. Więc zacznijmy od tego co próbuję uzyskać, czyli format linku w postaci "www.example.pl/zlecenia/id-seo title". Użyłem furl'a z showuser, tzn. wyświetlania profilu użytkownika i przekształciłem go na swoje potrzeby: 'showzlecenie' => array( 'app' => 'zlecenia', 'allowRedirect' => 0, 'out' => array( '#zlecenie=(.+?)(&|$)#i', 'zlecenia/$1-#{__title__}/$3$4' ), 'in' => array( 'regex' => "#/zlecenia/(\d+?)-#i", 'matches' => array( array( 'zlecenie', '$1' ) ) ) ), Ładnie pięknie linki działają, niestety nie wiem co dzieje się z parametrem 'zlecenie'( id tego zlecenia, int ), który nie zostaje przekazany. Czy mógłby mnie ktoś oświecić jak należy odebrać tą zmienną? Wiem, że w tym furl'u nie jest podana ścieżka do aplikacji...'app=hello', aczkolwiek tak samo zrobiony jest motyw z wyświetlaniem użytkownika. Z góry dzięki za pomoc.
  18. Kurcze, tak oczywista rzecz a na nią nie wpadłem. Dzięki wielkie, teraz już wszystko pięknie śmiga. Temat do zamknięcia.
  19. Cześć. Tym razem niestety nie mam pojęcia co robię źle i dlaczego po użyciu IPSMember::load w pętli while, zostaje mi zwrócony tylko jeden rekord Błąd występuje w poniższym kodzie: while( $z = $this->DB->fetch() ) { $m = IPSMember::load( $z['z_member_id'], 'all' ); // Prepare to get rdy variable $data[] = $z; }
  20. Dobrze, sprawdziłem tą metodę i doszedłem do wniosku, że masz rację. Zwraca ona 'member_rank_img' niestety nie mogę dojść do rozwiązania problemu z IPSMember::load w pętli while. Dzięki za pomoc, temat do zamknięcia
  21. Dokładnie, tak jak kolega wyżej napisał. Potrzebuję użyć tego systemu w zupełnie innym celu, w innej aplikacji niż forums. Konkretnie wystarczy mi chociaż nazwa klasy, metodę jestem w stanie znaleźć sobie sam.
  22. Cześć. Ostatnimi czasy zainteresował mnie nowy - przynajmniej jak dla mnie - system rang określany ilością 'pip', mimo jakże mylącej spolszczonej nazwy są to takie małe kropeczki odpowiadające ilości postów. Patrzyłem, szukałem oraz przekopywałem artykuły developera...niestety nie znalazłem niczego co by mi pomogło w otrzymywaniu output'u tej rangi(tj. string z odpowiednią ilością znaczników <img>). Gdyby ilość pipów była proporcjonalna do postów( 10 = 1 pip) nie robiłbym kłopotu i napisał to po swojemu. Jeśli ktoś wie jak IP Board sobie to liczy, byłbym wdzięczny za pomoc. Pzdr.
  23. Dzięki, będę miał wzorzec na przyszłość. A no, wzorowałem się tu na twoim Hook'u Top X Shouters. Ale teraz już wiem jak to wygląda. Dzięki wielkie, temat do zamknięcia.
  24. Wykombinował coś takiego: public function doExecute( ipsRegistry $registry ) { $this->registry->class_localization->loadLanguageFile( array( 'public_game') ); $changes = array(); $this->DB->build( array( 'select' => '*', 'from' => array( 'posts' => 'p' ), 'where' => 'topic_id=2', 'order' => 'pid DESC', 'limit' => '1000', 'add_join' => array( array( 'select' => 'm.members_display_name, m.member_id, m.member_group_id', 'from' => array( 'members' => 'm' ), 'where' => 'p.author_id = m.member_id', 'type' => 'left', ) ) ) ); $q = $this->DB->execute(); while($r = $this->DB->fetch( $q ) ) { $r['author_id'] = IPSLib::makeProfileLink( IPSLib::makeNameFormatted( $m['members_display_name'], $m['member_group_id'] )); $changes[] = $r; } $this->returnHtml( $this->registry->getClass('output')->getTemplate('game')->showRows( $changes ) ); } Ten add_join na pewno nie jest dobrze zrobiony P.S Kod jest ułożony dobrze i ma wcięcia u mnie w pajączku ______________________ Poprawiłem tamten kod z tym add join'em tak jak mówiłeś i działa . Jeśli masz jakieś uwagi do tego kodu, to byłbym bardzo wdzięczny.
×
×
  • 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ę.