Jump to content

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

Featured Replies

Posted
comment_39091

Добрый день )

 

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

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

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

<?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";
?>



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

comment_39092

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

 

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

  • Author
comment_39093

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

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

# Список действий для администратора
					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>';
					}
					

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

comment_39095

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

# Список действий для Модероторов
					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";
?>

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

comment_39102

ну по пробуй,всё тоже самое должно быть,только группа с названием модератора,и всё

  • Author
comment_39103

нашел я ) Спасибо, теперь новый вопрос надо бы добавить на форум 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
comment_39108

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

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

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

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

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

 

comment_39109

нее в этом не разбираюсь,а может есть такой bb код тут на форуме?искать не пробовал?

  • Author
comment_39136

Чего то я не понял , добавил бб-код [ code = ]LfLfLf[  /code ] в и тоге нечего !

  • Author
comment_39141

:D это просто от балды набрал текст который дорлжен отображатся в бб коде CODE

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.