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

DawPi

Manager
  • Postów

    77 498
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    476

Treść opublikowana przez DawPi

  1. Dzięki tej modyfikacji każda zmiana wrappera skina będzie odnotowana w logach administracyjnych. Dla przykładu jeśli włamie się hacker na forum i zmieni wrappera ( np. dodaj ramkę do skina ) będzie to odnotowane w logach i dzięki temu szybciej będzie można dojść do tego, co zostało zmienione. Postępuj wg poniższej instrukcji. Otwórz plik: sources/action_admin/skin_wrappers.php Znajdź: //----------------------------------------- // Done //----------------------------------------- if ( ! $this->ipsclass->input['savereload'] ) { $this->ipsclass->admin->nav[] = array( $this->ipsclass->form_code ,'Skin Manager Home' ); Dodaj poniżej: $this->ipsclass->admin->save_log("Updated Board Header and Footer Wrapper"); Znajdź: //----------------------------------------- // Reload edit window //----------------------------------------- Dodaj poniżej: $this->ipsclass->admin->save_log("Updated Board Header and Footer Wrapper"); Enjoy!
  2. Artykuł ten pokaże jak w prosty sposób zsychronizować dwa fora oparte na IP.Board. Info wstępne: istnieją dwa fora: forum A i forum B. By zsynchronizować forum A z B postępuj wg poniższej instrukcji. pliki forum A: Otwórz plik conf_global.php Znajdź: $INFO['sql_host'] = 'localhost'; $INFO['sql_database'] = 'ForumsA'; $INFO['sql_user'] = 'ForumsA'; $INFO['sql_pass'] = 'ForumsA'; $INFO['sql_tbl_prefix'] = 'ibf_'; Dodaj niżej: $INFO['sql_host2'] = 'localhost'; $INFO['sql_database2'] = 'ForumsB'; $INFO['sql_user2'] = 'ForumsB'; $INFO['sql_pass2'] = 'ForumsB'; $INFO['sql_tbl_prefix2'] = 'ibf_'; Zapisz i wyślij. Otwórz plik: modules/ipb_member_sync.php znajdź: function on_create_account($member, $converge) { global $ipsclass; Dodaj poniżej: $ipsclass->DB2 = new db_driver; $ipsclass->DB2->obj['sql_database'] = $ipsclass->vars['sql_database2']; $ipsclass->DB2->obj['sql_user'] = $ipsclass->vars['sql_user2']; $ipsclass->DB2->obj['sql_pass'] = $ipsclass->vars['sql_pass2']; $ipsclass->DB2->obj['sql_host'] = $ipsclass->vars['sql_host2']; $ipsclass->DB2->obj['sql_tbl_prefix'] = $ipsclass->vars['sql_tbl_prefix2']; $ipsclass->DB2->obj['use_shutdown'] = USE_SHUTDOWN; $ipsclass->DB2->connect(); $ipsclass->DB2->do_insert( 'members_converge', $converge ); //----------------------------------------- // Insert: MEMBERS //----------------------------------------- $check = $this->ipsclass->DB2->build_and_exec_query(array('select'=>'id','from'=>'members','where'=>"id=".$this->ipsclass->member['id'])); if($check['id']) { $this->ipsclass->DB2->close_db(); $this->ipsclass->DB->connect(); $this->ipsclass->lang['asdf'] = ""; $this->ipsclass->Error(array('MSG'=>'User ID w użyciu!')); } $check = $this->ipsclass->DB2->build_and_exec_query(array('select'=>'name','from'=>'members','where'=>"name=".$this->ipsclass->member['name'])); if($check['name']) { $this->ipsclass->DB2->close_db(); $this->ipsclass->DB->connect(); $this->ipsclass->lang['asdf'] = ""; $this->ipsclass->Error(array('MSG'=>'Login usera w użyciu!')); } $check = $this->ipsclass->DB2->build_and_exec_query(array('select'=>'members_display_name','from'=>'members','where'=>"members_display_name=".$this->ipsclass->member['members_display_name'])); if($check['members_display_name']) { $this->ipsclass->DB2->close_db(); $this->ipsclass->DB->connect(); $this->ipsclass->lang['asdf'] = ""; $this->ipsclass->Error(array('MSG'=>'Nazwa wyświetlana usera w użyciu!')); } $check = $this->ipsclass->DB2->build_and_exec_query(array('select'=>'email','from'=>'members','where'=>"id=".$this->ipsclass->member['email'])); if($check['email']) { $this->ipsclass->DB2->close_db(); $this->ipsclass->DB->connect(); $this->ipsclass->lang['asdf'] = ""; $this->ipsclass->Error(array('MSG'=>'Email Usera w użyciu!')); } $ipsclass->DB2->force_data_type = array( 'name' => 'string' ); $ipsclass->DB2->do_insert( 'members', $member ); $ipsclass->DB2->close_db(); Zapisz i wyślij. Otwórz plik: sources/action_public/register.php Znajdź: $member['password'] = trim($this->ipsclass->input['PassWord']); $this->modules->on_create_account($member); Zamień na: $this->modules->on_create_account($member, $converge); $member['password'] = trim($this->ipsclass->input['PassWord']); Zapisz i wyślij. Te zmiany mają na celu zapisywanie informacji o userach z forum A do bazy forum B. Otwórz plik: modules/ipb_member_sync.php Znajdź: function on_group_change( $id, $new_group ) { global $ipsclass; if ($new_group != 3) { return; } //---- START Dodaj poniżej: $ipsclass->DB2 = new db_driver; $ipsclass->DB2->obj['sql_database'] = $ipsclass->vars['sql_database2']; $ipsclass->DB2->obj['sql_user'] = $ipsclass->vars['sql_user2']; $ipsclass->DB2->obj['sql_pass'] = $ipsclass->vars['sql_pass2']; $ipsclass->DB2->obj['sql_host'] = $ipsclass->vars['sql_host2']; $ipsclass->DB2->obj['sql_tbl_prefix'] = $ipsclass->vars['sql_tbl_prefix2']; $ipsclass->DB2->obj['use_shutdown'] = USE_SHUTDOWN; $ipsclass->DB2->connect(); $ipsclass->DB2->do_update( 'members', array( 'mgroup' => intval($new_group) ), 'id='.intval($id) ); $uptime = time()+300; $ipsclass->DB2->do_update('task_manager', array('task_next_run' => $uptime), 'task_id=3'); $ipsclass->DB2->close_db(); Zapisz i wyślij. Te zmiany powodują, że przy zmianie grupy usera w forum A zmienia się w forum B. Jeśli chcesz zsynchronizować forum B z A wykonaj te same czynności na jego plikach. Enjoy!
  3. Najnowszy release systemu downloadu w wersji 1.2.0 Beta 2 Więcej info: Link do newsa: http://forums.invisionpower.com/index.php?showtopic=267638
  4. Witam, kilka dni temu IPS udostępnił to, na co czekałem od dawna. Skondensowany serwis z artykułami, modami etc. Wszystko do Twojego forum. Logowanie na dane z licencji ( mail i hasło ). Super sprawa. Więcej info: Link do newsa: http://forums.invisionpower.com/index.php?showtopic=267588 Link do serwisu: http://resources.invisionpower.com/
  5. Jeśli z jakiś powodów chcesz włączyć parsowanie ( zamienianie kodu emotek na ich odpowiedniki graficzne ) w ogólnych polach, np. w lokalizacji, sygnaturze, zainteresowaniach ( ogólnie w polach userów ), postępuj wg poniższej instrukcji. Otwórz plik: sources/action_public/usercp.php Znajdź: [ w funkcji: function init_parser() ] require_once( ROOT_PATH."sources/handlers/han_parse_bbcode.php" ); $this->parser = new parse_bbcode(); $this->parser->ipsclass =& $this->ipsclass; $this->parser->allow_update_caches = 1; Dodaj poniżej: $this->parser->parse_smilies = 1; Enjoy!
  6. Jeśli z jakiś powodów chcesz włączyć parsowanie ( zamienianie kodu emotek na ich odpowiedniki graficzne ) emotikon w ogłoszeniach postępuj wg poniższej instrukcji. Otwórz plik: sources/action_public/usercp.php Znajdź: [ w funkcji: function mod_announce_save() ] $end_date = $this->ipsclass->date_gmmktime( 23, 59, 59, $end_array[0], $end_array[1], $end_array[2] ); } $this->init_parser(); Dodaj niżej: $this->parser->parse_smilies = 1; Enjoy!
  7. Jeśli chcesz uprawnić pracę i zarządzanie userami w ACP i chcesz by po kliknięciu na nazwę grupy w ACP przekierowało Cię do listy userów z danej grupy na forum postępuj wg poniższej instrukcji. ( opcja w 2.3 dostępna w standardzie ) Otwórz plik: skin_acp/IPB2_Standard/acp_skin_html/cp_skin_groups.php Znajdź: <a href='{$this->ipsclass->vars['board_url']}/index.{$this->ipsclass->vars['php_ext']}?act=Members&max_results=30&showall=1&filter={$r['g_id']}&sort_order=asc&sort_key=members_display_name&st=0' target='_blank' title='List Users'>{$r['_title']}</a> Zamień na: <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&act=mem&code=searchresults&searchtype=normal&mgroup={$r['g_id']}' title='List Users'>{$r['_title']}</a> Enjoy!
  8. Jeśli z jakiś powodów chcesz umożliwić adminom oglądanie IP userów na liście on-line postępuj wg poniższej instrukcji. Otwórz plik: sources/action_public/online.php Znajdź: if ( (in_array( $this->ipsclass->vars['admin_group'], $our_mgroups )) and ($this->ipsclass->vars['disable_online_ip'] != 1) Zamień na: if ( ($this->ipsclass->member['g_access_cp'] == 1) and ($this->ipsclass->vars['disable_online_ip'] != 1) ) Enjoy!
  9. Jeśli z jakiś przyczyn chcesz ukryć opcje tematu dla gości postępuj wg poniższej instrukcji. Ukrycie tego: Przejdź do: ACP > Look & Feel > ( wybór skina ) > Edit Template HTML > Topic View >> topic_page_top Znajdź: <td width='1%' align='right' nowrap='nowrap'> <div class='popmenubutton' id='topicmenu-options'><a href='#topicoptions'>{$this->ipsclass->lang['topic_options']}</a> <img src='{$this->ipsclass->vars['img_url']}/menu_action_down.gif' alt='V' title='{$this->ipsclass->lang['global_open_menu']}' border='0' /></div> </td> Zamień na: <if="$this->ipsclass->member['id']"> <td width='1%' align='right' nowrap='nowrap'> <div class='popmenubutton' id='topicmenu-options'><a href='#topicoptions'>{$this->ipsclass->lang['topic_options']}</a> <img src='{$this->ipsclass->vars['img_url']}/menu_action_down.gif' alt='V' title='{$this->ipsclass->lang['global_open_menu']}' border='0' /></div> </td> </if> Enjoy!
  10. Bardzo przydatna funkcja. Jeśli chcesz by w widoku skinów w ACP pokazywało nr skina to postępuj wg poniższej instrukcji. Otwórz plik: skin_acp/IPB2_Standard/acp_skin_html/cp_skin_lookandfeel.php Znajdź: <strong style='{$css_extra}'>{$r['set_name']}</strong> Zamień na: <strong style='{$css_extra}'>{$r['set_name']} (Skin ID: {$r['set_skin_set_id']})</strong> Efekt końcowy: Enjoy!
  11. Masz kilku adminów i obawiasz się np. zbanowania przez któregoś? Jeśli chcesz chronić konta Root Admina postępuj wg poniższej instrukcji. Otwórz plik: sources/action_admin/member.php Znajdź: if ( ! $member = $this->ipsclass->DB->fetch_row() ) { $this->ipsclass->admin->error("We could not match that ID in the members database"); } //----------------------------------------- // Non root admin attempting to edit root admin? //----------------------------------------- if ( $this->ipsclass->member['mgroup'] != $this->ipsclass->vars['admin_group'] ) { if ( $member['mgroup'] == $this->ipsclass->vars['admin_group'] ) { $this->ipsclass->admin->error("You are not permitted to edit root administrators"); } } Dodaj niżej: if ($member['mgroup'] == $this->ipsclass->vars['admin_group']) { $this->ipsclass->admin->error("Nie możesz banować lub zawieszać root admina"); } Znajdź: //----------------------------------------- // Trying to ban or suspend root admin? //----------------------------------------- $names = array(); while ( $r = $this->ipsclass->DB->fetch_row() ) { //----------------------------------------- // Non root admin attempting to edit root admin? //----------------------------------------- if ( $this->ipsclass->member['mgroup'] != $this->ipsclass->vars['admin_group'] ) { if ( $r['mgroup'] == $this->ipsclass->vars['admin_group'] ) { continue; } } $names[] = $r['name']; } Zamień na: //----------------------------------------- // Trying to ban or suspend root admin? //----------------------------------------- $names = array(); while ( $r = $this->ipsclass->DB->fetch_row() ) { //----------------------------------------- // Non root admin attempting to edit root admin? //----------------------------------------- if ( $this->ipsclass->member['mgroup'] != $this->ipsclass->vars['admin_group'] ) { if ( $r['mgroup'] == $this->ipsclass->vars['admin_group'] ) { continue; } } $names[] = $r['name']; if ($r['mgroup'] == $this->ipsclass->vars['admin_group']) { $this->ipsclass->admin->error("Nie możesz banować lub zawieszać root admina"); } } Enjoy!
  12. Masz kilka skinów na forum i chcesz pokazać ilość userów korzystających z każdego ze skinów z forum? Jeśli tak to postępuj wg poniższej instrukcji. Otwórz plik: skin_acp/IPB2_Standard/acp_skin_html/cp_skin_lookandfeel.php Znajdź: <strong style='{$css_extra}'>{$r['set_name']}</strong> Zamień na: <strong style='{$css_extra}'>{$r['set_name']}{$r['cnt']}</strong> Zapisz i wyślij. Otwórz plik: sources/action_admin/skin_sets.php Znajdź: //----------------------------------------- // Loop-de-loop //----------------------------------------- Dodaj wyżej: $_skins = array(); foreach ( $this->ipsclass->cache['skin_id_cache'] as $i => $d ) { if ( $d['set_default'] ) { $defskin = $i; } } $this->ipsclass->DB->build_query( array( 'select' => 's.set_skin_set_id, COUNT(*) AS cnt', 'from' => array( 'members' => 'm' ), 'add_join' => array( 0 => array( 'from' => array( 'skin_sets' => 's' ), 'where' => 's.set_skin_set_id=m.skin', 'type' => 'left' ) ), 'group' => 'm.skin', ) ); $this->ipsclass->DB->exec_query(); if ( $this->ipsclass->DB->get_num_rows() ) { while ( $row = $this->ipsclass->DB->fetch_row() ) { $row['set_skin_set_id'] = $row['set_skin_set_id'] ? $row['set_skin_set_id'] : $this->ipsclass->cache['skin_id_cache'][ $defskin ]['set_skin_set_id']; $_skins[ $row['set_skin_set_id'] ] += $row['cnt']; } } foreach ( $skins as $k => $v ) { if ( $k == 1 ) { continue; } $_skins[ $k ] = $_skins[ $k ] ? $_skins[ $k ] : 0; $skins[ $k ]['cnt'] = " (Used by ".$this->ipsclass->do_number_format( $_skins[ $k ] )." members)"; } Zapisz i wyślij. Enjoy! p.s. nie mogę tego pokazać na przykładzie tego forum bo mam mało userów i jeden skin
  13. Jeśli z jakiś powodów chcesz by pole 'Skąd' podczas rejestracji było obowiązkowe wypełnione postępuj wg poniższej instrukcji. Otwórz plik: cache/lang_cache/XX/lang_error.php gdzie XX to nazwa Twojego folderu z językiem Znajdź: <?php $lang = array ( Poniżej dodaj: 'no_location' => "Nie wypełniono pola 'Skąd' - proszę wróć i popraw formularz", Zapisz i wyślij. Otwórz plik: sources/action_public/register.php Znajdź: if ($_POST['act'] == "") { $this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'complete_form' ) ); } Dodaj poniżej: if ($_POST['Location'] == "") { $this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_location' ) ); } Znajdź: //----------------------------------------- // Insert: MEMBER EXTRA //----------------------------------------- $this->ipsclass->DB->do_insert( 'member_extra', array( 'id' => $member_id, 'vdirs' => 'in:Inbox|sent:Sent Items', 'interests' => '', 'signature' => '' ) ); Zamień na: //----------------------------------------- // Insert: MEMBER EXTRA //----------------------------------------- if ( (strlen($_POST['Location']) > $this->ipsclass->vars['max_location_length']) and ($this->ipsclass->vars['max_location_length']) ) { $this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'loc_too_long' ) ); } $this->ipsclass->DB->do_insert( 'member_extra', array( 'id' => $member_id, 'vdirs' => 'in:Inbox|sent:Sent Items', 'location' => $this->ipsclass->input['Location'], 'interests' => '', 'signature' => '' ) ); Zapisz i wyślij. Przejdź do: ACP > Look & Feel > Skin Manager > ( wybór skina ) > Edit Template HTML > Register>> ShowForm Znajdź: <!--{REQUIRED.FIELDS}--> Dodaj powyżej: <fieldset class="row3"> <legend><b>Skąd jesteś</b></legend> <table class='ipbtable' cellspacing="0"> <tr> <td nowrap="nowrap">Wpisz skąd jesteś:</td> </tr> <tr> <td><input type="text" size="50" name="Skad" /></td> </tr> </table> </fieldset> Zapisz. Enjoy!
  14. Jeśli z jakiś powodów nie chcesz pokazywać statystyk gościom postępuj wg poniższej instrukcji. Otwórz plik: sources/action_public/boards.php Znajdź: //----------------------------------------- // Add in show online users //--------------------------------------- Dodaj powyżej: if( $this->ipsclass->member['id'] > 0 ) { Znajdź: $this->output .= $this->ipsclass->compiled_templates['skin_boards']->stats_footer(); } Dodaj poniżej: } Drugą możliwością jest ukrycie statystyk większej ilości grup. Jeśli chcesz to zrobić wystarczy, że powyższy kod: $this->output .= $this->ipsclass->compiled_templates['skin_boards']->stats_footer(); } Zamienisz na: if( ! in_array( $this->ipsclass->member['id'], array( '2', '3') ) ) { Gdzie wartość 2 i 3 są przykładowymi, odpowiadają ID grup, którym chcemy ukryć statystyki. Enjoy!
  15. Jeśli z jakiś powodów chcesz wyłączyć możliwość zarządzania ogłoszeniami przez moderatorów postępuj wg poniższej instrukcji. Przejdź do: ACP > Look & Feel > Skin Manager > ( wybór skina ) > Edit Template HTML > User Control Panel >> Member Bar Znajdź: <{ITEM_START}> <a href="{$this->ipsclass->base_url}act=UserCP&CODE=announce_start">{$this->ipsclass->lang['menu_announcements']}</a> </p> </if> Zamień na: <if="$this->ipsclass->member['g_access_cp'] == 1"> <{ITEM_START}> <a href="{$this->ipsclass->base_url}act=UserCP&CODE=announce_start">{$this->ipsclass->lang['menu_announcements']}</a> </p> </if></if> </div> Enjoy!
  16. Jeśli chcesz włączyć pokazywanie ukrytych skinów grupie Super Moderatorów postępuj wg poniższej instrukcji. Otwórz plik: sources/ipsclass.php Znajdź: else if ( $this->member['g_access_cp'] ) { $skin_set = 1; } Zamień na: else if ( $this->member['g_is_supmod'] || $this->member['g_access_cp'] ) { $skin_set = 1; } Zapisz i wyślij. Otwórz plik: sources/classes/class_display.php Znajdź: if ( $data['set_parent'] < 1 and $id > 1 ) { if ( $data['set_hidden'] and ! $this->ipsclass->member['g_access_cp'] ) { continue; } Zamień na: if ( $data['set_parent'] < 1 and $id > 1 ) { if ( $data['set_hidden'] and ! $this->ipsclass->member['g_access_cp'] and ! $this->ipsclass->member['g_is_supmod'] ) { continue; } Znajdź: foreach( $data['_children'] as $cid ) { if ( $this->ipsclass->cache['skin_id_cache'][ $cid ]['set_hidden'] and ! $this->ipsclass->member['g_access_cp'] ) { continue; } Zamień na: foreach( $data['_children'] as $cid ) { if ( $this->ipsclass->cache['skin_id_cache'][ $cid ]['set_hidden'] and ! $this->ipsclass->member['g_is_supmod'] and ! $this->ipsclass->member['g_access_cp'] ) { continue; } Zapisz i wyślij. Enjoy!
  17. By zmienić kolor ogłoszeń na liście tematów postępuj wg poniższej instrukcji. Przejdź do: ACP > Look & Feel > Skin Manager > ( wybór skina ) > Edit Template HTML > Forum Index >> Announcement_Row Znajdź: <td class="row1"><b>{$this->ipsclass->lang['announce_row']}: <a href="{$this->ipsclass->base_url}act=announce&f={$data['forum_id']}&id={$data['announce_id']}">{$data['announce_title']}</a></b></td> Zamień na: <td class="row1"><b>{$this->ipsclass->lang['announce_row']}: <a href="{$this->ipsclass->base_url}act=announce&f={$data['forum_id']}&id={$data['announce_id']}"><span style="color:#FF0000">{$data['announce_title']}</span></a></b></td> Możesz zmienić przykładowy kolor czerwony na dowolnie inny, edytując ten kod: <span style="color:#FF0000"> Efekt będzie następujący: Enjoy!
  18. Jeśli chcesz pokazywać kolorowe nicki userów w statystykach urodzin ( kolor będzie odpowiadał temu z grupy usera ) postępuj wg poniższej instrukcji. Otwórz: sources/lib/func_boardstats.php Znajdź: $birthstring .= "<a href='{$this->ipsclass->base_url}showuser={$user['id']}'>{$user['members_display_name']}</a>"; Zamień na: $nomeuser = $this->ipsclass->cache['group_cache'][ $user['mgroup'] ]['prefix'].$user['members_display_name'].$this->ipsclass->cache['group_cache'][ $user['mgroup'] ]['suffix']; $birthstring .= "<a href='{$this->ipsclass->base_url}showuser={$user['id']}'>{$nomeuser}</a>"; Enjoy!
  19. Jeśli chcesz chronić posty głównych administratorów przed usunięciem przez któregokolwiek moderatora postępuj wg poniższej instrukcji. Przejdź do: ACP > Look & Feel > ( wybór skina ) > Edit Template HTML > Topic View >> RenderRow Znajdź: {$post['delete_button']}{$post['edit_button']}<a href="#" onclick="multiquote_add({$post['pid']}); return false;" title="{$this->ipsclass->lang['mq_title']}">{$post['mq_start_image']}</a><a href="{$this->ipsclass->base_url}act=Post&CODE=02&f={$this->ipsclass->input['f']}&t={$this->ipsclass->input['t']}&qpid={$post['pid']}" title="{$this->ipsclass->lang['tt_reply_to_post']}"><{P_QUOTE}></a> Zamień na: <if="$author['mgroup'] 4=""> <if="$this->ipsclass->member['mgroup'] == 4"> {$post['delete_button']}{$post['edit_button']} </if="$this-> <else> {$post['delete_button']}{$post['edit_button']} </else> <a href="#" onclick="multiquote_add({$post['pid']}); return false;" title="{$this->ipsclass->lang['mq_title']}">{$post['mq_start_image']}</a><a href="{$this->ipsclass->base_url}act=Post&CODE=02&f={$this->ipsclass->input['f']}&t={$this->ipsclass->input['t']}&qpid={$post['pid']}" title="{$this->ipsclass->lang['tt_reply_to_post']}"><{P_QUOTE}></a> Enjoy!
  20. DawPi

    test

    No właśnie jeśli go dokupię to jest to podłączane do zegarka czy jest to inny dodatkowy sprzęt? Bo na razie chodzi mi tylko właśnie o tego footpod`a...
  21. DawPi

    Śnieg na forum

    Tutorial przedstawia prosty sposób w jaki możemy posypać trochę śnieżku na forum z racji obecnej pory roku Do dzieła. Wrzuć grafikę jednego płatka śniegu do folderu ze skinami. Przykład: -> http://www.ipslink.pl/pomoc_invision/platek_i.gif Ściągnij plik snieg.rar ( spakowany plik snieg.js ) -> http://www.ipslink.pl/pomoc_invision/snieg_i.rar Otwórz plik snieg.js Szukaj: var no = 15; // Anzahl der Objekte var speed = 20; // Speed der Objekte var schneeflocke = "http://link_do_forum/images/platek_i.gif"; // Pfad zum Bild W pierwszej linii określa się ilość grafik/płatków na stronie. W drugiej ich prędkość. W trzeciej można edytować położenie pojedynczego płatka. Zapisujemy. Tak zapisany plik wysyłamy do katalogu: jscripts/ Przechodzimy do: ACP > LOOK & FEEL > ( wybór skina ) > Edit Template HTML > All Global HTML >> global_board_header Szukaj: <script type="text/javascript" src='jscripts/ips_ipsclass.js'></script> Dodaj wyżej: <script type="text/javascript" src='jscripts/snieg.js'></script> Zapisz bit skina. Enjoy! Autorem tutoriala jest DawPi. Zabrania się kopiowania, powielania. W szczególności na inne fora bez zgody autora. Tutorial wykonany dla www.forum.invisionize.pl
  22. Fix błędu związanego z usuwaniem załączników w użyciu. Skrypt błędnie je rozpoznawał i usuwał. Dzięki temu tak się nie będzie działo Otwórz: /sources/action_admin/rebuild.php Znajdź: $dh = opendir( $this->ipsclass->vars['upload_dir'] ); while ( false !== ( $file = readdir( $dh ) ) ) { Dodaj niżej: if( $file == '.' OR $file == '..' ) { continue; } Znajdź: $ndh = opendir( $fullfile ); while( false !== ( $nfile = readdir( $ndh ) ) ) { if ( strstr( $nfile, 'post-' ) ) { Dodaj niżej: if( $nfile == '.' OR $nfile == '..' ) { continue; }
×
×
  • 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ę.