Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать SSDForums
Скачать SSDForums 1.0.1 Скачать SSDForums 1.0.1
Скачать SSDForums 1.0.1 SP1 Скачать SSDForums 1.0.1 SP1
Скачать SSDForums 1.0.1 SP2 Скачать SSDForums 1.0.1 SP2
SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro
SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro
Jewelry Сase Team
Скачать Ruby Chat 0.1.1 Скачать Ruby Chat 0.1.1
Меню
Главная
Форум
Магазин цифровых товаров

Новости
Подписка на новости
Темы новостей
Добавить новость

Каталог файлов
Карта файлового архива
Публикации

Опросы
Анкета пользователя
Чат

BestMaker
Викторина
Архив новостей
Карманный оракул
Поиск по сайту с помощью Яндекс
Поиск по сайту с помощью Google
Фото дня
Для души
Погода на 3 дня
IndexCat
IndexTop
Map_Pages
Форум -> Files (модуль и блок) -> Решил проблему с уведомлением о битых ссылках!
Решил проблему с уведомлением о битых ссылках!
shadow Дата: 28.01.2009, в 03:47 | Сообщение №1
shadow
Активный участник
Пользователь №: 520
Сообщений: 100

Итак в следе с самых первых версий в модуле файлов, в уведомлен о битой ссылке тянется страшный косяк... Который пед почему то упорно не хочет подправить... Итак решаем...
Сначала для начинающих немного теории: в чем же косяк?
Думаю все знают в настройках файлов есть такая опция "разрешить сообщать о битых ссылках" по ее включении при просмотре файла появляется картинка (обычно это мигающая красная кнопочка, или как в более поздних версиях восклицательный значок) итак - это картинка со ссылкой на другую страницу! (для понимающих - на другую функцию)
по сути при переходе на эту самую другую страницу производится "пометка" в базе что этот файл битый, и он начинает отображаться у вас в доп разделе файлов в админке...
Итак идея сама по себе прекрасна и удобна, - но решение как и почти все от Педа отвратительное, чем? да тем что по таким вот горе ссылкам с удовольствием гуляют все роботы! и через денек другой у вас уже весь каталог файлов светится битыми ссылками ((( (те кто уже активировал эту опцию думаю поймут)....

Итак решаем вопрос........
shadow Дата: 28.01.2009, в 03:53 | Сообщение №2
shadow
Активный участник
Пользователь №: 520
Сообщений: 100

Я решил вопрос на своем движке AS 4.2 так (но думаю и на младших версиях будет аналогично...) причем решил без добавления новых функций в index файл модуля....
Решение - добавление "captcha" (вопрос уже обсуждался, где то ) но вот мае решение под новый движок...

Перво на перво идем в шаблоны и из шаблона просмотра файла вырезаем эту картинку (в AS 4.2) это $arg[18] в basic-files-view.html Логика тут такая пока человек не скачал файл не нажав на кнопку скачать - он неможет знать битая она или нет... поэтому и нечего там ее светить...

дальше лезем в index файл модуля....
ищем function geturl() и добавляем в global ... $stop;
далее заменяем
Код
1
$db->sql_query("UPDATE ".$prefix."_files SET hits=hits+1 WHERE lid=$id");

на
Код
1
if (!$stop) $db->sql_query("UPDATE ".$prefix."_files SET hits=hits+1 WHERE lid=$id");


а точнее мы просто перед запросом добавляем if (!$stop) то есть защитвыаем скачивание только если переменная $stop пуста (не существует) а в ней мы будем хранить, передавать ошибку о неправильно введенном коде.

дальше перед get_page($conf['name']);
добавляем:
Код
1
//------captcha------
if ($conff['broc'] == 1 && $id) {
if ($stop) warning($stop, "", "", 2);
open();
echo "<form action=\"index.php?name=".$conf['name']."\" method=\"post\" style=\"display: inline\"><input type=\"hidden\" name=\"id\" value=\"$id\"/><input type=\"hidden\" name=\"op\" value=\"broken\"/>"
   .captcha_random(2)
   ."<center><input type=\"submit\" value=\""._BROCFILE."\" class=\"fbutton\"/></center></form>";
close();
}
//------captcha------

- в низу появится поле с капчей и кнопка, причем появится только если в админке включено "уведомление о битых...".

В общем то с этой функцией все... Теперь после нажатия на кнопку скачать и перехода к странице где идет уведомление
"Если скачивание не началось вы можете скачать по ссылке ниже...."
ниже у вас появится меню с капчей и кнопкой.!!!

Итак переходим непосредственно к функции которая помечает наши файлы битыми - это function broken()
добавляем в добавляем в global ... $stop, $id;.
затем строчку $id =.... правим на
Код
1
$id = ($_GET['id']) ? intval($_GET['id']) :$id;


затем после if ($conff['broc'] ==.......
добавляем:

Код
1
if (captcha_check(2)) $stop = _SECCODEINCOR;
if ($stop) {
geturl();
} else {
................
................
.......foot();
}   // не забудете поставить эту закр. кавычку после фуут.


Ну вроде все.............
Пример юзаем в каталоге файлов на ALFAFILMS.ru

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно shadow 28.01.2009 г. в 10:37:56
patriot Дата: 28.01.2009, в 05:53 | Сообщение №3
patriot
Участник
Пользователь №: 349
Сообщений: 92

Может не до конца разобрался, но где ты проверяешь введенную капчу?

и не проще будет вывести обычную ссылку, но на яве.
почему-то кажется логичнее... зачем пользователя напрягать - ему и так тяжело)
shadow Дата: 28.01.2009, в 10:35 | Сообщение №4
shadow
Активный участник
Пользователь №: 520
Сообщений: 100

Цитата
Может не до конца разобрался, но где ты проверяешь введенную капчу?

patriot, да странно одна строчка выпала из последнего кода
исправил.....
Цитата
и не проще будет вывести обычную ссылку, но на яве.


технически может да, ну как минимум ява не валидна... ну в общем решил как смог .....
RockKenny Дата: 28.01.2009, в 14:17 | Сообщение №5
RockKenny
Активный участник
Пользователь №: 171
Сообщений: 232

а вот с явой, хорошая тема

Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!


Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Опросы | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул


Генерация страницы: 0.063 сек. и 17 запросов к базе данных за 0.032 сек.
Web site engine code is Copyright © 2006 by SLAED CMS. All rights reserved.