Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#76 2009-03-05 21:18:40

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: feedback :: Менеджер форм обратной связи

hot, а в каком виде ты это управление вообще видишь?
Опиши пример.

Не в сети

#77 2009-03-05 22:05:35

hot
Участник
Откуда Россия
Зарегистрирован: 2008-10-26
Сообщений: 173

Re: feedback :: Менеджер форм обратной связи

vitaly пишет:

hot, а в каком виде ты это управление вообще видишь?
Опиши пример.

УВАЖАЕМЫЙ ВИТАЛИЙ ! Вот такое моё виденье управлением...
Выбираем поле с ==ВЫБОРОМ== (допустим НОРМАЛЬНЫЙ ЧЕЛОВЕК, ХОРОШИЙ ЧЕЛОВЕК, ОЧЕНЬ ХОРОШИЙ ЧЕЛОВЕК big_smile), в выбранной форме feedback (допустим feedback id=1 и т.д. и т.п.) пишем 3 e-mail-А (...при возможности хочется и больше адресов...), ставим обязательное заполнение, переходим на страничку с формой на сайте и выбираем (==ОЧЕНЬ ХОРОШИЙ ЧЕЛОВЕК== ), отправляем ... и ... получает сообщение для !!!ТОЛЬКО ==ОЧЕНЬ ХОРОШИЙ ЧЕЛОВЕК==, а остальные
"хорошие люди", указанные в чекбоксе, "КУРЯТ БАМБУК" lol

Изменено hot (2009-03-06 00:11:47)

Не в сети

#78 2009-03-06 00:24:18

Trashcka
Участник
Откуда КиевГрад
Зарегистрирован: 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: feedback :: Менеджер форм обратной связи

vitaly, а на мое можно растолковать по поводу слэшей?

Не в сети

#79 2009-03-06 13:43:10

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: feedback :: Менеджер форм обратной связи

hot, подумаю.
Trashcka, в "настройках сайта" => "основные настройки сайта" => "домашняя станица" - там в конце есть слеш? Если есть, то убери.

Не в сети

#80 2009-03-14 00:17:02

Trashcka
Участник
Откуда КиевГрад
Зарегистрирован: 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: feedback :: Менеджер форм обратной связи

vitaly, да я уже сама нашла ступила )) сори.

Не в сети

#81 2009-03-20 01:19:13

v01d
Модератор
Зарегистрирован: 2008-10-14
Сообщений: 179
Рейтинг :   
Сайт

Re: feedback :: Менеджер форм обратной связи

от
кому	хххх@gmail.com
дата	19 марта 2009 г. 23:42
тема	Новое сообщение обратной свя
	
скрыть подробные сведения 23:42 (11 мин. назад)
	
	
Ответить
	
	
зи через форму otdyh (Сявязь с владельцем объявления)
X-PHP-Script: www.ххх.ru/index.php for 85.172.хх.хх
From: mailbot@ххх.ru  >> Здесь может название сайта,?
Reply-to: mailbot@ххх.ru  >> здесь нужно действующий адрес
Message-ID: <f17a62fe82f86e6f24fe4b00b6f89b33@www.ххх.ru>
MIME-Version: 1.0
Date: Thu, 19 Mar 2009 20:41:57
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: NGCMS : 0.9.0 Release (Fix #04)
X-MimeOLE: NGCMS : 0.9.0 Release (Fix #04)
Content-Type: multipart/mixed;boundary="----------f17a62fe82f86e6f24fe4b00b6f89b33"

------------f17a62fe82f86e6f24fe4b00b6f89b33
Content-Type: text/html;charset=windows-1251
Content-Transfer-Encoding: 8bit

Уважаемый администратор!<br/>Вам отправлено сообщение через форму обратной связи:<br/>
>> если есть возможность вводить раные адрреса нужно и получателя указывать.
[name] Ваше имя: Имя<br/>  >> идентификатор тут зачем?
[email]Emai: tech2304@gmail.com<br/>
[message] Сообщение: Здравствуйте.
Ваше объявление размещено
<br/>

------------f17a62fe82f86e6f24fe4b00b6f89b33--

Сообщение было отправлено в спам... sad


Продвигай NGCMS,
скачай статью и на свой сайт повесь.
Геленджик - лучший отдых на Черном море

Не в сети

#82 2009-03-22 00:41:43

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: feedback :: Менеджер форм обратной связи

Последнее время спаморезки пошли очень умные.
Единственное, что можно сделать в этой ситуации - позволить задавать в плагине SRC email адрес.
Но при этом ты должен понимать, что при отправке с e-mail адреса ABC@domain.ru, ты должен соблюсти одно из следующих правил:
1. Email сообщение отправляется сначала на почтовый сервер домена domain.ru и уже почтовка доставляет этот email
2. Email сообщение отправляется напрямую, но IP адрес, с которого ты ведёшь отправку, должен быть либо прописан в качестве MX для домена domain.ru, либо, как минимум, должен быть прописан как "A" запись для этого же домена.

Не в сети

#83 2009-04-15 16:28:17

vairus
Участник
Зарегистрирован: 2008-10-13
Сообщений: 120
Рейтинг :   

Re: feedback :: Менеджер форм обратной связи

vitaly пишет:

Выложил в SVN кандидата на версию 0.06.
Вот изменения:

[0.06][2009-03-05]
+ Добавлена возможность проверки заполнения обязательных полей формы.
  При активации параметра "проверять ввод полей" и незаполнении обязательного
  поля - пользователю будет выдаваться сообщение об ошибке.

Прошу по возможности проверить и отписаться. Если проблем не будет - выложу архив для всех.

работает, но не хватает каптчи.

Не в сети

#84 2009-04-25 17:26:58

icedogas
Участник
Откуда Москва
Зарегистрирован: 2009-02-08
Сообщений: 318
Рейтинг :   
Сайт

Re: feedback :: Менеджер форм обратной связи

Сообщения отправляются вне зависимости от того, заполнено ли ОБЯЗАТЕЛЬНОЕ поле или нет((

Не в сети

#85 2009-04-28 11:26:24

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: feedback :: Менеджер форм обратной связи

Доп тип поля: файл.
+
Выбор в настройках: прикрепить к письму / хранить на сервере, вставить ссылку на файл.

Не в сети

#86 2009-04-28 14:25:36

icedogas
Участник
Откуда Москва
Зарегистрирован: 2009-02-08
Сообщений: 318
Рейтинг :   
Сайт

Re: feedback :: Менеджер форм обратной связи

infinity237 пишет:

Доп тип поля: файл.
+
Выбор в настройках: прикрепить к письму / хранить на сервере, вставить ссылку на файл.

Это мне? а то я че то не просек.

Не в сети

#87 2009-04-28 14:55:12

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: feedback :: Менеджер форм обратной связи

icedogas
/engine/plugins/feedback/feedback.php
Найти

 // Scan all fields and fill data. Prepare outgoing email.
 $output = '';

 foreach ($fData as $fName => $fInfo) {

Добавить после

  if ($fInfo['required'] && empty($_REQUEST[$fName]))
  {
  	$tpl->template('site.infoblock', $tpath['site.infoblock']);
  	$tpl->vars('site.infoblock', array( 'vars' => array( 'title' => $frow['title'], 'ptpl_url' => $ptpl_url, 'entries' => "<b>Ошибка!</b><br/>Не заполнено обязательное поле {$fName}")));
  	$template['vars']['mainblock']      =  $tpl->show('site.infoblock');
  	return;
  }

Изменено insider (2009-04-28 16:29:10)

Не в сети

#88 2009-04-28 16:24:59

icedogas
Участник
Откуда Москва
Зарегистрирован: 2009-02-08
Сообщений: 318
Рейтинг :   
Сайт

Re: feedback :: Менеджер форм обратной связи

insider пишет:

icedogas
/engine/plugins/feedback/feedback.php
Найти

 foreach ($fData as $fName => $fInfo) {

Добавить после

  if ($fInfo['required'] && empty($_REQUEST[$fName]))
  {
  	$tpl->template('site.infoblock', $tpath['site.infoblock']);
  	$tpl->vars('site.infoblock', array( 'vars' => array( 'title' => $frow['title'], 'ptpl_url' => $ptpl_url, 'entries' => "<b>Ошибка!</b><br/>Не заполнено обязательное поле {$fName}")));
  	$template['vars']['mainblock']      =  $tpl->show('site.infoblock');
  	return;
  }

как только захожу на страницу, сразу выдает ошибка - не заполнено поле линк

Не в сети

#89 2009-04-28 16:28:56

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: feedback :: Менеджер форм обратной связи

А, ясно

foreach ($fData as $fName => $fInfo) {

встречается в файле два раза, надо вставить после второго
Отредактил пост выше, чтобы понятнее было

Изменено insider (2009-04-28 16:30:23)

Не в сети

#90 2009-04-28 16:48:56

icedogas
Участник
Откуда Москва
Зарегистрирован: 2009-02-08
Сообщений: 318
Рейтинг :   
Сайт

Re: feedback :: Менеджер форм обратной связи

заработало, спасибо)

Не в сети

#91 2009-04-29 11:32:36

RocketBoy
Участник
Откуда Калининград
Зарегистрирован: 2008-10-14
Сообщений: 552
Рейтинг :   27 
Сайт

Re: feedback :: Менеджер форм обратной связи

А реально сделать, чтобы:
- при добавлении нового поля, в плагине, если поставить "Обязательно заполнить" к названию поля добавлялась (*)
- (*) ее стилем оформлять и закрывать во что то, типа [Обязательно заполнить]*[/Обязательно заполнить]

Не в сети

#92 2009-04-29 13:09:27

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: feedback :: Менеджер форм обратной связи

/engine/plugins/feedback/feedback.php
Найди

	$tvars['regx']['#\[date\](.+?)\[\/date\]#is']			= ($fInfo['type'] == 'date'  )?'$1':'';

Добавь после

	$tvars['regx']['#\[required\](.+?)\[\/required\]#is']			= $fInfo['required']?'$1':'';
	$tvars['vars']['required'] = $fInfo['required']?'required':'';

Тогда можно будет в site.form.row.tpl прописать что-нибудь в роде

[required]обязательно к заполнению[/required]

Либо заменить

{title}

на

<span class="{required}">{title}</span>

и уже в css сделать так (для выделения жирным)

span.required {
    font-weight: bold;
}

или так (для добавления (*) после названия)

span.required:after {
    content: " (*)";
}

Не в сети

#93 2009-04-29 15:01:25

RocketBoy
Участник
Откуда Калининград
Зарегистрирован: 2008-10-14
Сообщений: 552
Рейтинг :   27 
Сайт

Re: feedback :: Менеджер форм обратной связи

insider, +1

Не в сети

#94 2009-04-30 00:55:05

graf
Участник
Откуда Днепр
Зарегистрирован: 2008-10-13
Сообщений: 394
Рейтинг :   

Re: feedback :: Менеджер форм обратной связи

предлагаю дописать в плагин smile
действительно удобно

Не в сети

#95 2009-04-30 05:36:12

RocketBoy
Участник
Откуда Калининград
Зарегистрирован: 2008-10-14
Сообщений: 552
Рейтинг :   27 
Сайт

Re: feedback :: Менеджер форм обратной связи

graf, 100% или в FAQ

Не в сети

#96 2009-05-10 22:00:10

v01d
Модератор
Зарегистрирован: 2008-10-14
Сообщений: 179
Рейтинг :   
Сайт

Re: feedback :: Менеджер форм обратной связи

Нужно еще:
1. Защита от ботов. (уже спамят)
2. Разрешить только зарегистрированным, желательно по выбору. (эта форма для всех, а эта только для зарегистрированных).


Продвигай NGCMS,
скачай статью и на свой сайт повесь.
Геленджик - лучший отдых на Черном море

Не в сети

#97 2009-05-10 23:25:33

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: feedback :: Менеджер форм обратной связи

2. Видимо эта возможность планировалась, раз даже поле в БД уже есть

/engine/plugins/feedback/config.php
#1. Найти

	$mysql->select("update ".prefix."_feedback set name=".db_squote($name).", title=".db_squote($_REQUEST['title']).", template=".db_squote($_REQUEST['template']).", emails=".db_squote($_REQUEST['emails']).", description=".db_squote($_REQUEST['description']).", active=".intval($_REQUEST['active']).", flags=".intval($flags)." where id = ".$id);

#1. Заменить на

	$mysql->select("update ".prefix."_feedback set name=".db_squote($name).", title=".db_squote($_REQUEST['title']).", template=".db_squote($_REQUEST['template']).", emails=".db_squote($_REQUEST['emails']).", description=".db_squote($_REQUEST['description']).", active=".intval($_REQUEST['active']).", regonly=".intval($_REQUEST['regonly']).", flags=".intval($flags)." where id = ".$id);

#2. Найти

			'active'	=> $frow['active']?$lang['yesa']:$lang['noa'],

#2. Добавить после

			'regonly'	=> $frow['regonly']?$lang['yesa']:$lang['noa'],

#3. Найти

		$tvars['vars']['active_checked'] = ($edMode?$_REQUEST['active']:$frow['active'])?'checked="checked"':'';

#3. Добавить после

		$tvars['vars']['regonly_checked'] = ($edMode?$_REQUEST['regonly']:$frow['regonly'])?'checked="checked"':'';

/engine/plugins/feedback/feedback.php
#4. Найти

function plugin_feedback_screen() {
 global $template, $tpl, $lang, $mysql, $userROW;

#4. Заменить на

function plugin_feedback_screen() {
 global $template, $tpl, $lang, $mysql, $userROW, $is_logged;

#5. Найти

 // Prepare params
 $tvars = array();
 $tvars['vars']['ptpl_url']		= $ptpl_url;
 $tvars['vars']['id']			= $frow['id'];
 $tvars['vars']['description']	= $frow['description'];
 $tvars['vars']['entries']		= $output;
 $tvars['vars']['form_url']		= GetLink('plugins', array('plugin_name' => 'feedback'));

#5. Добавить после

 if ($frow['regonly'] && !$is_logged)
 {
  $tvars['regx']["'\[is-logged\](.*?)\[/is-logged\]'si"] = '';
  $tvars['regx']["'\[isnt-logged\](.*?)\[/isnt-logged\]'si"] = '$1';
 }
 else
 {
  $tvars['regx']["'\[is-logged\](.*?)\[/is-logged\]'si"] = '$1';
  $tvars['regx']["'\[isnt-logged\](.*?)\[/isnt-logged\]'si"] = '';
 }

#6. Найти

function plugin_feedback_post() {
 global $template, $tpl, $lang, $mysql, $userROW;

#6. Заменить на

function plugin_feedback_post() {
 global $template, $tpl, $lang, $mysql, $userROW, $is_logged;

#7. Найти

 // Unpack form data
 $fData = unserialize($frow['struct']);
 if (!is_array($fData)) $fData = array();

 // Scan all fields and fill data. Prepare outgoing email.
 $output = '';

 foreach ($fData as $fName => $fInfo) {
  switch ($fInfo['type']) {
  	case 'date':	$fieldValue = $_REQUEST[$fName.':day'] . '.' . $_REQUEST[$fName.':month'] . '.' . $_REQUEST[$fName.':year'];
	  				break;
	default:		$fieldValue = $_REQUEST[$fName];


  }
  $output .= '['.$fName.'] '.$fInfo['title'].': '.$fieldValue."<br/>\n";
 }

#7. Добавить перед

 if ($frow['regonly'] && !$is_logged)
 {
 	$tpl->template('site.infoblock', $tpath['site.infoblock']);
 	$tpl->vars('site.infoblock', array( 'vars' => array( 'title' => $frow['title'], 'ptpl_url' => $ptpl_url, 'entries' => "You're not so cool?")));
 	$template['vars']['mainblock']      =  $tpl->show('site.infoblock');
 	return;
 }

/engine/plugins/feedback/tpl/conf.form.hdr.tpl
#8. Найти

<tr align="left"><td class="contentRow" width="170"><b>Активна:</b></td><td><input type="checkbox" name="active" value="1" {active_checked} /></td></tr>

#8. Добавить после

<tr align="left"><td class="contentRow" width="170"><b>Требуется регистрация:</b></td><td><input type="checkbox" name="regonly" value="1" {regonly_checked} /></td></tr>

/engine/plugins/feedback/tpl/conf.forms.hdr.tpl
#9. Найти

<td colspan="7" width=100% class="contentHead"><img src="{skins_url}/images/nav.gif" hspace="8">Редактирование форм обратной связи</td>

#9. Заменить на

<td colspan="6" width=100% class="contentHead"><img src="{skins_url}/images/nav.gif" hspace="8">Редактирование форм обратной связи</td>

#10. Найти

<td class="contentHead"><b>Активна</b></td>

#10. Добавить после

<td class="contentHead" width="87"><b>Требуется регистрация</b></td>

/engine/plugins/feedback/tpl/conf.form.hdr.tpl
#11. Найти

<td>{active}</td>

#11. Добавить после

<td>{regonly}</td>

/engine/plugins/feedback/tpl/site.form.hdr.tpl
#12. Вставить в начало

[isnt-logged]
Для заполнения данной формы требуется регистрация
[/isnt-logged]
[is-logged]

#12. Вставить в конец

[/is-logged]

Изменено insider (2009-05-11 14:54:31)

Не в сети

#98 2009-05-24 14:30:18

dmitra
Участник
Зарегистрирован: 2009-05-21
Сообщений: 4
Рейтинг :   

Re: feedback :: Менеджер форм обратной связи

Кто небудь может выложить полностью рабочий плагин ?

Не в сети

#99 2009-05-27 15:45:39

fourent
Участник
Зарегистрирован: 2009-05-27
Сообщений: 12
Рейтинг :   

Re: feedback :: Менеджер форм обратной связи

Во-первых, спасибо insider за доработку, именно этого недоставало. Теперь почти по-взрослому. Ждём капчу для полного счастья.
Во-вторых, специально для dmitra - плагин, который у меня работает, возьми здесь или прикрепленный. Надеюсь, у тебя тоже работать будет.

Небольшой нюанс. Вопрос для insider. У меня в титуле страницы написано просто "Плагин". Как бы сделать , чтобы выводилось название формы или хотя бы просто "Обратная связь"? Я не нашёл, где исрпавить хотя бы на статичную надпись...

Изменено fourent (2009-05-27 16:12:08)

Не в сети

#100 2009-05-27 16:36:37

Styler
Участник
Зарегистрирован: 2008-10-13
Сообщений: 279
Рейтинг :   11 

Re: feedback :: Менеджер форм обратной связи

Как бы сделать , чтобы выводилось название формы или хотя бы просто "Обратная связь"?

$SYSTEM_FLAGS['info']['title']['group'] = 'Обратная связь';

Изменено Styler (2009-05-27 16:36:58)

Не в сети

Подвал раздела

Работает на FluxBB