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

Вот покопался в кодах чатбокса и сделал так, что при наборе /re + текст
получался такое сообщение
[Системное сообщение] sdfg


Как можно убрать ник автора?
Что бы реально казался системным сообщением.
Я уже пытался менять переменные, ничего не получается.


Код:
if ($vbulletin->options['vsachatbox_enable_product'] AND !VSacb_userExcluded($vbulletin->userinfo) AND empty($vbulletin->userinfo['infractiongroupids']) AND $vsacb_hasenoughposts)
		{
			function VSacb_buildTime($vsacb_reqtime = TIMENOW)
			{
				global $vbulletin;
				$vsacb_time = '';
				if ($vbulletin->options['vsachatbox_dateformat']!='')
				{
					$vsacb_time = vbdate($vbulletin->options['vsachatbox_dateformat'], $vsacb_reqtime);
					$vsacb_time .= ', ';
				}
				$vsacb_time .= vbdate($vbulletin->options['vsachatbox_timeformat'], $vsacb_reqtime);
				return $vsacb_time;
			}

			function VSacb_clickableLinks($vsacb_text)
			{
			    $vsacb_text = preg_replace("/(\r\n|\n|\r)/", "\n", $vsacb_text);
			    $vsacb_lines = explode("\n", $vsacb_text);
			    for ($x = 0, $y = count($vsacb_lines); $x < $y; $x++) {
			        $vsacb_line = $vsacb_lines[$x];
			        $vsacb_words = explode(' ', $vsacb_line);
			        for ($vsacb_i = 0, $j = count($vsacb_words); $vsacb_i < $j; $vsacb_i++) {
			            $vsacb_word = $vsacb_words[$vsacb_i];
			            $vsacb_punctuation = '.,\'")(<>;:';
			            if (substr($vsacb_word, 0, 7) == 'http://' || substr($vsacb_word, 0, 8) == 'https://' || substr($vsacb_word, 0, 4) == 'www.')
						{
			                $trailing = '';
			                $vsacb_last = substr($vsacb_word, -1);
			                while (strpos($vsacb_punctuation, $vsacb_last) !== false) {
			                    $trailing .= $vsacb_last;
			                    $vsacb_word = substr($vsacb_word, 0, -1);
			                    $vsacb_last = substr($vsacb_word, -1);
			                }
			                $vsacb_link = $vsacb_word;
			                if (substr($vsacb_link, 0, 4) == 'www.') {
			                    $vsacb_link = 'http://'.$vsacb_link;
			                }
			                $vsacb_word = ''.$vsacb_word.''.$trailing;
			            }
			            $vsacb_words[$vsacb_i] = $vsacb_word;
			        }
			        $vsacb_lines[$x] = implode(' ', $vsacb_words);
			    }
			    return implode("\n", $vsacb_lines);
			}

			require_once(DIR . '/includes/class_bbcode.php');
			$vsacb_bbparser = new vB_BbCodeParser($vbulletin, fetch_tag_list());

			$vsacb_smilies_onoff = $vbulletin->options['vsachatbox_smilies_parse'];

			if (($_REQUEST['do']=='cchatbox') OR ($_REQUEST['do']=='ccarc'))
			{
				$vbulletin->db->hide_errors();
				$vsacb_xhours = TIMENOW - ($vbulletin->options['vsachatbox_stats_lastxhours'] * 60 * 60);
				$vsacb_mymessage = 0;
				$vsacb_xhoursmessage = 0;
				$vsacb_get_stats = $vbulletin->db->query_read("SELECT id, userid, dateline FROM " . TABLE_PREFIX . "vsa_chatbox ");
				while ($vsacb_stats = $vbulletin->db->fetch_array($vsacb_get_stats))
				{
					if ($vsacb_stats[userid] == $vbulletin->userinfo['userid'])
					{
						$vsacb_mymessage += 1;
					}

					if ($vsacb_stats[dateline] > $vsacb_xhours)
					{
						$vsacb_xhoursmessage += 1;
					}
				}
				$vsacb_totalentries = $vbulletin->db->num_rows($vsacb_get_stats);
				$vsacb_totalmessages = vb_number_format($vsacb_totalentries);
				$vsacb_mymessages = vb_number_format($vsacb_mymessage);
				$vsacb_xhoursmessages = vb_number_format($vsacb_xhoursmessage);
				unset($vsacb_get_stats, $vsacb_stats);

				$vsacb_get_topx = $vbulletin->db->query("
					SELECT COUNT(id) AS vsacb_msgs, vsa_chatbox.userid, user.username, user.usergroupid
					FROM " . TABLE_PREFIX . "vsa_chatbox AS vsa_chatbox
					LEFT JOIN " . TABLE_PREFIX . "user AS user ON (vsa_chatbox.userid = user.userid)
					WHERE vsa_chatbox.userid > 0
					GROUP BY vsa_chatbox.userid
					ORDER BY vsacb_msgs DESC
					LIMIT 0, ".$vbulletin->options['vsachatbox_topx_results']."
				");
				$vsacb_topx_total = $vbulletin->db->num_rows($vsacb_get_topx);
				if ($vsacb_topx_total < $vbulletin->options['vsachatbox_topx_results'])
				{
					$vsacb_topx_res = $vsacb_topx_total;
				}
				else
				{
					$vsacb_topx_res = $vbulletin->options['vsachatbox_topx_results'];
				}
				while ($vsacb_topposter = $vbulletin->db->fetch_array($vsacb_get_topx))
				{
					$vsacb_topposternr += 1;
					$templater = vB_Template::create('vsa_chatbox_topchatters_bit');
					$templater->register('vsacb_topposter', $vsacb_topposter);
					$templater->register('vsacb_topposternr', $vsacb_topposternr);
					$vsacb_topchatters .= $templater->render();
				}
				unset($vsacb_get_topx, $vsacb_topposter);

				if ($vbulletin->options['vsachatbox_excluded_users']!='')
				{
					$vsacb_banlist_get = explode(',',$vbulletin->options['vsachatbox_excluded_users']);
					foreach ($vsacb_banlist_get AS $vsacb_banlist_item)
					{
						$vsacb_banlist_userinfo = fetch_userinfo($vsacb_banlist_item);
						if ($vsacb_canmod)
						{
							$vsacb_banlist_usercell[] = '<a style="white-space:nowrap;" href="javascript:VSacb_Confirm(\'unbanuser\',\''.$vsacb_banlist_item.'\',\''.$vsacb_banlist_userinfo['username'].'\');">'.$vsacb_banlist_userinfo['musername'].'</a>';
						}
						else
						{
							$vsacb_banlist_usercell[] = '<a style="white-space:nowrap;" href="member.php?'.$vbulletin->session->vars['sessionurl'].'u='.$vsacb_banlist_item.'">'.$vsacb_banlist_userinfo['musername'].'</a>';
						}
					}
					sort($vsacb_banlist_usercell);
					foreach ($vsacb_banlist_usercell AS $vsacb_banlist_user)
					{
						$vsacb_banlist .= $vsacb_banlist_user;
					}
					unset($vsacb_banlist_get, $vsacb_banlist_item, $vsacb_banlist_user);
				}

				$vbulletin->db->show_errors();

				$templater = vB_Template::Create('vsa_chatbox_input');
				$templater->register('vsacb_cantpost', $vsacb_cantpost);
				$templater->register('vsacb_smilies_init', $vsacb_smilies_init);
				$templater->register('vsacb_colors', $vsacb_colors);
				$templater->register('vsacb_smilie_first', $vsacb_smilie_first);
				$templater->register('vsacb_textsize', $vsacb_textsize);
				$templater->register('vsacb_color_default', $vsacb_color_default);
				$vsachatbox_input = $templater->render();

				$templater = vB_Template::Create('vsa_chatbox_dropdown');
				$templater->register('vsacb_canmod', $vsacb_canmod);
				$templater->register('vsacb_candelall', $vsacb_candelall);
				$templater->register('vsacb_totalmessages', $vsacb_totalmessages);
				$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_banlist', $vsacb_banlist);
				$vsachatbox_dropdown = $templater->render();

				$templater = vB_Template::Create('vsa_chatbox_status');
				$templater->register('vsacb_sizes', $vsacb_sizes);
				$vsachatbox_status = $templater->render();

				$navbits = construct_navbits(array('' => $vbphrase['vsacb_chatbox_full']));
				$navbar = render_navbar_template($navbits);
				$templater = vB_Template::Create('vsa_chatbox');
				$templater->register_page_templates();
				$templater->register('navbar', $navbar);
				$templater->register('vsachatbox_input', $vsachatbox_input);
				$templater->register('vsachatbox_status', $vsachatbox_status);
				$templater->register('vsachatbox_dropdown', $vsachatbox_dropdown);
				$templater->register('vsacb_mymessages', $vsacb_mymessages);
				$templater->register('vsacb_totalmessages', $vsacb_totalmessages);
				$templater->register('vsacb_xhoursmessages', $vsacb_xhoursmessages);
				$templater->register('vsacb_topchatters', $vsacb_topchatters);
				$templater->register('vsacb_topx_res', $vsacb_topx_res);
				$templater->register('vsacb_banlist', $vsacb_banlist);
				$templater->register('vsacb_totalentries', $vsacb_totalentries);
				$templater->register('vsacb_canmod', $vsacb_canmod);
				$templater->register('vsacb_candelall', $vsacb_candelall);
				$templater->register('vsacb_locs', $vsacb_locs);
				$templater->register('vsacb_oneforum', $vsacb_oneforum);
				$templater->register('vsacb_newstat', $vsacb_newstat);
				$templater->register('vsacb_textsize', $vsacb_textsize);
				$templater->register('vsacb_color_default', $vsacb_color_default);
				$templater->register('vsacb_cantpost', $vsacb_cantpost);
				$vsachatbox = $templater->render();
			}

			if ($_REQUEST['do']=='cchatbox')
			{
				$vbulletin->db->hide_errors();
				$vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "session SET lastactivity = '".TIMENOW."', location = 'cchatbox' WHERE userid = " . $vbulletin->userinfo['userid']);
				$vbulletin->db->show_errors();
				print_output($vsachatbox);
			}

			if ($_REQUEST['ccbloc']!='')
			{
				$vbulletin->db->hide_errors();
				$vsacb_locmessid = $vbulletin->input->clean_gpc('r', 'ccbloc', TYPE_UINT);

				if ($vsacb_locmessid)
				{
					$vsacb_getlocpos = $vbulletin->db->query_read("
						SELECT id
						FROM " . TABLE_PREFIX . "vsa_chatbox
						WHERE id >= '".$vsacb_locmessid."'
					");
					$vsacb_findlocpos = $vbulletin->db->num_rows($vsacb_getlocpos);
					$vsacb_loctargetpage = ceil($vsacb_findlocpos / $vbulletin->options['vsachatbox_archive_perpage']);
					$vsacb_locredirect = 'misc.php?'.$vbulletin->session->vars['sessionurl'].'do=ccarc&amp;page='.$vsacb_loctargetpage.'&amp;cm='.$vsacb_locmessid.'#'.$vsacb_locmessid;
				}
				else
				{
					$vsacb_locredirect = 'misc.php?'.$vbulletin->session->vars['sessionurl'].'do=ccarc&amp;ccbnomess=true';
				}
				$vbulletin->db->show_errors();
				exec_header_redirect($vsacb_locredirect);
			}

			if ($_REQUEST['ccbfind']!='')
			{
				$vbulletin->db->hide_errors();
				if ($_REQUEST['ccbfind']=='unread')
				{
					$vsacb_lastmess_unread = $vbulletin->db->query_first("
						SELECT id
						FROM " . TABLE_PREFIX . "vsa_chatbox
						WHERE dateline > '".$vbulletin->userinfo['lastvisit']."'
						ORDER BY dateline ASC
					");
					$vsacb_reqmid = $vsacb_lastmess_unread['id'];
				}
				else
				{
					$vsacb_lastmessuser = $vbulletin->input->clean_gpc('r', 'ccbfind', TYPE_UINT);
					$vsacb_lastmess_user = $vbulletin->db->query_first("
						SELECT MAX(id) AS id
						FROM " . TABLE_PREFIX . "vsa_chatbox
						WHERE userid = '".$vsacb_lastmessuser."'
					");
					$vsacb_reqmid = $vsacb_lastmess_user['id'];
				}
				if ($vsacb_reqmid)
				{
					$vsacb_getfindpos = $vbulletin->db->query_read("
						SELECT id
						FROM " . TABLE_PREFIX . "vsa_chatbox
						WHERE id >= '".$vsacb_reqmid."'
					");
					$vsacb_findpos = $vbulletin->db->num_rows($vsacb_getfindpos);
					$vsacb_targetpage = ceil($vsacb_findpos / $vbulletin->options['vsachatbox_archive_perpage']);
					$vsacb_findredirect = 'misc.php?'.$vbulletin->session->vars['sessionurl'].'do=ccarc&amp;page='.$vsacb_targetpage.'&amp;cm='.$vsacb_reqmid.'#'.$vsacb_reqmid;
				}
				else
				{
					$vsacb_findredirect = 'misc.php?'.$vbulletin->session->vars['sessionurl'].'do=ccarc&amp;ccbnomess=true';
				}
				$vbulletin->db->show_errors();
				exec_header_redirect($vsacb_findredirect);
			}

			if ($_REQUEST['do']=='ccarc')
			{
				$vbulletin->db->hide_errors();
				$vsacb_globals = array(
					'cbt' => TYPE_STR,
					'cbu' => TYPE_UINT
				);
				$vbulletin->input->clean_array_gpc('r', $vsacb_globals);

				$vsacb_search_value = $vbphrase['vsacb_search_chatbox'];

				$vsacb_targettext = htmlspecialchars($vbulletin->GPC['cbt']);
				if ($vsacb_targettext)
				{
					$vsacb_onlytext = "AND vsa_chatbox.message LIKE '%".$vbulletin->db->escape_string($vsacb_targettext)."%' ";
					$vsacb_search_value = $vsacb_targettext;
				}

				$vsacb_targetuser = $vbulletin->GPC['cbu'];
				if ($vsacb_targetuser)
				{
					$vsacb_onlyuser = "AND vsa_chatbox.userid = '".$vsacb_targetuser."' ";
				}

				$vsacb_get_msg_nav = $vbulletin->db->query_read("
					SELECT vsa_chatbox.id, vsa_chatbox.message
					FROM ".TABLE_PREFIX."vsa_chatbox AS vsa_chatbox
					WHERE vsa_chatbox.message !='' $vsacb_onlytext $vsacb_onlyuser
				");
				$vsacb_totalnav = $vbulletin->db->num_rows($vsacb_get_msg_nav);

				$navbits = array('misc.php?'.$vbulletin->session->vars['sessionurl'].'do=ccarc' . $vbulletin->session->vars['sessionurl_q'] => $vbphrase['vsacb_chatbox']);
				$perpage = $vbulletin->input->clean_gpc('r', 'perpage', TYPE_UINT);

				$pagenumber = $vbulletin->input->clean_gpc('r', 'pagenumber', TYPE_UINT);
				sanitize_pageresults($vsacb_totalnav, $pagenumber, $perpage, 40, $vbulletin->options['vsachatbox_archive_perpage']);
				$limitlower = ($pagenumber - 1) * $perpage + 1;
				if ($limitlower <= 0)
				{
					$limitlower = 1;
				}

				$vsacb_get_msg_arc = $vbulletin->db->query_read("
					SELECT vsa_chatbox.id, vsa_chatbox.userid, vsa_chatbox.userip, 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)
					WHERE vsa_chatbox.message !='' $vsacb_onlytext $vsacb_onlyuser $vsacb_onlymessage
					ORDER BY vsa_chatbox.dateline DESC
					LIMIT " . ($limitlower - 1) . "," . $perpage . "
				");
				while ($vsacb_msg_arc = $vbulletin->db->fetch_array($vsacb_get_msg_arc))
				{
					$vsacb_msg_arc_nr += 1;
					$vsacb_msg_arc_staff = false;
					if (is_member_of($vsacb_msg_arc, explode(',', '5,6,7')))
					{
						$vsacb_msg_arc_staff = true;
					}

					$vsacb_msg_arc_id = $vsacb_msg_arc['id'];
					$vsacb_msg_arc['message'] = htmlspecialchars_uni($vsacb_msg_arc['message']);
					$vsacb_msg_arc['musername'] = fetch_musername($vsacb_msg_arc);

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

					$vsacb_msg_arc['time'] = VSacb_buildTime($vsacb_msg_arc['dateline']);
					if ($vsacb_msg_arc['dateline']>$vbulletin->userinfo['lastvisit'])
					{
						$vsacb_msg_arc_icon = '<img class="inlineimg" src="'.vB_Template_Runtime::fetchStyleVar('imgdir_statusicon').'/post_new.png" alt="'.$vbphrase['new'].'" border="0" /> ';
					}
					else
					{
						$vsacb_msg_arc_icon = '<img class="inlineimg" src="'.vB_Template_Runtime::fetchStyleVar('imgdir_statusicon').'/post_old.png" alt="'.$vbphrase['new'].'" border="0" /> ';
					}
					$vsacb_arc_coloropen = '';
					$vsacb_arc_colorclose = '';
					$vsacb_arc_boldopen = '';
					$vsacb_arc_boldclose = '';
					$vsacb_arc_italicopen = '';
					$vsacb_arc_italicclose = '';
					$vsacb_arc_underlineopen = '';
					$vsacb_arc_underlineclose = '';
					$vsacb_msg_arc['textprop'] = unserialize($vsacb_msg_arc['textprop']);
					if ($vsacb_msg_arc['textprop']['color'] AND $vbulletin->options['vsachatbox_colors_enabled'])
					{
						$vsacb_arc_coloropen = '[color='.$vsacb_msg_arc['textprop']['color'].']';
						$vsacb_arc_colorclose = '[/color]';
					}
					if ($vsacb_msg_arc['textprop']['bold'])
					{
						$vsacb_arc_boldopen = '';
						$vsacb_arc_boldclose = '';
					}
  Ответить с цитированием
 
Время генерации страницы 0.08916 секунды с 10 запросами