mirror of
https://github.com/wallabag/wallabag.git
synced 2024-12-24 00:20:28 +00:00
import without cron
This commit is contained in:
commit
a4585f7eaa
10 changed files with 61 additions and 48 deletions
|
@ -407,14 +407,15 @@ class Database {
|
||||||
public function getLastId($column = '') {
|
public function getLastId($column = '') {
|
||||||
return $this->getHandle()->lastInsertId($column);
|
return $this->getHandle()->lastInsertId($column);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function search($term){
|
public function search($term, $user_id, $limit = '') {
|
||||||
$search = '%'.$term.'%';
|
$search = '%'.$term.'%';
|
||||||
$query = $this->getHandle()->prepare("SELECT * FROM entries WHERE content LIKE ? OR title LIKE ? OR url LIKE ?"); //searches in content, title and URL
|
$sql_action = "SELECT * FROM entries WHERE user_id=? AND (content LIKE ? OR title LIKE ? OR url LIKE ?) "; //searches in content, title and URL
|
||||||
$query->execute(array($search,$search,$search));
|
$sql_action .= $this->getEntriesOrder().' ' . $limit;
|
||||||
$entries = $query->fetchAll();
|
$params_action = array($user_id, $search, $search, $search);
|
||||||
return $entries;
|
$query = $this->executeQuery($sql_action, $params_action);
|
||||||
}
|
return $query->fetchAll();
|
||||||
|
}
|
||||||
|
|
||||||
public function retrieveAllTags($user_id, $term = null) {
|
public function retrieveAllTags($user_id, $term = null) {
|
||||||
$sql = "SELECT DISTINCT tags.*, count(entries.id) AS entriescount FROM tags
|
$sql = "SELECT DISTINCT tags.*, count(entries.id) AS entriescount FROM tags
|
||||||
|
|
|
@ -597,14 +597,19 @@ class Poche
|
||||||
'tags' => $tags,
|
'tags' => $tags,
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
case 'search':
|
||||||
case 'search':
|
if (isset($_GET['search'])) {
|
||||||
if (isset($_GET['search'])){
|
$search = filter_var($_GET['search'], FILTER_SANITIZE_STRING);
|
||||||
$search = $_GET['search'];
|
$tpl_vars['entries'] = $this->store->search($search, $this->user->getId());
|
||||||
$tpl_vars['entries'] = $this->store->search($search);
|
$count = count($tpl_vars['entries']);
|
||||||
$tpl_vars['nb_results'] = count($tpl_vars['entries']);
|
$this->pagination->set_total($count);
|
||||||
}
|
$page_links = str_replace(array('previous', 'next'), array(_('previous'), _('next')),
|
||||||
break;
|
$this->pagination->page_links('?view=' . $view . '?search=' . $search . '&sort=' . $_SESSION['sort'] . '&' ));
|
||||||
|
$tpl_vars['page_links'] = $page_links;
|
||||||
|
$tpl_vars['nb_results'] = $count;
|
||||||
|
$tpl_vars['search_term'] = $search;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 'view':
|
case 'view':
|
||||||
$entry = $this->store->retrieveOneById($id, $this->user->getId());
|
$entry = $this->store->retrieveOneById($id, $this->user->getId());
|
||||||
if ($entry != NULL) {
|
if ($entry != NULL) {
|
||||||
|
|
|
@ -24,7 +24,7 @@ if (isset($_GET['clean'])) {
|
||||||
|
|
||||||
if (isset($_POST['download'])) {
|
if (isset($_POST['download'])) {
|
||||||
if (!file_put_contents("cache/vendor.zip", fopen("http://static.wallabag.org/files/vendor.zip", 'r'))) {
|
if (!file_put_contents("cache/vendor.zip", fopen("http://static.wallabag.org/files/vendor.zip", 'r'))) {
|
||||||
$errors[] = 'Impossible to download vendor.zip. Please <a href="http://wllbg.org/vendor">download it manually<∕a> and unzip it in your wallabag folder.';
|
$errors[] = 'Impossible to download vendor.zip. Please <a href="http://wllbg.org/vendor">download it manually</a> and unzip it in your wallabag folder.';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (extension_loaded('zip')) {
|
if (extension_loaded('zip')) {
|
||||||
|
@ -165,7 +165,7 @@ else if (isset($_POST['install'])) {
|
||||||
<!--[if IE]>
|
<!--[if IE]>
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=10">
|
<meta http-equiv="X-UA-Compatible" content="IE=10">
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
<title>wallabag — installation</title>
|
<title>wallabag - installation</title>
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="themes/baggy/img/favicon.ico" />
|
<link rel="shortcut icon" type="image/x-icon" href="themes/baggy/img/favicon.ico" />
|
||||||
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="themes/baggy/img/apple-touch-icon-144x144-precomposed.png">
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="themes/baggy/img/apple-touch-icon-144x144-precomposed.png">
|
||||||
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="themes/baggy/img/apple-touch-icon-72x72-precomposed.png">
|
<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'])) {
|
||||||
<link rel="stylesheet" href="themes/baggy/css/main.css" media="all">
|
<link rel="stylesheet" href="themes/baggy/css/main.css" media="all">
|
||||||
<link rel="stylesheet" href="themes/baggy/css/messages.css" media="all">
|
<link rel="stylesheet" href="themes/baggy/css/messages.css" media="all">
|
||||||
<link rel="stylesheet" href="themes/baggy/css/print.css" media="print">
|
<link rel="stylesheet" href="themes/baggy/css/print.css" media="print">
|
||||||
<script src="themes/baggy/js/jquery-2.0.3.min.js"></script>
|
<script src="themes/default/js/jquery-2.0.3.min.js"></script>
|
||||||
<script src="themes/baggy/js/init.js"></script>
|
<script src="themes/baggy/js/init.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
27
themes/baggy/config.twig
Normal file → Executable file
27
themes/baggy/config.twig
Normal file → Executable file
|
@ -105,37 +105,20 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<h2>{% trans "Import" %}</h2>
|
<h2>{% trans "Import" %}</h2>
|
||||||
<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>
|
<p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p>
|
||||||
<p>1. {% trans "First, select the export file on your computer and upload it." %}</p>
|
<p>{% trans "Please select export file on your computer:" %}</p>
|
||||||
<form method="post" action="?uploadfile" name="uploadfile" enctype="multipart/form-data">
|
<form method="post" action="?import" name="uploadfile" enctype="multipart/form-data">
|
||||||
<fieldset class="w500p">
|
<fieldset class="w500p">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label class="col w150p" for="file">{% trans "File:" %}</label>
|
<label class="col w150p" for="file">{% trans "File:" %}</label>
|
||||||
<input class="col" type="file" id="file" name="file" tabindex="4">
|
<input class="col" type="file" id="file" name="file" tabindex="4">
|
||||||
</div>
|
</div>
|
||||||
<div class="row mts txtcenter">
|
<div class="row mts txtcenter">
|
||||||
<button class="bouton" type="submit" tabindex="4">{% trans "Upload" %}</button>
|
<button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
|
|
||||||
<input type="hidden" name="returnurl" value="{{ referer }}">
|
|
||||||
</form>
|
</form>
|
||||||
<p>2. {% trans "Then, click on the right link below." %}</p>
|
|
||||||
<ul>
|
|
||||||
<li><a href="./?import&from=pocket">{% trans "Import from Pocket" %}</a> {{ '(after uploaded %s file)'|trans|format(constant('POCKET_FILE')) }}</li>
|
|
||||||
<li><a href="./?import&from=readability">{% trans "Import from Readability" %}</a> {{ '(after uploaded %s file)'|trans|format(constant('READABILITY_FILE')) }}</li>
|
|
||||||
<li><a href="./?import&from=instapaper">{% trans "Import from Instapaper" %}</a> {{ '(after uploaded %s file)'|trans|format(constant('INSTAPAPER_FILE')) }}</li>
|
|
||||||
<li><a href="./?import&from=poche">{% trans "Import from wallabag" %}</a> {{ '(after uploaded %s file)'|trans|format(constant('POCHE_FILE')) }}</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
{% if token == '' %}
|
|
||||||
<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>
|
|
||||||
{% else %}
|
|
||||||
<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>
|
|
||||||
<p>{% trans "If you have console access to your server, you can also create a cron task:" %}</p>
|
|
||||||
<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>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<h2>{% trans "Export your wallabag data" %}</h2>
|
<h2>{% trans "Export your wallabag data" %}</h2>
|
||||||
{% if constant('STORAGE') == 'sqlite' %}
|
{% if constant('STORAGE') == 'sqlite' %}
|
||||||
<p><a href="?download" target="_blank">{% trans "Click here" %}</a> {% trans "to download your database." %}</p>{% endif %}
|
<p><a href="?download" target="_blank">{% trans "Click here" %}</a> {% trans "to download your database." %}</p>{% endif %}
|
||||||
|
|
|
@ -777,7 +777,7 @@ margin-top:1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.warning {
|
.warning {
|
||||||
font-size: 3em;
|
/* font-size: 3em;
|
||||||
color: #999;
|
color: #999;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -786,7 +786,10 @@ margin-top:1em;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding-right: 5%;
|
padding-right: 5%;
|
||||||
margin-top: -2em;
|
margin-top: -2em;*/
|
||||||
|
font-weight: bold;
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ==========================================================================
|
/* ==========================================================================
|
||||||
|
|
|
@ -25,9 +25,15 @@
|
||||||
{% block pager %}
|
{% block pager %}
|
||||||
{% if nb_results > 1 %}
|
{% if nb_results > 1 %}
|
||||||
<div class="results">
|
<div class="results">
|
||||||
<div class="nb-results">{{ nb_results }} {% trans "results" %}</div>
|
<div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %}{% trans " found for « " %} {{ search_term }} »{% endif %}</div>
|
||||||
{{ page_links | raw }}
|
{{ page_links | raw }}
|
||||||
</div>
|
</div>
|
||||||
|
{% elseif nb_results == 1 %}
|
||||||
|
{% if search_term is defined %}
|
||||||
|
<div class="results">
|
||||||
|
<div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
<div id="list-entries" class="list-entries">
|
<div id="list-entries" class="list-entries">
|
||||||
|
|
3
themes/baggy/layout.twig
Normal file → Executable file
3
themes/baggy/layout.twig
Normal file → Executable file
|
@ -21,6 +21,9 @@
|
||||||
{% block precontent %}{% endblock %}
|
{% block precontent %}{% endblock %}
|
||||||
{% block messages %}
|
{% block messages %}
|
||||||
{% include '_messages.twig' %}
|
{% include '_messages.twig' %}
|
||||||
|
{% if includeImport %}
|
||||||
|
{% include '_import.twig' %}
|
||||||
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
<div id="content" class="w600p center">
|
<div id="content" class="w600p center">
|
||||||
{% block content %}{% endblock %}
|
{% block content %}{% endblock %}
|
||||||
|
|
|
@ -26,9 +26,15 @@
|
||||||
{% block pager %}
|
{% block pager %}
|
||||||
{% if nb_results > 1 %}
|
{% if nb_results > 1 %}
|
||||||
<div class="results">
|
<div class="results">
|
||||||
<div class="nb-results">{{ nb_results }} {% trans "results" %}</div>
|
<div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %}{% trans " found for « " %} {{ search_term }} »{% endif %}</div>
|
||||||
{{ page_links | raw }}
|
{{ page_links | raw }}
|
||||||
</div>
|
</div>
|
||||||
|
{% elseif nb_results == 1 %}
|
||||||
|
{% if search_term is defined %}
|
||||||
|
<div class="results">
|
||||||
|
<div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% for entry in entries %}
|
{% for entry in entries %}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{% if entries|length > 1 %}
|
{% if entries|length > 1 %}
|
||||||
<ul id="sort">
|
<ul id="sort">
|
||||||
<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>
|
<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>
|
||||||
<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>
|
<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>
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -31,9 +31,15 @@
|
||||||
{% block pager %}
|
{% block pager %}
|
||||||
{% if nb_results > 1 %}
|
{% if nb_results > 1 %}
|
||||||
<div class="results">
|
<div class="results">
|
||||||
<div class="nb-results">{{ nb_results }} {% trans "results" %}</div>
|
<div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %}{% trans " found for « " %} {{ search_term }} »{% endif %}</div>
|
||||||
{{ page_links | raw }}
|
{{ page_links | raw }}
|
||||||
</div>
|
</div>
|
||||||
|
{% elseif nb_results == 1 %}
|
||||||
|
{% if search_term is defined %}
|
||||||
|
<div class="results">
|
||||||
|
<div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% for entry in entries %}
|
{% for entry in entries %}
|
||||||
|
|
Loading…
Reference in a new issue