added view count
This commit is contained in:
@@ -34,8 +34,8 @@ def get_entries_related_by_id(request, _id, id_related):
|
|||||||
return results
|
return results
|
||||||
|
|
||||||
def get_entries_by_id(request, _id):
|
def get_entries_by_id(request, _id):
|
||||||
query = """SELECT *, strftime('%d/%m/%Y', created) AS create_date,
|
query = """SELECT *, strftime('%d/%m/%Y', created) AS create_date, strftime('%d/%m/%Y', edited) AS edit_date,
|
||||||
strftime('%d/%m/%Y', edited) AS edit_date FROM entries WHERE id=:id;"""
|
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()
|
results = request.dbsession.execute(text(query), {'id':_id}).first()
|
||||||
return results
|
return results
|
||||||
|
|
||||||
@@ -211,3 +211,9 @@ def update_entries_url(request):
|
|||||||
slug = urlify(entry.title)
|
slug = urlify(entry.title)
|
||||||
query = "UPDATE entries SET title_url = :slug WHERE id = :id;"
|
query = "UPDATE entries SET title_url = :slug WHERE id = :id;"
|
||||||
execute_query(request, query, {'id': entry.id, 'slug': slug})
|
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 %}
|
{% endif %}
|
||||||
|
|
||||||
<p>
|
<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>
|
</p>
|
||||||
<hr/>
|
<hr/>
|
||||||
<p>{{ body_html | safe }}</p>
|
<p>{{ body_html | safe }}</p>
|
||||||
@@ -41,6 +41,7 @@
|
|||||||
Topic - Tag : <strong>{{ entry.topic_id }}</strong> - <strong>{{ entry.tag }}</strong><br>
|
Topic - Tag : <strong>{{ entry.topic_id }}</strong> - <strong>{{ entry.tag }}</strong><br>
|
||||||
Language : <strong>{{ entry.language }}</strong><br>
|
Language : <strong>{{ entry.language }}</strong><br>
|
||||||
Statut : <strong>{{ entry.status }}</strong><br>
|
Statut : <strong>{{ entry.status }}</strong><br>
|
||||||
|
Dernière visite : <strong>{{ entry.last_view }}</strong>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -31,6 +31,12 @@ def blog(request):
|
|||||||
body_html = markdown.markdown(body, extensions=['footnotes'])
|
body_html = markdown.markdown(body, extensions=['footnotes'])
|
||||||
# lire les contenus correles
|
# lire les contenus correles
|
||||||
relateds = get_entries_related(request, entry.id)
|
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 {
|
return {
|
||||||
'page_title': entry.title,
|
'page_title': entry.title,
|
||||||
|
|||||||
Reference in New Issue
Block a user