Поставил модуль Автодобавление ссылок
Добавляю ссылку русскими буквами а вместь них ? ? ? ? ? ? ? ? как это исправить
Код: <?PHP
/*
=====================================================
Модуль Автообмен ссылок v1.4 для DataLife Engine
-----------------------------------------------------
Created by nick-on [http://alldle.ru/]
-----------------------------------------------------
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл: partner.php
-----------------------------------------------------
Назначение: Добавление ссылки
=====================================================
*/
if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}
// ----------------------------------------------------------------------------
// ---- Настройка
// ----------------------------------------------------------------------------
define("SITE_LIMIT", 20);
define("PLUG", ENGINE_DIR . '/inc/plugins/');
define("PARTNER_UPLOAD", ROOT_DIR."/uploads/partner/");
define("ITEM_IMAGE", "{THEME}/images/partner.gif");
// ----------------------------------------------------------------------------
// ----- Дальше ничего не трогать!!
// ----------------------------------------------------------------------------
define("IMAGE_SIZE", 150);
define("SITE_PREFIX", $config['http_home_url']."go.php?");
@set_time_limit(0);
$allowed_extensions = array("gif", "jpg", "png", "jpe", "jpeg");
require_once PLUG . '/partner.functions.php';
require_once ENGINE_DIR.'/classes/parse.class.php';
$parse = new ParseFilter(Array(), Array(), 1, 1);
// ----------------------------------------------------------------------------
// Определение откуда пришёл пользователь (Получаем реферер)
// ----------------------------------------------------------------------------
if ($_SERVER['REMOTE_ADDR']) $ip = $_SERVER['REMOTE_ADDR'];
else $ip = "not detected";
if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['HTTP_REFERER'])) {
$HTTP_REFERER = $HTTP_ENV_VARS['HTTP_REFERER'];
} else if (@getenv('HTTP_REFERER')) {
$HTTP_REFERER = getenv('HTTP_REFERER');
};
$ref_site_ereg = clear_url($HTTP_REFERER);
if (!eregi($config['http_home_url'], $HTTP_REFERER) and trim( $HTTP_REFERER ) != "" ) {
$sql_query = "SELECT * FROM ".PREFIX."_partner WHERE site_url LIKE '%$ref_site_ereg%'";
$result = $db->query($sql_query);
while ($row = $db->get_row($result)) { // ---- while start
$ereg_url = clear_url($row['site_url']);
if (trim($ereg_url) != "") {
if (eregi($ereg_url, $HTTP_REFERER)) {
$sql_query = "UPDATE ".PREFIX."_partner SET views = views + 1 WHERE id = '" . $row['id'] . "'";
$db->query($sql_query);
}
}
}; // ----- while end
};
// ----------------------------------------------------------------------------
// Отображение общего списка партнёров
// ----------------------------------------------------------------------------
if ($partner_action == "show") {
$partner = dle_cache("partner", $config['skin']);
if (!$partner) {
$partner = "<table cellpadding=4 cellspacing=0>";
$result = $db->query("SELECT site_url, site_name, site_image, site_description, id FROM ".PREFIX."_partner WHERE locked = 0 ORDER BY views DESC, clicks DESC LIMIT 0, ".SITE_LIMIT);
while ($row = $db->get_row($result)) {
if (trim($row['site_image']) != "") {
$image_url = $config['http_home_url']."uploads/partner/" . $row['site_image'];
} else {
$image_url = $config['http_home_url']."engine/skins/images/users.png";
}
$site_desc = stripslashes($row['site_description']);
$partner .= "<tr>
<td class=stext><img src=\"".ITEM_IMAGE."\" border=0></td>
<td class=stext style=\"padding:2px\">
<a onMouseover=\"showhint('<center><img src=$image_url border=0><br>$site_desc</center>', this, event, '160px')\" href=\"" . SITE_PREFIX . $row['site_url']."\" target=\"_blank\">$row[site_name]</a>
</td></tr>";
};
$partner .= "</table>";
create_cache ("partner", $partner);
};
// ----------------------------------------------------------------------------
// Добавление ссылки в базу
// ----------------------------------------------------------------------------
} elseif ($_POST['proceed'] == "add") {
$sec_code = trim($_SESSION['sec_code_session']);
$site_name = $db->safesql($parse->process($_POST['reg_site_name']));
$site_url = $db->safesql($parse->process($_POST['reg_site_url']));
$site_desc = $db->safesql($parse->process($_POST['reg_site_desc']));
$sec_code_inp = $db->safesql($parse->process($_POST['reg_sec_code']));
$stop = false;
// Проверка длины имени сайта и ссылки
if (strlen($site_name) > 60 or strlen($site_url) > 255) {
msgbox ($lang['all_info'], "Превышена длина имени сайта или его ссылки.<br> Имя сайта должно быть не больше 60 символов, а ссылка не более 255 символов<br><a href=\"javascript:history.go(-1)\">Вернуться назад</a>");
// Проверка имени сайта
} elseif ((preg_match("/[\||\'|\"|\!|\$|\@|\&\~\*\+]/", $site_name)) or (empty($site_name))) {
msgbox ($lang['all_info'], "Неверно указано имя сайта.<br><a href=\"javascript:history.go(-1)\">Вернуться назад</a>");
// Проверка ссылки сайта
} elseif (!(eregi("http:\/\/", $site_url) || eregi("www", $site_url))) {
msgbox ($lang['all_info'], "Неверно указана ссылка сайта.<br><a href=\"javascript:history.go(-1)\">Вернуться назад</a>");
// Проверка кода
} elseif ($sec_code != $sec_code_inp) {
msgbox ($lang['all_info'], "Неверно указан код.<br><a href=\"javascript:history.go(-1)\">Вернуться назад</a>");
// Описание сайта
} elseif (strlen($site_desc) > 255) {
msgbox ($lang['all_info'], "Неверно указано описание сайта.<br><a href=\"javascript:history.go(-1)\">Вернуться назад</a>");
};
// --- Проверка ссылки ..
$checked = false;
$status = check_url($site_url);
switch ($status) {
case -1:
msgbox ($lang['all_info'], "Нет соединения с Вашим сервером! Невозможно проверить наличие нашей ссылки на Вашем сайте.. попробуйте повторить операцию позже<br><a href=\"javascript:history.go(-1)\">Вернуться назад</a>");
break;
case 0:
msgbox ($lang['all_info'], "Перед добавлением ссылки на Наш сайт Вам необходимо поставить нашу ссылку на Ваш сайт, в противном случае ссылка не будет добавлена!<br><a href=\"javascript:history.go(-1)\">Вернуться назад</a>");
break;
case 1:
$checked = true;
break;
}
if ($checked == true) {
// Закачка файла
if (trim($_FILES['reg_site_image']['name']) != "") {
$file_temp = $_FILES['reg_site_image']['tmp_name'];
$file_name = $_FILES['reg_site_image']['name'];
$file_size = $_FILES['reg_site_image']['size'];
$max_size = $config['max_up_size'] * 1024;
/* --- Ограничение по размеру (настраивается в админпанели) --- */
if ($file_size > $max_size) {
$stop = true;
msgbox ($lang['all_info'], "Ошибка загрузки файла. Слишком большой размер.<br><a href=\"javascript:history.go(-1)\">Вернуться назад</a>");
} else {
$file_ext = explode(".", strtolower($file_name));
$file_ext = end($file_ext);
/* --- Проверка расширения файла --- */
if (in_array($file_ext, $allowed_extensions)) {
$file_prefix = time();
$upload_name = PARTNER_UPLOAD."large_".$file_prefix."_".$file_name;
$thumb_name = PARTNER_UPLOAD."thumb_".$file_prefix."_".$file_name;
$only_name = basename($thumb_name);
$upload_complete = false;
$upload_result = @move_uploaded_file($file_temp, $upload_name);
if (!$upload_result) {
msgbox ($lang['all_info'], "Ошибка загрузки файла.<br><a href=\"javascript:history.go(-1)\">Вернуться назад</a>");
} else {
/* --- Уменьшение картинки --- */
require_once ENGINE_DIR."/inc/makethumb.php";
$thumb = new thumbnail($upload_name);
if ($thumb->size_auto(IMAGE_SIZE)) {
$thumb->jpeg_quality($config['jpeg_quality']);
$thumb->save($thumb_name);
/* --- Удаление исходного файла --- */
if (file_exists($upload_name)) @unlink($upload_name);
$upload_complete = true;
} else {
/* --- Если файл меньше размером чем IMAGE_SIZE --- */
rename($upload_name, $thumb_name);
$upload_complete = true;
}
}
} else {
$stop = true;
msgbox ($lang['all_info'], "Выбранный файл запрещён к закачке<br><a href=\"$config[http_home_url]\">Вернуться назад</a>");
}
};
};
if ($stop == false) {
$url = str_replace("http://", "", $site_url);
$url = str_replace("www.", "", $url);
// Проверка на наличие дубликатов ссылки
$dupe_url = $db->query("SELECT id FROM ".PREFIX."_partner WHERE site_url LIKE '%$url%'");
if ($db->num_rows($dupe_url) > 0) {
$stop = true;
msgbox ($lang['all_info'], "Данный адрес сайта уже есть в базе.<br><a href=\"javascript:history.go(-1)\">Вернуться назад</a>");
} else {
// --- Регистрируем --- //
if ($upload_complete == true) {
$db->query("INSERT INTO ".PREFIX."_partner (site_description, site_name, site_url, site_image, views, locked, ip) VALUES ('$site_desc', '$site_name', '$site_url', '$only_name', '0', '0', '$ip')");
} else {
$db->query("INSERT INTO ".PREFIX."_partner (site_description, site_name, site_url, views, locked, ip) VALUES ('$site_desc', '$site_name', '$site_url', '0', '2', '$ip')");
};
clear_cache('partner');
// -------------------------------------------------------------------------
// Отправка письма админу (Уведомление о регистрации)
// -------------------------------------------------------------------------
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=\"{$config['charset']}\"\n";
$headers .= "From: \"{$config['home_title']}\" <{$config['admin_mail']}>\n";
$headers .= "Return-Path: {$config['admin_mail']}\n";
$headers .= "X-Priority: 3\n";
$headers .= "X-Mailer: DLE with PHP!\n";
$now = langdate($config['timestamp_active'], time());
$msg = <<<TEXT
Время регистрации: {$now}\n
Название: {$site_name}\n
URL: {$site_url}\n
Описание: {$site_desc}\n
IP: {$ip}\n
TEXT;
@mail($config['admin_mail'], 'Регистрация сайта', $msg, $headers);
// ---- mail end ....
msgbox ($lang['all_info'], "Ваш сайт успешно зарегистрирован. Спасибо за сотрудничество!<br><a href=\"$config[http_home_url]\">Вернуться назад</a>");
}
}
};
// ----------------------------------------------------------------------------
// Форма добавления новой ссылки
// ----------------------------------------------------------------------------
} elseif ($partner_action == "partner-form") {
$sql_query = "SELECT site_name, site_url, site_description, site_image FROM ".PREFIX."_partner WHERE locked = '0' ORDER BY views DESC, clicks DESC";
$sql_result = $db->query($sql_query);
$partners = "<table cellpadding=\"4\" cellspacing=\"0\" width=\"100%\">";
$all_count = $db->num_rows($sql_result);
if ($all_count != 0) {
$count = 0;
$flag = false;
while ($row = $db->get_row($sql_result)) {
$site_name = stripslashes($row['site_name']);
$site_link = "<a href=\"" . $row['site_url'] . "\" target=\"_blank\" class=\"stext\">" . $site_name . "</a>";
if ($flag == false) {
$left_column .= $site_link . "<br/>";
$flag = true;
} else {
$right_column .= $site_link . "<br/>";
$flag = false;
}
};
$partners .= <<<HTML
<tr>
<td align="left" valign="top" class="stext">$left_column</td>
<td align="right" valign="top" class="stext">$right_column</td>
</tr>
HTML;
} else {
$partners .= "<tr><td colspan=\"2\" align=\"center\" class=\"stext\">- нет данных -</td></tr>";
}
$partners .= "</table>";
$tpl->load_template('partner.tpl');
$tpl->set('{partners}', $partners);
$tpl->copy_template = '<!-- -->' . $tpl->copy_template . '<!-- the end partner form -->';
$tpl->compile('content');
};
?>