Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Скрипт попандера?
цитата
15/04/13 в 11:46
 andreich
выкладываю скриптец для работы в сетке
скрипт юзает MySQL для каждого уника в сетке открывает попандер (точнее клик-андер) раз в 24 часа

var expirationIntl = 24*60*60*1000;

function popundrShow (url) {
var popundrWindow = window.open(url, "_blank", "toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=yes,height=840,width=1060");
setTimeout( function() { popundrWindow.focus(); setTimeout( function() { popundrWindow.blur();}, 1);}, 10);
};

function popundrSetcookie (name, value, interval) {
var expires = new Date();
expires.setTime(expires.getTime() + interval);
document.cookie = name + '=' + value + '; expires=' + expires.toGMTString() + '; path=/';
};

function popundrGetcookie (name) {
var cookies = document.cookie.toString().split('; ');
for (var i = 0; i < cookies.length; i++) {
if (cookies[i].split('=')[0] == name) return cookies[i].split('=')[1];
};
return '0';
};

function popundrCheck () {
var cookie = popundrGetcookie('clickunder');
if ((cookie>=0&&cookie<10)) {
cookie++;
switch (cookie) {
case 1 : {
popundrShow('http://ljctv.com/boundgangbangs/boundgangbangs.htm');

break;
};
default : break;
};
popundrSetcookie('clickunder',cookie,expirationIntl);
};
};

function popundrInitialize() {
if (document.attachEvent) document.attachEvent( "onclick", popundrCheck);
else {
if (document.addEventListener) document.addEventListener( "click", popundrCheck, false);
};
};


<?php
// данные для соединения с MySQL
$db['sql_host'] = 'localhost';
$db['sql_user'] = 'user';
$db['sql_pass'] = 'pass';
$db['sql_database'] = 'databasename';

$connect = mysql_connect($db['sql_host'], $db['sql_user'], $db['sql_pass']); // Соединение с MySQL
mysql_select_db ($db['sql_database']); // Выбор базы данных

// чистка устаревших значений
mysql_query("DELETE FROM `uin` WHERE `date_ad` < '".time()."'");

// получаем ip
$ip = $_SERVER['REMOTE_ADDR'];

// проверяем зарегистрирован ли ip
$result = mysql_query("SELECT * FROM `uin` WHERE `ip` LIKE '".$ip."'");
$num_rows = mysql_num_rows($result);

if ($num_rows == 0) { // не зарегистрирован

// регистрируем ip и назначаем время показа
mysql_query ("INSERT INTO `uin` ( `ip` , `date_ad` ) VALUES ('".$ip."' , '".(time()+60*60*24)."');");

// запускаем JS
echo "popundrInitialize();";

}

mysql_close($connect); // Разрываем соединение с MySQL
?>

хотелосьбы что бы совместно с присутствующими, тут скрипт модернизировать, для большей пробиваемости, открытия клик-андера в табе а не в новом окне, ну и добавить еще какойто функционал (например настройки, фокусы, размеры и т.д.)
цитата
15/04/13 в 17:49
 Дартаньян
andreich: вот объясни мне нахуя регать Ip в бд?
цитата
15/04/13 в 18:18
 andreich
Дартаньян: еще раз, я не прораммист
но как я понимаю, IP регается в БД что бы отслеживать юзера и не открввать ему клик-апндер на другом сайте, если ему он уже был показан первом сайте сетки
цитата
15/04/13 в 18:57
 Дартаньян
andreich: написать то не проблема пиздатую админку, правда бабла сейчас 0, так-что если кто пожертвует забацаю пездатаю админку.
цитата
15/04/13 в 19:01
 andreich
Дартаньян: скока денег ?
и что будет на выходе

что бы хотелось видеть в админке и в целом в скрипте
1. пробиваемость на первом месте
2. возможность настривать, как скрипт открывает окно, во вкладке или в новом окне броузера
3. возможность настраивать фокус
4. настраивать размер окна, наличие или отсутствие навигации и т.д.
5. статистика - сколько было открыто попандеров за 24 часа (в идеале еще бы и какие броузеры, страны и т.д.)

smail54.gif
цитата
15/04/13 в 21:04
 Дартаньян
andreich:
Цитата:
2. возможность настраивать, как скрипт открывает окно, во вкладке или в новом окне броузера

пока надо подумать как реализовать это, статистика вопрос отдельный =).

P.S.
Еслиб каждый скинул по 5-10 баксов из 20 скачавших это было бы супер).
цитата
16/04/13 в 11:32
 andreich
Дартаньян: ну что там, подумал ?

я готов оплатить скрипт сам, скажем за 100 Wmz, с условием, что он не будет в паблике, или готов скинутся с теми кому интересно, не проблема


да и еще вопрос, почему все попандеры и т.д. реализуют на JS, а не скажем на PHP или других языках
цитата
16/04/13 в 15:08
 Yacc
Дартаньян писал:
Еслиб каждый скинул по 5-10 баксов из 20 скачавших это было бы супер).

Хули ты попрошайничаешь? Напиши нормальный код и дай объявление в Рекламе, кому надо тот купит.
цитата
16/04/13 в 15:10
 Yacc
andreich писал:
почему все попандеры и т.д. реализуют на JS

Потому что браузеры исполняют JS, а не PHP.
цитата
16/04/13 в 22:55
 Дартаньян
Yacc: trollface.png и это говорит человек, который только и умеет что умничать и писать сложный код для простых решений, браво.
цитата
17/04/13 в 08:48
 andreich
Yacc писал:
Потому что браузеры исполняют JS, а не PHP

я как бы немного туповат, но знаю, что PHP обрабатывается на стороне сервера, JS на стороне юзера (броузера)
но один хрен не понимаю почему нельзя написать попандер на PHP
цитата
17/04/13 в 09:01
 Yacc
Потому что окно открывается в ответ на действие пользователя в контексте браузера, а не в контексте сервера. Не обязательно использовать JS, но это обязательно должна быть технология реализованная в браузере, флэш например.
цитата
17/04/13 в 09:28
 andreich
Yacc: один хрен не понимаю
допустим, вот тебе сидж, ты нажимаешь на тумбу, скрипт CJ отрабатывает out и отправляет тебя либо на трейдера либо на контент, скрипто PHPшный
почему он не может допустим открыть попандер ?
цитата
17/04/13 в 09:55
 Yacc
Потому что событие "ты нажимаешь на тумбу" происходит в контексте браузера и до того как "скрипт CJ отрабатывает out". На это событие и реагирует JS, открывающий окно.
цитата
17/04/13 в 11:20
 andreich
Yacc: сенкс, только, что разговаривал со своим кентом прогеромм, он мне популярно обяснил, как это все работает
цитата
17/04/13 в 11:23
 Yacc
Стесняюсь спросить может ли быть ещё популярней? icon_smile.gif
цитата
17/04/13 в 11:25
 andreich
Дартаньян: так ты пишешь скрипт или не пишешь ?
цитата
17/04/13 в 11:28
 Дартаньян
andreich: trollface.png таки пишу ;).
цитата
17/04/13 в 11:40
 andreich
Дартаньян: шото долго icon_confused.gif
цитата
17/04/13 в 11:45
 Дартаньян
andreich: Оффтопик: просто дел в реале много, и 2 последних хвоста заканчиваю. Остальное скину в течении ближайших дней, без красивой статсы, поебусь и забацаю.
цитата
21/05/13 в 23:17
 Дартаньян
Вернулся в строй продолжу работу чуть позже.
цитата
07/06/13 в 12:48
 Ghost-Призрак
idigishop писал:
Без гио.

smail54.gif


<script>
var puShown = false;
var PopWidth = 800;
var PopHeight = 800;
var PopFocus = 0;
var _Top = null;

function GetWindowHeight() {
var myHeight = 0;
if( typeof( _Top.window.innerHeight ) == 'number' ) {
myHeight = _Top.window.innerHeight;
} else if( _Top.document.documentElement && _Top.document.documentElement.clientHeight ) {
myHeight = _Top.document.documentElement.clientHeight;
} else if( _Top.document.body && _Top.document.body.clientHeight ) {
myHeight = _Top.document.body.clientHeight;
}
return myHeight;
}

function GetWindowWidth() {
var myWidth = 0;
if( typeof( _Top.window.innerWidth ) == 'number' ) {
myWidth = _Top.window.innerWidth;
} else if( _Top.document.documentElement && _Top.document.documentElement.clientWidth ) {
myWidth = _Top.document.documentElement.clientWidth;
} else if( _Top.document.body && _Top.document.body.clientWidth ) {
myWidth = _Top.document.body.clientWidth;
}
return myWidth;
}

function GetWindowTop() {
return (_Top.window.screenTop != undefined) ? _Top.window.screenTop : _Top.window.screenY;
}

function GetWindowLeft() {
return (_Top.window.screenLeft != undefined) ? _Top.window.screenLeft : _Top.window.screenX;
}

function doOpen(url)
{
var popURL = "about:blank"
var popID = "ad_" + Math.floor(89999999*Math.random()+10000000);
var pxLeft = 0;
var pxTop = 0;
pxLeft = (GetWindowLeft() + (GetWindowWidth() / 2) - (PopWidth / 2));
pxTop = (GetWindowTop() + (GetWindowHeight() / 2) - (PopHeight / 2));

if ( puShown == true )
{
return true;
}

var PopWin=_Top.window.open(popURL,popID,'toolbar=0,scrollbars=1,location=1,statusbar=1,menubar=0,resizable=1,top=' + pxTop + ',left=' + pxLeft + ',width=' + PopWidth + ',height=' + PopHeight);

if (PopWin)
{
puShown = true;

if (PopFocus == 0)
{
PopWin.blur();

if (navigator.userAgent.toLowerCase().indexOf("applewebkit") > -1)
{
_Top.window.blur();
_Top.window.focus();
}
}

PopWin.Init = function(e) {

with (e) {

Params = e.Params;
Main = function(){

if (typeof window.mozPaintCount != "undefined") {
var x = window.open("about:blank");
x.close();

}

var popURL = Params.PopURL;

try { opener.window.focus(); }
catch (err) { }

window.location = popURL;
}

Main();
}
};

PopWin.Params = {
PopURL: url
}

PopWin.Init(PopWin);
}

return PopWin;
}

function setCookie(name, value, time)
{
var expires = new Date();

expires.setTime( expires.getTime() + time );

document.cookie = name + '=' + value + '; path=/;' + '; expires=' + expires.toGMTString() ;
}

function getCookie(name) {
var cookies = document.cookie.toString().split('; ');
var cookie, c_name, c_value;

for (var n=0; n<cookies.length; n++) {
cookie  = cookies[n].split('=');
c_name  = cookie[0];
c_value = cookie[1];

if ( c_name == name ) {
return c_value;
}
}

return null;
}

function initPu()
{

_Top = self;

if (top != self)
{
try
{
if (top.document.location.toString())
_Top = top;
}
catch(err) { }
}

if ( document.attachEvent )
{
document.attachEvent( 'onclick', checkTarget );
}
else if ( document.addEventListener )
{
document.addEventListener( 'click', checkTarget, false );
}
}

function checkTarget(e)
{
if ( !getCookie('popundr') ) {
var e = e || window.event;
var win = doOpen('http://www.your_link.com');

setCookie('popundr', 1, 1*60*60*1000);
}
}

initPu();
</script>



Твой скрипт глючит в Crome и Opera.
Стр. « первая   <  1, 2


Эта страница в полной версии