Заказ рекламы за WebMoney (подобие Web-Sar)
Заказ рекламы за WebMoney (подобие Web-Sar)
На форуме, уже не помню кто, но кто-то создал тему. Так вот меня заинтересовала мысль "Вытянуть из web-sar.ru меню выбора вида рекламы". В принципе можно бы и сказать, что это просто - через "GET" задавать значения option и просто прописать. Но не всё так-то просто. У web-sar'а при выборе вида не надо перегружать страницу - у них форма заказа появляется снизу. Вот как сделать так, я сейчас и расскажу.

Итак. Заметьте - web-sar'а нет каптчи (кода-подтверждения) при заказе. Это не потому, что они не знают как сделать, а потому, что если пихать каптчу - то она будет грузиться несколько раз и выдавать разные цифры. В этом и есть основная проблема - даже если вводим правильный код, скрипт будет сверять с последней прогруженной картинкой с кодом. Ну что же, дело поправимое - пойдём по тому же пути, что и web-sar.

1. Удаляем каптчу в файлах заказа.

Файлы с формой заказа - думаю, их определить будет просто. Открываем advertise.php и ищем строки примерного содержания:
<?
$adv=$_GET["adv"];
if($adv=='run') include('addrunblock.php');
if($adv=='dyn') include('adv.php');
if($adv=='stat') include('addstatlink.php');
if($adv=='banner') include('addbanner.php');
if($adv=='frame') include('addframeads.php');
if($adv=='chat') include('addchatads.php');
?>

Вот то что стоит в скобках после include - это и есть имя файла с формой заказа. Их все по очереди открываем и проделываем следующее:

Удаляем строки:
if (strtolower($_POST['code'])!= strtolower($_SESSION['texto']))
  {  
  echo "<img src="images/error.png" align="middle"> Неверно введен код с картинки... <br>";
  include('footer.php');
  exit();  
  }

В этих строках у нас сверяется введённый код с заданным.

И затем удаляем строки:
<tr>
  <td width="150" align="left"><p><label>Введите код: </label></p></td>
  <td width="250" align="left"><input type='text' size='3' maxlength='3' name='code' autocomplete="off" class="securitycode" value="" tabindex="9" /></td>
  </tr>
  <tr>
  <td width="150" align="left"> </td>
  <td width="250" align="left"><img src="image.php?<?php echo $res; ?>" /></td>
  </tr>

Это обычный HTML код строк в таблице. Мы их удаляем, чтобы вообще не отображались. А то найдутся горе-умники, которые начнут предлагать свои услуги по смыканию глобальной переменной для того, чтобы каптчу проверяло. Нам этого естественно не надо. Строки убрали...

2.Основная работа будет в файле advertise.php. Почему именно в нём? В нём проще - всё же лучше в одном файле проставлять значения, чем лезть в каждый файл за этим.

Значит что мы делаем:

2.1. Находим строки:
<div id="ahref">
[center]<span style="font-size: 16px; font-weight: bold;">
.:: [url=advertise.php?adv=dyn]Динамические ссылки[/url] :: [url=advertise.php?adv=stat]Статические ссылки[/url] :: [url=advertise.php?adv=banner]Баннеры[/url] :: [url=advertise.php?adv=frame]Фрейм[/url] :: [url=advertise.php?adv=chat]Чат[/url] ::.

[/center]</span>
</div

Заметьте, что тег не закрыт - такое почти во всех скриптах. Но нам на это наплевать. Даже если закрыт - то вместе с закрытым и удаляем.

2.2. На место кода, который только что ушёл в небытие, вставляем новенький:
<script>  
<!--
function advChange(seln)
{ //selNum = seln.selectedIndex;
  //Isel = seln.beer.options[selNum].text;
  //alert("Выбрано: "+Isel);
  document.getElementById("dyn_link").style.display = 'none';
  document.getElementById("stat_link").style.display = 'none';
  document.getElementById("stat_ban").style.display = 'none';
  document.getElementById("run_block").style.display = 'none';
  document.getElementById("frame_ads").style.display = 'none';
  document.getElementById("chat_ads").style.display = 'none';
  switch (document.getElementById("advlist").selectedIndex)
  {
  case 0:
  break;
  case 1:
  document.getElementById("dyn_link").style.display = 'block';
  break;
  case 2:
  document.getElementById("stat_link").style.display = 'block';
  break;
  case 3:
  document.getElementById("stat_ban").style.display = 'block';
  break;
  case 4:
  document.getElementById("run_block").style.display = 'block';
  break;
  case 5:
  document.getElementById("frame_ads").style.display = 'block';
  break;
  case 6:
  document.getElementById("chat_ads").style.display = 'block';
  break;

  }  
}
//-->
</script>  

<select id="advlist" name="advlist" onchange="advChange(this)">  
  <option selected>Выберите вид рекламы:</option>
  <option>- Динамические ссылки</option>  
  <option>- Статические ссылки</option>  
  <option>- Статические баннеры</option>  
  <option>- Бегущая строка</option>  
  <option>- Ссылки во фрейме</option>  
  <option>- Ссылка в ЧАТе</option>  
  </select>

С этим кодом больше всего будет мучений. Но об этом позже.

2.3. Перед:
<? include('footer.php'); ?>

Добавим ещё код:
<div id="dyn_link" style="display:none"><?include('adv.php'); ?></div>
<div id="stat_link" style="display:none"><?include('addstatlink.php'); ?></div>
<div id="stat_ban" style="display:none"><?include('addbanner.php'); ?></div>
<div id="run_block" style="display:none"><?include('addrunblock.php'); ?></div>
<div id="frame_ads" style="display:none"><?include('addframeads.php'); ?></div>
<div id="chat_ads" style="display:none"><?include('addchatads.php'); ?></div>
  

В этом коде и заключается весь смысл...

Теперь поподробнее о мучениях. Рассмотрите код из пункта 2.2. - определите закономерность. Она примерно такова:

1. При добавлении нового вида рекламы мы делаем, что там в описании сказано (да-да - также добавляем строки вида if($adv==....., т.к. постом передаваться будет на страницу с параметром через гет - нам надо, чтобы у нас всё работало)

2. Добавляем после строки:
document.getElementById("chat_ads").style.display = 'none';

Такую же строку, только chat_ads заменяем на любое, придуманное нами значение. Значение это запоминаем.

3. Затем после строки:
case 6:
  document.getElementById("chat_ads").style.display = 'block';
  break;

Добавляем этот же кусок. Но меняем 6 на следующее по счёту целое число (7) и значение chat_ads на то, которое придумали.

4. Далее ниже добавляем после:
<option>- Ссылка в ЧАТе</option>

Подобный код, где "Ссылка в ЧАТе" меняем на название вида рекламы (это уже неважно)

5. В самом конце мы перед футером добавляли код. В нём ищем строку:
<div id="chat_ads" style="display:none"><?include('addchatads.php'); ?></div>

И в ней заменяем chat_ads на наше значение, которое мы ещё не забыли и addchatads.php на имя страницы с формой заказа, которую мы заливали на хост при установке какого-нить плагина - это уже догадаться реально.

Статья требует доработок, но умный человек доработает под себя. Если следовать строго действиям, описанным выше и не сбиться, то всё получится.


Рубрика: Бесплатное » Дополнения   |   Автор: Alex   |   Просмотры: 4855
Комментариев: 1
Публикаций: 0
ICQ: --
- 1 +
  Автор: stepanuk   |   Группа: Пользователи   |   Дата: 24 апреля 2011  
чета не работает! все поставил а когда выбераеш раздел нечего не происходит))
Комментариев: 28
Публикаций: 4
ICQ: --
- 7 +
  Автор: KPEKEP   |   Группа: Пользователи   |   Дата: 04 октября 2011  
Да ну...намудрено жутко) лучшеб для умственно отсталых готовые файлы выложил wink
Комментариев: 7
Публикаций: 0
ICQ: --
- 1 +
  Автор: aktalaris   |   Группа: Пользователи   |   Дата: 01 февраля 2012  
Крекер прав файлы в студию :)
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.