Initial commit

This commit is contained in:
2026-02-18 23:01:50 +05:00
parent c4175f4a61
commit eeb73ad541
13 changed files with 335 additions and 2 deletions

View File

@@ -1,3 +1,17 @@
# editcaptcha
### editcaptcha
Модуль Настройки captcha Только для AVE.CMS ALT
## Модуль Настройки captcha
![Модуль Настройки captcha](https://gitget.ru/img/3.png "Модуль Настройки captcha")
### Модуль позволяет настроить визуальный вывод captcha.
* Вы можете самостоятельно настраивать вывод капчи (количество символов, выбор символов и т.д.)
##### После настройки вывода captcha - вы можете удалить модуль из системы совсем, настройки будут сохранены , модуль выполнил свою работу и наличие его больше необязательно =)
### Changelog:
02.09.2019 - Адаптация для версии ave.cms 3.26
12.10.2016 - начальная версия 1.0

19
class/editcaptcha.php Normal file
View File

@@ -0,0 +1,19 @@
<?
/**
* @autor Repellent
* @package AVE.cms
* @subpackage editcaptcha
* @filesource
*/
class ModuleEditcaptcha
{
var $tpl_dir;
function editCaptcha ()
{
global $AVE_Template;
$imports = "ASD";
$AVE_Template->assign('captchas',$captcha);
$AVE_Template->assign('content', $AVE_Template->fetch($this->tpl_dir . 'editcaptcha.tpl'));
}
}
?>

4
img/index.php Normal file
View File

@@ -0,0 +1,4 @@
<?php
header('Location:/');
exit;
?>

BIN
img/ref.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

4
index.php Normal file
View File

@@ -0,0 +1,4 @@
<?php
header('Location:/');
exit;
?>

20
info.php Normal file
View File

@@ -0,0 +1,20 @@
<?php
if (! defined('BASE_DIR'))
exit;
$module = array(
'ModuleSysName' => 'editcaptcha',
'ModuleVersion' => '1.26.0',
'ModuleAutor' => 'Repellent',
'ModuleCopyright' => '&copy; 2007-' . date('Y') . ' AVE.cms',
'ModuleStatus' => 1,
'ModuleIsFunction' => 0,
'ModuleTemplate' => 0,
'ModuleAdminEdit' => 1,
'ModuleFunction' => 'editcaptcha',
'ModuleTag' => null,
'ModuleTagLink' => null,
'ModuleAveTag' => null,
'ModulePHPTag' => null
);
?>

24
lang/bg.txt Normal file
View File

@@ -0,0 +1,24 @@
[name]
MODULE_NAME = "Настройки captcha"
MODULE_DESCRIPTION = "Модуль позволяет настроить визуальный вывод captcha"
[admin]
mod_name = "Настройки captcha"
e_cap_title = "Настройки captcha"
e_cap_infomod = "Настройване на вида на извеждане на captcha."
e_cap_infomod1 = "<strong>Преди записване, задължително попълнете всички полета !</strong>"
e_cap_infomod2 = "Настройките на captcha за успешно променени. За да видите новите настройки - натиснете Обнови кода на captcha"
e_cap_on = "captcha включена"
e_cap_of = "captcha изключена"
e_cap_on_info = "Функцията ' Използване на captcha при вход в административния панел е включена. '"
e_cap_of_info = "Внимание: Функцията ' Използване на captcha при вход в административния панел е изключена! '<br /> За да включите captcha преминете към раздел ' Системни настройки '"
e_cap_ref = "Обнови код<br />captcha"
e_cap_real = "Преглед настройки<br />captcha"
e_cap_allow_symbol = "Разрешени символи <span class='topDir' style='cursor: help;' title='Използвайте само разрешените символи! Може да изберете само букви или цифри или комбинация или само от определено множество разрешени символи, например 4579cgkxz'>(?)</span><br />23456789abcdegikpqsvxyz"
e_cap_count_symbol = "Брой <span class='topDir' style='cursor: help;' title='Ако желаете да укажете случаен брой символи от 4 до 5 или 6 в полето въведете 4,5. Ако желаете постоянен брой символи - въведете в полето 4,4 (ще се показват 4 символа). Разделител - запетая.'>(?)</span><br /> символи"
e_cap_fluc_amplit = "Амплитуда <span class='topDir' style='cursor: help;' title='Настройва огъването на символите по хоризонтала - число от 0 до 8. Например 2'>(?)</span><br />огъване ~"
e_cap_white_noise = "Бял шум <span class='topDir' style='cursor: help;' title='Бял шум - това са белите точки около символите. 0 - за изключване - 0, за включване - 1/30, където 1 - включено, 30 - плътността на белия шум, може да се променя по желание.'>(?)</span><br />изкл=0 вкл=1/30"
e_cap_black_noise = "Черен шум <span class='topDir' style='cursor: help;' title='Черен шум - това са черните точки около символите. 0 - за изключване - 0, за включване - 1/30, където 1 - включено, 30 - плътността на белия шум, може да се променя по желание.'>(?)</span><br />изкл=0 вкл=1/30"
e_cap_spaces_symb = "Интервали <span class='topDir' style='cursor: help;' title='Ако желаете да добавите интервали между символите - въведете false, ако не желаете интервали въведете true'>(?)</span><br />да=false не=true"
e_cap_actions = "Действия"
e_cap_submit = "Приложи"

4
lang/index.php Normal file
View File

@@ -0,0 +1,4 @@
<?php
header('Location:/');
exit;
?>

24
lang/ru.txt Normal file
View File

@@ -0,0 +1,24 @@
[name]
MODULE_NAME = "Настройки captcha"
MODULE_DESCRIPTION = "Модуль позволяет настроить визуальный вывод captcha"
[admin]
mod_name = "Управление модулем Настройки captcha"
e_cap_title = "Настройки captcha"
e_cap_infomod = "В данном разделе Вы можете настроить визуальный вывод captcha."
e_cap_infomod1 = "<strong>Перед сохранением, обязательно заполните все поля !</strong>"
e_cap_infomod2 = "Настройки captcha успешно изменены. Вы можете продолжать ими пользоваться. Для просмотра созданных настроек - нажмите Обновить код captcha"
e_cap_on = "captcha включена"
e_cap_of = "captcha выключена"
e_cap_on_info = "Функция ' Использовать captcha при входе в панель администратора включена. '"
e_cap_of_info = "Внимание: Функция ' Использовать captcha при входе в панель администратора выключена! '<br /> Для включения captcha перейдите в раздел ' Системные настройки '"
e_cap_ref = "Обновить код<br />captcha"
e_cap_real = "Просмотр настроек<br />captcha"
e_cap_allow_symbol = "Разрешенные символы <span class='topDir' style='cursor: help;' title='Используйте только разрешенные символы! Вы можете выбрать только цифры или только буквы или то и другое или всего несколько разрешенных символов, например 4579cgkxz'>(?)</span><br />23456789abcdegikpqsvxyz"
e_cap_count_symbol = "Количество <span class='topDir' style='cursor: help;' title='Вы можете делать рандомный вывод количества символов от 4 до 5 или 6, тогда в поле нужно ввести следующее значение 4,5 если вы хотите постоянное количество, тогда в поле нужно ввести 4,4 это означает, что будет выводиться только 4 символа. Разделителем является запятая.'>(?)</span><br /> символов"
e_cap_fluc_amplit = "Амплитуда <span class='topDir' style='cursor: help;' title='Здесь настраивается уровень изгиба символов по горизонтали. Вы можете ввести число от нуля до, например, восьми. Например 2'>(?)</span><br />изгиба ~"
e_cap_white_noise = "Белый шум <span class='topDir' style='cursor: help;' title='Белый шум - это белые точки вокруг символов. Вы можете выключить их, просто введите в поле значение 0, или включить, тогда введите в поле 1/30 , где 1 означает включено, а 30 будет значением плотности белого шума - это значение можно менять. Например 1/24 и т.д.'>(?)</span><br />выкл=0 вкл=1/30"
e_cap_black_noise = "Черный шум <span class='topDir' style='cursor: help;' title='Черный шум - это черные точки вокруг символов. Вы можете выключить их, просто введите в поле значение 0, или включить, тогда введите в поле 1/30 , где 1 означает включено, а 30 будет значением плотности черного шума - это значение можно менять. Например 1/24 и т.д.'>(?)</span><br />выкл=0 вкл=1/30"
e_cap_spaces_symb = "Пробелы <span class='topDir' style='cursor: help;' title='Вы можете включить пробелы между символами, для этого введите в поле значение false если вы не хотите пробелов между символами тогда введите в поле true'>(?)</span><br />да=false нет=true"
e_cap_actions = "Действия"
e_cap_submit = "Применить"

41
module.php Normal file
View File

@@ -0,0 +1,41 @@
<?php
/**
* AVE.cms - Модуль Настройки captcha
* @autor Repellent
* @package AVE.cms
* @subpackage editcaptcha
* @filesource
*/
if(!defined('BASE_DIR')) exit;
/**
* Админка
*/
if (defined('ACP') && (isset($_REQUEST['moduleaction'])))
{
// класс
require_once(BASE_DIR . '/modules/editcaptcha/class/editcaptcha.php');
$captcha = new ModuleEditcaptcha;
// папка с шаблонами
$captcha->tpl_dir = BASE_DIR . '/modules/editcaptcha/templates/';
// ленги
$AVE_Template->config_load(BASE_DIR . '/modules/editcaptcha/lang/' . $_SESSION['admin_language'] . '.txt', 'admin');
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars());
switch($_REQUEST['moduleaction'])
{
case '1':
$captcha->editCaptcha();
break;
}
}
?>

43
res.php Normal file
View File

@@ -0,0 +1,43 @@
<?php
ob_start();
ob_implicit_flush(0);
define('BASE_DIR', str_replace("\\", "/", dirname(dirname(dirname(__FILE__)))));
require_once(BASE_DIR . '/inc/init.php');
if (! check_permission('adminpanel'))
{
header('Location:/index.php');
exit;
}
$a = stripslashes($_POST['a']);
$b = $_POST['b'];
$c = $_POST['c'];
$d = $_POST['d'];
$e = $_POST['e'];
$f = $_POST['f'];
$text = '<?php
$alphabet = "0123456789abcdefghijklmnopqrstuvwxyz";
$allowed_symbols = "'.$a.'";
$fontsdir = "fonts";
$length = mt_rand('.$b.');
$width = 160;
$height = 80;
$fluctuation_amplitude = '.$c.';
$white_noise_density='.$d.';
$black_noise_density='.$e.';
$no_spaces = '.$f.';
$show_credits = false;
$credits = "www.captcha.ru";
$foreground_color = array(mt_rand(0,80), mt_rand(0,80), mt_rand(0,80));
$background_color = array(250, 250, 250);
$jpeg_quality = 95;
?>';
chmod(BASE_DIR . "/lib/kcaptcha/kcaptcha_config.php", 0755);
$fp = fopen(BASE_DIR . "/lib/kcaptcha/kcaptcha_config.php", "w");
fwrite($fp, $text);
fclose($fp);
?>

132
templates/editcaptcha.tpl Normal file
View File

@@ -0,0 +1,132 @@
<div class="title">
<h5>{#mod_name#}</h5>
</div>
<div class="widget" style="margin-top:0">
<div class="body">
<ul style="list-style: none; margin-left:0px;">
<li>{#e_cap_infomod#}</li>
<li>{#e_cap_infomod1#}</li>
</ul>
</div>
</div>
<div class="breadCrumbHolder module">
<div class="breadCrumb module">
<ul>
<li class="firstB">
<a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a>
</li>
<li>
<a href="index.php?do=modules&amp;cp={$sess}">{#MODULES_SUB_TITLE#}</a>
</li>
<li>
<strong class="code">{#e_cap_title#}</strong>
</li>
</ul>
</div>
</div>
<div class="widget first">
<div class="head">
<h5 class="iFrames">{#e_cap_title#}</h5>
<div style="float:right; margin-right:15px; margin-top:10px;">
{if ADMIN_CAPTCHA == true}<a title="{#e_cap_on_info#}" style="cursor: default" class="topleftDir btn greenBtn" href="javascript:void(0);">{#e_cap_on#}</a>{else}<a title="{#e_cap_of_info#}" style="cursor: default" class="topleftDir btn redBtn" href="javascript:void(0);">{#e_cap_of#}</a>{/if}
</div>
</div>
</div>
<div class="mainForm" id="form">
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic">
<colgroup>
<col width="180" />
<col width="*" />
<col width="*" />
<col width="*" />
<col width="*" />
<col width="*" />
<col width="*" />
<col width="*" />
<col width="*" />
</colgroup>
<thead>
<tr class="noborder">
<td>{#e_cap_real#}</td>
<td>{#e_cap_ref#}</td>
<td>{#e_cap_allow_symbol#}</td>
<td>{#e_cap_count_symbol#}</td>
<td>{#e_cap_fluc_amplit#}</td>
<td>{#e_cap_white_noise#}</td>
<td>{#e_cap_black_noise#}</td>
<td>{#e_cap_spaces_symb#}</td>
<td>{#e_cap_actions#}</td>
</tr>
</thead>
<tbody>
<tr>
<td align="center"><span id="captcha"><img src="{$ABS_PATH}inc/captcha.php" alt="" width="120" height="60" border="0" /></span></td>
<td align="center"><img id="captcha-ref" style="cursor: pointer;" src="{$ABS_PATH}modules/editcaptcha/img/ref.png" width="30" height="30" border="0" /></td>
<td align="center"><input id="allow_symbols" class="mousetrap" name="allow_symbols" type="text" value="{$allow_symbols|escape}" placeholder="23456789abcdegikpqsvxyz" style="width:148px;"/><br /><br />
<strong><a href="javascript:void(0);" onclick = "allow_symbols.value = '23456789abcdegikpqsvxyz'; return false;">23456789abcdegikpqsvxyz</a></strong>
</td>
<td align="center"><input required id="count_symbols"class="mousetrap" name="count_symbols" type="text" value="{$count_symbols|escape}" placeholder="4,6" style="width:30px;"/><br /><br />
| <strong><a href="javascript:void(0);" onclick = "count_symbols.value = '4,4'; return false;">4,4</a></strong> |
<strong><a href="javascript:void(0);" onclick = "count_symbols.value = '4,5'; return false;">4,5</a></strong> |
<strong><a href="javascript:void(0);" onclick = "count_symbols.value = '5,5'; return false;">5,5</a></strong> |
<strong><a href="javascript:void(0);" onclick = "count_symbols.value = '5,6'; return false;">5,6</a></strong> |
</td>
<td align="center"><input required id="fluct_amplit" class="mousetrap" name="fluct_amplit" type="text" value="{$fluct_amplit|escape}" placeholder="8" style="width:21px;"/><br /><br />
| <strong><a href="javascript:void(0);" onclick = "fluct_amplit.value = '0'; return false;">0</a></strong> |
<strong><a href="javascript:void(0);" onclick = "fluct_amplit.value = '1'; return false;">1</a></strong> |
<strong><a href="javascript:void(0);" onclick = "fluct_amplit.value = '2'; return false;">2</a></strong> |
<strong><a href="javascript:void(0);" onclick = "fluct_amplit.value = '3'; return false;">3</a></strong> |
<strong><a href="javascript:void(0);" onclick = "fluct_amplit.value = '4'; return false;">4</a></strong> |
<strong><a href="javascript:void(0);" onclick = "fluct_amplit.value = '5'; return false;">5</a></strong> |
<strong><a href="javascript:void(0);" onclick = "fluct_amplit.value = '6'; return false;">6</a></strong> |
<strong><a href="javascript:void(0);" onclick = "fluct_amplit.value = '7'; return false;">7</a></strong> |
<strong><a href="javascript:void(0);" onclick = "fluct_amplit.value = '8'; return false;">8</a></strong> |
</td>
<td align="center"><input required id="white_noise" class="mousetrap" name="white_noise" type="text" value="{$white_noise|escape}" placeholder="1/30" style="width:36px;"/><br /><br />
| <strong><a href="javascript:void(0);" onclick = "white_noise.value = '0'; return false;">0</a></strong> |
<strong><a href="javascript:void(0);" onclick = "white_noise.value = '1/6'; return false;">1/6</a></strong> |
</td>
<td align="center"><input required id="black_noise" class="mousetrap" name="black_noise" type="text" value="{$black_noise|escape}" placeholder="1/30" style="width:36px;"/><br /><br />
| <strong><a href="javascript:void(0);" onclick = "black_noise.value = '0'; return false;">0</a></strong> |
<strong><a href="javascript:void(0);" onclick = "black_noise.value = '1/30'; return false;">1/30</a></strong> |
</td>
<td align="center"><input required id="no_spaces" class="mousetrap" name="no_spaces" type="text" value="{$no_spaces|escape}" placeholder="true" style="width:39px;"/><br /><br />
| <strong><a href="javascript:void(0);" onclick = "no_spaces.value = 'false'; return false;">false</a></strong> |
<strong><a href="javascript:void(0);" onclick = "no_spaces.value = 'true'; return false;">true</a></strong> |
</td>
<td align="center">
<a id="btn_sub" title="{#e_cap_of_info#}" class="btn blueBtn" href="javascript:void(0);">{#e_cap_submit#}</a>
</td>
</tr>
</tbody>
</table>
</div>
<script type="text/javascript" language="javascript">
$("#captcha-ref").click(function() {ldelim} $("#captcha img").attr("src", '{$ABS_PATH}inc/captcha.php?refresh=' + new Date().getTime()); {rdelim});
$("#btn_sub").on('click', function call() {ldelim}
var allow_symbols = $("#allow_symbols").val();
var count_symbols = $("#count_symbols").val();
var fluct_amplit = $("#fluct_amplit").val();
var white_noise = $("#white_noise").val();
var black_noise = $("#black_noise").val();
var no_spaces = $("#no_spaces").val();
if (allow_symbols.length == 0 || count_symbols.length == 0 || fluct_amplit.length == 0 || white_noise.length == 0 || black_noise.length == 0 || no_spaces.length == 0) {ldelim}alert ('Заполните все поля!'){rdelim}
else {ldelim}
$.ajax({ldelim}
type: 'POST',
url: '{$ABS_PATH}modules/editcaptcha/res.php',
data: {ldelim}a:allow_symbols,b:count_symbols,c:fluct_amplit,d:white_noise,e:black_noise,f:no_spaces{rdelim},
success: function(data) {ldelim}
$.alerts._overlay('hide');
$.jGrowl("{#e_cap_infomod2#}", {ldelim}
header: data['header'],
theme: data['theme']
{rdelim});
{rdelim},
error: function(xhr, str){ldelim}
alert('Возникла ошибка: ' + xhr.responseCode);
{rdelim}
{rdelim});
{rdelim}
{rdelim});
</script>

4
templates/index.php Normal file
View File

@@ -0,0 +1,4 @@
<?php
header('Location:/');
exit;
?>