Форум -> Files (модуль и блок) -> платное скачивание файлов через смс-замок |
платное скачивание файлов через смс-замок |
---|
moto-jawa | Дата: 29.10.2007, в 22:14 | Сообщение №1 |
УчастникПользователь №: 194 Сообщений: 73
| нужна помощь :слаед 2.4 лайт
оплата организуется сервисом смс-замок ;подробнее на www.smszamok.ru
создание модуля :
1-создаем папку в modules,по умолчанию: module_name,туда закидываем файл index.php с содержанием :
Код | 1
| <?php
if (!defined('MODULE_FILE')) {
Header("Location: ../../index.php");
exit;
}
$zam_number = "15081"; // Номер SMS-Замка
$rest_url = "http://www.yourdom/url"; // URL ( можно сделать ее уникальной, приписав какой-то хвост )
$module_name = basename(dirname(__FILE__));
$done = "0";
get_lang($module_name);
$pagetitle = "$defis Смс-замок";
head();
title("смс-замок");
$form_block = file_get_contents("http://smszamok.ru/client/izamok.php?15081&csj&enc=cp1251");
$form_block .= " <Любая информация для вывода> ";
$form_block .= "<form method=\"post\" action=\"index.php?name=$module_name\">";
if (extension_loaded("gd")) {
$random_num = gen_pass(10);
$form_block .= "<br /><fieldset><legend>Полученный SMS пароль:</legend><table border=\"0\" width=\"100%\"><tr><td width=\"249\">Пожалуйста, введите полученный SMS код:</td><td><input type=\"text\" name=\"psw_zamok\" value=\"$psw_zamok\" style=\"width:60px\" onChange=\"alert('Внимание! Сохраните данный SMS-код. Без SMS-кода финансовые претензии Администрацией не рассматриваются.')\"></td></tr></table></fieldset><br /><fieldset><legend>Защита от автоматических регистраций</legend><table border=\"0\" width=\"100%\"><tr><td width=\"249\">Защитный код</td><td><img src=\"index.php?gfx=gfx&random_num=$random_num\" border=\"1\" alt=\"Проверочный код\"></td>"
."</tr><tr><td width=\"249\">Повторите</td><td><input type=\"text\" name=\"gfx_check\" size=\"13\" maxlength=\"6\"></td></tr></table></fieldset>"
."<input type=\"hidden\" name=\"random_num\" value=\"$random_num\">";
}
$form_block .= "<input type=\"hidden\" name=\"opi\" value=\"ds\"><input type=\"submit\" value=\"Далее\"></form>";
if ($_POST['opi'] != "ds") {
OpenTable();
echo "$form_block";
CloseTable();
} elseif ($_POST['opi'] == "ds") {
// Фильтрация входящих данных
$psw_zamok = text_filter($_POST['psw_zamok']);
$gfx_check = intval($_POST['gfx_check']);
// Фильтрация входящих данных - конец
// Проверка валидности SMS-кода
$check_url = "http://www.smszamok.ru/check/try.php?p=$psw_zamok&id=$zam_number&url_restricted=$rest_url";
$file = fopen($check_url, "r");
if (!$file) {
return false;
}
$line = fgets ($file, 1024);
fclose($file);
if(substr($line, 0, 4) == "true"){
$done = "1"; } else { $done = "0"; }
// Проверка валидности SMS-кода - конец
If ($done != "1") $stop = "Ошибка: Неправильный SMS код";
If (!$psw_zamok) $stop = "Ошибка: Не введён SMS-код!";
// Проверяем, не использован ли смс код
$content = file_get_contents('modules/$module_name/used.txt');
if (strpos($content, $psw_zamok) !== false) {
$stop = "Этот код уже был использован!";
}
// Проверяем, не использован ли смс код - конец
$code = substr(hexdec(md5("".date("F j")."".$_POST["random_num"]."".$sitekey."")), 2, 6);
if (extension_loaded("gd") AND $code != $gfx_check) $stop = "Неправильный проверочный код";
if (!$stop) {
// записываем в файл использованный код
$f = fopen("modules/$module_name/used.txt", "a+");
flock($f, LOCK_EX);
fwrite($f, "$psw_zamok\n");
fflush($f);
flock($f, LOCK_UN);
fclose($f);
// записываем в файл использованный код - конец
// Выводим оплаченную информацию или осуществляем какие-то php-функции
OpenTable();
echo "http://www.musite.ru/uploads/files/public/Files-1.zip";
CloseTable();
// Выводим оплаченную информацию или осуществляем какие-то php-функции - конец
} else {
warning($stop, "", "", 1);
OpenTable();
echo "$form_block";
CloseTable();
}
}
foot();
?> |
и обычный текстовый файл :
used.txt ; с атрибутами 666.
Вопрос 1:как сделать ,чтобы клиент нажимая на ссылку скачать в модуле files,переходил на страницу оплаты (это ясно как сделать ),но,именно того файла ,который он захочет оплатить :(расшифровываю написанное )
Тоесть : если он хочет скачать файл 1 то в модуле замка сгенерируется ссылка на файл :Код | 1
| OpenTable();
echo "http://www.musite.ru/uploads/files/public/Files-1.zip";
CloseTable();
// Выводим оплаченную информацию или осуществляем какие-то php-функции - конец |
,а если файл 2 ,то соответственно :Код | 1
| OpenTable();
echo "http://www.musite.ru/uploads/files/public/Files-2.zip";
CloseTable();
// Выводим оплаченную информацию или осуществляем какие-то php-функции - конец |
,
вроде все понятно изложил .пожалуста ,кто знает -подскажите как осуществить .
|
|
|
|
Sнэйк | Дата: 30.10.2007, в 10:47 | Сообщение №2 |
СтарожилПользователь №: 76 Сообщений: 399
| Цитата | нужна помощь :слаед 2.4 лайт |
moto-jawa, как ты выразился на моём сайте
Цитата | сноси свою нах*й систему и ставь АС.пока не поставиш я буду флудить. |
Разбирайся сам, тыж такой умный ... |
|
|
moto-jawa | Дата: 30.10.2007, в 13:14 | Сообщение №3 |
УчастникПользователь №: 194 Сообщений: 73
| Sнэйк, на каком сайте ? че за гон опять в мою сторону ?покажи ссылку ... |
|
|
Sнэйк | Дата: 30.10.2007, в 13:27 | Сообщение №4 |
СтарожилПользователь №: 76 Сообщений: 399
| |
|
moto-jawa | Дата: 30.10.2007, в 13:38 | Сообщение №5 |
УчастникПользователь №: 194 Сообщений: 73
| ясно . |
|
|
Sнэйк | Дата: 30.10.2007, в 13:41 | Сообщение №6 |
СтарожилПользователь №: 76 Сообщений: 399
| извини, но в свете последних событий я мало кому верю ... |
|
|
|
Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
|