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

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Огромная просьба людей "с кривыми руками" проходить мимо этой темы
1. скачиваем прикреплённый архив архивчик.zip
2. распаковываем архив, файл kcaptcha.php и папки fonts, util кладём по следующему пути \components\com_adsmanager\helpers\
3. делаем возможным настройку CAPTCHA через админку, для этого выполняем следующие шаги:
  • открываем файл \administrator\components\com_adsmanager\views\admin\tmpl\configuration.php текстовым редактором
  • в конце файла (строки примерно 369-372) ищем такой код
Код
<?php
           echo $tabs->endPanel();
           echo $tabs->endPane();
           ?>
  • между строками echo $tabs->endPanel(); и echo $tabs->endPane(); вставляем следующий код:
Код
echo $tabs->startPanel(JText::_('ADSMANAGER_TAB_CAPTCHA'), "Captcha-page");
?>
<table cellpadding="4" cellspacing="0" border="0" width="100%" class="adminlist">
<tr>
<td><?php echo JText::_('ADSMANAGER_USE_CAPTCHA'); ?></td>
<td>
<select id='use_captcha' name='use_captcha'>
<option value='1' <?php if ($this->conf->use_captcha == 1) { echo "selected"; } ?>><?php echo JText::_('ADSMANAGER_YES'); ?></option>
<option value='0' <?php if ($this->conf->use_captcha == 0) { echo "selected"; } ?>><?php echo JText::_('ADSMANAGER_NO'); ?></option>
</select>
</td>

<td><?php echo JText::_('ADSMANAGER_USE_CAPTCHA_LONG'); ?></td>
</tr>
<tr>
<td><?php echo JText::_('ADSMANAGER_ALPHABET'); ?></td>
<td><input type="text" size="50" name="allowed_symbols" value=<?php echo $this->conf->allowed_symbols; ?> /></td>
<td><?php echo JText::_('ADSMANAGER_ALPHABET_LONG'); ?></td>
</tr>
<tr>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_LENGTH'); ?></td>
<td><input type="text" size="50" name="captcha_length" value=<?php echo $this->conf->captcha_length; ?> /></td>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_LENGTH_LONG'); ?></td>
</tr>
<tr>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_WIDTH'); ?></td>
<td><input type="text" size="50" name="captcha_width" value=<?php echo $this->conf->captcha_width; ?> /></td>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_WIDTH_LONG'); ?></td>
</tr>
<tr>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_HEIGHT'); ?></td>
<td><input type="text" size="50" name="captcha_height" value=<?php echo $this->conf->captcha_height; ?> /></td>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_HEIGHT_LONG'); ?></td>
</tr>
<tr>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_AMPLITUDE'); ?></td>
<td><input type="text" size="50" name="captcha_amplitude" value=<?php echo $this->conf->captcha_amplitude; ?> /></td>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_AMPLITUDE_LONG'); ?></td>
</tr>
<tr>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_W_NOISE'); ?></td>
<td><input type="text" size="50" name="captcha_w_noise" value=<?php echo $this->conf->captcha_w_noise; ?> /></td>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_W_NOISE_LONG'); ?></td>
</tr>
<tr>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_B_NOISE'); ?></td>
<td><input type="text" size="50" name="captcha_b_noise" value=<?php echo $this->conf->captcha_b_noise; ?> /></td>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_B_NOISE_LONG'); ?></td>
</tr>
<tr>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_SHOW_CREDITS'); ?></td>
<td>
<select id='captcha_show_credits' name='captcha_show_credits'>
<option value='1' <?php if ($this->conf->captcha_show_credits == 1) { echo "selected"; } ?>><?php echo JText::_('ADSMANAGER_YES'); ?></option>
<option value='0' <?php if ($this->conf->captcha_show_credits == 0) { echo "selected"; } ?>><?php echo JText::_('ADSMANAGER_NO'); ?></option>
</select>
</td>

<td><?php echo JText::_('ADSMANAGER_CAPTCHA_SHOW_CREDITS_LONG'); ?></td>
</tr>
<tr>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_CREDITS'); ?></td>
<td><input type="text" size="50" name="captcha_credits" value=<?php echo $this->conf->captcha_credits; ?> /></td>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_CREDITS_LONG'); ?></td>
</tr>
<tr>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_QUALITY'); ?></td>
<td><input type="text" size="50" name="captcha_quality" value=<?php echo $this->conf->captcha_quality; ?> /></td>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_QUALITY_LONG'); ?></td>
</tr>
<tr>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_SAMPLE'); ?></td>
<td><?php echo '<img src="'.$this->baseurl.'index.php?option=com_adsmanager&task=getcaptcha" onClick="this.src=this.src+\'&\'+Math.random();" title="Нажмите для обновления" style="cursor:pointer">'; ?></td>
<td><?php echo JText::_('ADSMANAGER_CAPTCHA_SAMPLE_LONG'); ?></td>
</tr>
</table>  
<?php
echo $tabs->endPanel();
  • меняем кодировку файла на UTF-8 без BOM, сохраняем и закрываем файл
  • в языковой файл \administrator\language\ru-RU\ru-RU.com_adsmanager.ini в любое место вставляем следующие строки:
Код
ADSMANAGER_TAB_CAPTCHA="Капча"
ADSMANAGER_USE_CAPTCHA="Включить Captcha?"
ADSMANAGER_USE_CAPTCHA_LONG="Использовать капчу для неавторизованных пользователей при добавлении объявления?"
ADSMANAGER_ALPHABET="Набор символов"
ADSMANAGER_ALPHABET_LONG="Введите символы, которые будут использоваться при генерации CAPTCHA"
ADSMANAGER_CAPTCHA_LENGTH="Количество символов"
ADSMANAGER_CAPTCHA_LENGTH_LONG="Количество символов, из которых будет состоять CAPTCHA"
ADSMANAGER_CAPTCHA_WIDTH="Ширина картинки"
ADSMANAGER_CAPTCHA_WIDTH_LONG="Ширина CAPTCHA в пикселях"
ADSMANAGER_CAPTCHA_HEIGHT="Высота картинки"
ADSMANAGER_CAPTCHA_HEIGHT_LONG="Высота CAPTCHA в пикселях"
ADSMANAGER_CAPTCHA_AMPLITUDE="Искажение символов"
ADSMANAGER_CAPTCHA_AMPLITUDE_LONG="Вертикальное искажение символов CAPTCHA в пикселях"
ADSMANAGER_CAPTCHA_W_NOISE="Плотность шума 1"
ADSMANAGER_CAPTCHA_W_NOISE_LONG="Плотность шума белого цвета"
ADSMANAGER_CAPTCHA_B_NOISE="Плотность шума 2"
ADSMANAGER_CAPTCHA_B_NOISE_LONG="Плотность шума чёрного цвета"
ADSMANAGER_CAPTCHA_SHOW_CREDITS="Показать подпись?"
ADSMANAGER_CAPTCHA_SHOW_CREDITS_LONG="Возможность показывать подпись внизу изображения CAPTCHA с заданным текстом (Высота +12px)"
ADSMANAGER_CAPTCHA_CREDITS="Подпись"
ADSMANAGER_CAPTCHA_CREDITS_LONG="Введите текст подписи"
ADSMANAGER_CAPTCHA_QUALITY="Качество изображения"
ADSMANAGER_CAPTCHA_QUALITY_LONG="Качество JPEG-сжатия картинки"
ADSMANAGER_CAPTCHA_SAMPLE="Образец CAPTCHA"
ADSMANAGER_CAPTCHA_SAMPLE_LONG="Просмотр примера CAPTCHA"
  • сохраняем и закрываем файл
  • в скаченном архиве есть скрипт "конфигурация.sql"
  • в phpmyadmin выполняем скрипт импортом файла
4. открываем файл \components\com_adsmanager\controller.php и ищем функцию function save, перед этой функцией вставляем код:
Код
function getcaptcha() 
{
include( JPATH_BASE .'/components/com_adsmanager/helpers/kcaptcha.php' );
$this->addModelPath(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_adsmanager'.DS.'models');
$configurationmodel = &$this->getModel( "configuration" );
$conf = $configurationmodel->getConfiguration();
$captcha = new KCAPTCHA($conf);
$session = JFactory::getSession();
$session->set('captcha_keystring', $captcha->getKeyString());
exit;
}

function getresultcaptchacheck()
{
$captha = JRequest::getVar('captcha_keystring');
$session = JFactory::getSession();
$sessCaptcha = $session->get('captcha_keystring');
$a = "0";
if($sessCaptcha !== $captha) $a = "1";
if ($captha == "CAPTCHA" ) $a = "0";
echo $a;
}
Меняем кодировку файла на на UTF-8 без BOM, сохраняем, закрываем
Для "любознательных людей" - заходим в админку компонета, на вкладке Конфигурация появилась новая панель Капча, на которой можно настроить капчу и посмотреть как она будет выглядеть
5. Осталось дело за малым - вывести капчу при добавлении объявления... Для этого делаем следующее:
  • открываем файл \components\com_adsmanager\views\edit\tmpl\default.php
  • находим строки (примерно 366-368)
Код
if (function_exists("editPaidAd")){
editPaidAd($this->content,$this->isUpdateMode,$this->conf);
}
  • после этих строк вставляем
Код
if ($this->conf->submission_type != 1 && $this->conf->use_captcha) { 
?>
<tr name="ad_captcha">
<td></td>
<td><?php echo '<img src="'.$this->baseurl.'index.php?option=com_adsmanager&task=getcaptcha" onClick="this.src=this.src+\'&\'+Math.random();" title="Нажмите для обновления" style="cursor:pointer">'; ?></td>
</tr>
<tr name="ad_captcha_check">
<td>Введите текст с картинки</td>
<td><input type="text" name="keystring"></td>
</tr>
<?php }
else echo "<input type='hidden' name='keystring' value='CAPTCHA' />";
  • так! картинку мы вывели... осталось написать функцию проверки при сохранении...
    в этом же файле ищем такие строки (примерно 114-124)
Код
if(iserror==1) {
alert(errorMSG);
return false;
} else {
//Little hack to be able to return the selected_cats
<?php if ($this->nbcats > 1) { ?>
srcList.name = "selected_cats[]";
<?php } ?>
return true;
}
}
  • и заменяем их на
Код
var url = "<?php echo $this->baseurl; ?>/index.php?option=com_adsmanager&task=getresultcaptchacheck&no_html=1&captcha_keystring="+mfrm.keystring.value;
var req = new XMLHttpRequest;
req.open("GET", url, true);
req.send(null);
req.onreadystatechange = function(){
if (req.readyState == 4) {
if (req.status == 200) {
if(req.responseText=="1") {
errorMSG += 'Проверочный код : Неверно введены символы с картинки! \n';
mfrm.keystring.style.background = "#c0fafc";
iserror=1;
}
if(iserror==1) {
alert(errorMSG);
} else {
//Little hack to be able to return the selected_cats
<?php if ($this->nbcats > 1) { ?>
srcList.name = "selected_cats[]";
<?php } ?>
document.adminForm.submit();
return true;
}
}
}
}
return false;
}
Меняем кодировку на UTF-8 без BOM, сохраняем, закрываем, проверяем

ЗЫ: Ну вот собственно и всё, что я хотел рассказать

[вложение удалено Администратором]
« Последнее редактирование: 05.02.2012, 19:55:59 от Alex89 »
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Алекс82

  • Захожу иногда
  • 120
  • 4 / 0
  • Совсем новичок
« Последнее редактирование: 02.09.2011, 15:18:33 от Алекс82 »
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
при отключении kcaptcha в положение "нет" не сохраняется, а выставляет опять на "да", если поставить -Показать подпись? в положение "нет", то отключение ставится "нет" а показать подпись так иостается в "да", и еще моно ее сделать для незарегиных чтобы только показывала.
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
и еще если CAPTCHA отключена то зарегиный может добавить незаполненое объявление.
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
всё подправил, теперь всё работает как надо
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
всё подправил, теперь всё работает как надо
если не секрет в каком месте, а то не охота все переписывать
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
не сохранялось потому что в пункте 3 было 2 селекта с одинаковыми id, name... второй исправил
и в пункте 5 в первой части добавилось else
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
теперь при отключеной капче при добавлении объявления пишет неверно введен проверочный код
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Цитировать
теперь при отключеной капче при добавлении объявления пишет неверно введен проверочный код
подправил 4 пункт, хотя это даже багом назвать трудно... CAPTCHA же нужна не для того, чтобы она выключенная была :)
надеюсь хоть теперь дождусь хотя бы спасибо вместо критики
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
надеюсь хоть теперь дождусь хотя бы спасибо вместо критики
Блин, действительно проделана работа не малая
А не проще было даработать вот этот плагин http://code.google.com/p/joomla15captcha/
Там конечно всякие патчи нужно ставить что бы работала, а для АДС патча нет и нужно самому дорабатывать

Посмотрел образец  у 82го Алекса и увидел, что нельзя обновлять картинку или это он не включил обновление ?
Хотя для меня как то не понятно, у него на сайте стоит ре Капча, а на АДС поставил обычную капчу, хотя мог дописать код всего и все

А вообще Alex89, вы молодец
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Цитировать
Посмотрел образец  у 82го Алекса и увидел, что нельзя обновлять картинку
а в каком месте Вы это увидели? Картинка обновляется при нажатии на неё, о чём и говорит title при наведении на картинку
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Алекс82

  • Захожу иногда
  • 120
  • 4 / 0
  • Совсем новичок


Посмотрел образец  у 82го Алекса и увидел, что нельзя обновлять картинку или это он не включил обновление ?


Все работает замечательно.Обновляется нормально
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
а в каком месте Вы это увидели? Картинка обновляется при нажатии на неё, о чём и говорит title при наведении на картинку
По его ссылке http://prodajaavto.ru/component/adsmanager/2131-3163/%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BE%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5?Itemid=2
У меня не обновляется в мозиле, а  title видны
Версия мозилы 6.0 или какая там у них последняя

Проверил в эксплоере 9 и тоже самое не обновляется и так же титлы видны
Винда 7 стоит
Обновляется только при обновление страницы

Проверил даже в Опере и все тоже самое
В Опере один раз получилось обновить картинку
После обновления страницы еще раз дает обновить картинку и все, больше не обновляет, пока не перезагрузишь страницу
« Последнее редактирование: 04.09.2011, 12:06:16 от Doc »
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
обновляется при каждом нажатии в опере. А нельзя сделать чтобы только незарегистрированым CAPTCHA показывалась?
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
С обновлением похоже кроме оперы никто не справляется, тут надо подумать
« Последнее редактирование: 04.09.2011, 16:36:13 от Alex89 »
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
подправил 4 пункт, хотя это даже багом назвать трудно... CAPTCHA же нужна не для того, чтобы она выключенная была :)
надеюсь хоть теперь дождусь хотя бы спасибо вместо критики
не исправилось, но все равно спасибо за труды
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Цитировать
не исправилось, но все равно спасибо за труды
а кодировку файла поменяли?
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
подправил вывод картинки в 2-х местах: в 3-ем пункте и в 5-ом части первой
по крайней мере в грёбанном эксплорере всё заработало, в других браузерах не проверял, но должно работать
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

bms17

  • Новичок
  • 1
  • 0 / 0
Возможна ли аналогичная интеграция в форму отправки сообщения на e-mail продаца в объявлении?
*

semo777

  • Захожу иногда
  • 76
  • 0 / 0
архивчик перезалейте...
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
получилось к сообщению прилепить
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

semo777

  • Захожу иногда
  • 76
  • 0 / 0
В скаченном архиве нет скрипта "конфигурация.sql"
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
упс, совсем забыл про него, обновил архивчик
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

semo777

  • Захожу иногда
  • 76
  • 0 / 0
Странно, все сделал по написанному, импортировал, в админке появилось все нормально, только не перевелись ADSMANAGER_USE_CAPTCHA - все значения.
На фронте появилась картинка - но пустая... Перепроверил UTF-8 все ок... Импортировал sql заменил под свои таблицы и вместо jos сделал r8km_ вот так>>> ALTER TABLE `r8kmb_adsmanager_config`. Все установилось. Может ли влиять кодировка таблиц - > r8kmb_
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
всё должно работать, ещё раз перепроверьте весь код внимательно, раз уж не перевелось на русский, значит не выполнили пункт 3.5, возможно и в пункте 5 что-то недописали
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

semo777

  • Захожу иногда
  • 76
  • 0 / 0
не знаю почему, но не хватало разделителя перед index.php ......   Было:
<td><?php echo '<img src="'.$this->baseurl.'index.php?option=com_adsmanager&task=getcaptcha" onClick="this.src=this.src+\'&\'+Math.random();" title="Нажмите для обновления" style="cursor:pointer">'; ?></td>

После разделителя: <td><?php echo '<img src="'.$this->baseurl.'/index.php?option=com_adsmanager&task=getcaptcha" onClick="this.src=this.src+\'&\'+Math.random();" title="Нажмите для обновления" style="cursor:pointer">'; ?></td>

Спасибо все заработало...
*

semo777

  • Захожу иногда
  • 76
  • 0 / 0
Как сделать условие, чтобы зарегестрированные пользователи подавали объявление без CAPTCHA?
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Цитировать
Как сделать условие, чтобы зарегестрированные пользователи подавали объявление без CAPTCHA?
Первое, что пришло в голову - попробуйте заменить строку
Код
if ($this->conf->submission_type != 1 && $this->conf->use_captcha) {
на
Код
if ($this->conf->submission_type != 1 && $this->conf->use_captcha && $this->user->id == "0") {
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

semo777

  • Захожу иногда
  • 76
  • 0 / 0
Что-то не сработало, исчезла из обоих режимов. В условиях пока не силен.... Не могу понять в чем причина...
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Сейчас проверять не на чем, поэтому методом тыка буду писать!
Значит так: переделываем строку на следующую
Код
if ($this->conf->submission_type != 1 && $this->conf->use_captcha && $this->userid == 0) {
а также в файле \components\com_adsmanager\views\edit\view.html.php дописываем строчку
Код
$this->assignRef('userid',$user->id);
после строки (~34 строка)
Код
$usermodel = $this->getModel("user");
Вроде должно заработать!
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 2133
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 12641
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 1472
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 11648
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 26808
Последний ответ 27.03.2020, 22:32:04
от Pavel