aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNicolas LÅ“uillet <nicolas@loeuillet.org>2014-07-08 21:46:32 +0200
committerNicolas LÅ“uillet <nicolas@loeuillet.org>2014-07-08 21:46:32 +0200
commit5425b0dd82863d548f49dcbd81636ed8dabd7866 (patch)
treedb5631725be9be0fc1a179af414041a09de05032
parent4247b37551ae8aa35840ddadcec1c781a8e56d4b (diff)
downloadwallabag-5425b0dd82863d548f49dcbd81636ed8dabd7866.tar.gz
wallabag-5425b0dd82863d548f49dcbd81636ed8dabd7866.tar.zst
wallabag-5425b0dd82863d548f49dcbd81636ed8dabd7866.zip
new fields in database, reading time / date and domain name are stored
-rwxr-xr-xinc/poche/Database.class.php23
-rwxr-xr-xinc/poche/Poche.class.php8
-rwxr-xr-xinc/poche/Tools.class.php14
-rw-r--r--[-rwxr-xr-x]install/poche.sqlitebin393216 -> 393216 bytes
-rwxr-xr-xthemes/baggy/home.twig9
5 files changed, 26 insertions, 28 deletions
diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php
index dddb2512..a222ed39 100755
--- a/inc/poche/Database.class.php
+++ b/inc/poche/Database.class.php
@@ -398,6 +398,21 @@ class Database {
398 return $query; 398 return $query;
399 } 399 }
400 400
401
402 private function _getDomain($url)
403 {
404 return parse_url($url, PHP_URL_HOST);
405 }
406
407 private function _getReadingTime($text) {
408 $word = str_word_count(strip_tags($text));
409 $minutes = floor($word / 200);
410 $seconds = floor($word % 200 / (200 / 60));
411 $time = array('minutes' => $minutes, 'seconds' => $seconds);
412
413 return $minutes;
414 }
415
401 /** 416 /**
402 * 417 *
403 * @param string $url 418 * @param string $url
@@ -407,8 +422,12 @@ class Database {
407 * @return integer $id of inserted record 422 * @return integer $id of inserted record
408 */ 423 */
409 public function add($url, $title, $content, $user_id, $isFavorite=0, $isRead=0) { 424 public function add($url, $title, $content, $user_id, $isFavorite=0, $isRead=0) {
410 $sql_action = 'INSERT INTO entries ( url, title, content, user_id, is_fav, is_read ) VALUES (?, ?, ?, ?, ?, ?)'; 425 $readingTime = $this->_getReadingTime($content);
411 $params_action = array($url, $title, $content, $user_id, $isFavorite, $isRead); 426 $domainName = $this->_getDomain($url);
427 $date = date('Y-m-d H:i:s');
428
429 $sql_action = 'INSERT INTO entries ( url, title, content, user_id, is_fav, is_read, date, reading_time, domain_name ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)';
430 $params_action = array($url, $title, $content, $user_id, $isFavorite, $isRead, $date, $readingTime, $domainName);
412 if ( !$this->executeQuery($sql_action, $params_action) ) { 431 if ( !$this->executeQuery($sql_action, $params_action) ) {
413 $id = null; 432 $id = null;
414 } 433 }
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index 09a9f5ff..e8c32024 100755
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -232,14 +232,6 @@ class Poche
232 232
233 $this->tpl = new Twig_Environment($loaderChain, $twigParams); 233 $this->tpl = new Twig_Environment($loaderChain, $twigParams);
234 $this->tpl->addExtension(new Twig_Extensions_Extension_I18n()); 234 $this->tpl->addExtension(new Twig_Extensions_Extension_I18n());
235
236 # filter to display domain name of an url
237 $filter = new Twig_SimpleFilter('getDomain', 'Tools::getDomain');
238 $this->tpl->addFilter($filter);
239
240 # filter for reading time
241 $filter = new Twig_SimpleFilter('getReadingTime', 'Tools::getReadingTime');
242 $this->tpl->addFilter($filter);
243 } 235 }
244 236
245 public function createNewUser() { 237 public function createNewUser() {
diff --git a/inc/poche/Tools.class.php b/inc/poche/Tools.class.php
index 1ef875c9..13f48903 100755
--- a/inc/poche/Tools.class.php
+++ b/inc/poche/Tools.class.php
@@ -214,20 +214,6 @@ class Tools
214 return ((isset ($_REQUEST["$var"])) ? htmlentities($_REQUEST["$var"]) : $default); 214 return ((isset ($_REQUEST["$var"])) ? htmlentities($_REQUEST["$var"]) : $default);
215 } 215 }
216 216
217 public static function getDomain($url)
218 {
219 return parse_url($url, PHP_URL_HOST);
220 }
221
222 public static function getReadingTime($text) {
223 $word = str_word_count(strip_tags($text));
224 $minutes = floor($word / 200);
225 $seconds = floor($word % 200 / (200 / 60));
226 $time = array('minutes' => $minutes, 'seconds' => $seconds);
227
228 return $minutes;
229 }
230
231 public static function getDocLanguage($userlanguage) { 217 public static function getDocLanguage($userlanguage) {
232 $lang = explode('.', $userlanguage); 218 $lang = explode('.', $userlanguage);
233 return str_replace('_', '-', $lang[0]); 219 return str_replace('_', '-', $lang[0]);
diff --git a/install/poche.sqlite b/install/poche.sqlite
index f2b79b68..4c0f8139 100755..100644
--- a/install/poche.sqlite
+++ b/install/poche.sqlite
Binary files differ
diff --git a/themes/baggy/home.twig b/themes/baggy/home.twig
index 3942d3bf..b819d801 100755
--- a/themes/baggy/home.twig
+++ b/themes/baggy/home.twig
@@ -40,16 +40,17 @@
40 {% for entry in entries %} 40 {% for entry in entries %}
41 <div id="entry-{{ entry.id|e }}" class="entrie"{% if listmode %} style="width:100%; margin-left:0;"{% endif %}> 41 <div id="entry-{{ entry.id|e }}" class="entrie"{% if listmode %} style="width:100%; margin-left:0;"{% endif %}>
42 <h2><a href="index.php?view=view&amp;id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2> 42 <h2><a href="index.php?view=view&amp;id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2>
43 {% if entry.content| getReadingTime > 0 %} 43 <div>{{ entry.date }}</div>
44 <div class="estimatedTime"><a target="_blank" title="{% trans "estimated reading time:" %} {{ entry.content| getReadingTime }} min" class="tool reading-time"><span>{% trans "estimated reading time :" %} {{ entry.content| getReadingTime }} min</span></div> 44 {% if entry.reading_time > 0 %}
45 <div class="estimatedTime"><a target="_blank" title="{% trans "estimated reading time:" %} {{ entry.reading_time }} min" class="tool reading-time"><span>{% trans "estimated reading time :" %} {{ entry.reading_time }} min</span></div>
45 {% else %} 46 {% else %}
46 <div class="estimatedTime"><a target="_blank" title="{% trans "estimated reading time:" %} {{ entry.content| getReadingTime }} min" class="tool reading-time"><span>{% trans "estimated reading time :" %} <small class="inferieur"><</small> 1 min</span></div> 47 <div class="estimatedTime"><a target="_blank" title="{% trans "estimated reading time:" %} {{ entry.reading_time }} min" class="tool reading-time"><span>{% trans "estimated reading time :" %} <small class="inferieur"><</small> 1 min</span></div>
47 {% endif %} 48 {% endif %}
48 <ul class="tools links"> 49 <ul class="tools links">
49 <li><a title="{% trans "Toggle mark as read" %}" class="tool icon-check icon {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="./?action=toggle_archive&amp;id={{ entry.id|e }}"><span>{% trans "Toggle mark as read" %}</span></a></li> 50 <li><a title="{% trans "Toggle mark as read" %}" class="tool icon-check icon {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="./?action=toggle_archive&amp;id={{ entry.id|e }}"><span>{% trans "Toggle mark as read" %}</span></a></li>
50 <li><a title="{% trans "toggle favorite" %}" class="tool icon-star icon {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="./?action=toggle_fav&amp;id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li> 51 <li><a title="{% trans "toggle favorite" %}" class="tool icon-star icon {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="./?action=toggle_fav&amp;id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
51 <li><a title="{% trans "delete" %}" class="tool delete icon-trash icon" href="./?action=delete&amp;id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li> 52 <li><a title="{% trans "delete" %}" class="tool delete icon-trash icon" href="./?action=delete&amp;id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
52 <li><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}" class="tool link icon-link icon"><span>{{ entry.url | e | getDomain }}</span></a></li> 53 <li><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}" class="tool link icon-link icon"><span>{{ entry.domain_name }}</span></a></li>
53 </ul> 54 </ul>
54 <p>{{ entry.content|striptags|slice(0, 300) }}...</p> 55 <p>{{ entry.content|striptags|slice(0, 300) }}...</p>
55 </div> 56 </div>