ik ben op zoek naar een (gratis) Banner-Exchange systeem, dat minimaal aan de volgende voorwaarden moet voldoen:
- meerdere banners per account
- meerdere banner-groottes
- admin approval voor nieuwe leden
- admin approval voor nieuwe banners/ edits
- mogelijkheid tot verkoop van "credits"
- categorieën
- logging
etc.
OpenX heb ik, maar ik ben niet op zoek naar een ad management systeem, maar naar een banner exchange, waar men lid van wordt, de eigen banner upload en op de eigen site code van de exchange plaatst.
Voor elke x impressions op de eigen site, krijgt het lid dan y impressions terug. Vaak wordt hierbij 2:1 gebruikt (2 impressies eigen site = 1 impressie eigen banner elders).
Dit is toch niet zo heel moeilijk? Juist leuk om zelf te maken en wat PHP te leren.
Een opzetje:
Tabellen:
Users (met wel/geen admin, credits en de standaard dingen),
Banners (gelinkt aan een user, een site, een category, een path naar t plaatje, wel/niet approved)
Categories (alleen id en een naam)
Sites (dus waar banners naar toe leiden) (gelinkt aan user en een url)
Log (link naar site en getoonde banner)
Tip: Je kan de categories binair maken, dus de 1e is 1 (1) de volgede 2 (10), 4(100), 8 (1000). Zo kan je heel makkelijk aanvinken welke je wilt hebben. SQL:
INSERT INTO categories (id, naam) VALUE ((SELECT id FROM categories ORDER by id DESC)*2, 'NAAM')
Bij elke request doe je:
Kies een een banner van een user met credits uit de gegeven categorie.
Geef de user van wiens site de request komt een (halve) credit en haal van de user van wie de banner is eentje af.
SQL:
SELECT banners.id, banners.user_id, banners.path FROM banners, users WHERE banners.user_id != INPUT_USERID and banners.cat_id & INPUT_CAT and banners.user_id = users.id and users.credits > 0 ORDER BY users.credits DESC
SQL's niet getest
Schrijf een javascript dat een html met een a-tag naar de doelsite en daarin een img met de banner document.write'ed. Let wel op de je een "Content-type: text/javascript" als header gebruikt
In de pagina waar de banner moet verschijnen hoef je alleen het volgende te plaatsen op de plek van de banner (dit kan je op je beheerpaneel laten creëren ivm met userid, hoogte en breedte) :
[script]
<script type="text/javascript">
var url = SITE.com/path/banner.php;
var userId = USERID; // Id van site eigenaar waar de banner op komt
var size = SIZE;
var cat = CATEGORIES ALLOWED;
document.write('<script src="', url, '?&userid=', userid, '&size=', size, '&categories=', cat, '&random=', Math.random(), '" type="text/javascript"></script>');
</script>
[/script]
Die beveiliging is niet zo moeilijk, extra tabelletje maken met views, koppelen aan ip en dan kijken of het in de laatste 2 (oid) minuten al gebruikt is (evt op 1 bepaalde pagina) en dan niks af/bijschrijven.