Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

права доступа ~php~

Featured Replies

Posted

Добрый день )

 

короче я чутка не разобрался помогите плиз.

Есть код который отвечает за действия админа, данный код я разделил и создал новую подгруппу Модератор.

Но все же без косяков не обошлось, у модераторов должно было стоять меню, "Закрыть тему, поднять, переименовать, удалить." Они есть но они не кликабельны помогите  настроить код, находится под спойлером.

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
session_start();
define ('FUNCFILE', true);
require_once "core/maincore.php";

# Преобразуем входящие $_GET параметры в число
if (!empty($_GET['topic'])){
    $escaped_topic = intval($_GET['topic']);
}
if (!empty($_GET['postedit'])){
    $escaped_postedit = intval($_GET['postedit']);
}

# Переход к последнему сообщению
if ($user_auth > 0 AND !empty($_GET['topic']) AND !empty($_GET['view']) AND $_GET['view'] == 'getnewpost' AND !empty($escaped_topic)) {
    $query = mysql_query ("SELECT id FROM `forums_messages` WHERE `thread` = {$escaped_topic} ORDER BY `id` DESC LIMIT 1");
	# Если тема с данным номером сущетсвует то
	if(mysql_num_rows($query) > 0) {
		# Получаем массив запроса $query
		$row = mysql_fetch_assoc($query);
		# Узнаем количество сообщений в теме
		$sql = mysql_query ("SELECT id FROM `forums_messages` WHERE `thread` = {$escaped_topic}");
		# Если сообщений меньше или равно 20 то
		if (mysql_num_rows($sql) <= 20) {
		    header("Location: __".$_SERVER['SERVER_NAME']."/topic_".$escaped_topic."#post".$row['id']."");
		} else {
			# Если сообщений более 20 то делим общее количество сообщений в теме на 20
		    $num_page = mysql_num_rows($sql)/20;
			# Если получилось целое число то
			if (is_int($num_page)) { 
				$num_page = (int)($num_page);
			# А если не получилось то прибавляем единицу к номеру страницы
			} else { 
				$num_page = (int)($num_page+1);	
			}
			# Перекидываем по ссылке, в соответствии с $num_page
			header("Location: __".$_SERVER['SERVER_NAME']."/topic_".$escaped_topic."_page".$num_page."#post".$row['id']."");
		}
	}
}
# Отправка сообщения
if ($user_auth > 0 AND !empty($_POST['input_text']) AND !empty($escaped_topic)) {
	# Фильтруем текст сообщения
	$text = mysql_real_escape_string($newEngine->stripinput($_POST['input_text']));
	# Делаем IP пользователя переменной
	$ip = USER_IP;
	# Узнаем есть ли тема с данным номером
	$query = mysql_query ("SELECT * FROM `forums_threads` WHERE `id` = {$escaped_topic}");
	if (mysql_num_rows($query) > 0) {
		# Получаем массив темы
		$row = mysql_fetch_assoc($query);
		# Если тема не закрыта, или пользователь админ то
		if ($row['closed'] != 1 OR $user_auth == 4) {
			# Если текст сообщения не пустой
			if (!empty($text)) {
				mysql_query ("INSERT INTO `forums_messages` (`id`, `thread`, `text`, `time`, `user_id`, `ip`) VALUES (NULL, '{$escaped_topic}', '{$text}', CURRENT_TIMESTAMP, '{$user_id}', '$ip')") or die(mysql_error());
			}
			# Отправляем к последнему сообщению
			header("Location: ".BASEDIR."topic_".$escaped_topic."_new");
		}
	}
}
# Редактирование сообщения	
if (!empty($escaped_postedit) AND $user_auth > 0) {
	$sql = mysql_query("SELECT * FROM `forums_messages` WHERE `id` = {$escaped_postedit}");
	if(mysql_num_rows($sql) > 0) {
		$row = mysql_fetch_assoc($sql);
		if($row['user_id'] == $user_id OR $user_auth == 4) {
			if(!empty($_POST['input_text'])) {
				$text = mysql_real_escape_string($newEngine->stripinput($_POST['input_text']));
				if (!empty($text)) {
					mysql_query ("UPDATE `forums_messages` SET `text` = '{$text}' WHERE `id` = {$escaped_postedit}") or die(mysql_error());
				}
				header("Location: ".BASEDIR."topic_".$row['thread']."");
			} else {
				$text = str_replace("<br />", "rn", $row['text']);
				$edit = '<form method="POST" class="form-horizontal" action="" onsubmit="return validate_input();"><fieldset><legend>Редактирование сообщения <a style="float:right; font-weight: normal;" class="btn btn-warning  btn-mini" href="__'.$_SERVER['SERVER_NAME'].'/topic_'.$row['thread'].'">Назад</a></legend>
							'.$newEngine->bb_panel().'
							<textarea maxlength="10000" style="height:190px;" class="span6" name="input_text" id="input_text" rows="5">'.$text.'</textarea>
							<div class="form-actions"><input type="submit" value="Изменить" class="btn btn-info"><span style="color:red" id="input_textf"></span></div>
					  </fieldset></form>';
			}
		} else {
			$edit = $newMess->into_msg("2", "У вас нет прав доступа", "2");
		}
	} else {
		$edit = $newMess->into_msg("2", "Сообщение не существует", "2");
	}
	if(isset($edit)) {
		require_once TEMPLATE."header.php";
		echo $edit;
		require_once TEMPLATE."footer.php";
		exit();
	}
}

require_once TEMPLATE."header.php";

if ($user_auth > 0) {
	# Если имеется $escaped_topic
    if (!empty($escaped_topic)) {
		# Делаем выносящие мозг операции по определению текущей страницы
        if (isset($_GET['page'])) $page_sel=(intval($_GET['page'])-1); else $page_sel=0;
		# Определяем номер сообщения в теме, с которого начнем поиск в запросе
        $start=abs($page_sel*20);
		# Получаем 20 сообщений темы на данной странице
    	$sql = mysql_query("SELECT * FROM `forums_messages` WHERE `thread` = {$escaped_topic} ORDER BY `id` ASC LIMIT $start,20");
		# Собираем информацию о теме
		$sql_name = mysql_query("SELECT * FROM `forums_threads` WHERE `id` = {$escaped_topic}");
		# Если сообщения есть то
		if (mysql_num_rows($sql_name) > 0) {
			if (mysql_num_rows($sql) > 0) {
				# Если присутствует POST запрос на действие с темой и запрос от админа то
				if(isset($_POST['thread_status']) AND $user_auth == 4) {
					# Изменение заголовка
					if($_POST['thread_status'] == 5) {
						if(isset($_POST['name_edit_thread'])) {
							$title = mysql_real_escape_string($newEngine->stripinput($_POST['name_edit_thread']));
							if(!empty($title)) {
								$sql = mysql_query("UPDATE `forums_threads` SET `title` = '{$title}' WHERE `id` = {$escaped_topic}");
								echo $newMess->into_msg("1", "Заголовок изменен", "1");
								echo '<meta http-equiv="refresh" content="2;URL=__'.$_SERVER['SERVER_NAME'].'/topic_'.$escaped_topic.'">';
							} else { 
								echo $newMess->into_msg("4", "Не все поля были заполнены", "4");
								echo '<meta http-equiv="refresh" content="2;URL=__'.$_SERVER['SERVER_NAME'].'/topic_'.$escaped_topic.'">';
							}
						} else {
							$sql_name = mysql_query("SELECT * FROM `forums_threads` WHERE `id` = {$escaped_topic}");
							$row = mysql_fetch_assoc($sql_name);
							echo '<form method="POST" class="form-horizontal" action=""><fieldset>
							<legend>Редактирование названия темы <a style="float:right; font-weight: normal;" class="btn btn-warning  btn-mini" href="__'.$_SERVER['SERVER_NAME'].'/topic_'.$escaped_topic.'">Назад</a></legend>
							<div class="control-group"><label class="control-label" for="name">Название:&nbsp;&nbsp;&nbsp;</label><input class="span6" type="text" name="name_edit_thread" id="name" value="'.$row['title'].'" ></div>
							<input type="hidden" name="thread_status" value="5">
							<div class="form-actions"><input type="submit" value="Изменить" class="btn btn-info"></div>
							</fieldset></form>';
						}
					}
					# Открытие темы
					else if($_POST['thread_status'] == 1) {
						$sql_name = mysql_query("SELECT * FROM `forums_threads` WHERE `id` = {$escaped_topic}");
						$row = mysql_fetch_assoc($sql_name);
						if ($row['closed'] == 1) {
							$sql = mysql_query("UPDATE `forums_threads` SET `closed` = '0' WHERE `id` = {$escaped_topic};");
							echo $newMess->into_msg("1", "Тема открыта", "1");
							echo '<meta http-equiv="refresh" content="2;URL=__'.$_SERVER['SERVER_NAME'].'/topic_'.$escaped_topic.'">';
						}
					}
					# Закрытие темы
					else if($_POST['thread_status'] == 2) {
						$sql_name = mysql_query("SELECT * FROM `forums_threads` WHERE `id` = {$escaped_topic}");
						$row = mysql_fetch_assoc($sql_name);
						if ($row['closed'] == 0) {
							$sql = mysql_query("UPDATE `forums_threads` SET `closed` = '1' WHERE `id` = {$escaped_topic};");
							echo $newMess->into_msg("1", "Тема закрыта", "1");
							echo '<meta http-equiv="refresh" content="2;URL=__'.$_SERVER['SERVER_NAME'].'/topic_'.$escaped_topic.'">';
						}
					}
					# Перемещение темы
					else if($_POST['thread_status'] == 3) {
						if(isset($_POST['forum_id'])) {
							$id = intval($_POST['forum_id']);
							if(!empty($id)) {
								$sql = mysql_query("UPDATE `forums_threads` SET `for` = {$id} WHERE `id` = {$escaped_topic}");
								echo $newMess->into_msg("1", "Тема перемещена", "1");
								echo '<meta http-equiv="refresh" content="2;URL=__'.$_SERVER['SERVER_NAME'].'/topic_'.$escaped_topic.'">';
							} else { 
								echo $newMess->into_msg("4", "Не все поля были заполнены", "4");
								echo '<meta http-equiv="refresh" content="2;URL=__'.$_SERVER['SERVER_NAME'].'/topic_'.$escaped_topic.'">';
							}
						} else {
							$sql_name = mysql_query("SELECT * FROM `forums_for`");
							echo '<form action="" method="post" autocomplete="off">
							<legend>Редактирование форума темы <a style="float:right; font-weight: normal;" class="btn btn-warning  btn-mini" href="__'.$_SERVER['SERVER_NAME'].'/viewthread.php?topic='.$escaped_topic.'">Назад</a></legend>
							<div class="control-group"><div class="controls">
							<input type="hidden" name="thread_status" value="3">
							<select name="forum_id">';
							while($row = mysql_fetch_array($sql_name)) {
								echo '<option'; if($escaped_topic == $row['id']) { echo ' selected'; } echo ' value="'.$row['id'].'">'.$row['name'].'</option>';
							}
							echo '</select></div> <div class="form-actions"><input type="submit" class="btn btn-info" name="submit" value="Изменить"></div></div></form>';
						}
					}
					# Закрепление темы
					else if($_POST['thread_status'] == 4) {
						$sql_name = mysql_query("SELECT * FROM `forums_threads` WHERE `id` = {$escaped_topic}");
						$row = mysql_fetch_assoc($sql_name);
						if ($row['status'] != 2) {
							$sql = mysql_query("UPDATE `forums_threads` SET `status` = '2' WHERE `id` = {$escaped_topic};");
							echo $newMess->into_msg("1", "Тема закреплена", "1");
							echo '<meta http-equiv="refresh" content="2;URL=__'.$_SERVER['SERVER_NAME'].'/topic_'.$escaped_topic.'">';
						} else {
							$sql = mysql_query("UPDATE `forums_threads` SET `status` = '1' WHERE `id` = {$escaped_topic};");
							echo $newMess->into_msg("1", "Тема опущена", "1");
							echo '<meta http-equiv="refresh" content="2;URL=__'.$_SERVER['SERVER_NAME'].'/topic_'.$escaped_topic.'">';
						}
					}
					require_once TEMPLATE."footer.php";
					exit();
				}
				# Просмотр страницы темы
				else
				{
					# Увеличиваем количество просмотров темы
					mysql_query("UPDATE `forums_threads` SET `view`=`view`+1 WHERE `id` = {$escaped_topic}");
					# Получаем массив информации о теме
					$row = mysql_fetch_assoc($sql_name);
					# Берем статус темы в переменную
					$status = $row['closed'];
					# Список действий для администратора
					if($user_auth ==4) {
						  echo '<div class="btn-group pull-right"><button class="btn dropdown-toggle" data-toggle="dropdown">Действие <span class="caret"></span></button><ul class="dropdown-menu">';
						  if($row['closed'] == 1) { echo '<form method="POST" id="lol1" action=""><input type="hidden" name="thread_status" value="1"><li><a href="javascript:void(0);" onClick="document.getElementById('lol1').submit();">Открыть тему</a></li></form>'; }
						  if($row['closed'] == 0) { echo '<form method="POST" id="lol2" action=""><input type="hidden" name="thread_status" value="2"><li><a href="javascript:void(0);" onClick="document.getElementById('lol2').submit();">Закрыть тему</a></li></form>'; }
						  echo '<form method="POST" id="lol3" action=""><input type="hidden" name="thread_status" value="3"><li><a href="javascript:void(0);" onClick="document.getElementById('lol3').submit();">Переместить тему</a></li></form>'; 
						  echo '<form method="POST" id="lol4" action=""><input type="hidden" name="thread_status" value="4"><li><a href="javascript:void(0);" onClick="document.getElementById('lol4').submit();">Поднять/опустить тему</a></li></form>';
						  echo '<form method="POST" id="lol5" action=""><input type="hidden" name="thread_status" value="5"><li><a href="javascript:void(0);" onclick="document.getElementById('lol5').submit();">Редактировать заголовок</a></li></form></ul></div>';
					}
					# Список действий для Модероторов
					if($user_auth ==5) {
						  echo '<div class="btn-group pull-right"><button class="btn dropdown-toggle" data-toggle="dropdown">Действие <span class="caret"></span></button><ul class="dropdown-menu">';
						  if($row['closed'] == 1) { echo '<form method="POST" id="lol1" action=""><input type="hidden" name="thread_status" value="1"><li><a href="javascript:void(0);" onClick="document.getElementById('lol1').submit();">Открыть тему</a></li></form>'; }
						  if($row['closed'] == 0) { echo '<form method="POST" id="lol2" action=""><input type="hidden" name="thread_status" value="2"><li><a href="javascript:void(0);" onClick="document.getElementById('lol2').submit();">Закрыть тему</a></li></form>'; }
						  echo '<form method="POST" id="lol3" action=""><input type="hidden" name="thread_status" value="3"><li><a href="javascript:void(0);" onClick="document.getElementById('lol3').submit();">Переместить тему</a></li></form>'; 
						  echo '<form method="POST" id="lol4" action=""><input type="hidden" name="thread_status" value="4"><li><a href="javascript:void(0);" onClick="document.getElementById('lol4').submit();">Поднять/опустить тему</a></li></form>';
						  echo '<form method="POST" id="lol5" action=""><input type="hidden" name="thread_status" value="5"><li><a href="javascript:void(0);" onclick="document.getElementById('lol5').submit();">Редактировать заголовок</a></li></form></ul></div>';
					}
					# Заголовок темы
					echo '<div class="navbar"><div class="navbar-inner"><span class="brand" ><small>'.$row['title'].'</small></span></div></div>
					<table width="100%" style="table-layout: fixed;" cellpadding="6">';
							# Номер первого сообщения
							$num = $start+1;
							# Выводим все сообщения
							while($row = mysql_fetch_array($sql)) {
								# Дата добавления поста
								$date = $newEngine->showtime(strtotime($row['time']), 1); 
								# Массив пользователя
								$arr = $newUsers->array_user($row['user_id']);
								# Стаж
								$staj = $newEngine->declOfNum(round((time()-strtotime($arr[7]))/3600/24), array("день", "дня", "дней"));
								# Количество сообщений
								$messages_num = mysql_query("SELECT id FROM `forums_messages` WHERE `user_id` = {$row['user_id']}");
								# Поблагодарил
								$best_post_sam = mysql_query("SELECT * FROM `forums_messages` WHERE FIND_IN_SET( {$row['user_id']}, `likes`)");
								$blagodaril = $newEngine->declOfNum(mysql_num_rows($best_post_sam), array("раз", "раза", "раз"));
								# Поблагодарили
								//$best_post_ego = mysql_query("SELECT * FROM `forums_messages` WHERE FIND_IN_SET( {$row['user_id']}, `likes`) AND `user_id` = {$row['user_id']}");								
								echo '<tr id="post'.$row['id'].'" class="toppost">
								<td width="170px">'.$newUsers->userstatusicon($arr[0]).' <a target="_blank" href="__'.$_SERVER['SERVER_NAME'].'/profile_'.$arr[0].'">'.$newUsers->username($arr[0], 1).'</a> </td>
								<td><span class="pull-left"><i class="icon-time"></i> '.$date.'</span><span class="pull-right">'; 
								# IP пользователя для админов
								if($user_auth == 4) { 
									echo 'IP: '.$row['ip'].'&nbsp;&nbsp;&nbsp;'; 
								} 
								echo '<a href ="javascript:prompt('Ссылка на данное сообщение:', '__'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].'#post'.$row['id'].'');">#'.$num.'</a></span></td></tr>
								<tr width="100%" style="padding-bottom:5px;">
								<td valign="top" class="leftpostbody"><a target="_blank" href="__'.$_SERVER['SERVER_NAME'].'/profile_'.$arr[0].'"><img style="-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;" src="'.$newUsers->avatar($arr[0]).'" /></a><span><br />Сообщений: '.mysql_num_rows($messages_num).'<br />Поблагодарил: '.$blagodaril.'<br />Группа: '.$newUsers->groupname($arr[6], 1).'<br />Стаж: '.$staj.'<br />Ник: '.$arr[5].'<br />Имя: '.$arr[4].'</span></td >
								<td class="rightpostbody" valign="top">'.$newEngine->replaceBBCode($newEngine->smiles(mysql_real_escape_string(''.$row['text'].''), 1, 0)).'';
								# Подпись
								if(!empty($arr[10])) {
									echo '<hr>'.$newEngine->replaceBBCode($newEngine->smiles(mysql_real_escape_string($arr[10]), 1, 0));
								}
								echo '</td></tr>';
								# Лайки
								unset($userslist);
								if(!empty($row['likes'])) {
									$userslist = array();
									$sql_l = mysql_query ("SELECT * FROM `users` WHERE `id` IN({$row['likes']})");
									while($row_l=mysql_fetch_array($sql_l)) {
										$userslist[] = '<a href="'.BASEDIR.'/profile_'.$row_l['id'].'">'.$newUsers->username($row_l['id'],1).'</font></a>';
									}
								}
								echo '<tr class="bottompost" id="bpost'.$row['id'].'"'; if(!isset($userslist)) { echo ' style="display:none;"'; } echo '><td>Поблагодарили: </td><td id="like_post'.$row['id'].'">';
								if(isset($userslist)) {
									echo implode(', ', $userslist);
								}
								echo '</td></tr>';
								echo '<tr class="bottompanelpost">
								<td colspan="2" class="bottompost"><a class="btn btn-mini" style="font-weight:normal;" href="javascript:window.scrollTo(0,0);" type="button">Вверх</a> '; if($user_id != $row['user_id']) { echo '<a class="btn btn-mini" style="font-weight:normal;" target="_blank" href="__'.$_SERVER['SERVER_NAME'].'/createdialog_'.$row['user_id'].'" type="button">Отправить ЛС</a>'; } echo '<a class="btn btn-mini pull-right" style="font-weight:normal;" onclick="reply_post()" href="javascript:void(0)" >Ответить</a>';
								# Удаление поста администратором
								if($user_auth == 4 OR $row['user_id'] == $user_id) {
									if($num == 1) {
										echo '<a class="btn btn-mini pull-right" style="font-weight:normal;" href="javascript:void(0)" onclick="delete_post('.$row['id'].', 1)" type="button">Удалить тему</a> <a class="btn btn-mini pull-right" style="font-weight:normal;" href="__'.$_SERVER['SERVER_NAME'].'/forums_postedit_'.$row['id'].'">Редактировать</a>';
									} else {
										echo '<a class="btn btn-mini pull-right" style="font-weight:normal;" href="javascript:void(0)" onclick="delete_post('.$row['id'].', 0)" type="button">Удалить</a> <a class="btn btn-mini pull-right" style="font-weight:normal;" href="__'.$_SERVER['SERVER_NAME'].'/forums_postedit_'.$row['id'].'">Редактировать</a>';
									}
								}
								$arrlikes = explode(",", $row['likes']);
								if ($row['user_id'] != $user_id AND !in_array($user_id, $arrlikes)) {
									echo '<a class="btn btn-mini pull-right" id="thanks'.$row['id'].'" style="font-weight:normal;" href="javascript:void(0)" onclick="LikeAction('.$row['id'].')" type="button">Спасибо</a>';
								}
								echo '</td></tr>';
								$num++;
							}
					echo '</tbody></table>';
					# Сколько сообщений в данной теме
					$sql_num=mysql_query("SELECT count(*) FROM `forums_messages` WHERE `thread` = {$escaped_topic}");
					# Всякие абракадабры по выводу нумерации страниц
					$row = mysql_fetch_row($sql_num);	
					$total_rows=$row[0]; 
					$num_pages=ceil($total_rows/20);
					if ($num_pages > 1) { 
						echo '<div class="pagination pagination-centered"><ul>'; 
						for($i=1;$i<=$num_pages;$i++) { 
							if ($i-1 == $page_sel) { 
								echo '<li class="active"><a>'.$i.'</a></li>'; 
							} else {	
								echo '<li><a href="__'.$_SERVER['SERVER_NAME'].'/topic_'.$escaped_topic.'_page'.$i.'">'.$i."</a></li>"; 
							} 
						}	
						echo "</ul></div>n"; 
					}
					# Форма ответа
					if ($user_auth == 4 OR $status != 1){
						echo '<br />'; 
						if ($user_auth == 4 AND $status == 1){
							echo $newMess->into_msg("3", "Тема закрыта, но у вас все равно есть право оставлять в ней сообщения", "3");
						}
						echo $newEngine->bb_panel();
						echo '<div class="create_message">
						<form method="post" name="form_msg" id="form_msg" onsubmit="return validate_input();">
						<div class="iwrap"><textarea autocomplete="off" style="height:70px;" id="input_text" name="input_text"></textarea></div>
						<div class="ibwrap">
						<input type="submit" class="btn btn-info" value="Отправить" /><p class="smiles">';
						echo $newEngine->smiles(0, 0, 0);
						echo '</p>
						</div>
						</form>
						<span style="color:red" id="input_textf"></span>
						</div>';
					}
				}
			} else {
				echo $newMess->into_msg("3", "Страница не найдена", "3");
			}
		} else {
			echo $newMess->into_msg("2", "Темы не существует", "2");
		}
	} else {
	    echo $newMess->into_msg("2", "Не введен номер темы", "2");
	}
} else {
    echo $newMess->into_msg("2", "Вы не авторизованы", "2");
}
require_once TEMPLATE."footer.php";
?>



Надо модератором дать теже функции что и у админов

а не пробовал всё что у админа по закрытию поднятию удалению и т.д код вставить к модераторам

 

ps:код посмотрел мельком,так как голова раскалывается,после вчерашнего :)

  • Author

Аспиринчик и крепкий кофе :) поможет снять головную боль :)

а что на счет вставки, поставил права модератором от админов строка 

# Список действий для администратора
					if($user_auth ==4) {
						  echo '<div class="btn-group pull-right"><button class="btn dropdown-toggle" data-toggle="dropdown">Действие <span class="caret"></span></button><ul class="dropdown-menu">';
						  if($row['closed'] == 1) { echo '<form method="POST" id="lol1" action=""><input type="hidden" name="thread_status" value="1"><li><a href="javascript:void(0);" onClick="document.getElementById('lol1').submit();">Открыть тему</a></li></form>'; }
						  if($row['closed'] == 0) { echo '<form method="POST" id="lol2" action=""><input type="hidden" name="thread_status" value="2"><li><a href="javascript:void(0);" onClick="document.getElementById('lol2').submit();">Закрыть тему</a></li></form>'; }
						  echo '<form method="POST" id="lol3" action=""><input type="hidden" name="thread_status" value="3"><li><a href="javascript:void(0);" onClick="document.getElementById('lol3').submit();">Переместить тему</a></li></form>'; 
						  echo '<form method="POST" id="lol4" action=""><input type="hidden" name="thread_status" value="4"><li><a href="javascript:void(0);" onClick="document.getElementById('lol4').submit();">Поднять/опустить тему</a></li></form>';
						  echo '<form method="POST" id="lol5" action=""><input type="hidden" name="thread_status" value="5"><li><a href="javascript:void(0);" onclick="document.getElementById('lol5').submit();">Редактировать заголовок</a></li></form></ul></div>';
					}
					# Список действий для Модероторов
					if($user_auth ==5) {
						  echo '<div class="btn-group pull-right"><button class="btn dropdown-toggle" data-toggle="dropdown">Действие <span class="caret"></span></button><ul class="dropdown-menu">';
						  if($row['closed'] == 1) { echo '<form method="POST" id="lol1" action=""><input type="hidden" name="thread_status" value="1"><li><a href="javascript:void(0);" onClick="document.getElementById('lol1').submit();">Открыть тему</a></li></form>'; }
						  if($row['closed'] == 0) { echo '<form method="POST" id="lol2" action=""><input type="hidden" name="thread_status" value="2"><li><a href="javascript:void(0);" onClick="document.getElementById('lol2').submit();">Закрыть тему</a></li></form>'; }
						  echo '<form method="POST" id="lol3" action=""><input type="hidden" name="thread_status" value="3"><li><a href="javascript:void(0);" onClick="document.getElementById('lol3').submit();">Переместить тему</a></li></form>'; 
						  echo '<form method="POST" id="lol4" action=""><input type="hidden" name="thread_status" value="4"><li><a href="javascript:void(0);" onClick="document.getElementById('lol4').submit();">Поднять/опустить тему</a></li></form>';
						  echo '<form method="POST" id="lol5" action=""><input type="hidden" name="thread_status" value="5"><li><a href="javascript:void(0);" onclick="document.getElementById('lol5').submit();">Редактировать заголовок</a></li></form></ul></div>';
					}
					

но у них появилось только меню, оно кликабельно, но все равно не удаляет или переименововает

в списке действия у модеров у тебя

# Список действий для Модероторов
					if($user_auth ==5) {
						  echo '<div class="btn-group pull-right"><button class="btn dropdown-toggle" data-toggle="dropdown">Действие <span class="caret"></span></button><ul class="dropdown-menu">';
						  if($row['closed'] == 1) { echo '<form method="POST" id="lol1" action=""><input type="hidden" name="thread_status" value="1"><li><a href="javascript:void(0);" onClick="document.getElementById('lol1').submit();">Открыть тему</a></li></form>'; }
						  if($row['closed'] == 0) { echo '<form method="POST" id="lol2" action=""><input type="hidden" name="thread_status" value="2"><li><a href="javascript:void(0);" onClick="document.getElementById('lol2').submit();">Закрыть тему</a></li></form>'; }
						  echo '<form method="POST" id="lol3" action=""><input type="hidden" name="thread_status" value="3"><li><a href="javascript:void(0);" onClick="document.getElementById('lol3').submit();">Переместить тему</a></li></form>'; 
						  echo '<form method="POST" id="lol4" action=""><input type="hidden" name="thread_status" value="4"><li><a href="javascript:void(0);" onClick="document.getElementById('lol4').submit();">Поднять/опустить тему</a></li></form>';
						  echo '<form method="POST" id="lol5" action=""><input type="hidden" name="thread_status" value="5"><li><a href="javascript:void(0);" onclick="document.getElementById('lol5').submit();">Редактировать заголовок</a></li></form></ul></div>';
					}
					# Заголовок темы
					echo '<div class="navbar"><div class="navbar-inner"><span class="brand" ><small>'.$row['title'].'</small></span></div></div>
					<table width="100%" style="table-layout: fixed;" cellpadding="6">';
							# Номер первого сообщения
							$num = $start+1;
							# Выводим все сообщения
							while($row = mysql_fetch_array($sql)) {
								# Дата добавления поста
								$date = $newEngine->showtime(strtotime($row['time']), 1); 
								# Массив пользователя
								$arr = $newUsers->array_user($row['user_id']);
								# Стаж
								$staj = $newEngine->declOfNum(round((time()-strtotime($arr[7]))/3600/24), array("день", "дня", "дней"));
								# Количество сообщений
								$messages_num = mysql_query("SELECT id FROM `forums_messages` WHERE `user_id` = {$row['user_id']}");
								# Поблагодарил
								$best_post_sam = mysql_query("SELECT * FROM `forums_messages` WHERE FIND_IN_SET( {$row['user_id']}, `likes`)");
								$blagodaril = $newEngine->declOfNum(mysql_num_rows($best_post_sam), array("раз", "раза", "раз"));
								# Поблагодарили
								//$best_post_ego = mysql_query("SELECT * FROM `forums_messages` WHERE FIND_IN_SET( {$row['user_id']}, `likes`) AND `user_id` = {$row['user_id']}");								
								echo '<tr id="post'.$row['id'].'" class="toppost">
								<td width="170px">'.$newUsers->userstatusicon($arr[0]).' <a target="_blank" href="__'.$_SERVER['SERVER_NAME'].'/profile_'.$arr[0].'">'.$newUsers->username($arr[0], 1).'</a> </td>
								<td><span class="pull-left"><i class="icon-time"></i> '.$date.'</span><span class="pull-right">'; 
								# IP пользователя для админов
								if($user_auth == 4) { 
									echo 'IP: '.$row['ip'].'&nbsp;&nbsp;&nbsp;'; 
								} 
								echo '<a href ="javascript:prompt('Ссылка на данное сообщение:', '__'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].'#post'.$row['id'].'');">#'.$num.'</a></span></td></tr>
								<tr width="100%" style="padding-bottom:5px;">
								<td valign="top" class="leftpostbody"><a target="_blank" href="__'.$_SERVER['SERVER_NAME'].'/profile_'.$arr[0].'"><img style="-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;" src="'.$newUsers->avatar($arr[0]).'" /></a><span><br />Сообщений: '.mysql_num_rows($messages_num).'<br />Поблагодарил: '.$blagodaril.'<br />Группа: '.$newUsers->groupname($arr[6], 1).'<br />Стаж: '.$staj.'<br />Ник: '.$arr[5].'<br />Имя: '.$arr[4].'</span></td >
								<td class="rightpostbody" valign="top">'.$newEngine->replaceBBCode($newEngine->smiles(mysql_real_escape_string(''.$row['text'].''), 1, 0)).'';
								# Подпись
								if(!empty($arr[10])) {
									echo '<hr>'.$newEngine->replaceBBCode($newEngine->smiles(mysql_real_escape_string($arr[10]), 1, 0));
								}
								echo '</td></tr>';
								# Лайки
								unset($userslist);
								if(!empty($row['likes'])) {
									$userslist = array();
									$sql_l = mysql_query ("SELECT * FROM `users` WHERE `id` IN({$row['likes']})");
									while($row_l=mysql_fetch_array($sql_l)) {
										$userslist[] = '<a href="'.BASEDIR.'/profile_'.$row_l['id'].'">'.$newUsers->username($row_l['id'],1).'</font></a>';
									}
								}
								echo '<tr class="bottompost" id="bpost'.$row['id'].'"'; if(!isset($userslist)) { echo ' style="display:none;"'; } echo '><td>Поблагодарили: </td><td id="like_post'.$row['id'].'">';
								if(isset($userslist)) {
									echo implode(', ', $userslist);
								}
								echo '</td></tr>';
								echo '<tr class="bottompanelpost">
								<td colspan="2" class="bottompost"><a class="btn btn-mini" style="font-weight:normal;" href="javascript:window.scrollTo(0,0);" type="button">Вверх</a> '; if($user_id != $row['user_id']) { echo '<a class="btn btn-mini" style="font-weight:normal;" target="_blank" href="__'.$_SERVER['SERVER_NAME'].'/createdialog_'.$row['user_id'].'" type="button">Отправить ЛС</a>'; } echo '<a class="btn btn-mini pull-right" style="font-weight:normal;" onclick="reply_post()" href="javascript:void(0)" >Ответить</a>';
								# Удаление поста администратором
								if($user_auth == 4 OR $row['user_id'] == $user_id) {
									if($num == 1) {
										echo '<a class="btn btn-mini pull-right" style="font-weight:normal;" href="javascript:void(0)" onclick="delete_post('.$row['id'].', 1)" type="button">Удалить тему</a> <a class="btn btn-mini pull-right" style="font-weight:normal;" href="__'.$_SERVER['SERVER_NAME'].'/forums_postedit_'.$row['id'].'">Редактировать</a>';
									} else {
										echo '<a class="btn btn-mini pull-right" style="font-weight:normal;" href="javascript:void(0)" onclick="delete_post('.$row['id'].', 0)" type="button">Удалить</a> <a class="btn btn-mini pull-right" style="font-weight:normal;" href="__'.$_SERVER['SERVER_NAME'].'/forums_postedit_'.$row['id'].'">Редактировать</a>';
									}
								}
								$arrlikes = explode(",", $row['likes']);
								if ($row['user_id'] != $user_id AND !in_array($user_id, $arrlikes)) {
									echo '<a class="btn btn-mini pull-right" id="thanks'.$row['id'].'" style="font-weight:normal;" href="javascript:void(0)" onclick="LikeAction('.$row['id'].')" type="button">Спасибо</a>';
								}
								echo '</td></tr>';
								$num++;
							}
					echo '</tbody></table>';
					# Сколько сообщений в данной теме
					$sql_num=mysql_query("SELECT count(*) FROM `forums_messages` WHERE `thread` = {$escaped_topic}");
					# Всякие абракадабры по выводу нумерации страниц
					$row = mysql_fetch_row($sql_num);	
					$total_rows=$row[0]; 
					$num_pages=ceil($total_rows/20);
					if ($num_pages > 1) { 
						echo '<div class="pagination pagination-centered"><ul>'; 
						for($i=1;$i<=$num_pages;$i++) { 
							if ($i-1 == $page_sel) { 
								echo '<li class="active"><a>'.$i.'</a></li>'; 
							} else {	
								echo '<li><a href="__'.$_SERVER['SERVER_NAME'].'/topic_'.$escaped_topic.'_page'.$i.'">'.$i."</a></li>"; 
							} 
						}	
						echo "</ul></div>n"; 
					}
					# Форма ответа
					if ($user_auth == 4 OR $status != 1){
						echo '<br />'; 
						if ($user_auth == 4 AND $status == 1){
							echo $newMess->into_msg("3", "Тема закрыта, но у вас все равно есть право оставлять в ней сообщения", "3");
						}
						echo $newEngine->bb_panel();
						echo '<div class="create_message">
						<form method="post" name="form_msg" id="form_msg" onsubmit="return validate_input();">
						<div class="iwrap"><textarea autocomplete="off" style="height:70px;" id="input_text" name="input_text"></textarea></div>
						<div class="ibwrap">
						<input type="submit" class="btn btn-info" value="Отправить" /><p class="smiles">';
						echo $newEngine->smiles(0, 0, 0);
						echo '</p>
						</div>
						</form>
						<span style="color:red" id="input_textf"></span>
						</div>';
					}
				}
			} else {
				echo $newMess->into_msg("3", "Страница не найдена", "3");
			}
		} else {
			echo $newMess->into_msg("2", "Темы не существует", "2");
		}
	} else {
	    echo $newMess->into_msg("2", "Не введен номер темы", "2");
	}
} else {
    echo $newMess->into_msg("2", "Вы не авторизованы", "2");
}
require_once TEMPLATE."footer.php";
?>

а у админов другое

  • Author

нашел я ) Спасибо, теперь новый вопрос надо бы добавить на форум BB коды, сейчас есть :

 

  • Жирный шрифт
  • Жирный шрифт
  • Курсивный шрифт
  • Подчеркнутый шрифт
  • Текст большой высоты
  • Текст красного цвета
"#(.+?)#is",
"#(.+?)#is",
"#(.+?)#is",
"#+)](.+?)#is",
"#((?:http|https)://[^s]+)#is",
"#__[a-z]{0,3}.youtube.com/watch?v=([0-9a-zA-Z]{1,11})#is",
"##is",
"#|1[0-9]|20)](.+?)#is",
"#{6}|[a-z]+)](.*?)#is",
"#
(.+?)
#is"


static function replaceBBCode($text_post) {
		$str_search = array(
		"#(.+?)#is",
		"#(.+?)#is",
		"#(.+?)#is",
		"#+)](.+?)#is",
		"#((?:http|https)://[^s]+)#is",
		"#__[a-z]{0,3}.youtube.com/watch?v=([0-9a-zA-Z]{1,11})#is",
		"##is",
		"#|1[0-9]|20)](.+?)#is",
		"#{6}|[a-z]+)](.*?)#is",
		"#
(.+?)
#is"
		"#
(.+?)
#is",
		);
		$str_replace = array(
		"<b>1</b>",
		"<i>1</i>",
		"<code class='code'>1</code>",
		"<span style='text-decoration:underline'>1</span>",
		"<a rel='nofollow' target='_blank' href='1'>2</a>",
		"<a rel='nofollow' target='_blank' href='1'>1</a>",
		"<iframe width='400' height='300' src='__www.youtube.com/embed/1' frameborder='0' allowfullscreen></iframe>",
		"<img style='max-width:400px;' src='1' alt = 'Изображение' />",
		"<span style='font-size:1px'>2</span>",
		"<span style='color:1'>2</span>",
		"<blockquote><small>Цитата</small><p>1</p></blockquote>"
		);
		return preg_replace($str_search, $str_replace, $text_post);
	}

	static function replaceChatMsg($text_post) {
		$str_search = array(
		"#:(https?://.*?.(?:jpg|jpeg|gif|png|bmp)):#is"
		);
		$str_replace = array(
		'<img style="max-width:400px; max-width:400px;" src="1" />'
		);
		return preg_replace($str_search, $str_replace, $text_post);
	}
	
	static function bb_panel(){
		$panel = '<ul id="bbpanel"><li><div class="btn-group">
		<a class="btn" alt="b">Жирный</a>
		<a class="btn" alt="i"><i>Курсив</i></a>
		<a class="btn" alt="u"><u>Подчеркнутый</u></a></div></li>
		<a class="btn" alt="code[=]'">Kод</a></div></li>
		<li><div class="btn-group"><a class="btn" alt='size[=]'><i class="icon-resize-vertical"></i></a>
		<a class="btn" alt='color[=]'><i class="icon-asterisk"></i></a></div></li>
		<li><a class="btn" alt='url[=]'><i class="icon-share"></i></a></li>
		<li><a class="btn" alt="img"><i class="icon-picture"></i></a></li>
		<li><a class="btn" alt="youtube">YouTube</a></li>
		<li><a href="#help" role="button" class="btn" data-toggle="modal"><i class="icon-info-sign"></i></a></li></ul>
		<div class="modal hide fade" id="help" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h3 id="myModalLabel">Помощь по BB кодам</h3></div>
		<div class="modal-body">
		<table class="table table-bordered">
		<thead>
		<tr>
		<th>Пример</th>
		<th>Вывод</th>
		</tr>
		</thead>
		<tbody>
		<tr><td><code>Жирный шрифт</code></td><td><b>Жирный шрифт</b></td></tr>
		<tr><td><code>Курсивный шрифт</code></td><td><i>Курсивный шрифт</i></td></tr>
		<tr><td><code>Подчеркнутый шрифт</code></td><td><u>Подчеркнутый шрифт</u></td></tr>
		<tr><td><code>Текст большой высоты</code></td><td><span style="font-size:20px">Текст большой высоты</span></td></tr>
		<tr><td><code>Текст красного цвета</code></td><td><span style="color:red">Текст красного цвета</span></td></tr>
		<tr><td><code>Ссылка на наш сайт</code></td><td><a target="_blank" rel="nofollow" href="__bymirror.ru/">Ссылка на наш сайт</a></td></tr>
		<tr><td><code></code></td><td><img style="max-width:400px;" src="__yandex.st/morda-logo/i/logo.png" alt = "Изображение" /></td></tr>
		<tr><td><code>__www.youtube.com/watch?v=4hpEnLtqUDg</code></td><td><iframe width="400" height="300" src="__www.youtube.com/embed/4hpEnLtqUDg" frameborder="0" allowfullscreen></iframe></td></tr>
		</tbody>
		</table>
		</div></div>';
		return $panel;
	}

Даже вот так :)

Edited by MontiQ

  • Author

ну скажем коды

выбор цвета, чтобы самому не писать, 

добавит выбор разммера

добавить по центру текст или справа(слева)

Добавка html кода, чтобы отображалась красиво ! как тут post-6157-0-04711700-1376043986_thumb.pn

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.