Показать сообщение отдельно
Старый 30.04.2015, 01:05 Вверх   #2
.:V.I.P.:.
 
Аватар для EHOT
EHOT вне форума
Доп. информация
По умолчанию

продолжение кода
Код:
if ($vsacb_msg_arc['textprop']['italic'])
					{
						$vsacb_arc_italicopen = '';
						$vsacb_arc_italicclose = '';
					}
					if ($vsacb_msg_arc['textprop']['underline'])
					{
						$vsacb_arc_underlineopen = '';
						$vsacb_arc_underlineclose = '';
					}

					if ($vbulletin->options['vsachatbox_clickable_links'])
					{
						$vsacb_msg_arc_tow = VSacb_clickableLinks($vsacb_msg_arc['message']);
					}
					else
					{
						$vsacb_msg_arc_tow = $vsacb_msg_arc['message'];
					}

					$vsacb_msg_arc_styled = $vsacb_arc_coloropen.$vsacb_arc_boldopen.$vsacb_arc_italicopen.$vsacb_arc_underlineopen.$vsacb_msg_arc_tow.$vsacb_arc_underlineclose.$vsacb_arc_italicclose.$vsacb_arc_boldclose.$vsacb_arc_colorclose;

					$vsacb_msg_arc_parsed = str_replace('\'', ''', $vsacb_bbparser->do_parse($vsacb_msg_arc_styled,1,$vsacb_smilies_onoff,1,1,1));

					$templater = vB_Template::create('vsa_chatbox_archive_bit');
					$templater->register('vsacb_msg_arc_nr', $vsacb_msg_arc_nr);
					$templater->register('vsacb_msg_arc_id', $vsacb_msg_arc_id);
					$templater->register('vsacb_msg_arc', $vsacb_msg_arc);
					$templater->register('vsacb_msg_arc_icon', $vsacb_msg_arc_icon);
					$templater->register('vsacb_msg_arc_parsed', $vsacb_msg_arc_parsed);
					$templater->register('vsacb_msg_arc_staff', $vsacb_msg_arc_staff);
					$templater->register('vsacb_msg_arc_banned', $vsacb_msg_arc_banned);
					$templater->register('vsacb_canmod', $vsacb_canmod);
					$templater->register('vsacb_canedit', $vsacb_canedit);
					$templater->register('vsacb_totalentries', $vsacb_totalentries);
					$templater->register('vsacb_targettext', $vsacb_targettext);

					if ($vbulletin->options['vsachatbox_reverse_messages_arc'])
					{
						$vsacb_msgs_arc[] .= $templater->render();
					}
					else
					{
						$vsacb_msgs_arc .= $templater->render();
					}
				}

				if ($vbulletin->options['vsachatbox_reverse_messages_arc'])
				{
					if (!empty($vsacb_msgs_arc))
					{
						$vsacb_msgs_arc_rev = array_reverse($vsacb_msgs_arc);
						foreach ($vsacb_msgs_arc_rev as $vsacb_msg_arc_rev)
						{
							$vsacb_msgs_arc_final .= $vsacb_msg_arc_rev;
						}
					}
					else
					{
						$vsacb_msgs_arc_final = '';
					}
				}
				else
				{
					$vsacb_msgs_arc_final = $vsacb_msgs_arc;
				}

				unset($vsacb_get_msg_arc, $vsacb_msg_arc);

				$pagenav = construct_page_nav($pagenumber, $perpage, $vsacb_totalnav, 'misc.php?' . $vbulletin->session->vars['sessionurl'] . 'do=ccarc'
					. (!empty($vbulletin->GPC['perpage']) ? "&pp=$perpage" : "")
					. (!empty($vsacb_targetuser) ? "&cbu=$vsacb_targetuser" : "")
					. (!empty($vsacb_targettext) ? "&cbt=$vsacb_targettext" : "")
				);

				$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "session SET lastactivity = '".TIMENOW."', location = 'ccarc' WHERE userid = " . $vbulletin->userinfo['userid']);
				$vbulletin->db->show_errors();

				$navbits = construct_navbits(array('' => $vbphrase['vsacb_archive']));
				$navbar = render_navbar_template($navbits);
				$templater = vB_Template::Create('vsa_chatbox');
				$templater->register_page_templates();
				$templater->register('navbar', $navbar);
				$templater->register('vsachatbox_dropdown', $vsachatbox_dropdown);
				$templater->register('vsacb_totalmessages', $vsacb_totalmessages);
				$templater->register('vsacb_totalentries', $vsacb_totalentries);
				$templater->register('vsacb_xhoursmessages', $vsacb_xhoursmessages);
				$templater->register('vsacb_mymessages', $vsacb_mymessages);
				$templater->register('vsacb_topx_res', $vsacb_topx_res);
				$templater->register('vsacb_topchatters', $vsacb_topchatters);
				$templater->register('vsacb_candelall', $vsacb_candelall);
				$templater->register('vsacb_banlist', $vsacb_banlist);
				$templater->register('vsacb_targettext', $vsacb_targettext);
				$templater->register('vsacb_targetuser', $vsacb_targetuser);
				$templater->register('vsacb_msgs_arc_final', $vsacb_msgs_arc_final);
				$templater->register('vsacb_canmod', $vsacb_canmod);
				$templater->register('vsacb_canedit', $vsacb_canedit);
				$templater->register('pagenav', $pagenav);
				$templater->register('vsacb_cantpost', $vsacb_cantpost);
				$templater->register('vsacb_search_value', $vsacb_search_value);
				$templater->register('vsacb_locs', $vsacb_locs);
				$templater->register('vsacb_oneforum', $vsacb_oneforum);
				$vsachatbox = $templater->render();
				print_output($vsachatbox);
			}

			if (($_REQUEST['show']=='ccbusers') AND (THIS_SCRIPT=='misc'))
			{
				$vbulletin->db->hide_errors();
				$vsacb_viewers_timecut = TIMENOW - ($vbulletin->options['vsachatbox_viewers_timecut'] * 60);
				$vsacb_viewers_reg = 0;
				$vsacb_viewers_unreg = 0;

				$vsacb_getviewers = $vbulletin->db->query_read("
					SELECT session.lastactivity, session.userid, session.location, session.host, user.username, user.usergroupid, user.displaygroupid, IF(user.options & " . $vbulletin->bf_misc_useroptions['invisible'] . ", 1, 0) AS invisible
					FROM " . TABLE_PREFIX . "session AS session
					LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = session.userid)
					WHERE session.lastactivity > $vsacb_viewers_timecut AND session.location LIKE '%cchatbox%' OR session.location LIKE '%ccarc%'
					GROUP BY session.userid
					ORDER BY user.username ASC
				");
				$vbulletin->db->show_errors();
				while ($vsacb_viewer = $vbulletin->db->fetch_array($vsacb_getviewers))
				{
					$vsacb_markinv = '';
					$vsacb_viewer_visible = true;
					if ($vsacb_viewer[invisible])
					{
						$vsacb_viewer_visible = false;
						if (($vbulletin->userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canseehidden']) OR $vsacb_viewer['userid'] == $vbulletin->userinfo['userid'])
						{
							$vsacb_markinv = '*';
							$vsacb_viewer_visible = true;
						}
					}
					if ($vsacb_viewer[userid]!=0)
					{
						$vsacb_viewers_reg += 1;
						$vsacb_viewer_username = fetch_musername($vsacb_viewer);
						$vsacb_viewer_lastact = vbdate('d-m, H:i', $vsacb_viewer[lastactivity]);
						if ($vsacb_viewer_visible)
						{
							$vsacb_viewer_item .= ', <a href="member.php?'.$vbulletin->session->vars['sessionurl'].'u='.$vsacb_viewer[userid].'" title="'.$vsacb_viewer_lastact.'">'.$vsacb_viewer_username.'</a>'.$vsacb_markinv;
						}
						else
						{
							$vsacb_viewer_item .= ', '.$vbphrase['vsacb_invisible'];
						}
					}
					else
					{
						$vsacb_viewers_unreg += 1;
					}
				}
				$vsacb_viewers_total = $vsacb_viewers_reg + $vsacb_viewers_unreg;
				$vsacb_viewers_list = substr($vsacb_viewer_item, 2);
				unset($vsacb_getviewers, $vsacb_viewer);
				echo ('<tr>
						<td colspan="5">
							'.construct_phrase($vbphrase['vsacb_active_users_x'], $vbulletin->options['vsachatbox_viewers_timecut'], $vsacb_viewers_total, $vsacb_viewers_reg, $vsacb_viewers_unreg).'
						</td>
					</tr>' . iif($vsacb_viewers_list,'<tr><td colspan="5">'.$vsacb_viewers_list.'</td></tr>',''));
				exit;
			}

			if ($_REQUEST['show']=='ccbmessages')
			{
				$stylevar[codeblockwidth] = $vbulletin->options['vsachatbox_code_maxwidth'].'px';
				$vbulletin->db->hide_errors();
				$vsacb_get_msg_box = $vbulletin->db->query_read("
					SELECT vsa_chatbox.id, vsa_chatbox.userid, vsa_chatbox.message, vsa_chatbox.dateline, vsa_chatbox.textprop, user.username, user.usergroupid, user.displaygroupid
					FROM ".TABLE_PREFIX."vsa_chatbox AS vsa_chatbox
					LEFT JOIN ".TABLE_PREFIX."user AS user ON (user.userid = vsa_chatbox.userid)
					ORDER BY vsa_chatbox.dateline DESC
					LIMIT 0, " . $vbulletin->options['vsachatbox_messages_main'] . "
				");
				$vbulletin->db->show_errors();
				$vsacb_box_totalmessages = $vbulletin->db->num_rows($vsacb_get_msg_box);
				while ($vsacb_msg_box = $vbulletin->db->fetch_array($vsacb_get_msg_box))
				{
					$vsacb_msg_box_id = $vsacb_msg_box['id'];
					$vsacb_msg_box['message'] = htmlspecialchars_uni($vsacb_msg_box['message']);
					if ($vbulletin->options['vsachatbox_clickable_links'])
					{
						$vsacb_msg_box['message'] = VSacb_clickableLinks($vsacb_msg_box['message']);
					}
					$vsacb_msg_box['musername'] = fetch_musername($vsacb_msg_box);

					$vsacb_msg_box_banned = false;
					eval('$vsacb_bannedusers = in_array($vsacb_msg_box[userid], array(' . $vbulletin->options['vsachatbox_excluded_users'] . '));');
					if (in_array($vsacb_msg_box[userid], array($vsacb_bannedusers)))
					{
						$vsacb_msg_box_banned = true;
					}

					$vsacb_msg_box['time'] = VSacb_buildTime($vsacb_msg_box['dateline']);
					if ($vsacb_msg_box['dateline']>$vbulletin->userinfo['lastvisit'])
					{
						$vsacb_msg_box_icon = '<img class="inlineimg" src="'.vB_Template_Runtime::fetchStyleVar('imgdir_statusicon').'/post_new.png" alt="'.$vbphrase['new'].'" border="0" /> ';
					}
					else
					{
						$vsacb_msg_box_icon = '<img class="inlineimg" src="'.vB_Template_Runtime::fetchStyleVar('imgdir_statusicon').'/post_old.png" alt="'.$vbphrase['new'].'" border="0" /> ';
					}
					$vsacb_box_coloropen = '';
					$vsacb_box_colorclose = '';
					$vsacb_box_boldopen = '';
					$vsacb_box_boldclose = '';
					$vsacb_box_italicopen = '';
					$vsacb_box_italicclose = '';
					$vsacb_box_underlineopen = '';
					$vsacb_box_underlineclose = '';
					$vsacb_msg_box['textprop'] = unserialize($vsacb_msg_box['textprop']);
					if ($vsacb_msg_box['textprop']['color'] AND $vbulletin->options['vsachatbox_colors_enabled'])
					{
						$vsacb_box_coloropen = '[color='.$vsacb_msg_box['textprop']['color'].']';
						$vsacb_box_colorclose = '[/color]';
					}
					if ($vsacb_msg_box['textprop']['bold'])
					{
						$vsacb_box_boldopen = '';
						$vsacb_box_boldclose = '';
					}
					if ($vsacb_msg_box['textprop']['italic'])
					{
						$vsacb_box_italicopen = '';
						$vsacb_box_italicclose = '';
					}
					if ($vsacb_msg_box['textprop']['underline'])
					{
						$vsacb_box_underlineopen = '';
						$vsacb_box_underlineclose = '';
					}
					$vsacb_msg_box_styled = $vsacb_box_coloropen.$vsacb_box_boldopen.$vsacb_box_italicopen.$vsacb_box_underlineopen.$vsacb_msg_box['message'].$vsacb_box_underlineclose.$vsacb_box_italicclose.$vsacb_box_boldclose.$vsacb_box_colorclose;
					$vsacb_msg_box_parsed = str_replace('\'', ''', $vsacb_bbparser->do_parse($vsacb_msg_box_styled,1,$vsacb_smilies_onoff,1,1,1));

					$templater = vB_Template::create('vsa_chatbox_bit');
					$templater->register('vsachatbox_dropdown', $vsachatbox_dropdown);
					$templater->register('vsacb_msg_box_parsed', $vsacb_msg_box_parsed);
					$templater->register('vsacb_msg_box_id', $vsacb_msg_box_id);
					$templater->register('vsacb_msg_box', $vsacb_msg_box);
					$templater->register('vsacb_msg_box_icon', $vsacb_msg_box_icon);

					if ($vbulletin->options['vsachatbox_reverse_messages'])
					{
						$vsacb_msgs_box[] .= $templater->render();
					}
					else
					{
						$vsacb_msgs_box .= $templater->render();
					}
				}
				if ($vbulletin->options['vsachatbox_reverse_messages'])
				{
					if (!empty($vsacb_msgs_box))
					{
						$vsacb_msgs_box_rev = array_reverse($vsacb_msgs_box);
						foreach ($vsacb_msgs_box_rev as $vsacb_msg_box_rev)
						{
							$vsacb_msgs_box_final .= $vsacb_msg_box_rev;
						}
					}
					else
					{
						$vsacb_msgs_box_final = '';
					}
				}
				else
				{
					$vsacb_msgs_box_final = $vsacb_msgs_box;
				}
				unset($vsacb_get_msg_box, $vsacb_msg_box);
				if ($vsacb_box_totalmessages>0)
				{
					echo ($vsacb_msgs_box_final);
				}
				else
				{
					echo ('<tr><td>'.$vbphrase['vsacb_no_messages'].'</td></tr>');
				}
				exit;
			}

			if ($_REQUEST['show']=='ccbsmilies')
			{
				if ($vbulletin->options['vsachatbox_smiliestotal']>1)
				{
					$vsacb_fsmilies_limit = "LIMIT 0, ".$vbulletin->options['vsachatbox_smiliestotal']."";
				}
				$vbulletin->db->hide_errors();
				$vsacb_get_fsmilies = $vbulletin->db->query_read_slave("
					SELECT smilieid, smilietext, smiliepath, smilie.title, imagecategory.title AS category
					FROM " . TABLE_PREFIX . "smilie AS smilie
					LEFT JOIN " . TABLE_PREFIX . "imagecategory AS imagecategory USING(imagecategoryid)
					ORDER BY imagecategory.displayorder, imagecategory.title, smilie.displayorder
					$vsacb_fsmilies_limit
				");
				$vsacb_fsmilies_total = $vbulletin->db->num_rows($vsacb_get_fsmilies);
				$vbulletin->db->data_seek($vsacb_get_fsmilies, 0);
				$vsacb_i = 0;
				$vsacb_fsmilie_bit = array();
				while ($vsacb_fsmilie = $vbulletin->db->fetch_array($vsacb_get_fsmilies) AND ($vsacb_i++ < $vsacb_fsmilies_total))
				{
					$vsacb_fsmilie_id += 1;

					$vsacb_fsmilie_html = '<a style="display:block;margin:2px;overflow:hidden;width:'.$vbulletin->options['vsachatbox_smiliesclip'].'px;height:'.$vbulletin->options['vsachatbox_smiliesclip'].'px;" href="javascript:void(0);" onclick="return VSacb_insertSmilie(\''.str_replace("'", "\'", $vsacb_fsmilie['smilietext']).'\')"><img onmouseover="return VSacb_updateSmiliePreview(this.src);" src="'.$vsacb_fsmilie['smiliepath'].'" alt="'.$vsacb_fsmilie['title'].'" border="0" /></a>';
					$vsacb_fsmilie_bit[] = '<td>'.$vsacb_fsmilie_html.'</td>';
					if (sizeof($vsacb_fsmilie_bit) == $vbulletin->options['vsachatbox_smiliesperrow'])
					{
						$vsacb_fsmilie_cell = implode('', $vsacb_fsmilie_bit);
						$vsacb_fsmilie_bits .= '<tr style="text-align:center;">'.$vsacb_fsmilie_cell.'</tr>';
						$vsacb_fsmilie_bit = array();
					}
				}
				$vsacb_fsmilies_remaining = sizeof($vsacb_fsmilie_bit);
				if ($vsacb_fsmilies_remaining > 0)
				{
					$vsacb_fsmilies_colrem = $vbulletin->options['vsachatbox_smiliesperrow'] - $vsacb_fsmilies_remaining;
					$vsacb_fsmilie_bit[] = '<td colspan="'.$vsacb_fsmilies_colrem.'">&nbsp;</td>';
					$vsacb_fsmilie_cell = implode('', $vsacb_fsmilie_bit);
					$vsacb_fsmilie_bits .= '<tr style="text-align:center;" style="vertical-align:bottom;">'.$vsacb_fsmilie_cell.'</tr>';
				}
				$vbulletin->db->show_errors();
				$vsacb_fsmilies = '<table cellpadding="0" cellspacing="0" border="0" style="text-align:center;">'.$vsacb_fsmilie_bits.'</table>';
				unset($vsacb_get_fsmilies, $vsacb_fsmilie);
				echo ($vsacb_fsmilies);
				exit;
			}

			if ($_POST['do'] == 'cb_postnew')
			{
				$vbulletin->input->clean_array_gpc('p', array(
					'vsacb_newmessage'	 => TYPE_STR,
					'color' => TYPE_NOHTML,
					'fontWeight' => TYPE_NOHTML,
					'fontStyle' => TYPE_NOHTML,
					'textDecoration' => TYPE_NOHTML)
				);

				if (!empty($vbulletin->GPC['vsacb_newmessage']) && $vbulletin->userinfo['userid'] > 0 && !VSacb_userExcluded($vbulletin->userinfo) AND empty($vbulletin->userinfo['infractiongroupids']))
				{
					$vsacb_messageinfo = addslashes(serialize(array(
						'color' => addslashes(convert_urlencoded_unicode($vbulletin->GPC['color'])),
						'bold' => addslashes(convert_urlencoded_unicode($vbulletin->GPC['fontWeight'])),
						'italic' => addslashes(convert_urlencoded_unicode($vbulletin->GPC['fontStyle'])),
						'underline' => addslashes(convert_urlencoded_unicode($vbulletin->GPC['textDecoration']))
					)));

					$vbulletin->GPC['vsacb_newmessage'] = convert_urlencoded_unicode($vbulletin->GPC['vsacb_newmessage']);

					$vsacb_checkme = strpos($vbulletin->GPC['vsacb_newmessage'], '/me ');
					if ($vsacb_checkme !== false)
					{
						$vbulletin->GPC['vsacb_newmessage'] = str_replace('/me ', $vbulletin->userinfo[''].' ', $vbulletin->GPC['vsacb_newmessage']);
						$vbulletin->GPC['vsacb_newmessage'] = '[color='.$vbulletin->options['vsachatbox_mecolor'].']Системное сообщение: [/color]'.$vbulletin->GPC['vsacb_newmessage'].'';
					}
					
					$vbulletin->GPC['vsacb_newmessage'] = convert_urlencoded_unicode($vbulletin->GPC['vsacb_newmessage']);

					$vsacb_checkme = strpos($vbulletin->GPC['vsacb_newmessage'], '/re ');
					if ($vsacb_checkme !== false)
					{
						$vbulletin->userinfo['username'] == $vbulletin->userinfo['555'] ;
						$vbulletin->GPC['vsacb_newmessage'] = str_replace('/re ', $vbulletin->userinfo[''].' ', $vbulletin->GPC['vsacb_newmessage']);
						$vbulletin->GPC['vsacb_newmessage'] = '[color='.red.'][Системное сообщение][/color][color='.yellow.']'.$vbulletin->GPC['vsacb_newmessage'].'[/color]';
					}

					if ($vbulletin->options['vsachatbox_banned_tags']!='')
					{
						$vsachatbox_banned_tags = str_replace(" ","",$vbulletin->options['vsachatbox_banned_tags']);
						$vsacb_banned_tags = explode(',',$vsachatbox_banned_tags);
						foreach ($vsacb_banned_tags AS $vsacb_banned_tag)
						{
							$vsacb_bannedtags .= ',['.$vsacb_banned_tag.']';
							$vsacb_bannedtags .= ',[/'.$vsacb_banned_tag.']';
						}
						$vsacb_bannedtagsu = strtoupper($vsacb_bannedtags);
						$vsacb_bannedtagspf = substr($vsacb_bannedtags.$vsacb_bannedtagsu, 1);
						$vsacb_bannedtagsf = explode(',',$vsacb_bannedtagspf);
						$vbulletin->GPC['vsacb_newmessage'] = str_replace($vsacb_bannedtagsf, '', $vbulletin->GPC['vsacb_newmessage']);
					}

					$vbulletin->db->hide_errors();
					$vbulletin->db->query_write("
						INSERT INTO ".TABLE_PREFIX."vsa_chatbox
							(userid, userip, message, dateline, textprop)
						VALUES ('".$vbulletin->userinfo['userid']."', '".$_SERVER['REMOTE_ADDR']."', '".addslashes($vbulletin->GPC['vsacb_newmessage'])."', ".TIMENOW.", '".$vsacb_messageinfo."')
					");

					$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "session SET lastactivity = '".TIMENOW."', location = 'cchatbox' WHERE userid = " . $vbulletin->userinfo['userid']);
					$vbulletin->db->show_errors();
				}
				exit;
			}

			if (($_POST['do'] == 'vsacb_editmessage') AND $vsacb_canedit)
			{
				$vbulletin->input->clean_array_gpc('p', array(
					'id' => TYPE_UINT,
					'vsacb_editmessage' => TYPE_STR)
				);

				$vbulletin->db->hide_errors();
				$vsacb_getmessageinfo = $vbulletin->db->query_first("SELECT id, userid from " . TABLE_PREFIX . "vsa_chatbox WHERE id = '".$vbulletin->GPC['id']."' ");

				if ($vsacb_getmessageinfo['userid'] != $vbulletin->userinfo['userid'] && !$vsacb_canmod)
				{
					echo $vbulletin->GPC['vsacb_editmessage'];
					exit;
				}

				$vbulletin->GPC['vsacb_editmessage'] = convert_urlencoded_unicode($vbulletin->GPC['vsacb_editmessage']);
				
				if ($vbulletin->options['vsachatbox_banned_tags']!='')
				{
					$vsachatbox_banned_tags = str_replace(" ","",$vbulletin->options['vsachatbox_banned_tags']);
					$vsacb_banned_tags = explode(',',$vsachatbox_banned_tags);
					foreach ($vsacb_banned_tags AS $vsacb_banned_tag)
					{
						$vsacb_bannedtags .= ',['.$vsacb_banned_tag.']';
						$vsacb_bannedtags .= ',[/'.$vsacb_banned_tag.']';
					}
					$vsacb_bannedtagsu = strtoupper($vsacb_bannedtags);
					$vsacb_bannedtagspf = substr($vsacb_bannedtags.$vsacb_bannedtagsu, 1);
					$vsacb_bannedtagsf = explode(',',$vsacb_bannedtagspf);
					$vbulletin->GPC['vsacb_editmessage'] = str_replace($vsacb_bannedtagsf, '', $vbulletin->GPC['vsacb_editmessage']);
				}

				$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "vsa_chatbox SET message = '".addslashes($vbulletin->GPC['vsacb_editmessage'])."' WHERE id = '".$vsacb_getmessageinfo['id']."' ");

				$vsacb_edit_coloropen = '';
				$vsacb_edit_colorclose = '';
				$vsacb_edit_boldopen = '';
				$vsacb_edit_boldclose = '';
				$vsacb_edit_italicopen = '';
				$vsacb_edit_italicclose = '';
				$vsacb_edit_underlineopen = '';
				$vsacb_edit_underlineclose = '';

				$vsacb_msg_edit = $vbulletin->db->query_first("SELECT id, message, textprop FROM " . TABLE_PREFIX . "vsa_chatbox WHERE id = '".$vbulletin->GPC['id']."' ");

				$vbulletin->db->show_errors();

				$vsacb_msg_edit['message'] = htmlspecialchars_uni($vsacb_msg_edit['message']);
				$vsacb_msg_edit['textprop'] = unserialize($vsacb_msg_edit['textprop']);
				if ($vsacb_msg_edit['textprop']['color'] AND $vbulletin->options['vsachatbox_colors_enabled'])
				{
					$vsacb_edit_coloropen = '[color='.$vsacb_msg_edit['textprop']['color'].']';
					$vsacb_edit_colorclose = '[/color]';
				}
				if ($vsacb_msg_edit['textprop']['bold'])
				{
					$vsacb_edit_boldopen = '';
					$vsacb_edit_boldclose = '';
				}
				if ($vsacb_msg_edit['textprop']['italic'])
				{
					$vsacb_edit_italicopen = '';
					$vsacb_edit_italicclose = '';
				}
				if ($vsacb_msg_edit['textprop']['underline'])
				{
					$vsacb_edit_underlineopen = '';
					$vsacb_edit_underlineclose = '';
				}

				if ($vbulletin->options['vsachatbox_clickable_links'])
				{
					$vsacb_msg_edit_tow = VSacb_clickableLinks($vsacb_msg_edit['message']);
				}
				else
				{
					$vsacb_msg_edit_tow = $vsacb_msg_edit['message'];
				}

				$vsacb_msg_edit_styled = $vsacb_edit_coloropen.$vsacb_edit_boldopen.$vsacb_edit_italicopen.$vsacb_edit_underlineopen.$vsacb_msg_edit_tow.$vsacb_edit_underlineclose.$vsacb_edit_italicclose.$vsacb_edit_boldclose.$vsacb_edit_colorclose;
				$vsacb_msg_edit_parsed = str_replace('\'', ''', $vsacb_bbparser->do_parse($vsacb_msg_edit_styled,1,$vsacb_smilies_onoff,1,1,1));
				unset($vsacb_msg_edit);
				echo $vsacb_msg_edit_parsed;
				exit;
			}

			if (($_REQUEST['do'] == 'vsacb_multidel') AND $vsacb_canmod)
			{
				$vbulletin->db->hide_errors();
				$vbulletin->input->clean_gpc('r', 'cbdel', TYPE_ARRAY);		
				if ($vbulletin->GPC['cbdel']!='')
				{
					$vsacb_delids = implode(',', $vbulletin->GPC['cbdel']);
					if ($vsacb_delids)
					{
						$vbulletin->db->query_write(" DELETE FROM " . TABLE_PREFIX . "vsa_chatbox WHERE id IN($vsacb_delids) ");
					}
				}
				$vbulletin->db->show_errors();
				exec_header_redirect('misc.php?'.$vbulletin->session->vars['sessionurl'].'do=ccarc');
			}

			if (($_REQUEST['do']=='vsacb_delall') AND $vsacb_candelall)
			{
				$vbulletin->db->hide_errors();
				$vbulletin->db->query_write("TRUNCATE TABLE " . TABLE_PREFIX . "vsa_chatbox");
				$vbulletin->db->show_errors();
				if ($_SERVER['HTTP_REFERER'])
				{
					$vsacb_redto = $_SERVER['HTTP_REFERER'];
				}
				else
				{
					$vsacb_redto = 'misc.php?'.$vbulletin->session->vars['sessionurl'].'do=cchatbox';
				}
				exec_header_redirect($vsacb_redto);
			}

			if (($_REQUEST['do']=='vsacb_banuser') AND $vsacb_canmod)
			{
				$vbulletin->db->hide_errors();
				$vsacb_usertoban = $vbulletin->input->clean_gpc('r', 'u', TYPE_UINT);
				$vsacb_banuser = $vbulletin->options['vsachatbox_excluded_users'].','.$vsacb_usertoban;
				$vsacb_banuser = str_replace(',,',',',$vsacb_banuser);
				$vsacb_banuser = trim($vsacb_banuser, ',');
				$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "setting SET value = '".$vsacb_banuser."' WHERE varname = 'vsachatbox_excluded_users' ");
				$vbulletin->db->show_errors();
				require_once(DIR . '/includes/adminfunctions.php');
				build_options();
				exec_header_redirect('misc.php?'.$vbulletin->session->vars['sessionurl'].'do=ccarc');
			}

			if (($_REQUEST['do']=='vsacb_unbanuser') AND $vsacb_canmod)
			{
				$vbulletin->db->hide_errors();
				$vsacb_usertounban = $vbulletin->input->clean_gpc('r', 'u', TYPE_UINT);
				$vsacb_unbanuser = str_replace($vsacb_usertounban,'',$vbulletin->options['vsachatbox_excluded_users']);
				$vsacb_unbanuser = str_replace(',,',',',$vsacb_unbanuser);
				$vsacb_unbanuser = trim($vsacb_unbanuser, ',');
				$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "setting SET value = '".$vsacb_unbanuser."' WHERE varname = 'vsachatbox_excluded_users' ");
				$vbulletin->db->show_errors();
				require_once(DIR . '/includes/adminfunctions.php');
				build_options();
				exec_header_redirect('misc.php?'.$vbulletin->session->vars['sessionurl'].'do=ccarc');
			}

			if (($_REQUEST['do']=='vsacb_deluser') AND $vsacb_canmod)
			{
				$vbulletin->db->hide_errors();
				$vsacb_usertodel = $vbulletin->input->clean_gpc('r', 'u', TYPE_UINT);	
				$vbulletin->db->query_write(" DELETE FROM " . TABLE_PREFIX . "vsa_chatbox WHERE userid = '".$vsacb_usertodel."' ");
				$vbulletin->db->show_errors();
				exec_header_redirect('misc.php?'.$vbulletin->session->vars['sessionurl'].'do=ccarc');
			}

			if ($_REQUEST['do']=='vsacb_delmess')
			{
				$vbulletin->db->hide_errors();
				$vsacb_messtodel = $vbulletin->input->clean_gpc('r', 'm', TYPE_UINT);
				$vsacb_getmessinfo = $vbulletin->db->query_first("SELECT id, userid from " . TABLE_PREFIX . "vsa_chatbox WHERE id = '".$vsacb_messtodel."' ");
				if ((($vsacb_getmessinfo['userid']==$vbulletin->userinfo['userid']) AND $vbulletin->options['vsachatbox_users_candelete']) OR $vsacb_canmod)
				{
					$vbulletin->db->query_write(" DELETE FROM " . TABLE_PREFIX . "vsa_chatbox WHERE id = '".$vsacb_messtodel."' ");
				}
				$vbulletin->db->show_errors();
				exec_header_redirect('misc.php?'.$vbulletin->session->vars['sessionurl'].'do=ccarc');
			}
		}
  Ответить с цитированием
 
Время генерации страницы 0.08110 секунды с 10 запросами