]>
git.ipfire.org Git - people/shoehn/ipfire.org.git/blob - webapp/backend/ads.py
3 from __future__
import division
8 from databases
import Databases
9 from misc
import Singleton
11 class Advertisements(object):
12 __metaclass__
= Singleton
16 return Databases().webapp
18 def get(self
, where
=None):
20 query
= "SELECT * FROM advertisements \
21 WHERE DATE(NOW()) >= date_start AND DATE(NOW()) <= date_end AND published = 'Y'"
24 query
+= " AND `where` = %s"
27 query
+= " ORDER BY RAND() LIMIT 1"
29 ad
= self
.db
.get(query
, *args
)
31 return Advert(self
, ad
.id, ad
)
35 def __init__(self
, advertisements
, id, data
=None):
36 self
.advertisements
= advertisements
43 return self
.advertisements
.db
47 if self
.__data
is None:
48 self
.__data
= self
.db
.get("SELECT * FROM advertisements WHERE id = %s", self
.id)
55 return self
.data
.company
67 return """<a href="%s" target="_blank">%s</a>""" % (self
.url
, self
.text
or self
.company
)
69 def update_impressions(self
):
70 self
.db
.execute("UPDATE advertisements SET impressions = impressions + 1 WHERE id = %s", self
.id)