Skocz do zawartości

matma4u

Użytkownik
  • Postów

    996
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez matma4u

  1. Od pewnego czasu korzystam z serwera VPS (w dhosting.pl). W związku z tym pojawiła się możliwość uruchomienia Sphinx (http://community.inv...-up-sphinx-r181). Czy ktoś z Was korzystał lub korzysta z takiego rozwiązania i może podzielić się doświadczeniem? Jak wygląda sprawa z wyświetlaniem nowej zawartości? Czy jest aktualizowana w oparciu o indeks Sphinx, czy też nie? Co jaki czas macie ustawione aktualizowanie indeksu Sphinx (w CRON)?
  2. Właśnie czytałem wpis na blogu o tych "fantastycznych" funkcjonalnościach i uważam, że tracą czas na "pierdoły". Już lepiej gdyby zintegrowali kilka modyfikacji z silnikiem forum np: (TB) Show Reputation in User Info 3.0.0 +Sort by Reputation 1.0.0 + [P32] Reputation Profile Tab (1.2.0) 1.2.0 +(DP32) Top Reputation 1.0.5. Przynajmniej takie rozwiązanie pozwalałoby ocenić aktywność użytkowników i wyłuskiwać nowych moderatorów itp. Nie wspomnę już o filtrze służącym wyświetlaniu tematów bez odpowiedzi. Z tego co widzę, to wszystkie te zmiany to takie nic nie znaczące triki i w związku z tym nie mam zamiaru krzyczeć z zachwytu. Zgadzam się. Faktycznie lepiej by coś było na stale zintegrowane z silnikiem skryptu bo i wsparcie pewniejsze i nie ma potrzeby dogrywać plików itd. Choć jak DawPi wspomniał i z czym również zgadzam się instalacja modów jest banalnie prosta.
  3. Wczytałem się w kod i zmienna $nr właśnie jest liczbą ile użytkowników powinno być wyświetlanych (Specify how many reputations will show on list). Po instalacji jest standardowo 30 ustawione, stąd: $nr = intval( $this->settings['reputacao_nr'] ) ? $this->settings['reputacao_nr'] : 30; Zmieniłem $rank = $first; bo tak pasuje to do kodu, który powyżej podałem i wszysko teraz ślicznie działa. Efekty można zobaczyć: http://matma4u.pl/index.php?app=reputationpoints
  4. DawPi bardzo dziękuje Ci za pomoc. Ten problem z numerowaniem nie jest tak ważny, choć dla smej wiedzy chciałbym wiedzieć jak to "ugryść". Jeszcze raz dziękuję.
  5. Kod pliku nie działa. Wprowadziłem zmiany (prosze o sprawdzenie) i teraz działa, ale jest jedno ale..... Pierwsza strona użytkownicy są numerowani od 1 -25, więc druga powinna być numerowana od 26-50, a jest od 1-25. Odpowiada za to zmienna $rank Taki wygląda plik: <?php /** * Product Title: (SOS32) Reputation Points * Product Version: 2.0.0 * Author: Adriano Faria * Website: SOS Invision * Website URL: http://forum.sosinvision.com.br/ * Email: [email protected] */ if ( ! defined( 'IN_IPB' ) ) { print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files."; exit(); } class public_reputationpoints_display_list extends ipsCommand { protected $output = ''; protected $pageTitle = ''; public function doExecute( ipsRegistry $registry ) { switch( $this->request['do'] ) { default: $this->_showList(); break; } $this->registry->output->addContent( $this->output ); $this->registry->getClass('output')->sendOutput(); } public function _showList() { if ( !$this->settings['reputacao_systemon'] ) { $this->registry->output->showError( $this->lang->words['systemoff'] ); } if ( !in_array( $this->memberData['member_group_id'], explode( ',', $this->settings['reputacao_grupos'] ) ) ) { $this->registry->output->showError( $this->lang->words['erro_permissao'] ); } /* Add some CSS */ $this->registry->output->addToDocumentHead( 'importcss' , "{$this->settings['css_base_url']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_mlist.css" ); /* Add some JS */ $this->registry->output->addToDocumentHead( 'javascript', "{$this->settings['js_base_url']}js/ips.memberlist.js" ); $this->registry->output->addNavigation( $this->lang->words['title'], '' ); $positive = array(); $negative = array(); $first = intval( $this->request['st'] ); //DawPi $where = ""; $nr = intval( $this->settings['reputacao_nr'] ) ? $this->settings['reputacao_nr'] : 30; /* Usuários banidos ? */ if ( !$this->settings['reputacao_banned'] ) { $where = " and member_banned = 0 AND member_group_id != {$this->settings['banned_group']}"; } /* Top Users + */ $this->DB->build(array( 'select' => 'm.member_id, m.members_display_name, m.members_seo_name, m.member_group_id, m.has_blog, m.has_gallery, m.posts, m.joined', 'from' => array('members' => 'm'), 'add_join' => array( 0 => array( 'select' => 'pp.*', 'from' => array( 'profile_portal' => 'pp' ), 'where' => 'pp.pp_member_id=m.member_id', 'type' => 'left' ), ), 'where' => "pp_reputation_points > 0".$where, 'order' => "pp.pp_reputation_points DESC, m.member_id", 'limit' => array( $first, 25 ), ) ); $pages = $this->registry->output->generatePagination( array( 'totalItems' => $nr, 'itemsPerPage' => 25, 'currentStartValue' => $first, 'baseUrl' => "app=reputationpoints&module=display&section=list", ) ); $outer = $this->DB->execute(); $rank = 0; while( $r = $this->DB->fetch( $outer ) ) { $r = IPSMember::buildDisplayData( $r ); $r['rank'] = ++$rank; $r['pp_reputation_points'] = $this->registry->getClass('class_localization')->formatNumber($r['pp_reputation_points']); $positive[] = $r; } /* Top Users - */ $this->DB->build(array( 'select' => 'm.member_id, m.members_display_name, m.members_seo_name, m.member_group_id, m.has_blog, m.has_gallery, m.posts, m.joined', 'from' => array('members' => 'm'), 'add_join' => array( 0 => array( 'select' => 'pp.*', 'from' => array( 'profile_portal' => 'pp' ), 'where' => 'pp.pp_member_id=m.member_id', 'type' => 'left' ), ), 'where' => "pp_reputation_points < 0".$where, 'order' => "pp.pp_reputation_points ASC, m.member_id", 'limit' => array( 0, $nr ), ) ); $outer2 = $this->DB->execute(); $rank = 0; while( $r = $this->DB->fetch( $outer2 ) ) { $r = IPSMember::buildDisplayData( $r ); $r['rank'] = ++$rank; $r['pp_reputation_points'] = $this->registry->getClass('class_localization')->formatNumber($r['pp_reputation_points']); $negative[] = $r; } $this->output .= $this->registry->output->getTemplate( 'reputationpoints' )->listReps( $positive, $negative, $pages ); $this->pageTitle = $this->settings['board_name']." - ".$this->lang->words['title']; $this->registry->output->setTitle( $this->pageTitle ); $this->registry->output->addContent( $this->output ); $this->registry->output->sendOutput(); } } ?>
  6. Tak nie może być bo dokleja dwa razy nawę domeny 'baseUrl' => "{$this->settings['base_url']}app=reputationpoints&module=display&section=list",, Zrobiłem tak 'baseUrl' => "app=reputationpoints&module=display&section=list", teraz nie dokleja ale mimo wszystko nie działa. Mam ustawione 50 użytkowników po 25 na strone a w linku stron wyświetla strony od 1 do 15
  7. Teraz rozumiem o co chodzi. Wpisałem zmiany do szablonu, ale zapomniałem o dodaniu zmiennej $pages. Po dodaniu wyświetla pasek numerów stron, ale po kliknięciu na np nr 2 przerzuca na stronę główną
  8. Wstawiłem to w (odpowiednich miejscach)bicie: <if test="$page_links1"> <div class='topic_controls clearfix'>{$page_links1}</div> </if> A to nie powinno być tak: 'baseUrl' => "&app=reputationpoints", Na końcu powinno "dolejać" parametr &st= Choć przy tym też zero reakcji.
  9. Kod w bicie wstawiłem, ale dalej nie ma podziału na strony
  10. wywala przy próbie zapisu "Błąd składni itd" Przepraszam, zapisałem nie ten plik co trzeba. Nie ma błędu, teraz tylko muszę w bicie szablonu wstawić odpowiedni kod.
  11. Z tego co do tej chwili pojąłem to trzeba by gdzieś w tym kodzi wstawić: $pages = $this->registry->output->generatePagination( array( 'totalItems' => $totalResults, 'itemsPerPage' => $maxResults, 'currentStartValue' => $first, ) ); gdzie: $maxResults - wcześniej zdefiniowana wartość np 25 użytkowników na stronę $totalResults, - np.300 bo tyle ma być brane pod uwagę użytkowników pod uwagę przy tworzeniu listy I dalej nie mogę tego rozgryść. W tym kodzie zmienna $nr to moje $totalResults. Czyli kod mógłby wyglądać tak: $maxResults = 25; $pages = $this->registry->output->generatePagination( array( 'totalItems' => $nr, 'itemsPerPage' => $maxResults, 'currentStartValue' => $first, ) ); Ale co to jest 'currentStartValue' to już nie wiem. A w szablonie mam wstawić: <if test="$pages"> <div class='topic_controls clearfix'>{$pages}</div> </if> Resztę luk w mojej wiedzy (jeśli dobrze myślę) prosiłbym o uzupełnienie
  12. Myślę, że to ten plik: <?php /** * Product Title: (SOS32) Reputation Points * Product Version: 2.0.0 * Author: Adriano Faria * Website: SOS Invision * Website URL: http://forum.sosinvision.com.br/ * Email: [email protected] */ if ( ! defined( 'IN_IPB' ) ) { print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files."; exit(); } class public_reputationpoints_display_list extends ipsCommand { protected $output = ''; protected $pageTitle = ''; public function doExecute( ipsRegistry $registry ) { switch( $this->request['do'] ) { default: $this->_showList(); break; } $this->registry->output->addContent( $this->output ); $this->registry->getClass('output')->sendOutput(); } public function _showList() { if ( !$this->settings['reputacao_systemon'] ) { $this->registry->output->showError( $this->lang->words['systemoff'] ); } if ( !in_array( $this->memberData['member_group_id'], explode( ',', $this->settings['reputacao_grupos'] ) ) ) { $this->registry->output->showError( $this->lang->words['erro_permissao'] ); } /* Add some CSS */ $this->registry->output->addToDocumentHead( 'importcss' , "{$this->settings['css_base_url']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_mlist.css" ); /* Add some JS */ $this->registry->output->addToDocumentHead( 'javascript', "{$this->settings['js_base_url']}js/ips.memberlist.js" ); $this->registry->output->addNavigation( $this->lang->words['title'], '' ); $positive = array(); $negative = array(); $where = ""; $nr = intval( $this->settings['reputacao_nr'] ) ? $this->settings['reputacao_nr'] : 30; /* Usuários banidos ? */ if ( !$this->settings['reputacao_banned'] ) { $where = " and member_banned = 0 AND member_group_id != {$this->settings['banned_group']}"; } /* Top Users + */ $this->DB->build(array( 'select' => 'm.member_id, m.members_display_name, m.members_seo_name, m.member_group_id, m.has_blog, m.has_gallery, m.posts, m.joined', 'from' => array('members' => 'm'), 'add_join' => array( 0 => array( 'select' => 'pp.*', 'from' => array( 'profile_portal' => 'pp' ), 'where' => 'pp.pp_member_id=m.member_id', 'type' => 'left' ), ), 'where' => "pp_reputation_points > 0".$where, 'order' => "pp.pp_reputation_points DESC, m.member_id", 'limit' => array( 0, $nr ), ) ); $outer = $this->DB->execute(); $rank = 0; while( $r = $this->DB->fetch( $outer ) ) { $r = IPSMember::buildDisplayData( $r ); $r['rank'] = ++$rank; $r['pp_reputation_points'] = $this->registry->getClass('class_localization')->formatNumber($r['pp_reputation_points']); $positive[] = $r; } /* Top Users - */ $this->DB->build(array( 'select' => 'm.member_id, m.members_display_name, m.members_seo_name, m.member_group_id, m.has_blog, m.has_gallery, m.posts, m.joined', 'from' => array('members' => 'm'), 'add_join' => array( 0 => array( 'select' => 'pp.*', 'from' => array( 'profile_portal' => 'pp' ), 'where' => 'pp.pp_member_id=m.member_id', 'type' => 'left' ), ), 'where' => "pp_reputation_points < 0".$where, 'order' => "pp.pp_reputation_points ASC, m.member_id", 'limit' => array( 0, $nr ), ) ); $outer2 = $this->DB->execute(); $rank = 0; while( $r = $this->DB->fetch( $outer2 ) ) { $r = IPSMember::buildDisplayData( $r ); $r['rank'] = ++$rank; $r['pp_reputation_points'] = $this->registry->getClass('class_localization')->formatNumber($r['pp_reputation_points']); $negative[] = $r; } $this->output .= $this->registry->output->getTemplate( 'reputationpoints' )->listReps( $positive, $negative ); $this->pageTitle = $this->settings['board_name']." - ".$this->lang->words['title']; $this->registry->output->setTitle( $this->pageTitle ); $this->registry->output->addContent( $this->output ); $this->registry->output->sendOutput(); } } ?>
  13. Własnie przeglądam szablon generatePagination, nie mogę "wgryść się". Chodzi mi o mod Reputation Points 2.0.0 (Adriano Faria) Mam ustawione by wyświetlało tylko użytkowników w systemie Reputacja tylko pozytywna. Ten fragment kodu odpowiada za to i w nim wymagane by były zmiany: <if test="$this->settings['reputation_point_types'] == 'positive'"> <div class='category_block block_wrap left' style='width: 100%'> <h3 id='top20' class='maintitle'>{$this->lang->words['title_pos']}</h3> <table class='ipb_table ipsMemberList' summary="{$this->lang->words['title_pos']}"> <tr class='header'> <th scope='col' class='col_c_forum' style='width: 5%;'>{$this->lang->words['rank']}</th> <th scope='col' class='col_c_forum' style='text-align:center;'>{$this->lang->words['pontos']}</th> <th scope='col' class='col_c_forum' style='width: 5%;'> </th> <th scope='col' class='col_c_forum' style='width: 35%;'>{$this->lang->words['usuario']}</th> <th scope='col' class='col_c_forum' style='width: 20%;'>{$this->lang->words['joined']}</th> <th scope='col' class='col_c_forum' style='width: 10%;'>{$this->lang->words['posts']}</th> <th scope='col' class='col_c_forum' style='width: 25%;'> </th> </tr> <if test=is_array($positive) OR count($positive)"> <foreach loop="reppos:$positive as $pos"> <tr class='row1'> <td class='altrow' style="text-align: center" style="padding: 0 0 0 0;">{$pos['rank']}</td> <td style="padding: 0 0 0 0;"><div class='reputation positive' style='float:none; text-align:center;'><span class="number">{$pos['pp_reputation_points']}</span></div></td> <td class='altrow short'> <a href='{parse url="showuser={$pos['member_id']}" seotitle="{$pos['members_seo_name']}" template="showuser" base="public"}' title='{$this->lang->words['view_profile']}' class='ipsUserPhotoLink left'><img src='{$pos['pp_mini_photo']}' alt="{$pos['members_display_name']}{$this->lang->words['users_photo']}" class='ipsUserPhoto ipsUserPhoto_mini' /></a> </td> <td style="padding: 0 0 0 10px;"> <if test="!$this->settings['reputacao_format']"> <a href='{parse url="showuser={$pos['member_id']}" seotitle="{$pos['members_seo_name']}" template="showuser" base="public"}' title='{$this->lang->words['view_profile']}'>{$pos['members_display_name']}</a> {parse template="user_popup" group="global" params="$pos['member_id'], $pos['members_seo_name']"} <else /> {IPSMember::makeProfileLink(IPSMember::makeNameFormatted( $pos['members_display_name'], $pos['member_group_id']), $pos['member_id'])} {parse template="user_popup" group="global" params="$pos['member_id'],$pos['members_display_name']"} </if> </td> <td class='altrow' style="padding: 0 0 0 0;"><div style='float:none; text-align:center;'><span class="number">{parse date="$pos['joined']" format="short"}</span></div></td> <td style="padding: 0 0 0 0;"><div style='float:none; text-align:center;'><span class="number">{$pos['posts']}</span></div></td> <td class='altrow short'> <ul class='ipsList_inline ipsList_nowrap right'> <li><a href={parse url="app=core&module=search&do=user_activity&mid={$pos['member_id']}" base="public"}' title='{$this->lang->words['gbl_find_my_content']}' class='ipsButton_secondary'>{parse replacement="find_icon"}</a></li> <if test="tpIsFrindable:|:$this->memberData['member_id'] AND $this->memberData['member_id'] != $pos['member_id'] && $this->settings['friends_enabled'] AND $this->memberData['g_can_add_friends']"> <if test="tpIsFriend:|:IPSMember::checkFriendStatus( $pos['member_id'] )"> <li class='mini_friend_toggle is_friend' id='friend_xxx_{$pos['member_id']}'><a href='{parse url="app=members&module=profile&section=friends&do=remove&member_id={$pos['member_id']}&secure_key={$this->member->form_hash}" base="public"}' title='{$this->lang->words['remove_friend']}' class='ipsButton_secondary'>{parse replacement="remove_friend"}</a></li> <else /> <li class='mini_friend_toggle is_not_friend' id='friend_xxx_{$pos['member_id']}'><a href='{parse url="app=members&module=profile&section=friends&do=add&member_id={$pos['member_id']}&secure_key={$this->member->form_hash}" base="public"}' title='{$this->lang->words['add_friend']}' class='ipsButton_secondary'>{parse replacement="add_friend"}</a></li> </if> </if> <if test="tpPm:|:$this->memberData['g_use_pm'] AND $this->memberData['member_id'] != $pos['member_id'] AND $this->memberData['members_disable_pm'] == 0 AND IPSLib::moduleIsEnabled( 'messaging', 'members' )"> <li class='pm_button' id='pm_xxx_{$pos['member_id']}'><a href='{parse url="app=members&module=messaging&section=send&do=form&fromMemberID={$pos['member_id']}" base="public"}' title='{$this->lang->words['pm_member']}' class='ipsButton_secondary'>{parse replacement="send_msg"}</a></li> </if> <if test="tpBlog:|:$pos['has_blog'] AND IPSLib::appIsInstalled( 'blog' )"> <li><a href='{parse url="app=blog&module=display&section=blog&mid={$pos['member_id']}" base="public"}' title='{$this->lang->words['view_blog']}' class='ipsButton_secondary'>{parse replacement="blog_link"}</a></li> </if> <if test="tpGallery:|:$pos['has_gallery'] AND IPSLib::appIsInstalled( 'gallery' )"> <li><a href='{parse url="app=gallery&module=user&section=user&user={$pos['member_id']}" base="public"}' title='{$this->lang->words['view_gallery']}' class='ipsButton_secondary'>{parse replacement="gallery_link"}</a></li> </if> </ul> </td> </tr> </foreach> </if> </table> </div> </if>
  14. Korzystam z pewnej modyfikacji, która wyświetla listę użytkownikó według punktów reputacji. Wszystko pięknie wygląda dopóki nie chcemy by ta lista zawierała 25 pazycji. Przy większej wartości np.100 pozycji wszystko wyświetlane jest na jednej stronie. W jaki sposób można podział na strony? Czy są jakieś gotowe rozwiązania łatwe do zaadoptowania pod moje potrzeby?
  15. Temat do zamknięcia. Myślę, że dogadaliśmy się w tej sprawie już z DawPi na oficjalnym forum IPS'u
  16. W przypadku braku darmowej modyfikacji zlecę wykonanie (zainteresowane osoby proszone są o kontakt na PW - proszę o podanie ceny)
  17. Szukam modyfikacji pod IPB3.2, która rozszerzała by możliwości sekcji "Wyświetl nową zawartość" o nową funkcjonalność: wyświetlanie wszystkich tematów bez odpowiedzi
  18. No i działa W takim razie miałem cholernego pecha, że podczas instalacji trafiłem akurat na awarię dysku.
  19. No dobra, zrobię drugie podejście i dam znać co i jak.
  20. Teraz ciężko powiedzieć mi dokładnie jak brzmi nazwa tej funkcji, bo tylko przez moment zwróciłem na nią uwagę a potem od razu poszło zgłoszenie do BOK dhosting.pl Byłem tak zaszokowany sytuacje, że nawet nie porobiłem screenów. Na początku wyglądało to tak, że wgrałem pliki na serwer z tej modyfikacji a następnie w ACP rozpocząłem instalacje pliku hook.xml i po paru sekundach już był zonk. Nawet nie dostałem żadnego komunikatu o błędach, po prostu w trakcie instalacji wywaliło biały ekran i forum padło całkowicie.
  21. Totalna blokada. Na szczęście dhosting.pl działa błyskawicznie i odtworzył wszystkie pliki i bazę z kopi bezpieczeństwa. Wyskakiwał mi komunikat na stronie, że może funkcja file_input może zapisać tylko 926 bajtów i że nie mam miejsca na dysku ( co nie jest prawdą, bo mam kilkaset GB wolnego).
  22. Zainstalowałem moda dziś i po instalacji padło mi forum :C Biały ekran. Nie mogę zalogować się ani do ACP. Totalnie nic.
  23. matma4u

    Opis tematu

    W wersji 3.2.x opcja ta została usunięta ale istnieją odpowiednie modyfikacje, którę przywracają to ustawienie np: [ET32] Topic Description 1.0.0
  24. Dziękuję, teraz wszystko już jest jasne.
  25. Rozumiem, że to zapytanie odnosi skutek do wszystkich grup. A jest możliwość tylko dla wybranej?
×
×
  • 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ę.