-
Postów
78 196 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
571
Typ zawartości
Profile
Forum
Pliki
Galeria
Blogi
Sklep
Wydarzenia
Treść opublikowana przez DawPi
-
Generowanie szybkiej listy grup na forum wraz z ich ID's
DawPi opublikował(a) temat w Tutoriale i porady
Jeśli z jakiś przyczyn potrzebujesz zdobyć informacje jakie ID ma dana grupa, postępuj wg poniższej instrukcji. Przejdź do: ACP > ADMIN > SQL Management > SQL Toolbox >> Run a Query i wykonaj następujące zapytanie: SELECT g_id, g_title FROM ibf_groups Pamiętaj by zastąpić ibf_ prefixem Twojej bazy danych. Nie znasz prefixu bazy danych? Otwórz plik: conf_global.php Znajdź: $INFO['sql_tbl_prefix'] = 'PREFIX'; w miejscu PREFIX jest to ,czego szukasz Efekt: Enjoy! -
Szybkie czyszczenie logów -> optymalizacja bazy danych
DawPi opublikował(a) temat w Tutoriale i porady
Jeśli chcesz utrzymać kondycję bazy danych w dobrej formie powinieneś dbać o nią. Jednym ze sposobów jest manualne wykonanie czyszczenia niepotrzebnych logów. By to wykonać przejdź do: ACP > ADMIN > SQL Management > SQL Toolbox >> Run a Query i wykonaj następujące zapytanie: truncate ibf_admin_logs; truncate ibf_admin_login_logs; truncate ibf_email_logs; truncate ibf_mail_error_logs; truncate ibf_moderator_logs; truncate ibf_spider_logs; truncate ibf_task_logs; truncate ibf_warn_logs; Pamiętaj by zastąpić ibf_ prefixem Twojej bazy danych. Nie znasz prefixu bazy danych? Otwórz plik: conf_global.php Znajdź: $INFO['sql_tbl_prefix'] = 'PREFIX'; w miejscu PREFIX jest to ,czego szukasz enjoy! -
Jeśli z jakiś powodów chcesz usunąć listę wyboru języka, ponieważ np. masz jeden na forum postępuj wg poniższej instrukcji. Przejdź do: ACP > Look & Feel > ( wybór skina ) > Edit Template HTML > All Global HTML >> Global Board Footer Znajdź i usuń: <% LANGCHOOSER %> Efekt: Enjoy!
-
- 1
-
-
video - automatycznie wykrywa link z Video Google i YouTube
DawPi opublikował(a) temat w Tutoriale i porady
Jeśli chcesz dodać tag do Twojego forum, dzięki któremu user będzie mógł w prosty sposób wstawić film z YouTube lub Video Google bez kombinacji z ID filmów etc. tylko przez proste wstawienie linku: function clean_video_tag( $matches=array() ) { $code = $matches[1]; if ( $code == "") { return; } if (strstr($code, 'google') != "") { $startingpos = strpos($code, 'docid=') + 6; $lenght = strpos($code, '&') - 155; return '[video]http://video.google.com/videoplay?docid='.substr($code, $startingpos, $lenght).'&[/video]'; } else if (strstr($code, 'youtube') != "") { $startingpos = strpos($code, '/v/') + 3; $lenght = strpos($code, '&') - 85; return '[video]http://www.youtube.com/watch?v='.substr($code, $startingpos, $lenght).'&[/video]'; } } function regex_video_tag( $matches=array() ) { $link = $matches[1]; if ( $link == "" ) { return; } if (strstr($link, 'google') != "") { $startingpos = strpos($link, 'docid=') + 6; $endpos = strpos($link,'&'); if ($endpos > $startingpos) { $lenght = $endpos - $startingpos; $code = '<!--id1--><div><embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid='.substr($link, $startingpos, $lenght).'&" > </embed></div><!--id2-->'; return $code; } else if ($endpos < $startingpos) { $lenght = strlen($link) - $startingpos; $code = '<!--id1--><div><embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid='.substr($link, $startingpos, $lenght).'&" > </embed></div><!--id2-->'; return $code; } } else if (strstr($link, 'youtube') != "") { $startingpos = strpos($link, 'v=') + 2; $endpos = strpos($link, '&'); if ($endpos > $startingpos) { $lenght = $endpos - $startingpos; $code = '<!--id1--><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/'.substr($link, $startingpos, $lenght).'&"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/'.substr($link, $startingpos, $lenght).'&" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object><!--id2-->'; return $code; } else if ($endpos < $startingpos) { $lenght = strlen($link); $code = '<!--id1--><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/'.substr($link, $startingpos, $lenght).'&"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/'.substr($link, $startingpos, $lenght).'&" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object><!--id2-->'; return $code; } } else { return 'Zły link do video'; } } -
Jeśli z jakiś powodów chcesz usunąć linię "Forum prowadzone przez..." w widoku głównym forum postępuj wg poniższej instrukcji. Przejdź do: ACP > Look & Feel > ( wybór skina ) > Edit Template HTML > Board Index >> Forum Row Znajdź i usuń: <i>{$data['moderator']}</i> Zapisz bit. Enjoy!
-
Podobnie jak to miało miejsce przy zmianach we wrapperze ( zobacz tutorial ) tak i tutaj każda zmiana bitów skina będzie odnotowana w logach administracyjnych. Wpis w logach będzie wyglądał tak: "Zaktualizowano bit(y) w skinie o nazwie: [nazwa skina] i zapisano zmianę do bazy danych". Postępuj wg poniższej instrukcji. Otwórz plik: sources/action_admin/skin_template_bits.php Znajdź: array_pop($this->ipsclass->cache_func->messages); Dodaj poniżej: $this->ipsclass->DB->simple_construct( array( 'select' => 'set_name', 'from' => 'skin_sets', 'where' => "set_skin_set_id='".$this->ipsclass->input['id']."'", ) ); $this->ipsclass->DB->simple_exec(); $r = $this->ipsclass->DB->fetch_row(); $set_name = $r['set_name']; $this->ipsclass->admin->save_log ("Zaktualizowano bit(y) w skinie o nazwie: '{$set_name}' i zapisano zmianę do bazy danych"); Enjoy!
-
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!
-
Sychronizacja dwóch forów opartych na IP.Board
DawPi opublikował(a) temat w Programowanie / tworzenie styli
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! -
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
-
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/
-
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!
-
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!
-
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!
-
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!
-
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!
-
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!
-
Ochrona konta Root Admina przed usunięciem/zawieszeniem
DawPi opublikował(a) temat w Tutoriale i porady
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! -
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
-
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!
-
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!
-
Wyłącz moderatorom możliwość zarządzania ogłoszeniami
DawPi opublikował(a) temat w Tutoriale i porady
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! -
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!
