Название: Убираем «Обновить, если не виден код»
Автор: ПафНутиЙ, Dmitry Dark5ider
CMS: DLE 9.x — 10.x
Описание:
Меня категорично раздражает надпись под капчей «обновить, если не виден код», в общем для тех, кто хочет ее изменить или сделать по щелчку на изображении как я — показываю как это сделать.
Есть два пути решения данной задачи:
1) Jquery от ПафНутиЙ:
Вставить код в любой css файл:
#dle-captcha {
cursor: pointer;
}
#dle-captcha a {
display: none;
}
jQuery:
jQuery(document).ready(function($) {
$("#dle-captcha").attr({"title":"Кликните на картинку для показа другого кода"}).addClass("ttp");
$("#dle-captcha").on("click", "img", function(){
$("#dle-captcha a").trigger("click");
$('input[name=sec_code]').val('').focus();
return false;
});
});
2) Делается путем правки php файлов, от Dmitry Dark5ider:
Вот список файлов, где она (капча) фигурирует:
1. engine/ajax/addcomments.php
2. engine/modules/addnews.php
3. engine/modules/feedback.php
4. engine/modules/lostpassword.php
5. engine/modules/pm.php
6. engine/modules/register.php
7. engine/modules/show.full.php
1. Найти:
document.getElementById('dle-captcha').innerHTML = '<img src=\"' + dle_root + 'engine/modules/antibot.php?rand=' + timeval + '\" border=0><br /><a onclick=\"reload(); return false;\" href=\"#\">{$lang['reload_code']}</a>';
Заменить на:
document.getElementById('dle-captcha').innerHTML = '<a onclick=\"reload(); return false;\" href=\"#\"><img src=\"' + dle_root + 'engine/modules/antibot.php?rand=' + timeval + '\" border=0></a>';
Файлы 2 и 7. Найти:
$tpl->set( '{sec_code}', "<span id=\"dle-captcha\"><img src=\"" . $path['path'] . "engine/modules/antibot.php\" alt=\"${lang['sec_image']}\" /><br /><a onclick=\"reload(); return false;\" href=\"#\">{$lang['reload_code']}</a></span>" );
Заменить на:
$tpl->set( '{sec_code}', "<span id=\"dle-captcha\"><a onclick=\"reload(); return false;\" href=\"#\"><img src=\"" . $path['path'] . "engine/modules/antibot.php\" alt=\"${lang['sec_image']}\" /></a></span>" );
Найти:
document.getElementById('dle-captcha').innerHTML = '<img src="{$path['path']}engine/modules/antibot.php?rndval=' + rndval + '" width="120" height="50" alt="" /><br /><a onclick="reload(); return false;" href="#">{$lang['reload_code']}</a>';
Заменить на:
document.getElementById('dle-captcha').innerHTML = '<a onclick="reload(); return false;" href="#"><img src="{$path['path']}engine/modules/antibot.php?rndval=' + rndval + '" width="120" height="50" alt="" /></a>';
В файле 3. Найти:
$tpl->set( '{code}', "<span id=\"dle-captcha\"><img src=\"" . $path['path'] . "engine/modules/antibot.php\" alt=\"${lang['sec_image']}\" /><br /><a onclick=\"reload(); return false;\" href=\"#\">{$lang['reload_code']}</a></span>" );
Заменить на:
$tpl->set( '{code}', "<span id=\"dle-captcha\"><a onclick=\"reload(); return false;\" href=\"#\"><img src=\"" . $path['path'] . "engine/modules/antibot.php\" alt=\"{$lang['sec_image']}\" /></a></span>" );
Найти:
document.getElementById('dle-captcha').innerHTML = '<img src="{$path['path']}engine/modules/antibot.php?rndval=' + rndval + '" width="120" height="50" alt="" /><br /><a onclick="reload(); return false;" href="#">{$lang['reload_code']}</a>';
Заменить на:
document.getElementById('dle-captcha').innerHTML = '<a onclick="reload(); return false;" href="#"><img src="{$path['path']}engine/modules/antibot.php?rndval=' + rndval + '" width="120" height="50" alt="" /></a>';
В файле 4. Найти:
$tpl->set( '{code}', "<span id=\"dle-captcha\"><img src=\"" . $path['path'] . "engine/modules/antibot.php\" alt=\"{$lang['sec_image']}\" border=\"0\" /><br /><a onclick=\"reload(); return false;\" href=\"#\">{$lang['reload_code']}</a></span>" );
Заменить на:
$tpl->set( '{code}', "<span id=\"dle-captcha\"><a onclick=\"reload(); return false;\" href=\"#\"><img src=\"" . $path['path'] . "engine/modules/antibot.php\" alt=\"{$lang['sec_image']}\" /></a></span>" );
Найти:
document.getElementById('dle-captcha').innerHTML = '<img src="{$path['path']}engine/modules/antibot.php?rndval=' + rndval + '" border="0" width="120" height="50" alt="" /><br /><a onclick="reload(); return false;" href="#">{$lang['reload_code']}</a>';
Заменить на:
document.getElementById('dle-captcha').innerHTML = '<img src=\"' + dle_root + 'engine/modules/antibot.php?rand=' + timeval + '\" border=0><br /><a onclick=\"reload(); return false;\" href=\"#\">{$lang['reload_code']}</a>';
В файле 5. Найти:
$tpl->set( '{sec_code}', "<span id=\"dle-captcha\"><img src=\"" . $path['path'] . "engine/modules/antibot.php\" alt=\"${lang['sec_image']}\" border=\"0\" /><br /><a onclick=\"reload(); return false;\" href=\"#\">{$lang['reload_code']}</a></span>" );
Заменить на:
$tpl->set( '{sec_code}', "<span id=\"dle-captcha\"><a onclick=\"reload(); return false;\" href=\"#\"><img src=\"" . $path['path'] . "engine/modules/antibot.php\" alt=\"${lang['sec_image']}\" /></a></span>" );
Найти:
document.getElementById('dle-captcha').innerHTML = '<img src="{$path['path']}engine/modules/antibot.php?rndval=' + rndval + '" border="0" width="120" height="50" alt="" /><br /><a onclick="reload(); return false;" href="#">{$lang['reload_code']}</a>';
Заменить на:
document.getElementById('dle-captcha').innerHTML = '<a onclick=\"reload(); return false;\" href=\"#\"><img src=\"' + dle_root + 'engine/modules/antibot.php?rand=' + timeval + '\" border=0></a>';
В файле 6. Найти:
$tpl->set( '{reg_code}', "<span id=\"dle-captcha\"><img src=\"" . $path['path'] . "engine/modules/antibot.php\" alt=\"{$lang['sec_image']}\" /><br /><a onclick=\"reload(); return false;\" href=\"#\">{$lang['reload_code']}</a></span>" );
Заменить на:
$tpl->set( '{reg_code}', "<span id=\"dle-captcha\"><a onclick=\"reload(); return false;\" href=\"#\"><img src=\"" . $path['path'] . "engine/modules/antibot.php\" alt=\"${lang['sec_image']}\" /></a></span>" );
Найти:
document.getElementById('dle-captcha').innerHTML = '<img src="{$path['path']}engine/modules/antibot.php?rndval=' + rndval + '" width="120" height="50" alt="" /><br /><a onclick="reload(); return false;" href="#">{$lang['reload_code']}</a>';
Заменить на:
document.getElementById('dle-captcha').innerHTML = '<a onclick="reload(); return false;" href="#"><img src="{$path['path']}engine/modules/antibot.php?rndval=' + rndval + '" width="120" height="50" alt="" /></a>';
И в JS для удаления всего из инпута для ввода при щелчке:
jQuery(document).ready(function($) {
$( "#dle-captcha" ).click(function() {
$('input[name=sec_code]').val('').focus();
});
});
Готово. Если вы хотите поменять на что то свое, допустим поставив иконку рефреша вместо надписи, то тут простой html и вставьте нужный вам img, а главное в двух местах как и в замене: первая — это при выводе страници, вторая — при ajax обновлении изображения.