added view count
This commit is contained in:
@@ -34,8 +34,8 @@ def get_entries_related_by_id(request, _id, id_related):
|
||||
return results
|
||||
|
||||
def get_entries_by_id(request, _id):
|
||||
query = """SELECT *, strftime('%d/%m/%Y', created) AS create_date,
|
||||
strftime('%d/%m/%Y', edited) AS edit_date FROM entries WHERE id=:id;"""
|
||||
query = """SELECT *, strftime('%d/%m/%Y', created) AS create_date, strftime('%d/%m/%Y', edited) AS edit_date,
|
||||
strftime('%d/%m/%Y %H:%M', view_date) AS last_view FROM entries WHERE id=:id;"""
|
||||
results = request.dbsession.execute(text(query), {'id':_id}).first()
|
||||
return results
|
||||
|
||||
@@ -211,3 +211,9 @@ def update_entries_url(request):
|
||||
slug = urlify(entry.title)
|
||||
query = "UPDATE entries SET title_url = :slug WHERE id = :id;"
|
||||
execute_query(request, query, {'id': entry.id, 'slug': slug})
|
||||
|
||||
|
||||
def update_view_counter(request, id, remote_ip, today):
|
||||
# incrementer le compteur de vues si ip et date sont differents
|
||||
query = "UPDATE entries SET view_count = view_count + 1, view_date = :today, view_ip = :remote_ip WHERE id = :id;"
|
||||
execute_query(request, query, {'id': id, 'remote_ip': remote_ip, 'today': today})
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
{% endif %}
|
||||
|
||||
<p>
|
||||
<strong>{{ entry.author }}</strong> - Publié le <strong>{{ entry.create_date }}</strong><br>
|
||||
<strong>{{ entry.author }}</strong> - Publié le <strong>{{ entry.create_date }}</strong> - Vues : {{ entry.view_count }} <br>
|
||||
</p>
|
||||
<hr/>
|
||||
<p>{{ body_html | safe }}</p>
|
||||
@@ -41,6 +41,7 @@
|
||||
Topic - Tag : <strong>{{ entry.topic_id }}</strong> - <strong>{{ entry.tag }}</strong><br>
|
||||
Language : <strong>{{ entry.language }}</strong><br>
|
||||
Statut : <strong>{{ entry.status }}</strong><br>
|
||||
Dernière visite : <strong>{{ entry.last_view }}</strong>
|
||||
{% endif %}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -31,6 +31,12 @@ def blog(request):
|
||||
body_html = markdown.markdown(body, extensions=['footnotes'])
|
||||
# lire les contenus correles
|
||||
relateds = get_entries_related(request, entry.id)
|
||||
# incrementer le compteur de vues
|
||||
client_addr = request.client_addr
|
||||
today = datetime.datetime.now()
|
||||
if client_addr != '127.0.0.1' and entry.edited[:13] != str(today)[:13]:
|
||||
update_view_counter(request, blog_id, client_addr, today)
|
||||
|
||||
|
||||
return {
|
||||
'page_title': entry.title,
|
||||
|
||||
Reference in New Issue
Block a user