Публикации

Форумы

Запрет на редактирование новостей
 

Запрет на редактирование новостей

1 2  
Модераторы: Патрик, net1313, Predator, Perfecthus, Kapman
Автор Добавил
Offline dhau
02.12.10 - 12:55
Сообщений: 104
есть 4 человека, которые выставляют новости, возникла необходимость в запрете на редактирование новости, если она чужая, ну или хотя бы отслеживание , кто редактировал. Хотя первый вариант желательней.
Понимаю, что нужно сделать проверку по айди, во флеше это был бы хиттест, а в пхп - смотрю на newspost.php, на кусок
+ Показать

догадываюсь, что где то тут собака зарыта, но как её отрыть не догадываюсь
Вернуться наверх
Популярность сообщения: 0
Рекламный блок
VPS
Наверх

Offline Kapman
02.12.10 - 14:05
Kapman


Сообщений: 961
Файл newspost.php, после 269 строки (в 0.7.24) добавляешь:
  1. if($_POST['news_author']!=USERID){
  2.         header('Location: newspost.php');
  3.         exit;
  4. }


Должно получиться так:
  1. if ($action == 'create') {
  2.         $preset = $pst->read_preset('admin_newspost');  //only works here because $_POST is used.
  3.         if ($sub_action == 'edit' && !$_POST['preview'] && !$_POST['submit_news']) {
  4.                 if ($sql->db_Select('news', '*', "news_id='{$id}'")) {
  5.                         $row = $sql->db_Fetch();
  6.                         extract($row);
  7.                         $_POST['news_title'] = $news_title;
  8.                         $_POST['data'] = $news_body;
  9.                         $_POST['news_extended'] = $news_extended;
  10.                         $_POST['news_allow_comments'] = $news_allow_comments;
  11.                         $_POST['news_class'] = $news_class;
  12.                         $_POST['news_summary'] = $news_summary;
  13.                         $_POST['news_sticky'] = $news_sticky;
  14.                         $_POST['news_datestamp'] = ($_POST['news_datestamp']) ? $_POST['news_datestamp'] : $news_datestamp;
  15.                         $_POST['cat_id'] = $news_category;
  16.                         $_POST['news_start'] = $news_start;
  17.                         $_POST['news_end'] = $news_end;
  18.                         $_POST['comment_total'] = $sql->db_Count('comments', '(*)', "WHERE comment_item_id='{$news_id}' AND comment_type='0'");
  19.                         $_POST['news_rendertype'] = $news_render_type;
  20.                         $_POST['news_thumbnail'] = $news_thumbnail;
  21.                         $_POST['news_author'] = $news_author;
  22.                         //Запрет на редактирование
  23.                         if ($_POST['news_author']!=USERID) {
  24.                                 header('Location: newspost.php');
  25.                                 exit;
  26.                         }
  27.                         //Запрет на редактирование
  28.                 }
  29.         }
  30.         $newspost->create_item($sub_action, $id);
  31. }

Вернуться наверх
Популярность сообщения: 2
 
Offline dhau
02.12.10 - 14:56
Сообщений: 104
Kapman:
огромное спасибо, всё работает
не сочтите за наглость, и так много сделали, но не подскажите, как сделать, чтобы главный админ, или допустим юзверь с айди 40 имели полный доступ к редактированию

Вернуться наверх
Популярность сообщения: 1
 
Offline Kapman
02.12.10 - 15:36
Kapman


Сообщений: 961
dhau: Пожалуйста

– Цитата: 
чтобы главный админ

Если любой главный админ:
  1. if($_POST['news_author']!=USERID && !check_class(e_UC_MAINADMIN)){
  2.         header('Location: newspost.php');
  3.         exit;
  4. }

– Цитата: 
или допустим юзверь с айди 40

  1. if($_POST['news_author']!=USERID && USERID!=40){
  2.         header('Location: newspost.php');
  3.         exit;
  4. }

Вернуться наверх
Популярность сообщения: 3
 
Offline dhau
02.12.10 - 17:40
Сообщений: 104
Kapman:
преоооогромнейшее спасибо
просто для ясности опишу, зачем мне это понадобилось, мож кто ни будь задумается и тоже поставит этот хак. ))
Есть 4 девочки, которые выставляют новости, когда их начали напрягать за ошибки при выставлении (не те подзаголовки, лишние или отсутствующие переводы строки и т.д.) женская логика пошла по принципу: "пусть у других ошибок будет больше чем у меня"
И пошла волна исправлений чужих новостей. Боротся с женской логикой подручными средствами не удалось, осталось просить помощи ))
Ещё раз спасибо.
Вернуться наверх
Популярность сообщения: 2
 
Offline net1313
02.12.10 - 18:23
net1313


Сообщений: 2768
Я вот подумaл, не устaновить ли нaм кнопку Donate ? может кто подкинет 1usd, глядишь в конце годa и хостинг оплaтится.


Очень Добрый Админ
Жизнь в целом не такая уж и хуёвая штука, хотя конечно неплохо было бы если бы в ней было всё совершенно по-другому.
Вернуться наверх
Популярность сообщения: 3
 
Offline dhau
02.12.10 - 21:15
Сообщений: 104
Сообщение от net1313... 
Я вот подумaл, не устaновить ли нaм кнопку Donate ? может кто подкинет 1usd, глядишь в конце годa и хостинг оплaтится.

я только за ))
мож и не самый большой меценат, но 1 - 2 вмз скинул бы, ибо чувствую себя должным ))
Вернуться наверх
Популярность сообщения: 3
 
Offline MasterMed
02.12.10 - 22:36
MasterMed
MasterMed

Сообщений: 399
Уже хорошо, если деньговой автопилот на этом сайте будет запущен, значит я боролся за это не зря.


Когда труд - удовольствие, жизнь - хороша!
Когда труд - обязанность, жизнь - рабство!
Вернуться наверх
Сайт
Популярность сообщения: 3
 
Offline net1313
02.12.10 - 22:48
net1313


Сообщений: 2768
Не понял. А можно по русски ?


Очень Добрый Админ
Жизнь в целом не такая уж и хуёвая штука, хотя конечно неплохо было бы если бы в ней было всё совершенно по-другому.
Вернуться наверх
Популярность сообщения: 1
 
Offline MasterMed
03.12.10 - 21:26
MasterMed
MasterMed

Сообщений: 399
Это когда сайт на свое содержание зарабатывает сам.


Когда труд - удовольствие, жизнь - хороша!
Когда труд - обязанность, жизнь - рабство!
Вернуться наверх
Сайт
Популярность сообщения: 2
 
1 2  
Запрет на редактирование новостей

Перейти:  Вернуться наверх