0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 2595 Просмотров
*

tysson

  • Захожу иногда
  • 263
  • 2 / 0
Добрый день!

у меня на сайте будет возможность пользователям размещать новости. скажите как сделать так, чтобы у них не было возможности нажать кнопку опубликовать, т.е. новость не может быть размещена без можерации администратором.
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
почитайте ФАК и поюзайте поиск. неоднократно обсуждалось :)
*

tysson

  • Захожу иногда
  • 263
  • 2 / 0
Дело в том, что обсуждалось как сделать чтобы они сразу могли размещеть без модерации! а у меня проблема наоборот!
я хочу сначала смотреть, и только потом самому размещать! а то у юзера в форме "Разместить материал" появляется вкладка опубликовать! мне это не надо!

ну не могу я найти этого в FAQ.
*

Фей

  • Давно я тут
  • 741
  • 86 / 3
  • Истина в вине!
у авторов (с правами author) даже по-умолчанию нет возможности опубликовать материал, а у зарегистрированного пользователя тем-более


*

tysson

  • Захожу иногда
  • 263
  • 2 / 0
, user menu -разместить новость. получите форму, вбиваете текст, прокручиваете форму вниз, там вкладки, одна из них публикация! нажимаете опубликовано на главную, и опа она на главной! проверьте! только без фанатизма! :)
« Последнее редактирование: 28.12.2009, 15:56:24 от tysson »
*

Фей

  • Давно я тут
  • 741
  • 86 / 3
  • Истина в вине!
в content.php ищите функцию saveContent
в ней ищите строки $row->state они вписаны в условия

можно после этих условий вписать $row->state =0;
$row->frontpage=0;
*

tysson

  • Захожу иногда
  • 263
  • 2 / 0
cделал в таком виде:
   // Publishing state hardening for Authors
   if ( !$access->canPublish ) {
      if ( $isNew ) {
      // For new items - author is not allowed to publish - prevent them from doing so
         $row->frontpage=0;
      } else {
      // For existing items keep existing state - author is not allowed to change status
         $query = "SELECT state"
         . "\n FROM #__content"
         . "\n WHERE id = " . (int) $row->id
         ;
         $database->setQuery( $query);
         $state = $database->loadResult();

         if ( $state ) {
            $row->state = 1;
         } else {
            $row->state = 0;

итог: новость размещена сразу же , хотя надпись "Спасибо за Ваш материал. Теперь материал будет просмотрен  администратором перед размещением на сайте." появляется!
*

Фей

  • Давно я тут
  • 741
  • 86 / 3
  • Истина в вине!
надо поесле закрытия условия  if ( !$access->canPublish ) {
пропустить одну строку и поставить
$row->state = 0;
$row->frontpage=0;
*

tysson

  • Захожу иногда
  • 263
  • 2 / 0
сделал так. но материал все равно публикуется, если автор ставит "Опубликовать" в редакторе добавления новостей. наверное я что то не так делаю.

// Publishing state hardening for Authors
   if ( !$access->canPublish ) {
      if ( $isNew ) {
             $row->state = 0;
             $row->frontpage=0;
      // For new items - author is not allowed to publish - prevent them from doing so
         $row->frontpage=0;
      } else {
      // For existing items keep existing state - author is not allowed to change status
         $query = "SELECT state"
         . "\n FROM #__content"
         . "\n WHERE id = " . (int) $row->id
         ;
         $database->setQuery( $query);
         $state = $database->loadResult();

         if ( $state ) {
            $row->state = 1;
         } else {
            $row->state = 0;
         }
      }
   }

*

tysson

  • Захожу иногда
  • 263
  • 2 / 0
ФЕЙ ты где? :) Народ, кто знает подключитесь к проблеме! проект стынет!
*

Фей

  • Давно я тут
  • 741
  • 86 / 3
  • Истина в вине!
находим этот кусок кода
Код
	// Publishing state hardening for Authors
if(!$access->canPublish) {
if($isNew) {
// For new items - author is not allowed to publish - prevent them from doing so
$row->state = 0;
} else {
// For existing items keep existing state - author is not allowed to change status
$query = "SELECT state FROM #__content WHERE id = ".(int)$row->id;
$database->setQuery($query);
$state = $database->loadResult();

if($state) {
$row->state = 1;
} else {
$row->state = 0;
}
}

}


после него пишем $row->state = 0;

находим далее кусок
Код
	// manage frontpage items
require_once ($mainframe->getPath('class','com_frontpage'));
$fp = new mosFrontPage($database);

if(intval(mosGetParam($_REQUEST,'frontpage',0))) {
// toggles go to first place
if(!$fp->load((int)$row->id)) {
// new entry
$query = "INSERT INTO #__content_frontpage VALUES ( ".(int)$row->id.", 1 )";
$database->setQuery($query);
if(!$database->query()) {
echo "<script> alert('".$database->stderr()."');</script>\n";
exit();
}
$fp->ordering = 1;
}
} else {
// no frontpage mask
if(!$fp->delete((int)$row->id)) {
$msg .= $fp->stderr();
}
$fp->ordering = 0;
}
$fp->updateOrder();

и его ремим весь с помощью //

и все!

skladoiskatel.ru  пользователь user пароль 4342123 , user menu -разместить новость. получите форму, вбиваете текст, прокручиваете форму вниз, там вкладки, одна из них публикация! нажимаете опубликовано на главную, и опа она на главной! проверьте! только без фанатизма! :)

Хотел попробовать, но видимо вы уже отключили добавление новости :) Подскажите, пожалуйста, что за плагин для добавления новости?
А что за плагин для меню пользователя? (там где Профиль, Ваши данные, Галерея объектов)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как реализовать рассылку новостей с сайта?

Автор mystique

Ответов: 6
Просмотров: 4041
Последний ответ 08.01.2017, 16:16:51
от vipiusss
[download] Модуль новостей NewsFader v.1.0.1.1 (fixed)

Автор yunoshev

Ответов: 73
Просмотров: 49374
Последний ответ 03.02.2012, 13:25:51
от yunoshev
Добавление новостей пользователями

Автор ParaNoid_

Ответов: 2
Просмотров: 3456
Последний ответ 22.05.2010, 09:56:46
от BULA
Размещение картинок в статьях

Автор alex_bell

Ответов: 11
Просмотров: 3548
Последний ответ 27.01.2010, 20:00:52
от text
Как добавить ленту новостей

Автор Леся

Ответов: 2
Просмотров: 2227
Последний ответ 17.12.2009, 19:53:49
от Леся