1.12.7 i starsze - Robocik 2.0.1
Danyeru - 13-07-2008, 11:47
aha, jeszcze jedno pytanko: Co zmienić/dodać w pliku shoutbox_view.php ?
Zabrałem się właśnie za instalacje, i widzę, że gotowe pliki, ale przy okazji któregoś moda edytowałem tenże plik, niestety nie pamiętam którego/których, bo tak to bym nadpisał i wyedytował na nowo
Jarek 11 - 13-07-2008, 12:04
el_danielo1985,
Kod: |
#
#-----[ OPEN ]--------------------------------
#
shoutbox_view.php
#
#-----[ FIND ]--------------------------------
#
if ( !$too_long && !$flood_msg && !$shoutbox_banned && $is_auth_send )
{
$msg_id = $db->sql_nextid();
$sql = "INSERT INTO " . SHOUTBOX_TABLE . "
VALUES($msg_id, $sb_user_id, '" . str_replace("\'", "''", $msg) . "', '" . CR_TIME . "')";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not insert shoutbox message', '', __LINE__, __FILE__, $sql);
}
#
#-----[ AFTER, ADD ]--------------------------
#
// BEGIN ROBOCIK ///////////////////////////////
if ( $shoutbox_config['robocik_on'] )
{
if ( $check_cache = sql_cache('check', 'robocik_randtxt') )
{
include($check_cache);
}
else if ( $check_cache === false )
{
$sql = "SELECT cat_id, rand_text
FROM " . ROBOCIK_RANDTXT_TABLE . "
ORDER BY cat_id, rand_id;";;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query robocik random texts table', '', __LINE__, __FILE__, $sql);
}
$robocik_randtxt = array();
if ( $row = $db->sql_fetchrow($result) )
{
do
{
$robocik_randtxt[$row['cat_id']][] = $row['rand_text'];
}
while ( $row = $db->sql_fetchrow($result) );
}
sql_cache('write', 'robocik_randtxt', $robocik_randtxt);
}
if ( $check_cache = sql_cache('check', 'robocik_words') )
{
include($check_cache);
}
else if ( $check_cache === false )
{
$sql = "SELECT user_word, robot_word
FROM " . ROBOCIK_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get robocik words from database', '', __LINE__, __FILE__, $sql);
}
$robocik_words = array();
if ( $row = $db->sql_fetchrow($result) )
{
do
{
$robocik_words[$row['user_word']] = $row['robot_word'];
}
while ( $row = $db->sql_fetchrow($result) );
}
sql_cache('write', 'robocik_words', $robocik_words);
}
if( is_array($robocik_words) )
{
foreach ( $robocik_words as $user_word => $robot_word )
{
if ( strstr(strtolower($msg), strtolower($user_word)) )
{
if ( strstr($robot_word, 'randtxt_') )
{
$randtxt_cat_id = intval(substr($robot_word, 8));
$robot_word = $robocik_randtxt[$randtxt_cat_id][ rand(0, (count($robocik_randtxt[$randtxt_cat_id]) - 1)) ];
}
$sql = "INSERT INTO " . SHOUTBOX_TABLE . "
VALUES(NULL, '" . $shoutbox_config['robocik_id'] . "', '" . str_replace('{$name}', $userdata['username'], $robot_word) . "', '" . (CR_TIME+2) . "')";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not insert robot message', '', __LINE__, __FILE__, $sql);
}
}
}
if ( $shoutbox_config['robocik_wulg_on'] )
{
if ( $check_cache = sql_cache('check', 'word_list') )
{
include($check_cache);
foreach($word_list as $word => $replacement)
{
$orig_word[] = str_replace('*', '', $word);
$replacement_word[] = strip_tags($replacement);
}
}
else if ( $check_cache === false )
{
$sql = "SELECT word, replacement
FROM " . WORDS_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get censored words from database', '', __LINE__, __FILE__, $sql);
}
$word_list = array();
if ( $row = $db->sql_fetchrow($result) )
{
do
{
$orig_word[] = str_replace('\*', '', $row['word']);
$word_list[$row['word']] = $row['replacement'];
}
while ( $row = $db->sql_fetchrow($result) );
}
sql_cache('write', 'word_list', $word_list);
}
foreach ( $orig_word as $key => $val )
{
if ( strstr(strtolower($msg), $val) )
{
$robot_wulg_message = ( $userdata['user_wulg'] >= ($shoutbox_config['robocik_max_user_wulg'] - 1) ) ? $shoutbox_config['robocik_warning_text_warn'] : $shoutbox_config['robocik_warning_text_wulg'];
$robot_wulg_message = str_replace('{$name}', $userdata['username'], $robot_wulg_message);
$sql = "UPDATE " . USERS_TABLE . " SET user_wulg = ( `user_wulg` + 1 ) WHERE user_id = '$sb_user_id'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update user_wulg', '', __LINE__, __FILE__, $sql);
}
$sql = "INSERT INTO " . SHOUTBOX_TABLE . "
VALUES(NULL, '" . $shoutbox_config['robocik_id'] . "', '$robot_wulg_message', '" . (CR_TIME+2) . "')";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not insert robot message', '', __LINE__, __FILE__, $sql);
}
}
}
if ( $userdata['user_wulg'] >= ($shoutbox_config['robocik_max_user_wulg'] - 1) )
{
$sql = "INSERT INTO " . WARNINGS_TABLE . "
VALUES(NULL, '$sb_user_id', '" . $shoutbox_config['robocik_id'] . "', '" . CR_TIME . "', '1', '" . str_replace('{$name}', $userdata['username'], $shoutbox_config['robocik_warn_reason']) . "', '0', '1')";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not insert warning', '', __LINE__, __FILE__, $sql);
}
$sql = "UPDATE " . USERS_TABLE . " SET user_wulg = '0' WHERE user_id = '$sb_user_id'";
$db->sql_query($sql);
}
}
}
}
// END ROBOCIK ///////////////////////////////
|
koziolek - 13-07-2008, 17:44
RuseK napisał/a: | w plugin_bash.php klasa ma sie nazywac
plugin_bash
sprawdz, bo moze sie nazywa plugin_plugins, jak tak to popraw. | no to raczej się tak nire nazywała bo nie pamiętem żebym to zmieniał
Jarek 11 napisał/a: | RuseK, Nastempny problem: | może nie masz odblokowanej funkcji allow_url_open na serwerze.
plugin wzorowany na Modzie Centuriona: http://www.przemo.org/php...pic.php?t=50917
RuseK, sugeruje wydzielić posty o Becie do osobnego tematu bo teraz nie wiadomo czy KLU ma proble ze "stabilną" wersją czy z betą
Radek - 13-07-2008, 18:03
koziolek, to zamieszanie będzie, będą pisać raz tu raz tam
A co do pluginów - klasy mają się nazywac
plugin_nazwa
Danyeru - 13-07-2008, 18:54
Jarek 11, to na pewno jest edycja pliku przy pluginie? Bo wygląda to znajomo, a samego robta to mam zainstalowanego
[ Dodano: 13-07-2008, 20:00 ]
nie wiem, czy to wina braku edycji czegoś, ale jak wpisuję słowo kluczowe danego pluginu w sb, to nie odpowiada.
a jak wgrałem plugin bash do folderu pluginów, to po kliknięciu na zakładkę pluginów w administracji robocika wyświetla mi się pusta strona, pozostałe zakładki są ok
Radek - 13-07-2008, 19:05
el_danielo1985, chciałeś ręczną instrukcję do pluginów ? Ok
Kod: | sql_cache('write', 'robocik_words', $robocik_words);
} |
po tym kodzie w shoutbox_view.php dodaj:
Kod: | include($phpbb_root_path . '/includes/plugins.'.$phpEx);
$plugins = new plugins('plugins');
$plugins->check_keyword($msg, $userdata['user_id']); |
Koniec
Co do pluginu bash - mówiłem, że koziołek go zepsuł
Zaraz wrzucę poprawną wersję.
<hr>
Wersja beta2 już dziś :>
Danyeru - 13-07-2008, 19:24
no i nie wiem...
z tym shoutbox_view.php mam już wsjo, a nadal nie reaguje na keyword danego pluginu. normalne gadki są ok
koziolek - 14-07-2008, 10:28
RuseK napisał/a: | A co do pluginów - klasy mają się nazywac
plugin_nazwa | oki
RuseK napisał/a: | Koniec | a to: Kod: | if ( !$plugins->plugin_activated )
{ | ?
przeanalizowałem właśnie kod i czy funkcja rename() nie potrzebuje ustawionych chmodów na katalog plugins/installed/
el_danielo1985, może masz zablokowaną powyższą funkcje na serwerze?
masz wogóle katalog installed/ ?
Radek - 14-07-2008, 13:01
koziolek napisał/a: | przeanalizowałem właśnie kod i czy funkcja rename() nie potrzebuje ustawionych chmodów na katalog plugins/installed/ |
nawet jak są ustawione na 777 to nie działa.
na cba.pl nie działa ani copy(), ani rename(), ani nawet file_put_contents(). Żadnych błędów, nic. Po prostu nie przenosi i tyle.
koziolek - 14-07-2008, 14:23
to może w MySQL zapisywać czy plugin jest zainstalowany?
kiedy ta beta2 ?
Radek - 14-07-2008, 14:25
koziolek, w mysql tez jest zapisywane, ale pliki musza byc przenoszone, bo potem sa includowane. jak zostana w tym samym katalogu, to beda wykrywane do zainstalowania jeszcze raz
koziolek - 14-07-2008, 14:42
no to przy skanowaniu forlderu trzeba by porównywać nazwy z tymi co są w bazie zapisane
They2 - 14-07-2008, 19:59
RuseK, w Twoim zalaczniku jest plik beta1 (plugin) z gotowymi plikami, nie ma tam napisane w instrukcji recznej instalacji, mam na mysli o wklejanie kodu. Nie jestem leniwy na grzebanie, ale mam zupelnie zmodyfikowany plik i dlatego nie chce stracic. Moglbys napisac dokladna instrukcje reczna ?
i poza tym te pluginy (install i bash) najlepiej wstaw do zalacznika w pierwszym poscie (koziolka). Byloby lepiej widoczne, bo czasami moge zgubic w temacie.
koziolek - 14-07-2008, 20:03
They2 napisał/a: | w Twoim zalaczniku jest plik beta1 (plugin) z gotowymi plikami, nie ma tam napisane w instrukcji recznej instalacji, mam na mysli o wklejanie kodu. Nie jestem leniwy na grzebanie, ale mam zupelnie zmodyfikowany plik i dlatego nie chce stracic. Moglbys napisac dokladna instrukcje reczna ? | prosze: http://www.przemo.org/php...p=364442#364442
They2 napisał/a: | i poza tym te pluginy (install i bash) najlepiej wstaw do zalacznika w pierwszym poscie (koziolka). Byloby lepiej widoczne, bo czasami moge zgubic w temacie. | ale to jest narazie beta więc jest jak jest
Radek - 14-07-2008, 20:05
They2, masz na mysli shoutbox_view.php ?
Kod: | sql_cache('write', 'robocik_words', $robocik_words);
}
|
po tym kodzie w shoutbox_view.php dodaj:
Kod: |
include($phpbb_root_path . '/includes/plugins.'.$phpEx);
$plugins = new plugins('plugins');
$plugins->check_keyword($msg, $userdata['user_id']);
if ( !$plugins->plugin_activated )
{ |
znajdz:
Kod: | // END ROBOCIK /////////////////////////////// |
i dodaj przed jedną klamrę:
Nie wrzucałem instrukcji bo to dopiero beta, w wersji beta2 dam instrukcję bo dojdzie jeszcze parę modyfikacji.
Pluginy dodam do 1 postu razem z modem jak będzie wersja final, na razie nie na każdym serwerze działa i nie wszystko jest skończone
|
|
|