Перейти к публикации

Помогите с модулем Автодобавление ссылок


Рекомендованные сообщения

Поставил модуль Автодобавление ссылок

Добавляю ссылку русскими буквами а вместь них ? ? ? ? ? ? ? ? как это исправить

bedd95869254.gif

<?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');


 };


?>

Ссылка на сообщение
Поделиться на других сайтах

Менять кодировку, это же очевидно!

Ссылка на сообщение
Поделиться на других сайтах

А где менять то если везде в БД стоит charset=windows-1251,,, в самом модуле где её изменить?

Сама кодировка на сайте всё норм именно в блоке {partners} кодировка такая ????? ,, даже в админке при добавлении тоже ????? , или где то создаётся отдельная база данных на авто добавление ссылок в которой нужно изменить кодировку, только где она лежит хз? , и ещё наткнулся на два варианта скрипта в первом все имена {partner} а в другом {partnerS} добавлена буква S возможно я переписал содержимае файлов .htaccess, admin.php, index.php, init.php, engine.php, options.php, написал partner, но может это более старый модуль не для 8.2 , а затем залил файлы именно для 8.2 ,но там уже не partner ,а partnerS !!!но содержимае файлов .htaccess, admin.php, index.php, init.php, engine.php, options.php

не переписал может это причина ????? ,, Подскажите кто знает в чём дело

Изменено пользователем TYMAH3003
Ссылка на сообщение
Поделиться на других сайтах

кодировку файлов модуля смотри, или сам дописывай ее

Ссылка на сообщение
Поделиться на других сайтах

кодировку файлов модуля смотри, или сам дописывай ее

Ну я просто 0 в php найти строку charset=utf-8 и заменить на эту charset=windows-1251 я могу, но если их НЕТ то как дописать приведите небольшой пример, а то я совсем не шарю по этой части ((((

Ссылка на сообщение
Поделиться на других сайтах
$charst = "Content-Type: text/html; charset=windows-1251";

header($charst);

Ссылка на сообщение
Поделиться на других сайтах

$charst = "Content-Type: text/html; charset=windows-1251";

header($charst);

А после какой строки добавлять ,, добавил в файл engine/modules/partners.php ничё не поменялось ((

Ссылка на сообщение
Поделиться на других сайтах

Ну я просто 0 в php найти строку charset=utf-8 и заменить на эту charset=windows-1251 я могу, но если их НЕТ то как дописать приведите небольшой пример, а то я совсем не шарю по этой части ((((

ну судя по всему вы не одиноки в "0 php"

$charst = "Content-Type: text/html; charset=windows-1251";header($charst);

Ваш советчик в общем-то тоже из этой же серии. :)

Проблема именно в кодировке базы данных. А именно таблицы, в которой хранится информация по ссылкам.

везде в БД стоит charset=windows-125

не может быть такого, в таблица мускула совсем другой список доступных кодировок. нужно cp1251_general_ci выбирать.

Ссылка на сообщение
Поделиться на других сайтах

Ну я просто 0 в php найти строку charset=utf-8 и заменить на эту charset=windows-1251 я могу, но если их НЕТ то как дописать приведите небольшой пример, а то я совсем не шарю по этой части ((((

ну судя по всему вы не одиноки в "0 php"

$charst = "Content-Type: text/html; charset=windows-1251";header($charst);

Ваш советчик в общем-то тоже из этой же серии. :)

Проблема именно в кодировке базы данных. А именно таблицы, в которой хранится информация по ссылкам.

везде в БД стоит charset=windows-125

не может быть такого, в таблица мускула совсем другой список доступных кодировок. нужно cp1251_general_ci выбирать.

Я так и понял, что чушь прописывать в модуле кодировку. Да дело в базе данных которая создаётся модулем что ли,а подскади как тайти это в таблица мускула совсем другой список доступных кодировок. нужно cp1251_general_ci выбирать.

Где искать это?

Ссылка на сообщение
Поделиться на других сайтах

Вариант 1

нажать на нужную таблиу, там нажать на Операции. И там смотреть кодировку. Дальше - опять же нажать на эту таблицу (нужно увидеть структуру таблицы, а не данные в ней. В разных панеля майадмина по-разному открывается таблица, если на неё нажать. У кого-то сразу видна структура, у кого-то - данные). Так вот - в структуре ищите все текстовые поля и смотрите какая у них кодировка. Тоже 1251 надо ставить.

Варивнт 2. Скиньте сюда таблицу из установщика, попробуем код подредактировать.

Ссылка на сообщение
Поделиться на других сайтах

Вот что я увидел

b6f773671515.gif

Всё сохранил базу сменил кодировку и всё пошло как Швейцарские часы, ато latin1 какой то, Огромное спс Al-x +1, не могу найти где + ставить надобы пожаловаться Админу, пусть модернизирует шаблон))) Правда написал на 5-ти форумах в топе яндекса, везде тишина только просмотры растут а ответы 0 ,, не зря всё же Вы Первые)))

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...

Хоть тема и очень старая, тоже столкнулся с этой бедой. В инсталяционном файле не ср1251 и потому в таблице кодировка latin1

Я сделал бекап затем в дампе поменял кодировку и вновь сохранил базу. Ушло 3 минуты, всё встало на свои места.

У меня другой вопрос. Как вывести страницу ссылок на главную и где можно посмотреть работу скрипта.

Изменено пользователем vavan1955
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...