diff options
-rwxr-xr-x | inc/poche/Database.class.php | 17 | ||||
-rwxr-xr-x | inc/poche/Poche.class.php | 21 | ||||
-rw-r--r-- | install/index.php | 6 | ||||
-rwxr-xr-x[-rw-r--r--] | themes/baggy/config.twig | 27 | ||||
-rwxr-xr-x | themes/baggy/css/main.css | 7 | ||||
-rwxr-xr-x | themes/baggy/home.twig | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | themes/baggy/layout.twig | 3 | ||||
-rwxr-xr-x | themes/courgette/home.twig | 8 | ||||
-rwxr-xr-x | themes/default/_sorting.twig | 4 | ||||
-rwxr-xr-x | themes/default/home.twig | 8 |
10 files changed, 61 insertions, 48 deletions
diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php index 9adb1644..6244df88 100755 --- a/inc/poche/Database.class.php +++ b/inc/poche/Database.class.php | |||
@@ -407,14 +407,15 @@ class Database { | |||
407 | public function getLastId($column = '') { | 407 | public function getLastId($column = '') { |
408 | return $this->getHandle()->lastInsertId($column); | 408 | return $this->getHandle()->lastInsertId($column); |
409 | } | 409 | } |
410 | 410 | ||
411 | public function search($term){ | 411 | public function search($term, $user_id, $limit = '') { |
412 | $search = '%'.$term.'%'; | 412 | $search = '%'.$term.'%'; |
413 | $query = $this->getHandle()->prepare("SELECT * FROM entries WHERE content LIKE ? OR title LIKE ? OR url LIKE ?"); //searches in content, title and URL | 413 | $sql_action = "SELECT * FROM entries WHERE user_id=? AND (content LIKE ? OR title LIKE ? OR url LIKE ?) "; //searches in content, title and URL |
414 | $query->execute(array($search,$search,$search)); | 414 | $sql_action .= $this->getEntriesOrder().' ' . $limit; |
415 | $entries = $query->fetchAll(); | 415 | $params_action = array($user_id, $search, $search, $search); |
416 | return $entries; | 416 | $query = $this->executeQuery($sql_action, $params_action); |
417 | } | 417 | return $query->fetchAll(); |
418 | } | ||
418 | 419 | ||
419 | public function retrieveAllTags($user_id, $term = null) { | 420 | public function retrieveAllTags($user_id, $term = null) { |
420 | $sql = "SELECT DISTINCT tags.*, count(entries.id) AS entriescount FROM tags | 421 | $sql = "SELECT DISTINCT tags.*, count(entries.id) AS entriescount FROM tags |
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index d1b0c945..ee3b2ac2 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php | |||
@@ -597,14 +597,19 @@ class Poche | |||
597 | 'tags' => $tags, | 597 | 'tags' => $tags, |
598 | ); | 598 | ); |
599 | break; | 599 | break; |
600 | 600 | case 'search': | |
601 | case 'search': | 601 | if (isset($_GET['search'])) { |
602 | if (isset($_GET['search'])){ | 602 | $search = filter_var($_GET['search'], FILTER_SANITIZE_STRING); |
603 | $search = $_GET['search']; | 603 | $tpl_vars['entries'] = $this->store->search($search, $this->user->getId()); |
604 | $tpl_vars['entries'] = $this->store->search($search); | 604 | $count = count($tpl_vars['entries']); |
605 | $tpl_vars['nb_results'] = count($tpl_vars['entries']); | 605 | $this->pagination->set_total($count); |
606 | } | 606 | $page_links = str_replace(array('previous', 'next'), array(_('previous'), _('next')), |
607 | break; | 607 | $this->pagination->page_links('?view=' . $view . '?search=' . $search . '&sort=' . $_SESSION['sort'] . '&' )); |
608 | $tpl_vars['page_links'] = $page_links; | ||
609 | $tpl_vars['nb_results'] = $count; | ||
610 | $tpl_vars['search_term'] = $search; | ||
611 | } | ||
612 | break; | ||
608 | case 'view': | 613 | case 'view': |
609 | $entry = $this->store->retrieveOneById($id, $this->user->getId()); | 614 | $entry = $this->store->retrieveOneById($id, $this->user->getId()); |
610 | if ($entry != NULL) { | 615 | if ($entry != NULL) { |
diff --git a/install/index.php b/install/index.php index e63b2423..e02952e0 100644 --- a/install/index.php +++ b/install/index.php | |||
@@ -24,7 +24,7 @@ if (isset($_GET['clean'])) { | |||
24 | 24 | ||
25 | if (isset($_POST['download'])) { | 25 | if (isset($_POST['download'])) { |
26 | if (!file_put_contents("cache/vendor.zip", fopen("http://static.wallabag.org/files/vendor.zip", 'r'))) { | 26 | if (!file_put_contents("cache/vendor.zip", fopen("http://static.wallabag.org/files/vendor.zip", 'r'))) { |
27 | $errors[] = 'Impossible to download vendor.zip. Please <a href="http://wllbg.org/vendor">download it manually<∕a> and unzip it in your wallabag folder.'; | 27 | $errors[] = 'Impossible to download vendor.zip. Please <a href="http://wllbg.org/vendor">download it manually</a> and unzip it in your wallabag folder.'; |
28 | } | 28 | } |
29 | else { | 29 | else { |
30 | if (extension_loaded('zip')) { | 30 | if (extension_loaded('zip')) { |
@@ -165,7 +165,7 @@ else if (isset($_POST['install'])) { | |||
165 | <!--[if IE]> | 165 | <!--[if IE]> |
166 | <meta http-equiv="X-UA-Compatible" content="IE=10"> | 166 | <meta http-equiv="X-UA-Compatible" content="IE=10"> |
167 | <![endif]--> | 167 | <![endif]--> |
168 | <title>wallabag — installation</title> | 168 | <title>wallabag - installation</title> |
169 | <link rel="shortcut icon" type="image/x-icon" href="themes/baggy/img/favicon.ico" /> | 169 | <link rel="shortcut icon" type="image/x-icon" href="themes/baggy/img/favicon.ico" /> |
170 | <link rel="apple-touch-icon-precomposed" sizes="144x144" href="themes/baggy/img/apple-touch-icon-144x144-precomposed.png"> | 170 | <link rel="apple-touch-icon-precomposed" sizes="144x144" href="themes/baggy/img/apple-touch-icon-144x144-precomposed.png"> |
171 | <link rel="apple-touch-icon-precomposed" sizes="72x72" href="themes/baggy/img/apple-touch-icon-72x72-precomposed.png"> | 171 | <link rel="apple-touch-icon-precomposed" sizes="72x72" href="themes/baggy/img/apple-touch-icon-72x72-precomposed.png"> |
@@ -176,7 +176,7 @@ else if (isset($_POST['install'])) { | |||
176 | <link rel="stylesheet" href="themes/baggy/css/main.css" media="all"> | 176 | <link rel="stylesheet" href="themes/baggy/css/main.css" media="all"> |
177 | <link rel="stylesheet" href="themes/baggy/css/messages.css" media="all"> | 177 | <link rel="stylesheet" href="themes/baggy/css/messages.css" media="all"> |
178 | <link rel="stylesheet" href="themes/baggy/css/print.css" media="print"> | 178 | <link rel="stylesheet" href="themes/baggy/css/print.css" media="print"> |
179 | <script src="themes/baggy/js/jquery-2.0.3.min.js"></script> | 179 | <script src="themes/default/js/jquery-2.0.3.min.js"></script> |
180 | <script src="themes/baggy/js/init.js"></script> | 180 | <script src="themes/baggy/js/init.js"></script> |
181 | </head> | 181 | </head> |
182 | <body> | 182 | <body> |
diff --git a/themes/baggy/config.twig b/themes/baggy/config.twig index a13af0c8..fc7890ec 100644..100755 --- a/themes/baggy/config.twig +++ b/themes/baggy/config.twig | |||
@@ -105,37 +105,20 @@ | |||
105 | {% endif %} | 105 | {% endif %} |
106 | 106 | ||
107 | <h2>{% trans "Import" %}</h2> | 107 | <h2>{% trans "Import" %}</h2> |
108 | <p>{% trans "Importing from other services can be quite long, and webservers default configuration often prevents long scripts execution time, so it must be done in multiple parts." %}</p> | 108 | <p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p> |
109 | <p>1. {% trans "First, select the export file on your computer and upload it." %}</p> | 109 | <p>{% trans "Please select export file on your computer:" %}</p> |
110 | <form method="post" action="?uploadfile" name="uploadfile" enctype="multipart/form-data"> | 110 | <form method="post" action="?import" name="uploadfile" enctype="multipart/form-data"> |
111 | <fieldset class="w500p"> | 111 | <fieldset class="w500p"> |
112 | <div class="row"> | 112 | <div class="row"> |
113 | <label class="col w150p" for="file">{% trans "File:" %}</label> | 113 | <label class="col w150p" for="file">{% trans "File:" %}</label> |
114 | <input class="col" type="file" id="file" name="file" tabindex="4"> | 114 | <input class="col" type="file" id="file" name="file" tabindex="4"> |
115 | </div> | 115 | </div> |
116 | <div class="row mts txtcenter"> | 116 | <div class="row mts txtcenter"> |
117 | <button class="bouton" type="submit" tabindex="4">{% trans "Upload" %}</button> | 117 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> |
118 | </div> | 118 | </div> |
119 | </fieldset> | 119 | </fieldset> |
120 | <input type="hidden" name="MAX_FILE_SIZE" value="1048576"> | ||
121 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
122 | </form> | 120 | </form> |
123 | <p>2. {% trans "Then, click on the right link below." %}</p> | 121 | |
124 | <ul> | ||
125 | <li><a href="./?import&from=pocket">{% trans "Import from Pocket" %}</a> {{ '(after uploaded %s file)'|trans|format(constant('POCKET_FILE')) }}</li> | ||
126 | <li><a href="./?import&from=readability">{% trans "Import from Readability" %}</a> {{ '(after uploaded %s file)'|trans|format(constant('READABILITY_FILE')) }}</li> | ||
127 | <li><a href="./?import&from=instapaper">{% trans "Import from Instapaper" %}</a> {{ '(after uploaded %s file)'|trans|format(constant('INSTAPAPER_FILE')) }}</li> | ||
128 | <li><a href="./?import&from=poche">{% trans "Import from wallabag" %}</a> {{ '(after uploaded %s file)'|trans|format(constant('POCHE_FILE')) }}</li> | ||
129 | </ul> | ||
130 | |||
131 | {% if token == '' %} | ||
132 | <p>{% trans "3. Your feed token is currently empty and must first be generated to fetch content. Click <a href='?feed&action=generate'>here to generate it</a>." %}</p> | ||
133 | {% else %} | ||
134 | <p>3. {% trans "Finally, you have to fetch content for imported items." %} <a href="cron.php?limit=10&user-id={{ user_id }}&token={{token}}" target="_blank">{% trans "Click here" %}</a> {% trans "to fetch content for 10 articles" %}.</p> | ||
135 | <p>{% trans "If you have console access to your server, you can also create a cron task:" %}</p> | ||
136 | <pre><code>0 */4 * * * cd /path/to/wallabag && php cron.php --limit=10 --user-id={{user_id}} --token={{token}} >/dev/null 2>&1</code></pre> | ||
137 | {% endif %} | ||
138 | |||
139 | <h2>{% trans "Export your wallabag data" %}</h2> | 122 | <h2>{% trans "Export your wallabag data" %}</h2> |
140 | {% if constant('STORAGE') == 'sqlite' %} | 123 | {% if constant('STORAGE') == 'sqlite' %} |
141 | <p><a href="?download" target="_blank">{% trans "Click here" %}</a> {% trans "to download your database." %}</p>{% endif %} | 124 | <p><a href="?download" target="_blank">{% trans "Click here" %}</a> {% trans "to download your database." %}</p>{% endif %} |
diff --git a/themes/baggy/css/main.css b/themes/baggy/css/main.css index 6e328ba1..9a45544b 100755 --- a/themes/baggy/css/main.css +++ b/themes/baggy/css/main.css | |||
@@ -777,7 +777,7 @@ margin-top:1em; | |||
777 | } | 777 | } |
778 | 778 | ||
779 | .warning { | 779 | .warning { |
780 | font-size: 3em; | 780 | /* font-size: 3em; |
781 | color: #999; | 781 | color: #999; |
782 | font-style: italic; | 782 | font-style: italic; |
783 | position: absolute; | 783 | position: absolute; |
@@ -786,7 +786,10 @@ margin-top:1em; | |||
786 | width: 100%; | 786 | width: 100%; |
787 | text-align: center; | 787 | text-align: center; |
788 | padding-right: 5%; | 788 | padding-right: 5%; |
789 | margin-top: -2em; | 789 | margin-top: -2em;*/ |
790 | font-weight: bold; | ||
791 | display: block; | ||
792 | width: 100%; | ||
790 | } | 793 | } |
791 | 794 | ||
792 | /* ========================================================================== | 795 | /* ========================================================================== |
diff --git a/themes/baggy/home.twig b/themes/baggy/home.twig index e34897fa..5dd91307 100755 --- a/themes/baggy/home.twig +++ b/themes/baggy/home.twig | |||
@@ -25,9 +25,15 @@ | |||
25 | {% block pager %} | 25 | {% block pager %} |
26 | {% if nb_results > 1 %} | 26 | {% if nb_results > 1 %} |
27 | <div class="results"> | 27 | <div class="results"> |
28 | <div class="nb-results">{{ nb_results }} {% trans "results" %}</div> | 28 | <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %}{% trans " found for « " %} {{ search_term }} »{% endif %}</div> |
29 | {{ page_links | raw }} | 29 | {{ page_links | raw }} |
30 | </div> | 30 | </div> |
31 | {% elseif nb_results == 1 %} | ||
32 | {% if search_term is defined %} | ||
33 | <div class="results"> | ||
34 | <div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div> | ||
35 | </div> | ||
36 | {% endif %} | ||
31 | {% endif %} | 37 | {% endif %} |
32 | {% endblock %} | 38 | {% endblock %} |
33 | <div id="list-entries" class="list-entries"> | 39 | <div id="list-entries" class="list-entries"> |
diff --git a/themes/baggy/layout.twig b/themes/baggy/layout.twig index dfebc3ea..8de12749 100644..100755 --- a/themes/baggy/layout.twig +++ b/themes/baggy/layout.twig | |||
@@ -21,6 +21,9 @@ | |||
21 | {% block precontent %}{% endblock %} | 21 | {% block precontent %}{% endblock %} |
22 | {% block messages %} | 22 | {% block messages %} |
23 | {% include '_messages.twig' %} | 23 | {% include '_messages.twig' %} |
24 | {% if includeImport %} | ||
25 | {% include '_import.twig' %} | ||
26 | {% endif %} | ||
24 | {% endblock %} | 27 | {% endblock %} |
25 | <div id="content" class="w600p center"> | 28 | <div id="content" class="w600p center"> |
26 | {% block content %}{% endblock %} | 29 | {% block content %}{% endblock %} |
diff --git a/themes/courgette/home.twig b/themes/courgette/home.twig index 5b229ce9..6ba72d35 100755 --- a/themes/courgette/home.twig +++ b/themes/courgette/home.twig | |||
@@ -26,9 +26,15 @@ | |||
26 | {% block pager %} | 26 | {% block pager %} |
27 | {% if nb_results > 1 %} | 27 | {% if nb_results > 1 %} |
28 | <div class="results"> | 28 | <div class="results"> |
29 | <div class="nb-results">{{ nb_results }} {% trans "results" %}</div> | 29 | <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %}{% trans " found for « " %} {{ search_term }} »{% endif %}</div> |
30 | {{ page_links | raw }} | 30 | {{ page_links | raw }} |
31 | </div> | 31 | </div> |
32 | {% elseif nb_results == 1 %} | ||
33 | {% if search_term is defined %} | ||
34 | <div class="results"> | ||
35 | <div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div> | ||
36 | </div> | ||
37 | {% endif %} | ||
32 | {% endif %} | 38 | {% endif %} |
33 | {% endblock %} | 39 | {% endblock %} |
34 | {% for entry in entries %} | 40 | {% for entry in entries %} |
diff --git a/themes/default/_sorting.twig b/themes/default/_sorting.twig index dfa5cfe4..ce3d38bc 100755 --- a/themes/default/_sorting.twig +++ b/themes/default/_sorting.twig | |||
@@ -1,6 +1,6 @@ | |||
1 | {% if entries|length > 1 %} | 1 | {% if entries|length > 1 %} |
2 | <ul id="sort"> | 2 | <ul id="sort"> |
3 | <li><a href="./?sort=ia&view={{ view }}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by date asc" %}" title="{% trans "by date asc" %}" /></a> {% trans "by date" %} <a href="./?sort=id&view={{ view }}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li> | 3 | <li><a href="./?sort=ia&view={{ view }}{% if search_term is defined %}&search={{ search_term }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by date asc" %}" title="{% trans "by date asc" %}" /></a> {% trans "by date" %} <a href="./?sort=id&view={{ view }}{% if search_term is defined %}&search={{ search_term }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li> |
4 | <li><a href="./?sort=ta&view={{ view }}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by title asc" %}" title="{% trans "by title asc" %}" /></a> {% trans "by title" %} <a href="./?sort=td&view={{ view }}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li> | 4 | <li><a href="./?sort=ta&view={{ view }}{% if search_term is defined %}&search={{ search_term }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by title asc" %}" title="{% trans "by title asc" %}" /></a> {% trans "by title" %} <a href="./?sort=td&view={{ view }}{% if search_term is defined %}&search={{ search_term }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li> |
5 | </ul> | 5 | </ul> |
6 | {% endif %} | 6 | {% endif %} |
diff --git a/themes/default/home.twig b/themes/default/home.twig index e06d65ab..d6cb98e8 100755 --- a/themes/default/home.twig +++ b/themes/default/home.twig | |||
@@ -31,9 +31,15 @@ | |||
31 | {% block pager %} | 31 | {% block pager %} |
32 | {% if nb_results > 1 %} | 32 | {% if nb_results > 1 %} |
33 | <div class="results"> | 33 | <div class="results"> |
34 | <div class="nb-results">{{ nb_results }} {% trans "results" %}</div> | 34 | <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %}{% trans " found for « " %} {{ search_term }} »{% endif %}</div> |
35 | {{ page_links | raw }} | 35 | {{ page_links | raw }} |
36 | </div> | 36 | </div> |
37 | {% elseif nb_results == 1 %} | ||
38 | {% if search_term is defined %} | ||
39 | <div class="results"> | ||
40 | <div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div> | ||
41 | </div> | ||
42 | {% endif %} | ||
37 | {% endif %} | 43 | {% endif %} |
38 | {% endblock %} | 44 | {% endblock %} |
39 | {% for entry in entries %} | 45 | {% for entry in entries %} |