Pagina 1 van 1

mchat_bot mysql fout melding

Geplaatst: 19 mei 2012, 15:45
door CJIB
  • Adres van je forum: http://www.trucksim.nl
    Event. modificaties op je forum:diverse alle werkend
    Wanneer ontstond het probleem? Na het installeren van de mchat_bot
    phpBB versie:3.0.10


    Heb je onlangs iets veranderd aan je forum?ja stylen mchat geüpdatet en mchat_bot geïnstalleerd
    Wat is het probleem?
na het installeren van de Mchat_bot kreeg ik een melding dat er iets niet goed was dus verwijderen en opnieuw zou je zeggen!
Maar ik krijg nu wel het module scherm te zien ik kan teksten schrijven om de mchat_bot te laten schrijven enige is ik kan hem niet instellen (activeren of aanzetten)
Bij Bot instellingen aan klikken krijg ik deze fout melding te zien:
Spoiler: bekijk

Code: Selecteer alles

Algemene fout
SQL ERROR [ mysqli ]

Duplicate entry 'mchat bot' for key 2 [1062]

SQL

INSERT INTO phpbb3users (username, username_clean, user_password, user_pass_convert, user_email, user_email_hash, group_id, user_type, user_permissions, user_timezone, user_dateformat, user_lang, user_style, user_actkey, user_ip, user_regdate, user_passchg, user_options, user_new, user_inactive_reason, user_inactive_time, user_lastmark, user_lastvisit, user_lastpost_time, user_lastpage, user_posts, user_dst, user_colour, user_occ, user_interests, user_avatar, user_avatar_type, user_avatar_width, user_avatar_height, user_new_privmsg, user_unread_privmsg, user_last_privmsg, user_message_rules, user_full_folder, user_emailtime, user_notify, user_notify_pm, user_notify_type, user_allow_pm, user_allow_viewonline, user_allow_viewemail, user_allow_massemail, user_sig, user_sig_bbcode_uid, user_sig_bbcode_bitfield, user_form_salt) VALUES ('mChat Bot', 'mchat bot', '', 0, '', '00', 6, 2, '', '1', '|d M Y| H:i', 'nl', 1, '', '', 1337438276, 1337438276, 230271, 0, 0, 0, 1337438276, 0, 0, '', 0, 0, '', '', '', '', 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 1, 0, 1, 1, 1, 0, '', '', '', '1a75aeb33bd41eb1')

BACKTRACE

FILE: [ROOT]/includes/db/mysqli.php
LINE: 182
CALL: dbal->sql_error()

FILE: [ROOT]/includes/functions_user.php
LINE: 250
CALL: dbal_mysqli->sql_query()

FILE: [ROOT]/includes/acp/acp_mchat_bot.php
LINE: 87
CALL: user_add()

FILE: [ROOT]/includes/functions_module.php
LINE: 507
CALL: acp_mchat_bot->main()

FILE: [ROOT]/adm/index.php
LINE: 74
CALL: p_master->load_active()
Nu ben ik niet zo technische maar heb wel die files opgezocht maar heb geen idee wat ik er mee moet doen of aan veranderd moet worden (mijn Engels in computer taal is ook niet toppie dus heb ook bij de maker niks kunnen achter halen voor deze fout.
Spoiler: bekijk
link naar hulp sitehttp://www.phpbb.com/community/viewtopi ... 7&start=75
En een link naar de mod http://modsteam.tk/downloads.php?view=detail&df_id=4
Hopelijk is er iemand die een oplossing heeft want dit lijkt mij een geweldige mod alvast bedankt.

Re: mchat_bot mysql fout melding

Geplaatst: 19 mei 2012, 19:10
door David
Als ik naar het topic op phpbb.com ga die je hier hebt gegeven dan staat er een oplossing. Heb je die al geprobeerd?

Open: /includes/acp/acp_mchat_bot.php

Volg dan onderstaande instructies.
Pico88 schreef:Zoek: (line 58)

Code: Selecteer alles

				$sql = 'SELECT username, user_colour
					FROM ' . USERS_TABLE . '
					WHERE user_id = '. $mchat_config['bot_id'];
				$result = $db->sql_query($sql);
				$user_row = $db->sql_fetchrow($result);
Vervangen met:

Code: Selecteer alles

				$sql = 'SELECT user_id, username, user_colour
					FROM ' . USERS_TABLE . '
					WHERE user_id = '. $mchat_config['bot_id'];
				$result = $db->sql_query($sql);
				$user_row = $db->sql_fetchrow($result);
Maar in principe zou als je deze MOD recent hebt gedownload dit al goed moeten staan. Maar goed je kunt het even checken!

Re: mchat_bot mysql fout melding

Geplaatst: 19 mei 2012, 20:49
door CJIB
Hallo David,
Als eerste bedankt voor je snelle antwoord ik heb het even bekeken en veranderd
Dit is wat er stond in de oude:
Spoiler: bekijk

Code: Selecteer alles

						$sql = 'SELECT username, user_colour FROM ' . USERS_TABLE . ' WHERE user_id = ' . $mchat_config['bot_id'];
						$result = $db->sql_query($sql);
						$mchat_bot_data = $db->sql_fetchrow($result);
Ik heb het met dit vervangen:
Spoiler: bekijk

Code: Selecteer alles

                $sql = 'SELECT user_id, username, user_colour
                   FROM ' . USERS_TABLE . '
                   WHERE user_id = '. $mchat_config['bot_id'];
                $result = $db->sql_query($sql);
                $user_row = $db->sql_fetchrow($result);
Ik heb alles vernieuwd qua templates stylen enz. enz.
ook heb ik de buffer geleegd en nog hou ik het zelfde qua fout melding
Het enige wat ik misschien fout heb kunnen doen weet dit niet zeker is de umil bij het uploaden en installeren heb ik dat volgens mij niet gedaan weet niet of dat beslist moet en waar de umil voor dient

Verder heb ik in elk geval alles gedaan wat er in de installatie stond (en heb inmiddels de nodige dingen wel geïnstalleerd)

Re: mchat_bot mysql fout melding

Geplaatst: 20 mei 2012, 09:15
door David
Volgens mij heb je nu de verkeerde code aangepast, de code die je opgeeft en waarvan je zegt dat je die vervangen hebt begint bij lijn 119, de lijn die je moest zoeken zit rond lijn 58.

Wat voor programma gebruik je om je bestanden te wijzigen? Weet niet of het bij alle programma's zo is, maar bij bijvoorbeeld notepad++ kun je aan je linkerkant de nummering van alle lijnen zien. Dit is soms makkelijk om te controleren of je op de juiste lijn zit, wat soms kan een zoek resultaat meerdere keren in een bestand voorkomen. (in dit geval is dat 3 keer, bij de recente versie van deze MOD 2x). Controleer voor de zekerheid je bestand nog even, of plaatst dat bestand even tussen de [code][/code] tags, dan kijk ik met je mee.

Even voor de zekerheid, je hebt het installatie script wat bij deze modificatie hoort gedraaid? En welke versie ben je nu precies aan het installeren?

Re: mchat_bot mysql fout melding

Geplaatst: 20 mei 2012, 15:41
door CJIB
Ik heb de Mchat versie: mchat_new_version_1_3_5
de Mchat_bot versie: mChat Bot 1.0.1
Forum zelf is up to date.
Als programma om aan te passen gebruik ik PsPad daar werk ik altijd mee krijg daar de regels ook wel in maar gebruik zoek functie en pas dan idd aan heb niet gekeken of het de juiste regel was is (heel stom van mij zelf).
Zo heb in de tijd dat ik dit bericht opstel gelijk de fout waar je mij op gewezen hebt aan gepast had dus idd verkeerde regel gedaan.
Spoiler: bekijk

Code: Selecteer alles

<?php

/**
*
* @author Pico
* @package - mChat Bot
* @version $Id: acp_mchat_bot.php, v 1.0.1 09/12/2011 Pico Exp $
* @copyright (c) 2011 Pico ( http://www.modsteam.tk )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

/**
* @package acp
*/
class acp_mchat_bot
{
	var $u_action;

	function main($id, $mode)
	{
		global $cache, $config, $db, $user, $auth, $template;
		global $phpbb_root_path, $phpEx, $phpbb_admin_path;

		add_form_key('acp_mchat_bot');
		$submit = (isset($_POST['submit'])) ? true : false;
		$action = request_var('action', '');
		$id = request_var('id', 0);
		$cat_id = request_var('cat_id', 0);
		$mchat_bot_id = request_var('mchat_bot_id', '');
		
		$error = array();
		
		$this->tpl_name = 'acp_mchat_bot';
		
		switch ($mode)
		{
			case 'settings':
				$this->page_title = $user->lang['MCHAT_BOT_TITLE'];
				
				$sql = 'SELECT * FROM ' . MCHAT_CONFIG_TABLE;
				$result = $db->sql_query($sql);
				$mchat_config = array();
				while ($row = $db->sql_fetchrow($result))	
				{
					$mchat_config[$row['config_name']] = $row['config_value'];
				}
				$db->sql_freeresult($result);
				
                $sql = 'SELECT user_id, username, user_colour
                   FROM ' . USERS_TABLE . '
                   WHERE user_id = '. $mchat_config['bot_id'];
                $result = $db->sql_query($sql);
                $user_row = $db->sql_fetchrow($result);

				if ($user_row['user_id'] != $mchat_config['bot_id'])
				{
					include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);

					$sql = 'SELECT group_id, group_colour
						FROM ' . GROUPS_TABLE . "
						WHERE group_name = 'BOTS'
							AND group_type = " . GROUP_SPECIAL;
					$result = $db->sql_query($sql);
					$group_row = $db->sql_fetchrow($result);
					$db->sql_freeresult($result);

					$mchat_bot_name = $user->lang['MCHAT_BOT_TITLE'];
					$mchat_bot_id = user_add(array(
						'user_type'				=> (int) USER_IGNORE,
						'group_id'				=> (int) $group_row['group_id'],
						'username'				=> (string) $mchat_bot_name,
						'user_regdate'			=> time(),
						'user_password'			=> '',
						'user_email'			=> '',
						'user_lang'				=> (string) $config['default_lang'],
						'user_style'			=> (int) $config['default_style'],
						'user_allow_massemail'	=> 0,
					));
								
					$sql = 'UPDATE ' . MCHAT_CONFIG_TABLE . "
						SET config_value = '" . $db->sql_escape($mchat_bot_id) . "'
						WHERE config_name = '" . $db->sql_escape('bot_id') . "'";
					$db->sql_query($sql);

					$cache->destroy('_mchat_config');
				
					if (!function_exists('mchat_cache'))
					{
						include($phpbb_root_path . 'includes/functions_mchat.' . $phpEx);
					}
					mchat_cache();
	
					trigger_error($user->lang['MCHAT_BOT_CREATED'] . adm_back_link($this->u_action));
				}
				
				$mchat_bot_row = array(
					'mchat_bot_name'	=> utf8_normalize_nfc(request_var('mchat_bot_name', '', true)),
					'mchat_bot_colour'	=> request_var('mchat_bot_colour', ''),
				);
						
				switch ($action)
				{
					case 'edit_bot' :
						include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
						
						if (!$mchat_bot_id)
						{
							trigger_error('NO_MCHAT_BOT');
						}
						$sql = 'SELECT username, user_colour FROM ' . USERS_TABLE . ' WHERE user_id = ' . $mchat_config['bot_id'];
						$result = $db->sql_query($sql);
						$mchat_bot_data = $db->sql_fetchrow($result);
						
						if (!$mchat_bot_data)
						{
                            trigger_error('NO_MCHAT_BOT');
						}
						
						if (!$submit)
						{	
							$mchat_bot_row['mchat_bot_name'] = $mchat_bot_data['username'];
							$mchat_bot_row['mchat_bot_colour'] = $mchat_bot_data['user_colour'];
						}
						
						if ($submit)
						{
							$check_ary = array(
								'mchat_bot_name'			=> array(
									array('string', false, $config['min_name_chars'], $config['max_name_chars']),
									array('username', $user_row['username'])
								),
							);
							
							$error = validate_data($mchat_bot_row, $check_ary);

							if (!check_form_key('acp_mchat_bot'))
							{
								$error[] = 'FORM_INVALID';
							}
							
							// Replace "error" strings with their real, localised form
							$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
							
							if (!sizeof($error))
							{						
								$mchat_bot_colour = !empty($mchat_bot_row['mchat_bot_colour']) ? $mchat_bot_row['mchat_bot_colour'] : $group_row['group_colour'];
								
								$sql_ary = array(
									'username'			=> (string) $mchat_bot_row['mchat_bot_name'],
									'username_clean'	=> (string) utf8_clean_string($mchat_bot_row['mchat_bot_name']),
									'user_colour'		=> (string) $mchat_bot_colour,
								);

								$sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE user_id = '" . $mchat_config['bot_id'] . "'";
								$db->sql_query($sql);
								
								trigger_error($user->lang['MCHAT_BOT_UPDATED'] . adm_back_link($this->u_action));
							}
						}
						
						$template->assign_vars(array(
							'MCHAT_BOT_ERROR'		=> isset($error) ? ((sizeof($error)) ? implode('<br />', $error) : '') : '',
							'U_BOT_ACTION'			=> $this->u_action . '&action=edit_bot&mchat_bot_id=' . $mchat_bot_id,
							'U_SWATCH'				=> append_sid("{$phpbb_admin_path}swatch.$phpEx", 'form=acp_mchat_bot&name=mchat_bot_colour'),
							'U_AVATAR'				=> $this->u_action . '&i=users&mode=avatar&u=' . $mchat_bot_id,
					
							'MCHAT_BOT_NAME'		=> $mchat_bot_row['mchat_bot_name'],
							'MCHAT_BOT_COLOUR'		=> $mchat_bot_row['mchat_bot_colour'],
					
							'S_EDIT_MCHAT_BOT'		=> true,
						));
						return;						
					break;

					default :
						$mchat_row = array(
							'bot_enable'		=> request_var('mchat_bot_enable', 0),
							'bot_warning'		=> request_var('mchat_bot_warning', 0),
							'bot_warns'			=> request_var('mchat_bot_warns', ''),
							'bot_welcome_id'	=> request_var('cat_id', 0),
						);		

						$sql = 'SELECT username, user_colour
								FROM ' . USERS_TABLE . '
								WHERE user_id = '. $mchat_config['bot_id'];
						$result = $db->sql_query($sql);
						$user_row = $db->sql_fetchrow($result);
							
						if ($submit)
						{
							if (!function_exists('validate_data'))
							{
								include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
							}
							
							// validate the entries...most of them anyway
							$mchat_array = array(
								'bot_warns'	=> array('num', false, 1, 100),
							);	
							
							$error = validate_data($mchat_row, $mchat_array);

							if (!check_form_key('acp_mchat_bot'))
							{
								$error[] = 'FORM_INVALID';
							}
							
							// Replace "error" strings with their real, localised form
							$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
			
							if (!sizeof($error))
							{
								foreach ($mchat_row as $config_name => $config_value)
								{
									$sql = 'UPDATE ' . MCHAT_CONFIG_TABLE . "
										SET config_value = '" . $db->sql_escape($config_value) . "'
										WHERE config_name = '" . $db->sql_escape($config_name) . "'";
									$db->sql_query($sql);
								}
				
								set_config('mchat_bot_welcome', request_var('mchat_bot_welcome', 0));
								
								$cache->destroy('_mchat_config');
				
								if (!function_exists('mchat_cache'))
								{
									include($phpbb_root_path . 'includes/functions_mchat.' . $phpEx);
								}
								mchat_cache();
							
								trigger_error($user->lang['MCHAT_CONFIG_SAVED'] . adm_back_link($this->u_action));
							}
						}
		
						$mchat_bot_welcome = isset($config['mchat_bot_welcome']) ? $config['mchat_bot_welcome'] : 0;
						
						$template->assign_vars(array(
							'MCHAT_BOT_ERROR'		=> isset($error) ? ((sizeof($error)) ? implode('<br />', $error) : '') : '',
							'MCHAT_BOT_ENABLE'		=> !empty($mchat_row['bot_enable']) ? $mchat_row['bot_enable'] : $mchat_config['bot_enable'],
							'MCHAT_BOT_WARNING'		=> !empty($mchat_row['bot_warning']) ? $mchat_row['bot_warning'] : $mchat_config['bot_warning'],
							'MCHAT_BOT_WARNS'		=> !empty($mchat_row['bot_warns']) ? $mchat_row['bot_warns'] : $mchat_config['bot_warns'],
							'MCHAT_BOT_WELCOME'		=> ($mchat_bot_welcome) ? true : false,
							'CAT_SELECT' 			=> generate_cat_select($mchat_config['bot_welcome_id']),
							'MCHAT_BOT'				=> get_username_string('username', $mchat_config['bot_id'], $user_row['username'], $user_row['user_colour']),
							'MCHAT_BOT_COLOUR'		=> get_username_string('colour', $mchat_config['bot_id'], $user_row['username'], $user_row['user_colour']),
							'U_EDIT_BOT'			=> append_sid($this->u_action . '&action=edit_bot&mchat_bot_id=' . $mchat_config['bot_id']),
							'U_ACTION'				=> $this->u_action,
							
							'S_MCHAT_BOT_CONFIG'	=> true)
						);
					break;
				}
			break;
			
			case 'text' :
				$this->page_title = $user->lang['MCHAT_BOT_TEXT_TITLE'];

				$bot_data = array(
					'user_text'		=> utf8_normalize_nfc(request_var('user_text', '', true)),
					'bot_text'		=> utf8_normalize_nfc(request_var('bot_text', '', true)),
					'pos'			=> request_var('pos', '1'),
				);
				
				switch ($action)
				{
					case 'edit' :
						if (!$id)
						{
							trigger_error('NO_BOT_DATA');
						}
						$sql = 'SELECT * FROM ' . MCHAT_BOT_TABLE . ' WHERE id = ' . $id;
						$result = $db->sql_query($sql);
						$text = $db->sql_fetchrow($result);
						
						if (!$text)
						{
                            trigger_error('NO_BOT_DATA');
						}
						
						if (!$submit)
						{
							if (strstr($text['bot_text'], 'randtxt_'))
							{
								$cat_id = intval(substr($text['bot_text'], 8));
								$text['bot_text'] = '';
							}
							
							$bot_data = $text;
						}
					case 'add' :
						$template->assign_vars(array(
							'USER_TEXT'			=> $bot_data['user_text'],
							'BOT_TEXT'			=> $bot_data['bot_text'],
							'CAT_SELECT' 		=> generate_cat_select($cat_id),
							'S_ADD'				=> ($action == 'add') ? true : false,
							'U_TEXT_ACTION'		=> $this->u_action . '&action=' . $action . (($action == 'edit') ? '&id=' . $id : ''),
						));

						if ($submit)
						{
							if ($cat_id)
							{
								$bot_data['bot_text'] = 'randtxt_' . $cat_id;
							}
							

							if ($action == 'add')
							{
								$sql = 'SELECT pos AS pos FROM ' . MCHAT_BOT_TABLE . '
									ORDER BY pos DESC';
								$result = $db->sql_query_limit($sql, 1);
								$pos = (int) $db->sql_fetchfield('pos');
								$db->sql_freeresult($result);
								$bot_data['pos'] = $pos + 1;
								
								$sql = 'INSERT ' . MCHAT_BOT_TABLE . ' ' . $db->sql_build_array('INSERT', $bot_data);
								$db->sql_query($sql);
								$cache->destroy('_mchat_bot_text');
								trigger_error($user->lang['BOT_DATA_ADD_SUCCESS'] . adm_back_link($this->u_action));
							}
							else
							{
								$sql = 'SELECT pos AS pos FROM ' . MCHAT_BOT_TABLE . '
									WHERE id = ' . $id;
								$result = $db->sql_query_limit($sql, 1);
								$pos = (int) $db->sql_fetchfield('pos');
								$db->sql_freeresult($result);
								$bot_data['pos'] = $pos;
								
								$sql = 'UPDATE ' . MCHAT_BOT_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $bot_data) . " WHERE id = '" . $id . "'";
								$db->sql_query($sql);
								$cache->destroy('_mchat_bot_text');
								trigger_error($user->lang['BOT_DATA_EDIT_SUCCESS'] . adm_back_link($this->u_action));
							}
						}
					break;

					case 'delete' :
						if (!$id)
						{
							trigger_error('NO_BOT_DATA');
						}
						$sql = 'SELECT * FROM ' . MCHAT_BOT_TABLE . ' WHERE id = ' . $id;
						$result = $db->sql_query($sql);
						$text = $db->sql_fetchrow($result);
						if (!$text)
						{
                            trigger_error('NO_BOT_DATA');
						}

						if (confirm_box(true))
						{
							$sql = 'DELETE FROM ' . MCHAT_BOT_TABLE . " WHERE id = '" . $id . "'";
							$db->sql_query($sql);
							$cache->destroy('_mchat_bot_text');
							trigger_error($user->lang['BOT_DATA_DELETE_SUCCESS'] . adm_back_link($this->u_action));
						}
						else
						{
							confirm_box(false, $user->lang['DELETE_BOT_DATA']);
						}
					break;
					
					case 'move_up' :
					case 'move_down' :
						$sql = 'SELECT * FROM ' . MCHAT_BOT_TABLE . ' WHERE id = ' . $id;
						$result = $db->sql_query($sql);
						$row = $db->sql_fetchrow($result);
						$size = sizeof($row);
				
						move_text($action, $size, $row['pos'], $row['id']);
						
						$cache->destroy('_mchat_bot_text');
						
						redirect($this->u_action);
					break;
					
					default :
						$sql = 'SELECT * FROM ' . MCHAT_BOT_RANDTXT_CAT_TABLE . '
							ORDER BY cat_id';
						$result = $db->sql_query($sql);
						
						$randtxt_cats = array();
						
						while ($row = $db->sql_fetchrow($result))
						{
							$randtxt_cats[$row['cat_id']] = $row['cat_desc'];
						}
						$db->sql_freeresult($result);
				
						$sql = 'SELECT * FROM ' . MCHAT_BOT_TABLE . '
							ORDER BY pos ASC';
						$result = $db->sql_query($sql);
						while ($row = $db->sql_fetchrow($result))
						{
							$bot_text = $row['bot_text'];
							if( strstr($bot_text, 'randtxt_') )
							{
								$cat_id = intval(substr($bot_text, 8));
								$bot_text = !empty($randtxt_cats[$cat_id]) ? '<i>' . $user->lang['BOT_RANDTEXT'] . ': "' . $randtxt_cats[$cat_id] . '"</i>' : '<i>' . $user->lang['NO_CATEGORY'] . '</i>';
							}
							
							$template->assign_block_vars('bot_text', array(
								'USER_TEXT'		=> $row['user_text'],
								'BOT_TEXT'		=> $bot_text,
								'U_DELETE'		=> append_sid($this->u_action . '&action=delete&id=' . $row['id']),
								'U_EDIT'		=> append_sid($this->u_action . '&action=edit&id=' . $row['id']),
								'U_MOVE_DOWN'	=> $this->u_action . '&action=move_down&id=' . $row['id'],
								'U_MOVE_UP'		=> $this->u_action . '&action=move_up&id=' . $row['id'],
							));
						}
						$db->sql_freeresult($result);
						$template->assign_var('S_BOT_TEXT_LIST', true);
					break;
				}

				$template->assign_vars(array(
					'S_BOT_TEXT'		=> true,
				));
			break;
			
			case 'random_text' :
				
				$this->page_title = $user->lang['MCHAT_BOT_RANDTXT_TITLE'];

				$cat_data = utf8_normalize_nfc(request_var('cat_desc', '', true));
				$rand_data = utf8_normalize_nfc(request_var('rand_text', '', true));
				$rand_id = request_var('rand_id', 0);

				switch ($action)
				{
					case 'edit_cat' :
						if (!$cat_id)
						{
							trigger_error('NO_CATEGORY');
						}
						$sql = 'SELECT * FROM ' . MCHAT_BOT_RANDTXT_CAT_TABLE . ' WHERE cat_id = ' . $cat_id;
						$result = $db->sql_query($sql);
						$cat = $db->sql_fetchrow($result);
						
						if (!$cat)
						{
                            trigger_error('NO_CAT_DATA');
						}

						if (!$submit)
						{
							$cat_data = $cat['cat_desc'];
						}
					case 'add_cat' :
						$template->assign_vars(array(
							'CAT_DESC'			=> $cat_data,
							'S_ADD'				=> ($action == 'add_cat') ? true : false,
							'U_CAT_ACTION'		=> $this->u_action . '&action=' . $action . (($action == 'edit_cat') ? '&cat_id=' . $cat_id : ''),
							'S_CATEGORY_EDIT'	=> true,
						));

						if ($submit)
						{
							if ($action == 'add_cat')
							{
								$sql = 'INSERT INTO ' . MCHAT_BOT_RANDTXT_CAT_TABLE . ' ' . $db->sql_build_array('INSERT', array('cat_desc' => $cat_data));
								$db->sql_query($sql);
								trigger_error($user->lang['CAT_ADD_SUCCESS'] . adm_back_link($this->u_action));
							}
							else
							{
								$sql = 'UPDATE ' . MCHAT_BOT_RANDTXT_CAT_TABLE . ' SET ' . $db->sql_build_array('UPDATE', array('cat_desc' => $cat_data)) . " WHERE cat_id = '" . $cat_id . "'";
								$db->sql_query($sql);
								trigger_error($user->lang['CAT_EDIT_SUCCESS'] . adm_back_link($this->u_action));
							}
						}
					break;

					case 'delete_cat' :
						if (!$cat_id)
						{
							trigger_error('NO_CAT_DATA');
						}
						$sql = 'SELECT * FROM ' . MCHAT_BOT_RANDTXT_CAT_TABLE . ' WHERE cat_id = ' . $cat_id;
						$result = $db->sql_query($sql);
						$category = $db->sql_fetchrow($result);
						
						if (!$category)
						{
                            trigger_error('NO_CAT_DATA');
						}

						if (confirm_box(true))
						{
							$sql = 'DELETE FROM ' . MCHAT_BOT_RANDTXT_CAT_TABLE . ' WHERE cat_id = ' . $cat_id;
							$db->sql_query($sql);
							$sql = 'DELETE FROM ' . MCHAT_BOT_RANDTXT_TABLE . ' WHERE cat_id = ' . $cat_id;
							$db->sql_query($sql);
							$cache->destroy('_mchat_bot_randtxt');
							trigger_error($user->lang['CAT_DELETE_SUCCESS'] . adm_back_link($this->u_action));
						}
						else
						{
							confirm_box(false, $user->lang['DELETE_CATEGORY']);
						}
					break;
					
					case 'edit_randtxt' :
						if (!$rand_id)
						{
							trigger_error('NO_BOT_DATA');
						}
						$sql = 'SELECT * FROM ' . MCHAT_BOT_RANDTXT_TABLE . ' WHERE rand_id = ' . $rand_id;
						$result = $db->sql_query($sql);
						$rand = $db->sql_fetchrow($result);
						
						if (!$rand)
						{
                            trigger_error('NO_BOT_DATA');
						}

						if (!$submit)
						{

							$cat_id = $rand['cat_id'];
							$rand_data = $rand['rand_text'];
						}
					case 'add_randtxt' :
						$template->assign_vars(array(
							'RAND_TEXT'			=> $rand_data,
							'S_ADD'				=> ($action == 'add_randtxt') ? true : false,
							'CAT_SELECT' 		=> generate_cat_select($cat_id),
							'U_RANDTXT_ACTION'	=> $this->u_action . '&action=' . $action . (($action == 'edit_randtxt') ? '&rand_id=' . $rand_id : ''),
							'S_RANDTXT_EDIT'	=> true,
						));

						if ($submit)
						{
							if ($action == 'add_randtxt')
							{
								$sql = 'INSERT INTO ' . MCHAT_BOT_RANDTXT_TABLE . ' ' . $db->sql_build_array('INSERT', array('cat_id' => $cat_id, 'rand_text' => $rand_data));
								$db->sql_query($sql);
								$cache->destroy('_mchat_bot_randtxt');
								trigger_error($user->lang['RANDTXT_ADD_SUCCESS'] . adm_back_link($this->u_action));
							}
							else
							{
								$sql = 'UPDATE ' . MCHAT_BOT_RANDTXT_TABLE . ' SET ' . $db->sql_build_array('UPDATE', array('cat_id' => $cat_id, 'rand_text' => $rand_data)) . " WHERE rand_id = '" . $rand_id . "'";
								$db->sql_query($sql);
								$cache->destroy('_mchat_bot_randtxt');
								trigger_error($user->lang['RANDTXT_EDIT_SUCCESS'] . adm_back_link($this->u_action));
							}
						}
					break;

					case 'delete_randtxt' :
						if (!$rand_id)
						{
							trigger_error('NO_BOT_DATA');
						}
						$sql = 'SELECT * FROM ' . MCHAT_BOT_RANDTXT_TABLE . ' WHERE rand_id = ' . $rand_id;
						$result = $db->sql_query($sql);
						$category = $db->sql_fetchrow($result);
						
						if (!$rand_id)
						{
                            trigger_error('NO_BOT_DATA');
						}

						if (confirm_box(true))
						{
							$sql = 'DELETE FROM ' . MCHAT_BOT_RANDTXT_TABLE . ' WHERE rand_id = ' . $rand_id;
							$db->sql_query($sql);
							$cache->destroy('_mchat_bot_randtxt');
							trigger_error($user->lang['RANDTXT_DELETE_SUCCESS'] . adm_back_link($this->u_action));
						}
						else
						{
							confirm_box(false, $user->lang['DELETE_RANDTXT']);
						}
					break;

					default :
						$sql = 'SELECT * FROM ' . MCHAT_BOT_RANDTXT_TABLE  . '
							ORDER BY cat_id, rand_id';
						$result = $db->sql_query($sql);
		
						$randtxts = array();
		
						while ($row = $db->sql_fetchrow($result))
						{
							$randtxts[$row['cat_id']][] = array(
								'rand_id' => $row['rand_id'],
								'rand_text' => $row['rand_text']
							);
						}
						$db->sql_freeresult($result);
	
						$sql = 'SELECT * FROM ' . MCHAT_BOT_RANDTXT_CAT_TABLE . '
							ORDER BY cat_id';
						$result = $db->sql_query($sql);
						
						while ($row = $db->sql_fetchrow($result))
						{
							$cat_id = $row['cat_id'];
							$num_cat_texts = !empty($randtxts[$cat_id]) ? sizeof($randtxts[$cat_id]) : 0;
							
							$template->assign_block_vars('randtxt_cat', array(
								'CAT_ID' 		=> $cat_id,
								'CAT_DESC' 		=> $row['cat_desc'],
								'NUM_CAT_TEXTS' => $num_cat_texts,

								'U_CAT_EDIT' 	=> append_sid($this->u_action . '&action=edit_cat&cat_id=' . $cat_id),
								'U_CAT_DELETE'	=> append_sid($this->u_action . '&action=delete_cat&cat_id=' . $cat_id),
								'U_RANDTXT_ADD' => append_sid($this->u_action . '&action=add_randtxt&cat_id=' . $cat_id),
							));

							for ($i = 0; $i < $num_cat_texts; $i++)
							{
								$rand_id = $randtxts[$cat_id][$i]['rand_id'];
								$rand_text = $randtxts[$cat_id][$i]['rand_text'];
				
								$template->assign_block_vars('randtxt_cat.randtxt_word', array(
									'RAND_TEXT' => $rand_text,
					
									'U_RANDTXT_EDIT' => append_sid($this->u_action . '&action=edit_randtxt&rand_id=' . $rand_id),
									'U_RANDTXT_DELETE' => append_sid($this->u_action . '&action=delete_randtxt&rand_id=' . $rand_id),
								));
							}
						}
						
						$template->assign_var('S_RANDTXT_LIST', true);
					break;
				}

				$template->assign_vars(array(
					'S_RANDTXT'		=> true,
				));
			
			break;
		}
	}
}

function generate_cat_select($cat_selected = 0)
{
	global $db, $user;
	
	$sql = 'SELECT * FROM ' . MCHAT_BOT_RANDTXT_CAT_TABLE . '
		ORDER BY cat_id';
	$result = $db->sql_query($sql);
	
	$cat_select = '<select name="cat_id"><option value="0">' . $user->lang['SELECT_CATEGORY'] . '</option>';
	
	while( $row = $db->sql_fetchrow($result) )
	{
		if( $cat_selected != 0 && $cat_selected == $row['cat_id'] )
		{
			$selected = ' selected="selected"';
		}
		else
		{
			$selected = '';
		}
		
		$cat_select .= '<option value="' . $row['cat_id'] . '"' . $selected . '>' . $row['cat_desc'] . '</option>';
	}
	
	$cat_select .= '</select>';
	
	$db->sql_freeresult($result);
	
	return $cat_select;
}

function move_text($mode = 'move_up', $size, $pos, $id)
{
	global $db;
	
	if(($pos == 1 && $mode == 'move_up') || ($pos == $size && $mode == 'move_down'))
	{
		return;
	}
	
	if($mode == 'move_down')
	{
		$new_pos = $pos + 1;
	}
	elseif ($mode == 'move_up')
	{
		$new_pos = $pos - 1;
	}
	
	$sql = 'SELECT id as id FROM ' . MCHAT_BOT_TABLE . ' 
		WHERE pos = ' . (int) $new_pos;
	$result = $db->sql_query($sql);
	$id_pos = $db->sql_fetchfield('id');
	$db->sql_freeresult($result);
	
	$sql = 'UPDATE ' . MCHAT_BOT_TABLE . '
			SET pos = ' . (int) $pos . "
			WHERE id = '" . $db->sql_escape($id_pos) . "'";
	$result = $db->sql_query($sql);
	$db->sql_freeresult($result);
	$sql = 'UPDATE ' . MCHAT_BOT_TABLE . '
			SET pos = ' . (int) $new_pos . "
			WHERE id = '" . $db->sql_escape($id) . "'";
	$result = $db->sql_query($sql);
	$db->sql_freeresult($result);
}

?>
Voor de installatie pak ik de zip altijd uit op schijf dan klik ik op (in dit geval) install_mchat_bot.xml
en dan krijg je dat hulp scherm de inhoud van de root kopieer ik via filezilla naar de server waar ik deze keer verzuimd heb om de umil inhoud op server te zetten verder heb ik alles gedaan wat ik altijd normaal

Re: mchat_bot mysql fout melding

Geplaatst: 20 mei 2012, 18:42
door David
Het is me nog niet geheel duidelijk of je install_mchat_bot.php hebt gedraaid in je browser? Dat bedoelde ik met installatie script draaien heb je dat gedaan?

De map Umil zou ik toch uploaden, kan het je helaas niet precies uitleggen :oops: Umil zorgt ervoor dat je installatie scripts makkelijker / sneller kunt draaien, het updaten en verwijderen zou hiermee ook sneller moeten kunnen. Dat is ongeveer wat ik uit de uitleg op phpbb.com gebruik:

http://www.phpbb.com/mods/umil/

Re: mchat_bot mysql fout melding

Geplaatst: 20 mei 2012, 19:09
door CJIB
oke ja heb ik dat even verkeerd begrepen sorry.
Ja ik heb de install_mchat_bot.php gedraaid in de browser en daar werd al een foutje aan gegeven heb daar helaas geen info van dus zou ik je niet kunnen vertellen wat dat nu was.

Wat de umil aan gaat die heb je dus wel degelijk nodig dus Oepss
dan denk ik dat ik dus een uninstal moet doen en dan opnieuw installeren maar dan met de umil toe gevoegd
Wijziging: even aan vullen heb inmiddels uninstal en opnieuw geinstalleerd maar helaas geen succes
Spoiler: bekijk

Code: Selecteer alles

mChat Bot - Mislukt

Databasetype :: mysqli
Waarschuwing

Eén of meer fouten zijn er opgetreden tijdens de uitgevoerde actie. Maak een volledig verslag van alle fouten en vraag de MOD-auteur voor hulp.

Bezig met het toevoegen van de nieuwe tabel: phpbb3mchat_bot
Succes

Bezig met het toevoegen van de nieuwe tabel: phpbb3mchat_bot_randtxt
Succes

Bezig met het toevoegen van de nieuwe tabel: phpbb3mchat_bot_randtxt_cat
Succes

Bezig met het toevoegen van data in de phpbb3mchat_config tabel.
SQL ERROR Duplicate entry 'bot_enable' for key 1

Bezig met het toevoegen van de acp module: Bot Instellingen
Succes

Bezig met het toevoegen van de acp module: Tekst
Succes

Bezig met het toevoegen van de acp module: Willekeurige Tekst
Succes

Bezig met het toevoegen van data in de phpbb3mchat_config tabel.
SQL ERROR Duplicate entry 'bot_warning' for key 1

Bezig met het toevoegen van de nieuwe kolom user_mchat_warnings aan tabel phpbb3users
Succes

Bezig met het toevoegen van de nieuwe configvariabele : mchat_bot_welcome
Succes

Bezig met het toevoegen van data in de phpbb3mchat_config tabel.
SQL ERROR Duplicate entry 'bot_welcome_id' for key 1

Bezig met het toevoegen van de nieuwe kolom pos aan tabel phpbb3mchat_bot
Succes

Bot met succes aangemaakt.
SQL ERROR Duplicate entry 'mchat bot' for key 2

Bezig met het toevoegen van de nieuwe configvariabele : mchat_bot_version
Succes

Re: mchat_bot mysql fout melding

Geplaatst: 20 mei 2012, 21:28
door Pola
Als je nu opnieuw het installatie script draait install_mchat_bot.php heb je dan een mogelijkheid om te "uninstallen"?
Indien "Ja", zou je dat dan willen doen en vervolgens het installatiescript nog een keer uitvoeren. De foutmeldingen lijken te zeggen dat er al bepaalde records aangemaakt zijn in de database.

Re: mchat_bot mysql fout melding

Geplaatst: 21 mei 2012, 16:01
door CJIB
Dat heb ik dus gedaan probleem waar ik dan mee zit is 1 ik kan het niet uninstallen word dan een fout melding gegeven en dan lukt het dus ook niet meer om opnieuw te installeren.
Het is dus een raar iets en uit gerekend met simpele modjes dat het fout gaat.

Re: mchat_bot mysql fout melding

Geplaatst: 21 mei 2012, 19:30
door Pola
CJIB schreef:Dat heb ik dus gedaan probleem waar ik dan mee zit is 1 ik kan het niet uninstallen word dan een fout melding gegeven
Als je install_mchat_bot.php opnieuw draait (nadat je, zoals je aangegeven hebt, umil hebt geinstalleerd en de install gedaan), krijg je dan wel de mededeling of je wilt updaten of uninstallen?
Wat is de foutmelding bij het uninstallen?

Re: mchat_bot mysql fout melding

Geplaatst: 21 mei 2012, 19:46
door CJIB
Ik kan dan alleen nog maar uninstallen updaten kan niet maar zal wel komen om dat het de laatste versie is.
Foutmelding heb ik geen info over dus kan ik niet mee delen.
Wel heb ik inmiddels op:
http://www.phpbb.com/community/viewtopi ... &start=165
Deze vraag en info geplaatst en krijg van Pico88 deze oplossing zegt mij alleen nog niet zoveel omdat ik eigenlijk nooit met phpmyadmin werk dus dat word zoeken geblazen.
Pico88 schreef:Go to phpmyadmin then mchat_config table and delete vaules with bot. Then reinstall the mod (use only installation file).
Edit: ik heb hier even een screen, van volgens mij de locatie waar ik wat mee moet doen moet ik dan daar alles wat met de bot te maken heeft verwijderen of alleen de values op nul of verwijderen ofzo?
Afbeelding

Re: mchat_bot mysql fout melding

Geplaatst: 21 mei 2012, 21:36
door Pola
De aangegeven velden moeten inderdaad verwijderd worden. Normaal gesproken zou dat moeten gebeuren door install_mchat_bot.php opnieuw te draaien.
Misschien moeten ook de tabellen met 'mchat_bot' handmatig verwijderd worden.
CJIB schreef:Ik kan dan alleen nog maar uninstallen updaten kan niet maar zal wel komen om dat het de laatste versie is.
Foutmelding heb ik geen info over dus kan ik niet mee delen.
Ik bedoel dus, als je nu, op dit moment, install_mchat_bot.php draait, wat zijn dan de meldingen.

Re: mchat_bot mysql fout melding

Geplaatst: 21 mei 2012, 22:14
door CJIB
Ik heb nu handmatig alles verwijderd wat op de screen te zien is voor de mChat_bot in phpmyadmin
dan doe ik de uninstallen en dan weer na alles vernieuwd te hebben en buffer leeg enz.
Ga ik opnieuw installeren dan krijg ik nog 1 melding te zien dat is deze:
Spoiler: bekijk

Code: Selecteer alles

Bezig met het toevoegen van de nieuwe tabel: phpbb3mchat_bot
Succes

Bezig met het toevoegen van de nieuwe tabel: phpbb3mchat_bot_randtxt
Succes

Bezig met het toevoegen van de nieuwe tabel: phpbb3mchat_bot_randtxt_cat
Succes

Bezig met het toevoegen van data in de phpbb3mchat_config tabel.
Succes

Bezig met het toevoegen van de acp module: Bot Instellingen
Succes

Bezig met het toevoegen van de acp module: Tekst
Succes

Bezig met het toevoegen van de acp module: Willekeurige Tekst
Succes

Bezig met het toevoegen van data in de phpbb3mchat_config tabel.
Succes

Bezig met het toevoegen van de nieuwe kolom user_mchat_warnings aan tabel phpbb3users
Succes

Bezig met het toevoegen van de nieuwe configvariabele : mchat_bot_welcome
Succes

Bezig met het toevoegen van data in de phpbb3mchat_config tabel.
Succes

Bezig met het toevoegen van de nieuwe kolom pos aan tabel phpbb3mchat_bot
Succes

Bot met succes aangemaakt.
SQL ERROR Duplicate entry 'mchat bot' for key 2

Bezig met het toevoegen van de nieuwe configvariabele : mchat_bot_version
Succes
daarna in het beheerders gedeelte heb ik deze meldingen:
Spoiler: bekijk

Code: Selecteer alles

Algemene fout
SQL ERROR [ mysqli ]

Duplicate entry 'mchat bot' for key 2 [1062]

SQL

INSERT INTO phpbb3users (username, username_clean, user_password, user_pass_convert, user_email, user_email_hash, group_id, user_type, user_permissions, user_timezone, user_dateformat, user_lang, user_style, user_actkey, user_ip, user_regdate, user_passchg, user_options, user_new, user_inactive_reason, user_inactive_time, user_lastmark, user_lastvisit, user_lastpost_time, user_lastpage, user_posts, user_dst, user_colour, user_occ, user_interests, user_avatar, user_avatar_type, user_avatar_width, user_avatar_height, user_new_privmsg, user_unread_privmsg, user_last_privmsg, user_message_rules, user_full_folder, user_emailtime, user_notify, user_notify_pm, user_notify_type, user_allow_pm, user_allow_viewonline, user_allow_viewemail, user_allow_massemail, user_sig, user_sig_bbcode_uid, user_sig_bbcode_bitfield, user_form_salt) VALUES ('mChat Bot', 'mchat bot', '', 0, '', '00', 6, 2, '', '1', '|d M Y| H:i', 'nl', 5, '', '', 1337634186, 1337634186, 230271, 0, 0, 0, 1337634186, 0, 0, '', 0, 1, '', '', '', '', 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 1, 0, 1, 1, 1, 0, '', '', '', '83173b49722fc3fa')

BACKTRACE

FILE: [ROOT]/includes/db/mysqli.php
LINE: 182
CALL: dbal->sql_error()

FILE: [ROOT]/includes/functions_user.php
LINE: 250
CALL: dbal_mysqli->sql_query()

FILE: [ROOT]/includes/acp/acp_mchat_bot.php
LINE: 87
CALL: user_add()

FILE: [ROOT]/includes/functions_module.php
LINE: 507
CALL: acp_mchat_bot->main()

FILE: [ROOT]/adm/index.php
LINE: 74
CALL: p_master->load_active()
dat is dus nog niet helemaal de oplossing geweest.
Als ik nu in phpmyadmin kijk dan zie ik telkens weer "bot_warns 1" staan en kan dat dan zijn dat er ergens nog iets is achter gebleven en dus niet verwijderd is (heb dus alles waar _bot stond verwijderd en die 5 bot values in de mchat config)

Re: mchat_bot mysql fout melding

Geplaatst: 21 mei 2012, 23:09
door Pola
Zou je nog eens de tabellen en de 5 bot values uit de mchat config tabel willen verwijderen.
Vervolgens de volgende MySQL query uitvoeren:

Code: Selecteer alles

SELECT * FROM phpbb3users WHERE username = 'mChat Bot';
en dan die regel ook verwijderen. Dat is namelijk de regel waar je de foutmeldingen op krijgt.

Daarna nog eens proberen om te installeren.

Re: mchat_bot mysql fout melding

Geplaatst: 22 mei 2012, 16:30
door CJIB
Oke nu ben ik dus echt een noob ik weet nog net hoe ik een mysql query moet uitvoeren maar hoe kan ik dat daarna verwijderen?
Als het om phpmyadmin gaat ben ik dus echt niet op de hoogte hoe het werkt dus als ik dat weet kan ik het gaan uitvoeren alvast bedankt excuses voor de noob vragen hoor.

Re: mchat_bot mysql fout melding

Geplaatst: 22 mei 2012, 20:33
door Pola
Als je de query hebt uitgevoerd, zie je dan niet een regel met aan het begin o.a. een knop "Verwijder"?

Bijvoorbeeld zoals op bijgevoegde afbeelding:
Afbeelding

Re: mchat_bot mysql fout melding

Geplaatst: 23 mei 2012, 00:25
door CJIB
dank je wel Pola het is nu gelukt met de mchat bot installeren, maar nu heb ik het volgende probleem:
als ik een maal de bot heb geconfigureerd en geactiveerd dan reageer hij wel op een tekst, als je bijvoorbeeld mogge in typ en enter in drukt dan komt er gelijk een reactie van de bod "goede morgen {$username}"
maar ga ik dan willekeurig iets in typen en druk dan op enter dan komt er niks de chat te staan schakel ik de chat uit dan werkt alles wel gewoon.
Is daar ook een oplossing voor?

(Ohw voor ik het vergeet mijn phpmyadmin ziet er anders uit dan jou afbeelding maar zal wel komen omdat mijn phpmyadmin verouderd is).
Nogmaals hartelijk dank voor de hulp zover was mij anders echt niet gelukt ;)