diff options
24 files changed, 840 insertions, 79 deletions
diff --git a/inc/3rdparty/site_config/standard/gist.github.com.txt b/inc/3rdparty/site_config/standard/gist.github.com.txt index 90207862..f11b7b42 100755 --- a/inc/3rdparty/site_config/standard/gist.github.com.txt +++ b/inc/3rdparty/site_config/standard/gist.github.com.txt | |||
@@ -1,6 +1,4 @@ | |||
1 | body: //div[@class="highlight"]/pre | ||
2 | 1 | ||
3 | prune: no | 2 | title: //div[contains(@class,'gist-description')] |
4 | tidy: no | 3 | body: //div[contains(@class,'blob-wrapper')] |
5 | 4 | test_url: https://gist.github.com/staltz/868e7e9bc2a7b8c1f754 | |
6 | test_url: https://gist.github.com/1258908 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/jungle-world.com.txt b/inc/3rdparty/site_config/standard/jungle-world.com.txt new file mode 100644 index 00000000..61e0087f --- /dev/null +++ b/inc/3rdparty/site_config/standard/jungle-world.com.txt | |||
@@ -0,0 +1,3 @@ | |||
1 | title: //h1 | ||
2 | body: //div[contains(@class,'story')] | ||
3 | test_url: http://jungle-world.com/artikel/2015/02/51207.html | ||
diff --git a/inc/3rdparty/site_config/standard/toolinux.com.txt b/inc/3rdparty/site_config/standard/toolinux.com.txt new file mode 100755 index 00000000..3f1a8405 --- /dev/null +++ b/inc/3rdparty/site_config/standard/toolinux.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | title: //h2[contains(@class,'news')] | ||
2 | body: //div[contains(@class,'articleContent')] | ||
3 | date: substring-after(//div[@class = 'SupaDate']/text(), 'le') | ||
4 | |||
5 | test_url: http://www.toolinux.com/Wi-Fi-Linksys-WRT-la-legende-de | ||
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index f9928145..a601f0a8 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php | |||
@@ -195,9 +195,9 @@ class Poche | |||
195 | } | 195 | } |
196 | 196 | ||
197 | if ($autoclose == TRUE) { | 197 | if ($autoclose == TRUE) { |
198 | Tools::redirect('?view=home'); | 198 | Tools::redirect('?view=home&closewin=true'); |
199 | } else { | 199 | } else { |
200 | Tools::redirect('?view=home&closewin=true'); | 200 | Tools::redirect('?view=home'); |
201 | } | 201 | } |
202 | return $last_id; | 202 | return $last_id; |
203 | break; | 203 | break; |
diff --git a/inc/poche/Routing.class.php b/inc/poche/Routing.class.php index a8d00b89..709831d5 100755 --- a/inc/poche/Routing.class.php +++ b/inc/poche/Routing.class.php | |||
@@ -33,6 +33,7 @@ class Routing | |||
33 | $this->view = Tools::checkVar('view', 'home'); | 33 | $this->view = Tools::checkVar('view', 'home'); |
34 | $this->action = Tools::checkVar('action'); | 34 | $this->action = Tools::checkVar('action'); |
35 | $this->id = Tools::checkVar('id'); | 35 | $this->id = Tools::checkVar('id'); |
36 | $this->autoclose = Tools::checkVar('autoclose',FALSE); | ||
36 | $_SESSION['sort'] = Tools::checkVar('sort', 'id'); | 37 | $_SESSION['sort'] = Tools::checkVar('sort', 'id'); |
37 | $this->url = new Url((isset ($_GET['url'])) ? $_GET['url'] : ''); | 38 | $this->url = new Url((isset ($_GET['url'])) ? $_GET['url'] : ''); |
38 | } | 39 | } |
@@ -64,7 +65,7 @@ class Routing | |||
64 | $tplVars = array(); | 65 | $tplVars = array(); |
65 | 66 | ||
66 | if (\Session::isLogged()) { | 67 | if (\Session::isLogged()) { |
67 | $this->wallabag->action($this->action, $this->url, $this->id); | 68 | $this->wallabag->action($this->action, $this->url, $this->id, FALSE, $this->autoclose); |
68 | $tplFile = Tools::getTplFile($this->view); | 69 | $tplFile = Tools::getTplFile($this->view); |
69 | $tplVars = array_merge($this->vars, $this->wallabag->displayView($this->view, $this->id)); | 70 | $tplVars = array_merge($this->vars, $this->wallabag->displayView($this->view, $this->id)); |
70 | } elseif(isset($_SERVER['PHP_AUTH_USER'])) { | 71 | } elseif(isset($_SERVER['PHP_AUTH_USER'])) { |
diff --git a/inc/poche/config.inc.default.php b/inc/poche/config.inc.default.php index aaaf12a6..91b50c24 100755 --- a/inc/poche/config.inc.default.php +++ b/inc/poche/config.inc.default.php | |||
@@ -44,6 +44,7 @@ | |||
44 | @define ('SHARE_MAIL', TRUE); | 44 | @define ('SHARE_MAIL', TRUE); |
45 | @define ('SHARE_SHAARLI', FALSE); | 45 | @define ('SHARE_SHAARLI', FALSE); |
46 | @define ('SHAARLI_URL', 'http://myshaarliurl.com'); | 46 | @define ('SHAARLI_URL', 'http://myshaarliurl.com'); |
47 | @define ('SHARE_EVERNOTE', FALSE); | ||
47 | @define ('SHARE_DIASPORA', FALSE); | 48 | @define ('SHARE_DIASPORA', FALSE); |
48 | @define ('DIASPORA_URL', 'http://diasporapod.com'); # Don't add a / at the end | 49 | @define ('DIASPORA_URL', 'http://diasporapod.com'); # Don't add a / at the end |
49 | @define ('FLATTR', TRUE); | 50 | @define ('FLATTR', TRUE); |
diff --git a/install/index.php b/install/index.php index 892af241..bd9e502d 100755 --- a/install/index.php +++ b/install/index.php | |||
@@ -11,7 +11,7 @@ | |||
11 | $errors = array(); | 11 | $errors = array(); |
12 | $successes = array(); | 12 | $successes = array(); |
13 | 13 | ||
14 | require_once('wallabag_compatibility_test.php'); | 14 | require_once('install_functions.php'); |
15 | 15 | ||
16 | if (isset($_GET['clean'])) { | 16 | if (isset($_GET['clean'])) { |
17 | if (is_dir('install')){ | 17 | if (is_dir('install')){ |
@@ -49,6 +49,7 @@ else if (isset($_POST['install'])) { | |||
49 | $errors[] = 'You must install twig before.'; | 49 | $errors[] = 'You must install twig before.'; |
50 | } else { | 50 | } else { |
51 | $continue = true; | 51 | $continue = true; |
52 | $final = false; | ||
52 | $salt = generate_salt(); | 53 | $salt = generate_salt(); |
53 | $content = file_get_contents('inc/poche/config.inc.default.php'); | 54 | $content = file_get_contents('inc/poche/config.inc.default.php'); |
54 | 55 | ||
@@ -75,14 +76,20 @@ else if (isset($_POST['install'])) { | |||
75 | try { | 76 | try { |
76 | 77 | ||
77 | if ($_POST['db_engine'] == 'mysql') { | 78 | if ($_POST['db_engine'] == 'mysql') { |
78 | $db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database'] . ';charset=utf8mb4'; | 79 | if (isset($_POST['mysql_utf8_mb4'])) { |
80 | //with UTF8-MB4 | ||
81 | $db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database'] . ';charset=utf8mb4'; | ||
82 | $handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password'], array( | ||
83 | PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4', | ||
84 | )); | ||
85 | } else { // regular UTF8 | ||
86 | $db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database']; | ||
87 | $handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password']); | ||
88 | } | ||
79 | $content = str_replace("define ('STORAGE_SERVER', 'localhost');", "define ('STORAGE_SERVER', '".$_POST['mysql_server']."');", $content); | 89 | $content = str_replace("define ('STORAGE_SERVER', 'localhost');", "define ('STORAGE_SERVER', '".$_POST['mysql_server']."');", $content); |
80 | $content = str_replace("define ('STORAGE_DB', 'poche');", "define ('STORAGE_DB', '".$_POST['mysql_database']."');", $content); | 90 | $content = str_replace("define ('STORAGE_DB', 'poche');", "define ('STORAGE_DB', '".$_POST['mysql_database']."');", $content); |
81 | $content = str_replace("define ('STORAGE_USER', 'poche');", "define ('STORAGE_USER', '".$_POST['mysql_user']."');", $content); | 91 | $content = str_replace("define ('STORAGE_USER', 'poche');", "define ('STORAGE_USER', '".$_POST['mysql_user']."');", $content); |
82 | $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['mysql_password']."');", $content); | 92 | $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['mysql_password']."');", $content); |
83 | $handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password'], array( | ||
84 | PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4', | ||
85 | )); | ||
86 | 93 | ||
87 | $moreQueries[] = "INSERT INTO `entries` (`id`, `title`, `url`, `is_read`, `is_fav`, `content`, `user_id`) VALUES | 94 | $moreQueries[] = "INSERT INTO `entries` (`id`, `title`, `url`, `is_read`, `is_fav`, `content`, `user_id`) VALUES |
88 | (1, 'Framabag, un nouveau service libre et gratuit', 'http://www.framablog.org/index.php/post/2014/02/05/Framabag-service-libre-gratuit-interview-developpeur', 0, 0, 0x0a3c68323e556e6520696e74657276696577206465204e69636f6c61732c20736f6e2064c3a976656c6f70706575722e3c2f68323e0a3c703e3c656d3e496c206e6520766f757320612073c3bb72656d656e742070617320c3a96368617070c3a920717565206e6f74726520636f6e736f6d6d6174696f6e20646520636f6e74656e75732064752057656220657374207465727269626c656d656e74206368726f6e6f706861676520657420706172746963756c69c3a872656d656e7420667275737472616e746520746f757420c3a0206c6120666f6973c2a03a206e6f6e207365756c656d656e74206e6f757320706173736f6e732062656175636f7570202874726f70c2a03f292064652074656d707320656e206c69676e6520c3a0206578706c6f726572206c6573206d696e6573206175726966c3a8726573206465206c6120746f696c652c20792064c3a974656374616e742070c3a970697465732065742066696c6f6e732c206d616973206e6f757320736f6d6d657320737572746f757420636f6e7374616d6d656e7420656e206d616e7175652e204dc3aa6d65207369206e6f7573206e6520736f6d6d6573207061732064616e73206c65207a617070696e67206672c3a96ec3a9746971756520736920666163696c656d656e742064c3a96e6f6e63c3a920706172206c657320646f637465732070737963686f6c6f677565732071756920706f6e74696669656e7420737572206c65732064616e67657273206475206e756dc3a9726971756520706f7572206c6573206a65756e65732063657276656c6c65732c20696c206e6f7573207669656e7420736f7576656e74206c6520676fc3bb7420616d6572206465206ce28099696e6163686576c3a9c2a03a20706173206c652074656d707320646520746f7574206c69726520283c6120687265663d22687474703a2f2f66722e77696b74696f6e6172792e6f72672f77696b692f544c4452223e544c3b44523c2f613e2065737420646576656e75206c6520636c696e2064e28099c593696c206d692d6669677565206d692d72616973696e2064e28099756e652067c3a96ec3a9726174696f6e206465206c65637465757273207072657373c3a973292c207061732074726f70206c652074656d70732064652072c3a9666cc3a963686972206e6f6e20706c75732068c3a96c61732c20706173206c652074656d707320646520737569767265206c6120726962616d62656c6c65206465206c69656e73206173736f6369c3a97320c3a020756e2061727469636c65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e506f7572206e6f757320646f6e6e657220626f6e6e6520636f6e736369656e63652c206e6f75732072616e67656f6e73207363727570756c657573656d656e7420756e206d61727175652d7061676520646520706c75732064616e7320756e20736f75732d646f73736965722071756920656e20636f6d706f7274652064c3a96ac3a0203235362c206e6f7573206e6f746f6e7320756e20c3a96cc3a96d656e7420646520706c75732064616e73206c6120746f756a6f757273207269646963756c656d656e74206c6f6e67756520746f75646f756c697374652c2062726566206e6f75732072656d6574746f6e7320c3a020706c757320746172642c2063e280996573742dc3a02d64697265206c6520706c757320736f7576656e742061757820696e74726f757661626c65732063616c656e6465732067726563717565732c206c6520736f696e206465206c69726520767261696d656e7420756e2061727469636c65206a7567c3a920696e74c3a972657373616e742c20646520726567617264657220756e6520766964c3a96f207369676e616cc3a96520706172206c65732072c3a97a6f73736f63696f732c206465206c69726520756e20636861706974726520656e746965722064e28099756e206f75767261676520646973706f6e69626c6520656e206c69676e65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e416c6f7273206269656e2073c3bb722c20c3a02064c3a966617574206465206e6f757320646f6e6e657220746f7574206c652074656d70732071756920736572616974206ec3a963657373616972652c2064657320736f6c7574696f6e73206578697374656e7420706f7572206e6f7573207065726d657474726520646520c2abc2a06c69726520706c75732074617264c2a0c2bb20656e20736175766567617264616e74206c65207072c3a9636965757820706f6c6c656e206465206e6f7320627574696e61676573206465207369746520656e20736974652c2065742064e28099656e20666169726520756c74c3a97269657572656d656e7420766f747265206d69656cc2a03b2063e280996573742062656c20657420626f6e206d616973206c65732072756368657320736f6e7420756e207065752064697374616e7465732c20c3a7612073e28099617070656c6c65206c6520636c6f756420286e6f7320616d69732074656368696573206de280996f6e74206269656e206578706c697175c3a9206d616973206ae280996169207365756c656d656e7420636f6d70726973207175652064657320747275637320c3a0206d6f6920736f6e742073757220646573206d616368696e6573206c6f696e7461696e65732c20c3a761206e65206d652072617373757265207061732074726f702920657420656c6c657320736f6e7420736f7576656e742070726f707269c3a97461697265732c206e65206c61697373616e7420656e7472657220717565206c6573203c733e7574696c69736174657572733c2f733e20636f6e736f6d6d61746575727320706179616e74732065742071756920636f6e73656e74656e7420c3a0206c6575727320636f6e646974696f6e732e2053616e7320636f6d70746572207175652064652067726f7320626f7572646f6e73207669656e6e656e742070726f666974657220706c7573206f75206d6f696e73206469736372c3a874656d656e7420646520746f757465732063657320747261636573206465206e6f75732d6dc3aa6d657320717569207065726d657474656e74206465206d6f6ec3a97469736572206e6f7472652070726f66696cc2a03a207369206a6520636f6c6c65637465207375722063657320736572766963657320286e65206c6573206e6f6d6d6f6e73207061732c206a757374656d656e742920756e652073c3a97269652064e2809961727469636c657320737572206ce280996964c3a965206465204e6174757265206368657a2044696465726f742c206a6520726563657672616920646976657273657320736f6c6c696369746174696f6e7320706f757220646576656e697220636c69656e74206465206c6120626f757469717565204e61747572652026616d703b2044c3a9636f75766572746520647520626f756c65766172642044696465726f742e2045742073692064e280996176656e74757265206c65732070726f6772616d6d6573206465206c61204e5341206d6f756c696e656e7420737572206c6520736572766963652c206a6520736572616920706575742dc3aa74726520756e206a6f75722064616e7320756e65206c6973746520646573206d696c6974616e7473206e61747572697374657320696e64c3a973697261626c657320737572206c657320766f6c73206465206c612050616e416d20286a65206e65207361697320706c75732074726f70207369206a6520706c616973616e7465206cc3a02c2066696e616c656d656e74e280a6293c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6120626f6e6e65206964c3a965c2a03a20c2abc2a0736520636f6e7374697475657220756e2072c3a9736572766f697220646520646f63756d656e74732073c3a96c656374696f6e6ec3a97320c3a020706172636f7572697220706c75732074617264c2a0c2bb20617070656c61697420646f6e6320756e6520617574726520626f6e6e65206964c3a9652c2063656c6c652064e2809961766f6972206c6520636f6e7472c3b46c652064652063652072c3a9736572766f69722c206465206e6f74726520636f6c6c656374696f6e20706572736f6e6e656c6c652e2043e28099657374204e69636f6c6173204cc59375696c6c65742c2063692d646573736f757320696e74657276696577c3a92c207175692073e28099792065737420636f6c6cc3a9206176656320756e652062656c6c65206170706c69636174696f6e20617070656cc3a96520657568e280a6206f75692c20617070656cc3a9652057616c6c616261672e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61736f667420736f757469656e742064e28099617574616e7420706c757320736f6e20696e6974696174697665207175e280993c6120687265663d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f696e6465782e7068702f706f73742f323031342f30312f33312f4765656b74696f6e6e6572642d57616c6c61626167223e6f6e206c7569206120636865726368c3a920646573206d6973c3a872657320706f757220756e6520686973746f697265206465206e6f6d3c2f613e206574207175e28099696c2065737420706f737369626c652064e28099696e7374616c6c657220736f692d6dc3aa6d6520756e6520636f7069652064652057616c6c616261672073757220736f6e2070726f70726520736974652e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6520706574697420706c7573206465204672616d61736f66742c2072c3a97365617520746f756a6f7572732064c3a973697265757820646520766f75732070726f706f7365722064657320616c7465726e617469766573206c6962c3a972617472696365732c2063e2809965737420646520766f75732070726f706f736572202873757220696e736372697074696f6e207072c3a9616c61626c652920756e20616363c3a873206175204672616d616261672c2061757472656d656e742064697420766f7472652057616c6c616261672073757220756e2073657276657572204672616d612a2061766563206e6f74726520676172616e74696520646520636f6e666964656e7469616c6974c3a92e20436f6d6d6520706f7572206c65204672616d616e6577732c206e6f757320766f7573206163637565696c6c6f6e7320766f6c6f6e74696572732064616e73206c61206c696d697465206465206e6f732063617061636974c3a9732c20656e20766f757320696e766974616e7420c3a020766f7573206c616e6365722064616e7320766f747265206175746f2d68c3a962657267656d656e742064652057616c6c616261672e3c6272202f3e4365742061727469636c65206573742074726f70206c6f6e67c2a03f204d657474657a2d6c652064616e73203c6120687265663d22687474703a2f2f7777772e6672616d616261672e6f72672f696e6465782e706870223e766f747265204672616d616261673c2f613e20657420686f702e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61626c6f67c2a03a2053616c7574204e69636f6c6173e280a62054752070657578207465207072c3a973656e74657220627269c3a876656d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e53616c7574c2a0212044c3a976656c6f70706575722050485020646570756973207175656c7175657320616e6ec3a96573206d61696e74656e616e742028313020616e73292c206ae28099616920766f756c75206d652072656d657474726520c3a0206e697665617520746563686e697175656d656e74207061726c616e742028646570756973203320616e732c206ae28099616920706173206d616c206cc3a26368c3a9206c6520636c6176696572292e20506f7572206d6573206265736f696e7320706572736f732c206ae28099616920646f6e63206372c3a9c3a920756e2070657469742070726f6a657420706f75722072656d706c6163657220756e6520736f6c7574696f6e2070726f707269c3a97461697265206578697374616e74652e2053616e7320617563756e65207072c3a974656e74696f6e2c206ae2809961692068c3a962657267c3a92063652070726f6a6574207375722047697468756220657420636f6d6d652063e28099657374206c61207365756c6520736f6c7574696f6e203c656d3e6f70656e20736f757263653c2f656d3e20646520636520747970652c206c65206e6f6d62726520646520706572736f6e6e657320696e74c3a972657373c3a965732061206175676d656e74c3a920e280a63c2f703e0a3c703e3c656d3e4c6573207574696c6973617465757273206465207365727669636573204672616d61736f6674206e65206c6520736176656e742070617320666f7263c3a96d656e742c206d6169732074752061732064c3a96ac3a020706173206d616c207061727469636970c3a920c3a0206c61204672616d6147616c617869652c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e456e2065666665742e204ae28099616920636f6d6d656e63c3a920756e20706c7567696e20706f7572204672616d616e6577732c203c6120687265663d2268747470733a2f2f6769746875622e636f6d2f6e69636f736f6d622f74747273732d70757267652d6163636f756e7473223e74747273732d70757267652d6163636f756e74733c2f613e2c20717569207065726d6574206465206e6574746f796572206c61206261736520646520646f6e6ec3a9657320646520636f6d7074657320706c7573207574696c6973c3a9732e204d616973206365203c656d3e706c7567696e3c2f656d3e2061206265736f696e2064e28099c3aa747265207465726d696ec3a920c3a0203130302520706f757220c3aa74726520696e74c3a96772c3a9206175207365696e206465204672616d616e6577732028657420646f6e632064652054696e792054696e7920525353292c207369207175656c7175e28099756e20736f756861697465206de2809961696465722c20696c206ee2809979206120617563756e20736f7563692e3c6272202f3e4ae28099616920617573736920666169742031206f7520322061707061726974696f6e732064616e73206465732074726164756374696f6e7320706f7572204672616d61626c6f672e205269656e2064e2809965787472616f7264696e616972652c206a65206e652073756973207061732062696c696e6775652c20c3a761206d65207065726d6574206465206de28099656e747261c3ae6e65722e3c2f703e0a3c703e3c656d3e5061726c6f6e73206465207375697465206465206365207175692066c3a2636865c2a03a20746f6e206170706c69636174696f6e2057616c6c616261672c20656c6c652073e28099617070656c6c6169742070617320e2809c506f636865e2809d2c206176616e74c2a03f205475206e6f7573207261636f6e746573206ce28099686973746f697265c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e45756820656e20656666657420e280a62044c3a96ac3a02c20706f757271756f69203c656d3e706f6368653c2f656d3ec2a03f20506172636520717565206ce28099756e206465732074726f697320c2abc2a074c3a96e6f7273c2a0c2bb20737572206c65206d61726368c3a92073e28099617070656c6c65203c656d3e506f636b65743c2f656d3e2e20436f6d6d65206d6f6e206170706c69206ee28099c3a9746169742064657374696ec3a965207175e28099c3a0206d6f6e20757361676520706572736f6e6e656c2061752064c3a9706172742c206a65206e65206d6520737569732070617320746f72747572c3a9206269656e206c6f6e6774656d70732e3c2f703e0a3c703e43657420c3a974c3a92c206f6e2061206661696c6c69206368616e676572206465206e6f6d2c207175616e6420696c2079206120657520646520706c757320656e20706c75732064e280997574696c69736174657572732e2045742070756973206f6e2073e28099657374206469742071756520706f6368652c2063e28099c3a97461697420706173206d616c2c20c3a76120736f6e6e616974206269656e206672616ec3a761697320657420707569732061766563206c6573207175656c717565732064697a61696e65732064e280997574696c69736174657572732c206f6e206e652067c3aa6e657261697420706572736f6e6e652e3c2f703e0a3c703e43e280996573742073616e7320636f6d707465722061766563206c657320736f6369c3a974c3a97320616dc3a972696361696e6573206574206c6575722066c3a2636865757365206d616e696520646520766f756c6f697220656e766f796572206c657572732061766f6361747320c3a020746f757420626f7574206465206368616d702e204c65203233206a616e766965722c206ae280996169207265c3a77520756e20656d61696c206465206c61207061727420647520636162696e65742064e2809961766f6361747320646520506f636b6574206d652064656d616e64616e74206465206368616e676572206c65206e6f6d2c206c65206c6f676f2c206465206e6520706c7573207574696c69736572206c65207465726d6520e2809c726561642d69742d6c61746572e2809d2028c2abc2a06c6973657a206c6520706c75732074617264c2a0c2bb29206574206465206e6520706c757320646972652071756520506f636b6574206ee280996573742070617320677261747569742028746f7574206573742070617274692064e280993c6120687265663d2268747470733a2f2f747769747465722e636f6d2f77616c6c616261676170702f7374617475732f343233373836333635393434323235373932223e756e2074776565743c2f613e206fc3b9206a65207175616c6966696520506f636b657420646520c2abc2a06e6f6e2066726565c2a0c2bb20c3a0207361766f6972206e6f6e206c69627265292e20427265662c206dc3aa6d65207369206a652073656d626c6169732064616e73206d6f6e2064726f69742c206ae280996169207175616e64206dc3aa6d652070726973206c612064c3a9636973696f6e206465206368616e676572206465206e6f6d2065742057616c6c6162616720657374206ec3a92c20737569746520617578203c6120687265663d22687474703a2f2f6672616d61646174652e6f72672f73747564732e7068703f736f6e646167653d6c6c6370366f6a70796339706b6c6861223e64697a61696e65732064652070726f706f736974696f6e73206465206e6f6d207265c3a77565733c2f613e2e2043e2809965737420756e206dc3a96c616e676520656e747265206c652077616c6c61627920286465206c612066616d696c6c6520646573206b616e676f75726f75732c207175692073746f636b656e742064616e73206c65757220706f63686520636520717569206c65757220657374206368657229206574203c656d3e6261673c2f656d3e20286c6573207465726d657320736163202f207361636f636865202f2062657361636520736f6e7420c3a96e6f726dc3a96d656e7420726576656e7573292e204d616973206d61696e74656e616e742c206f6e207661206465206ce280996176616e742c20706c75732064652074656d707320c3a020706572647265206176656320c3a7612c206f6e2061206475207061696e20737572206c6120706c616e6368652e3c6272202f3e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f77616c6c6162795f626162792e6a70672220616c743d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f6368652220636c6173733d22633122207469746c653d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f63686522202f3e206372c3a96469742070686f746f203c6120687265663d22687474703a2f2f7777772e666c69636b722e636f6d2f70686f746f732f3236373832383634404e30302f353032373230323233342f696e2f70686f746f6c6973742d3845654a35412d6831544c36762d4e454c38312d636e4e6b536f2d39594d3174762d374b636736622d387a70416f612d61315a4c4d4e2d39594d3339722d3768355341442d38456548664c2d3845654677752d647456776e4d2d38756f4d45312d4a457a58652d47713471792d3932564a50522d43786531762d38483344324a2d61315a464e732d395937324b362d38456547784c2d354c353346782d354e6b454e732d3555384354592d354e6b7373682d6e6b6176462d3943726777502d3773644341612d647566324b682d685a65707a792d685a645531652d685a656f66462d685a656b44672d685a656741592d685a654d5a6e2d6a61486741662d3850383744322d354e677152762d6154343851422d685a645634592d685a654336342d45526770732d3556594747642d3556594a42312d354e6b72466b2d364a786837682d3768395075512d4552664d782d6831553169682d683155534278223e57696c6c69616d2057617262793c2f613e20717569206175746f72697365206578706c69636974656d656e7420746f7574652072c3a97574696c69736174696f6e2e3c2f703e0a3c703e3c656d3e426f6e2c20616c6f7273206578706c697175652d6d6f6920636520717565206a65207661697320706f75766f69722066616972652061766563204672616d61626167e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e416c6f7273204672616d616261672c20c3a761207465207065726d6574206465207465206372c3a9657220756e20636f6d7074652067726174756974656d656e74206574206c696272656d656e7420706f757220706f75766f6972207574696c697365722057616c6c616261672e205365756c6520746f6e206164726573736520656d61696c20657374206ec3a963657373616972652c206f6e207365206368617267652064e28099696e7374616c6c6572206574206465206d657474726520c3a0206a6f75722057616c6c6162616720706f757220746f692e20547520706575782064e2809961696c6c657572732070726f6669746572203c6120687265663d22687474703a2f2f7777772e6672616d61736f66742e6e65742f23746f705067436c6f7564223e64e280996175747265732073657276696365732070726f706f73c3a97320706172204672616d61736f6674206963693c2f613e2e3c2f703e0a3c703ec380206365206a6f75722c20696c207920612038333420636f6d70746573206372c3a9c3a97320737572204672616d616261672e3c2f703e0a3c703e3c656d3e566f7573206176657a20767261696d656e7420636f6ec3a7752063652073657276696365206166696e207175e280996f6e20707569737365206ce280997574696c69736572206176656320756e206d6178696d756d2064e280996f7574696c732c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4175746f7572206465206ce280996170706c69636174696f6e207765622c20696c206578697374652064c3a96ac3a020646573206170706c69636174696f6e7320706f757220736d61727470686f6e65732028416e64726f69642065742057696e646f77732050686f6e65292c2064657320657874656e73696f6e732046697265666f7820657420476f6f676c65204368726f6d652e3c2f703e0a3c703e436f6d6d652057616c6c6162616720706f7373c3a864652064657320666c7578205253532c2063e2809965737420666163696c65206465206c697265206c65732061727469636c657320736175766567617264c3a97320737572207361206c697365757365202873692063656c6c652d6369207065726d6574206465206c6972652064657320666c757820525353292e2043616c696272652028c2abc2a06c6f67696369656c206465206c6563747572652c2064652067657374696f6e206465206269626c696f7468c3a87175657320657420646520636f6e76657273696f6e206465206669636869657273206e756dc3a972697175657320646520747970652065626f6f6b206f75206c6976726520c3a96c656374726f6e69717565c2a0c2bb2c6e6f757320646974207562756e74752d66722e6f72672920696e74c3a867726520646570756973207175656c717565732073656d61696e6573206d61696e74656e616e74206c6120706f73736962696c6974c3a92064652072c3a9637570c3a9726572206c65732061727469636c6573206e6f6e206c75732c20707261746971756520706f757220666169726520756e20666963686965722065507562c2a0213c2f703e0a3c703e44e28099617574726573206170706c69636174696f6e7320776562207065726d657474656e74206ce28099696e74c3a967726174696f6e20617665632057616c6c61626167202846726573685253532c204c6565642065742054696e792054696e792052535320706f7572206c657320616772c3a96761746575727320646520666c7578292e204ce2809941504920717569207365726120646973706f6e69626c652064616e73206c612070726f636861696e652076657273696f6e2064652057616c6c61626167207065726d657474726120656e636f726520706c75732064e28099696e74657261637469766974c3a92e3c2f703e0a3c703e3c656d3e5920612d742d696c20756e206d6f6465206465206c65637475726520686f7273206c69676e65206f75206573742d6365207175652063e28099657374207072c3a9767520706f7572206c65732070726f636861696e65732076657273696f6e73c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e496c2079206120756e2070736575646f206d6f646520686f7273206c69676e652c20646973706f6e69626c652061766563206ce280996170706c69636174696f6e20416e64726f69642e204f6e20706575742072c3a9637570c3a9726572202876696120756e20666c75782052535329206c65732061727469636c6573206e6f6e206c757320717565206ce280996f6e206120736175766567617264c3a9732e20556e6520666f69732064c3a9636f6e6e656374c3a92c206f6e207065757420636f6e74696e75657220c3a0206c6972652073757220736f6e20736d61727470686f6e65206f75207361207461626c65747465206c65732061727469636c65732e2050617220636f6e7472652c20696c206d616e7175652064657320666f6e6374696f6e6e616c6974c3a973c2a03a207175616e64207475206d61727175657320756e2061727469636c6520636f6d6d65206c752c206365206ee28099657374207061732073796e6368726f6e6973c3a92061766563206c612076657273696f6e207765622064652057616c6c616261672e204ae28099657370c3a8726520717565206a652073756973207072657371756520636c6169722064616e73206d6573206578706c69636174696f6e732e3c2f703e0a3c703e506f7572206c612076322c20717569206573742064c3a96ac3a020656e20636f7572732064652064c3a976656c6f7070656d656e742c206fc3b9206a652073756973206269656e20616964c3a9207061722056696e63656e74204a6f757373652c206f6e2061757261206c6120706f73736962696c6974c3a92064e2809961766f697220756e2076726169206d6f646520686f7273206c69676e652e3c2f703e0a3c703e3c656d3e416c6f7273207369206f6e2076657574206169646572202f2070617274696369706572202f20747269666f75696c6c6572206c6520636f6465202f20766f757320656e766f79657220646573207265746f7572732c206f6e206661697420636f6d6d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4f6e207065757420616964657220646520706c75736965757273206661c3a76f6e73c2a03a3c2f703e0a3c756c3e3c6c693e7574696c697365722077616c6c61626167206574206e6f75732072656d6f6e746572206c65732070726f626cc3a86d65732072656e636f6e7472c3a973c2a03b3c2f6c693e0a3c6c693e706172746963697065722061752064c3a976656c6f7070656d656e74206465206ce280996170706c69636174696f6e2068747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c616261672053692053696c6578202f2053796d666f6e7932202f2048544d4c35202f206574632e207465207061726c656e742c206ee2809968c3a97369746520706173c2a0213c2f6c693e0a3c6c693e636f6d6d6520746f75742070726f6a65742c206c652067726f7320706f696e74206e6f697220657374206c65206d616e71756520646520646f63756d656e746174696f6e2e203c6120687265663d22687474703a2f2f646f632e77616c6c616261672e6f7267223e456c6c652065737420646973706f206963693c2f613e206d61697320696c206d616e71756520706c65696e2064652063686f73657320657420746f7574206ee280996573742070617320c3a0206a6f7572c2a03b3c2f6c693e0a3c6c693e7061726c65722064652057616c6c61626167206175746f757220646520766f7573c2a03b3c2f6c693e0a3c6c693e696c20657869737465203c6120687265663d2268747470733a2f2f666c617474722e636f6d2f7468696e672f313236353438302f706f6368652d612d726561642d69742d6c617465722d6f70656e2d736f757263652d73797374656d223e756e20636f6d70746520466c617474723c2f613e2e3c2f6c693e0a3c2f756c3e3c703e3c656d3e4c65206d6f74206465206c612066696ee280a63f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4d6572636920c3a0204672616d61736f66742064e280996163637565696c6c697220657420646520736f7574656e69722057616c6c61626167c2a0213c2f703e0a3c703e4c6120726f7574652065737420656e636f7265206269656e206c6f6e67756520706f7572206e6520706c7573207574696c6973657220646520736f6c7574696f6e732070726f707269c3a97461697265732c206d616973206f6e2064657672616974207920617272697665722c206e6f6ec2a03f3c2f703e0a3c703e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f706c65696e4c6573506f636865732e706e672220616c743d226672616d61736f667420706c65696e206c657320706f636865732220636c6173733d22633122207469746c653d226672616d61736f667420706c65696e206c657320706f6368657322202f3e3c6272202f3e3c6120687265663d22687474703a2f2f6672616d616c61622e6f72672f676b6e642d63726561746f722f223e6861636b657a2047c3a967c3a9c2a0213c2f613e3c2f703e0a, 1), | 95 | (1, 'Framabag, un nouveau service libre et gratuit', 'http://www.framablog.org/index.php/post/2014/02/05/Framabag-service-libre-gratuit-interview-developpeur', 0, 0, 0x0a3c68323e556e6520696e74657276696577206465204e69636f6c61732c20736f6e2064c3a976656c6f70706575722e3c2f68323e0a3c703e3c656d3e496c206e6520766f757320612073c3bb72656d656e742070617320c3a96368617070c3a920717565206e6f74726520636f6e736f6d6d6174696f6e20646520636f6e74656e75732064752057656220657374207465727269626c656d656e74206368726f6e6f706861676520657420706172746963756c69c3a872656d656e7420667275737472616e746520746f757420c3a0206c6120666f6973c2a03a206e6f6e207365756c656d656e74206e6f757320706173736f6e732062656175636f7570202874726f70c2a03f292064652074656d707320656e206c69676e6520c3a0206578706c6f726572206c6573206d696e6573206175726966c3a8726573206465206c6120746f696c652c20792064c3a974656374616e742070c3a970697465732065742066696c6f6e732c206d616973206e6f757320736f6d6d657320737572746f757420636f6e7374616d6d656e7420656e206d616e7175652e204dc3aa6d65207369206e6f7573206e6520736f6d6d6573207061732064616e73206c65207a617070696e67206672c3a96ec3a9746971756520736920666163696c656d656e742064c3a96e6f6e63c3a920706172206c657320646f637465732070737963686f6c6f677565732071756920706f6e74696669656e7420737572206c65732064616e67657273206475206e756dc3a9726971756520706f7572206c6573206a65756e65732063657276656c6c65732c20696c206e6f7573207669656e7420736f7576656e74206c6520676fc3bb7420616d6572206465206ce28099696e6163686576c3a9c2a03a20706173206c652074656d707320646520746f7574206c69726520283c6120687265663d22687474703a2f2f66722e77696b74696f6e6172792e6f72672f77696b692f544c4452223e544c3b44523c2f613e2065737420646576656e75206c6520636c696e2064e28099c593696c206d692d6669677565206d692d72616973696e2064e28099756e652067c3a96ec3a9726174696f6e206465206c65637465757273207072657373c3a973292c207061732074726f70206c652074656d70732064652072c3a9666cc3a963686972206e6f6e20706c75732068c3a96c61732c20706173206c652074656d707320646520737569767265206c6120726962616d62656c6c65206465206c69656e73206173736f6369c3a97320c3a020756e2061727469636c65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e506f7572206e6f757320646f6e6e657220626f6e6e6520636f6e736369656e63652c206e6f75732072616e67656f6e73207363727570756c657573656d656e7420756e206d61727175652d7061676520646520706c75732064616e7320756e20736f75732d646f73736965722071756920656e20636f6d706f7274652064c3a96ac3a0203235362c206e6f7573206e6f746f6e7320756e20c3a96cc3a96d656e7420646520706c75732064616e73206c6120746f756a6f757273207269646963756c656d656e74206c6f6e67756520746f75646f756c697374652c2062726566206e6f75732072656d6574746f6e7320c3a020706c757320746172642c2063e280996573742dc3a02d64697265206c6520706c757320736f7576656e742061757820696e74726f757661626c65732063616c656e6465732067726563717565732c206c6520736f696e206465206c69726520767261696d656e7420756e2061727469636c65206a7567c3a920696e74c3a972657373616e742c20646520726567617264657220756e6520766964c3a96f207369676e616cc3a96520706172206c65732072c3a97a6f73736f63696f732c206465206c69726520756e20636861706974726520656e746965722064e28099756e206f75767261676520646973706f6e69626c6520656e206c69676e65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e416c6f7273206269656e2073c3bb722c20c3a02064c3a966617574206465206e6f757320646f6e6e657220746f7574206c652074656d70732071756920736572616974206ec3a963657373616972652c2064657320736f6c7574696f6e73206578697374656e7420706f7572206e6f7573207065726d657474726520646520c2abc2a06c69726520706c75732074617264c2a0c2bb20656e20736175766567617264616e74206c65207072c3a9636965757820706f6c6c656e206465206e6f7320627574696e61676573206465207369746520656e20736974652c2065742064e28099656e20666169726520756c74c3a97269657572656d656e7420766f747265206d69656cc2a03b2063e280996573742062656c20657420626f6e206d616973206c65732072756368657320736f6e7420756e207065752064697374616e7465732c20c3a7612073e28099617070656c6c65206c6520636c6f756420286e6f7320616d69732074656368696573206de280996f6e74206269656e206578706c697175c3a9206d616973206ae280996169207365756c656d656e7420636f6d70726973207175652064657320747275637320c3a0206d6f6920736f6e742073757220646573206d616368696e6573206c6f696e7461696e65732c20c3a761206e65206d652072617373757265207061732074726f702920657420656c6c657320736f6e7420736f7576656e742070726f707269c3a97461697265732c206e65206c61697373616e7420656e7472657220717565206c6573203c733e7574696c69736174657572733c2f733e20636f6e736f6d6d61746575727320706179616e74732065742071756920636f6e73656e74656e7420c3a0206c6575727320636f6e646974696f6e732e2053616e7320636f6d70746572207175652064652067726f7320626f7572646f6e73207669656e6e656e742070726f666974657220706c7573206f75206d6f696e73206469736372c3a874656d656e7420646520746f757465732063657320747261636573206465206e6f75732d6dc3aa6d657320717569207065726d657474656e74206465206d6f6ec3a97469736572206e6f7472652070726f66696cc2a03a207369206a6520636f6c6c65637465207375722063657320736572766963657320286e65206c6573206e6f6d6d6f6e73207061732c206a757374656d656e742920756e652073c3a97269652064e2809961727469636c657320737572206ce280996964c3a965206465204e6174757265206368657a2044696465726f742c206a6520726563657672616920646976657273657320736f6c6c696369746174696f6e7320706f757220646576656e697220636c69656e74206465206c6120626f757469717565204e61747572652026616d703b2044c3a9636f75766572746520647520626f756c65766172642044696465726f742e2045742073692064e280996176656e74757265206c65732070726f6772616d6d6573206465206c61204e5341206d6f756c696e656e7420737572206c6520736572766963652c206a6520736572616920706575742dc3aa74726520756e206a6f75722064616e7320756e65206c6973746520646573206d696c6974616e7473206e61747572697374657320696e64c3a973697261626c657320737572206c657320766f6c73206465206c612050616e416d20286a65206e65207361697320706c75732074726f70207369206a6520706c616973616e7465206cc3a02c2066696e616c656d656e74e280a6293c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6120626f6e6e65206964c3a965c2a03a20c2abc2a0736520636f6e7374697475657220756e2072c3a9736572766f697220646520646f63756d656e74732073c3a96c656374696f6e6ec3a97320c3a020706172636f7572697220706c75732074617264c2a0c2bb20617070656c61697420646f6e6320756e6520617574726520626f6e6e65206964c3a9652c2063656c6c652064e2809961766f6972206c6520636f6e7472c3b46c652064652063652072c3a9736572766f69722c206465206e6f74726520636f6c6c656374696f6e20706572736f6e6e656c6c652e2043e28099657374204e69636f6c6173204cc59375696c6c65742c2063692d646573736f757320696e74657276696577c3a92c207175692073e28099792065737420636f6c6cc3a9206176656320756e652062656c6c65206170706c69636174696f6e20617070656cc3a96520657568e280a6206f75692c20617070656cc3a9652057616c6c616261672e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61736f667420736f757469656e742064e28099617574616e7420706c757320736f6e20696e6974696174697665207175e280993c6120687265663d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f696e6465782e7068702f706f73742f323031342f30312f33312f4765656b74696f6e6e6572642d57616c6c61626167223e6f6e206c7569206120636865726368c3a920646573206d6973c3a872657320706f757220756e6520686973746f697265206465206e6f6d3c2f613e206574207175e28099696c2065737420706f737369626c652064e28099696e7374616c6c657220736f692d6dc3aa6d6520756e6520636f7069652064652057616c6c616261672073757220736f6e2070726f70726520736974652e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6520706574697420706c7573206465204672616d61736f66742c2072c3a97365617520746f756a6f7572732064c3a973697265757820646520766f75732070726f706f7365722064657320616c7465726e617469766573206c6962c3a972617472696365732c2063e2809965737420646520766f75732070726f706f736572202873757220696e736372697074696f6e207072c3a9616c61626c652920756e20616363c3a873206175204672616d616261672c2061757472656d656e742064697420766f7472652057616c6c616261672073757220756e2073657276657572204672616d612a2061766563206e6f74726520676172616e74696520646520636f6e666964656e7469616c6974c3a92e20436f6d6d6520706f7572206c65204672616d616e6577732c206e6f757320766f7573206163637565696c6c6f6e7320766f6c6f6e74696572732064616e73206c61206c696d697465206465206e6f732063617061636974c3a9732c20656e20766f757320696e766974616e7420c3a020766f7573206c616e6365722064616e7320766f747265206175746f2d68c3a962657267656d656e742064652057616c6c616261672e3c6272202f3e4365742061727469636c65206573742074726f70206c6f6e67c2a03f204d657474657a2d6c652064616e73203c6120687265663d22687474703a2f2f7777772e6672616d616261672e6f72672f696e6465782e706870223e766f747265204672616d616261673c2f613e20657420686f702e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61626c6f67c2a03a2053616c7574204e69636f6c6173e280a62054752070657578207465207072c3a973656e74657220627269c3a876656d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e53616c7574c2a0212044c3a976656c6f70706575722050485020646570756973207175656c7175657320616e6ec3a96573206d61696e74656e616e742028313020616e73292c206ae28099616920766f756c75206d652072656d657474726520c3a0206e697665617520746563686e697175656d656e74207061726c616e742028646570756973203320616e732c206ae28099616920706173206d616c206cc3a26368c3a9206c6520636c6176696572292e20506f7572206d6573206265736f696e7320706572736f732c206ae28099616920646f6e63206372c3a9c3a920756e2070657469742070726f6a657420706f75722072656d706c6163657220756e6520736f6c7574696f6e2070726f707269c3a97461697265206578697374616e74652e2053616e7320617563756e65207072c3a974656e74696f6e2c206ae2809961692068c3a962657267c3a92063652070726f6a6574207375722047697468756220657420636f6d6d652063e28099657374206c61207365756c6520736f6c7574696f6e203c656d3e6f70656e20736f757263653c2f656d3e20646520636520747970652c206c65206e6f6d62726520646520706572736f6e6e657320696e74c3a972657373c3a965732061206175676d656e74c3a920e280a63c2f703e0a3c703e3c656d3e4c6573207574696c6973617465757273206465207365727669636573204672616d61736f6674206e65206c6520736176656e742070617320666f7263c3a96d656e742c206d6169732074752061732064c3a96ac3a020706173206d616c207061727469636970c3a920c3a0206c61204672616d6147616c617869652c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e456e2065666665742e204ae28099616920636f6d6d656e63c3a920756e20706c7567696e20706f7572204672616d616e6577732c203c6120687265663d2268747470733a2f2f6769746875622e636f6d2f6e69636f736f6d622f74747273732d70757267652d6163636f756e7473223e74747273732d70757267652d6163636f756e74733c2f613e2c20717569207065726d6574206465206e6574746f796572206c61206261736520646520646f6e6ec3a9657320646520636f6d7074657320706c7573207574696c6973c3a9732e204d616973206365203c656d3e706c7567696e3c2f656d3e2061206265736f696e2064e28099c3aa747265207465726d696ec3a920c3a0203130302520706f757220c3aa74726520696e74c3a96772c3a9206175207365696e206465204672616d616e6577732028657420646f6e632064652054696e792054696e7920525353292c207369207175656c7175e28099756e20736f756861697465206de2809961696465722c20696c206ee2809979206120617563756e20736f7563692e3c6272202f3e4ae28099616920617573736920666169742031206f7520322061707061726974696f6e732064616e73206465732074726164756374696f6e7320706f7572204672616d61626c6f672e205269656e2064e2809965787472616f7264696e616972652c206a65206e652073756973207061732062696c696e6775652c20c3a761206d65207065726d6574206465206de28099656e747261c3ae6e65722e3c2f703e0a3c703e3c656d3e5061726c6f6e73206465207375697465206465206365207175692066c3a2636865c2a03a20746f6e206170706c69636174696f6e2057616c6c616261672c20656c6c652073e28099617070656c6c6169742070617320e2809c506f636865e2809d2c206176616e74c2a03f205475206e6f7573207261636f6e746573206ce28099686973746f697265c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e45756820656e20656666657420e280a62044c3a96ac3a02c20706f757271756f69203c656d3e706f6368653c2f656d3ec2a03f20506172636520717565206ce28099756e206465732074726f697320c2abc2a074c3a96e6f7273c2a0c2bb20737572206c65206d61726368c3a92073e28099617070656c6c65203c656d3e506f636b65743c2f656d3e2e20436f6d6d65206d6f6e206170706c69206ee28099c3a9746169742064657374696ec3a965207175e28099c3a0206d6f6e20757361676520706572736f6e6e656c2061752064c3a9706172742c206a65206e65206d6520737569732070617320746f72747572c3a9206269656e206c6f6e6774656d70732e3c2f703e0a3c703e43657420c3a974c3a92c206f6e2061206661696c6c69206368616e676572206465206e6f6d2c207175616e6420696c2079206120657520646520706c757320656e20706c75732064e280997574696c69736174657572732e2045742070756973206f6e2073e28099657374206469742071756520706f6368652c2063e28099c3a97461697420706173206d616c2c20c3a76120736f6e6e616974206269656e206672616ec3a761697320657420707569732061766563206c6573207175656c717565732064697a61696e65732064e280997574696c69736174657572732c206f6e206e652067c3aa6e657261697420706572736f6e6e652e3c2f703e0a3c703e43e280996573742073616e7320636f6d707465722061766563206c657320736f6369c3a974c3a97320616dc3a972696361696e6573206574206c6575722066c3a2636865757365206d616e696520646520766f756c6f697220656e766f796572206c657572732061766f6361747320c3a020746f757420626f7574206465206368616d702e204c65203233206a616e766965722c206ae280996169207265c3a77520756e20656d61696c206465206c61207061727420647520636162696e65742064e2809961766f6361747320646520506f636b6574206d652064656d616e64616e74206465206368616e676572206c65206e6f6d2c206c65206c6f676f2c206465206e6520706c7573207574696c69736572206c65207465726d6520e2809c726561642d69742d6c61746572e2809d2028c2abc2a06c6973657a206c6520706c75732074617264c2a0c2bb29206574206465206e6520706c757320646972652071756520506f636b6574206ee280996573742070617320677261747569742028746f7574206573742070617274692064e280993c6120687265663d2268747470733a2f2f747769747465722e636f6d2f77616c6c616261676170702f7374617475732f343233373836333635393434323235373932223e756e2074776565743c2f613e206fc3b9206a65207175616c6966696520506f636b657420646520c2abc2a06e6f6e2066726565c2a0c2bb20c3a0207361766f6972206e6f6e206c69627265292e20427265662c206dc3aa6d65207369206a652073656d626c6169732064616e73206d6f6e2064726f69742c206ae280996169207175616e64206dc3aa6d652070726973206c612064c3a9636973696f6e206465206368616e676572206465206e6f6d2065742057616c6c6162616720657374206ec3a92c20737569746520617578203c6120687265663d22687474703a2f2f6672616d61646174652e6f72672f73747564732e7068703f736f6e646167653d6c6c6370366f6a70796339706b6c6861223e64697a61696e65732064652070726f706f736974696f6e73206465206e6f6d207265c3a77565733c2f613e2e2043e2809965737420756e206dc3a96c616e676520656e747265206c652077616c6c61627920286465206c612066616d696c6c6520646573206b616e676f75726f75732c207175692073746f636b656e742064616e73206c65757220706f63686520636520717569206c65757220657374206368657229206574203c656d3e6261673c2f656d3e20286c6573207465726d657320736163202f207361636f636865202f2062657361636520736f6e7420c3a96e6f726dc3a96d656e7420726576656e7573292e204d616973206d61696e74656e616e742c206f6e207661206465206ce280996176616e742c20706c75732064652074656d707320c3a020706572647265206176656320c3a7612c206f6e2061206475207061696e20737572206c6120706c616e6368652e3c6272202f3e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f77616c6c6162795f626162792e6a70672220616c743d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f6368652220636c6173733d22633122207469746c653d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f63686522202f3e206372c3a96469742070686f746f203c6120687265663d22687474703a2f2f7777772e666c69636b722e636f6d2f70686f746f732f3236373832383634404e30302f353032373230323233342f696e2f70686f746f6c6973742d3845654a35412d6831544c36762d4e454c38312d636e4e6b536f2d39594d3174762d374b636736622d387a70416f612d61315a4c4d4e2d39594d3339722d3768355341442d38456548664c2d3845654677752d647456776e4d2d38756f4d45312d4a457a58652d47713471792d3932564a50522d43786531762d38483344324a2d61315a464e732d395937324b362d38456547784c2d354c353346782d354e6b454e732d3555384354592d354e6b7373682d6e6b6176462d3943726777502d3773644341612d647566324b682d685a65707a792d685a645531652d685a656f66462d685a656b44672d685a656741592d685a654d5a6e2d6a61486741662d3850383744322d354e677152762d6154343851422d685a645634592d685a654336342d45526770732d3556594747642d3556594a42312d354e6b72466b2d364a786837682d3768395075512d4552664d782d6831553169682d683155534278223e57696c6c69616d2057617262793c2f613e20717569206175746f72697365206578706c69636974656d656e7420746f7574652072c3a97574696c69736174696f6e2e3c2f703e0a3c703e3c656d3e426f6e2c20616c6f7273206578706c697175652d6d6f6920636520717565206a65207661697320706f75766f69722066616972652061766563204672616d61626167e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e416c6f7273204672616d616261672c20c3a761207465207065726d6574206465207465206372c3a9657220756e20636f6d7074652067726174756974656d656e74206574206c696272656d656e7420706f757220706f75766f6972207574696c697365722057616c6c616261672e205365756c6520746f6e206164726573736520656d61696c20657374206ec3a963657373616972652c206f6e207365206368617267652064e28099696e7374616c6c6572206574206465206d657474726520c3a0206a6f75722057616c6c6162616720706f757220746f692e20547520706575782064e2809961696c6c657572732070726f6669746572203c6120687265663d22687474703a2f2f7777772e6672616d61736f66742e6e65742f23746f705067436c6f7564223e64e280996175747265732073657276696365732070726f706f73c3a97320706172204672616d61736f6674206963693c2f613e2e3c2f703e0a3c703ec380206365206a6f75722c20696c207920612038333420636f6d70746573206372c3a9c3a97320737572204672616d616261672e3c2f703e0a3c703e3c656d3e566f7573206176657a20767261696d656e7420636f6ec3a7752063652073657276696365206166696e207175e280996f6e20707569737365206ce280997574696c69736572206176656320756e206d6178696d756d2064e280996f7574696c732c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4175746f7572206465206ce280996170706c69636174696f6e207765622c20696c206578697374652064c3a96ac3a020646573206170706c69636174696f6e7320706f757220736d61727470686f6e65732028416e64726f69642065742057696e646f77732050686f6e65292c2064657320657874656e73696f6e732046697265666f7820657420476f6f676c65204368726f6d652e3c2f703e0a3c703e436f6d6d652057616c6c6162616720706f7373c3a864652064657320666c7578205253532c2063e2809965737420666163696c65206465206c697265206c65732061727469636c657320736175766567617264c3a97320737572207361206c697365757365202873692063656c6c652d6369207065726d6574206465206c6972652064657320666c757820525353292e2043616c696272652028c2abc2a06c6f67696369656c206465206c6563747572652c2064652067657374696f6e206465206269626c696f7468c3a87175657320657420646520636f6e76657273696f6e206465206669636869657273206e756dc3a972697175657320646520747970652065626f6f6b206f75206c6976726520c3a96c656374726f6e69717565c2a0c2bb2c6e6f757320646974207562756e74752d66722e6f72672920696e74c3a867726520646570756973207175656c717565732073656d61696e6573206d61696e74656e616e74206c6120706f73736962696c6974c3a92064652072c3a9637570c3a9726572206c65732061727469636c6573206e6f6e206c75732c20707261746971756520706f757220666169726520756e20666963686965722065507562c2a0213c2f703e0a3c703e44e28099617574726573206170706c69636174696f6e7320776562207065726d657474656e74206ce28099696e74c3a967726174696f6e20617665632057616c6c61626167202846726573685253532c204c6565642065742054696e792054696e792052535320706f7572206c657320616772c3a96761746575727320646520666c7578292e204ce2809941504920717569207365726120646973706f6e69626c652064616e73206c612070726f636861696e652076657273696f6e2064652057616c6c61626167207065726d657474726120656e636f726520706c75732064e28099696e74657261637469766974c3a92e3c2f703e0a3c703e3c656d3e5920612d742d696c20756e206d6f6465206465206c65637475726520686f7273206c69676e65206f75206573742d6365207175652063e28099657374207072c3a9767520706f7572206c65732070726f636861696e65732076657273696f6e73c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e496c2079206120756e2070736575646f206d6f646520686f7273206c69676e652c20646973706f6e69626c652061766563206ce280996170706c69636174696f6e20416e64726f69642e204f6e20706575742072c3a9637570c3a9726572202876696120756e20666c75782052535329206c65732061727469636c6573206e6f6e206c757320717565206ce280996f6e206120736175766567617264c3a9732e20556e6520666f69732064c3a9636f6e6e656374c3a92c206f6e207065757420636f6e74696e75657220c3a0206c6972652073757220736f6e20736d61727470686f6e65206f75207361207461626c65747465206c65732061727469636c65732e2050617220636f6e7472652c20696c206d616e7175652064657320666f6e6374696f6e6e616c6974c3a973c2a03a207175616e64207475206d61727175657320756e2061727469636c6520636f6d6d65206c752c206365206ee28099657374207061732073796e6368726f6e6973c3a92061766563206c612076657273696f6e207765622064652057616c6c616261672e204ae28099657370c3a8726520717565206a652073756973207072657371756520636c6169722064616e73206d6573206578706c69636174696f6e732e3c2f703e0a3c703e506f7572206c612076322c20717569206573742064c3a96ac3a020656e20636f7572732064652064c3a976656c6f7070656d656e742c206fc3b9206a652073756973206269656e20616964c3a9207061722056696e63656e74204a6f757373652c206f6e2061757261206c6120706f73736962696c6974c3a92064e2809961766f697220756e2076726169206d6f646520686f7273206c69676e652e3c2f703e0a3c703e3c656d3e416c6f7273207369206f6e2076657574206169646572202f2070617274696369706572202f20747269666f75696c6c6572206c6520636f6465202f20766f757320656e766f79657220646573207265746f7572732c206f6e206661697420636f6d6d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4f6e207065757420616964657220646520706c75736965757273206661c3a76f6e73c2a03a3c2f703e0a3c756c3e3c6c693e7574696c697365722077616c6c61626167206574206e6f75732072656d6f6e746572206c65732070726f626cc3a86d65732072656e636f6e7472c3a973c2a03b3c2f6c693e0a3c6c693e706172746963697065722061752064c3a976656c6f7070656d656e74206465206ce280996170706c69636174696f6e2068747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c616261672053692053696c6578202f2053796d666f6e7932202f2048544d4c35202f206574632e207465207061726c656e742c206ee2809968c3a97369746520706173c2a0213c2f6c693e0a3c6c693e636f6d6d6520746f75742070726f6a65742c206c652067726f7320706f696e74206e6f697220657374206c65206d616e71756520646520646f63756d656e746174696f6e2e203c6120687265663d22687474703a2f2f646f632e77616c6c616261672e6f7267223e456c6c652065737420646973706f206963693c2f613e206d61697320696c206d616e71756520706c65696e2064652063686f73657320657420746f7574206ee280996573742070617320c3a0206a6f7572c2a03b3c2f6c693e0a3c6c693e7061726c65722064652057616c6c61626167206175746f757220646520766f7573c2a03b3c2f6c693e0a3c6c693e696c20657869737465203c6120687265663d2268747470733a2f2f666c617474722e636f6d2f7468696e672f313236353438302f706f6368652d612d726561642d69742d6c617465722d6f70656e2d736f757263652d73797374656d223e756e20636f6d70746520466c617474723c2f613e2e3c2f6c693e0a3c2f756c3e3c703e3c656d3e4c65206d6f74206465206c612066696ee280a63f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4d6572636920c3a0204672616d61736f66742064e280996163637565696c6c697220657420646520736f7574656e69722057616c6c61626167c2a0213c2f703e0a3c703e4c6120726f7574652065737420656e636f7265206269656e206c6f6e67756520706f7572206e6520706c7573207574696c6973657220646520736f6c7574696f6e732070726f707269c3a97461697265732c206d616973206f6e2064657672616974207920617272697665722c206e6f6ec2a03f3c2f703e0a3c703e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f706c65696e4c6573506f636865732e706e672220616c743d226672616d61736f667420706c65696e206c657320706f636865732220636c6173733d22633122207469746c653d226672616d61736f667420706c65696e206c657320706f6368657322202f3e3c6272202f3e3c6120687265663d22687474703a2f2f6672616d616c61622e6f72672f676b6e642d63726561746f722f223e6861636b657a2047c3a967c3a9c2a0213c2f613e3c2f703e0a, 1), |
@@ -136,7 +143,7 @@ else if (isset($_POST['install'])) { | |||
136 | foreach ($moreQueries as $query) { | 143 | foreach ($moreQueries as $query) { |
137 | executeQuery($handle, $query, array()); | 144 | executeQuery($handle, $query, array()); |
138 | } | 145 | } |
139 | $successes[] = 'wallabag is now installed. You can now <a href="index.php?clean=0">access it !</a>'; | 146 | |
140 | 147 | ||
141 | if (!copy('inc/poche/config.inc.default.php', 'inc/poche/config.inc.php')) { | 148 | if (!copy('inc/poche/config.inc.default.php', 'inc/poche/config.inc.php')) { |
142 | $errors[] = 'Installation aborted, impossible to create inc/poche/config.inc.php file. Maybe you don\'t have write access to create it.'; | 149 | $errors[] = 'Installation aborted, impossible to create inc/poche/config.inc.php file. Maybe you don\'t have write access to create it.'; |
@@ -147,6 +154,7 @@ else if (isset($_POST['install'])) { | |||
147 | } | 154 | } |
148 | $content = str_replace("define ('SALT', '');", "define ('SALT', '".$salt."');", $content); | 155 | $content = str_replace("define ('SALT', '');", "define ('SALT', '".$salt."');", $content); |
149 | file_put_contents('inc/poche/config.inc.php', $content); | 156 | file_put_contents('inc/poche/config.inc.php', $content); |
157 | $final = true; | ||
150 | } | 158 | } |
151 | } | 159 | } |
152 | } | 160 | } |
@@ -290,12 +298,12 @@ cursor: pointer; | |||
290 | } | 298 | } |
291 | .compatibity_result { | 299 | .compatibity_result { |
292 | margin: auto; | 300 | margin: auto; |
293 | max-width: 300px; | 301 | max-width: 350px; |
294 | min-height: 50px; | 302 | min-height: 50px; |
295 | line-height: 50px; | 303 | line-height: 50px; |
296 | text-align: center; | 304 | text-align: center; |
297 | margin-bottom: 30px; | 305 | margin-bottom: 30px; |
298 | border-radius: 3px; | 306 | border-radius: 3px; |
299 | } | 307 | } |
300 | 308 | ||
301 | h2, legend { | 309 | h2, legend { |
@@ -323,6 +331,21 @@ border: 1px solid #000; | |||
323 | background-color: #FFF; | 331 | background-color: #FFF; |
324 | color: #000; | 332 | color: #000; |
325 | } | 333 | } |
334 | .final { | ||
335 | margin-top: 10%; | ||
336 | margin-left: 30%; | ||
337 | max-width: 400px; | ||
338 | text-align: center; | ||
339 | border-radius: 6px; | ||
340 | } | ||
341 | .final h1 { | ||
342 | line-height: 50px; | ||
343 | } | ||
344 | |||
345 | .final em { | ||
346 | margin-top: 40px; | ||
347 | font-size: 12px; | ||
348 | } | ||
326 | 349 | ||
327 | </style> | 350 | </style> |
328 | 351 | ||
@@ -336,11 +359,12 @@ border: 1px solid #000; | |||
336 | <div id="main"> | 359 | <div id="main"> |
337 | <button id="menu" class="icon icon-menu desktopHide"><span>Menu</span></button> | 360 | <button id="menu" class="icon icon-menu desktopHide"><span>Menu</span></button> |
338 | <ul id="links" class="links"> | 361 | <ul id="links" class="links"> |
339 | <li><a href="http://www.wallabag.org/frequently-asked-questions/">FAQ</a></li> | 362 | <li><a href="docs/" target="_blank">Offline Doc</a></li> |
340 | <li><a href="http://doc.wallabag.org/">doc</a></li> | 363 | <li><a href="http://doc.wallabag.org/" target="_blank">Online doc</a></li> |
341 | <li><a href="http://www.wallabag.org/help/">help</a></li> | 364 | <li><a href="http://support.wallabag.org/" target="_blank">help</a></li> |
342 | <li><a href="http://www.wallabag.org/">wallabag.org</a></li> | 365 | <li><a href="http://www.wallabag.org/" target="_blank">wallabag.org</a></li> |
343 | </ul> | 366 | </ul> |
367 | <?php if (!$final) : ?> | ||
344 | <?php if (!empty($errors)) : ?> | 368 | <?php if (!empty($errors)) : ?> |
345 | <div class='messages error install'> | 369 | <div class='messages error install'> |
346 | <p>Errors during installation:</p> | 370 | <p>Errors during installation:</p> |
@@ -374,17 +398,16 @@ border: 1px solid #000; | |||
374 | <?php endif; ?> | 398 | <?php endif; ?> |
375 | <?php endif; ?> | 399 | <?php endif; ?> |
376 | <p>To install wallabag, you just have to fill the following fields. That's all.</p> | 400 | <p>To install wallabag, you just have to fill the following fields. That's all.</p> |
377 | <p>If you need help, you can read the doc: <a href="docs/" target="_blank">offline documentation</a> and <a href="http://doc.wallabag.org" target="_blank">online one</a> (already up-to-date).</p> | 401 | |
378 | |||
379 | <div> | 402 | <div> |
380 | <h2>Server compatibility test</h2> | 403 | <h2>Server compatibility test</h2> |
381 | <?php if (isOkay()) { ?> | 404 | <?php if (isOkay()) { ?> |
382 | <div class="compatibity_result detail good">All good</div> | 405 | <div class="compatibity_result detail good">All good</div> |
383 | <?php } elseif (isPassing()) { ?> | 406 | <?php } elseif (isPassing()) { ?> |
384 | <div class="compatibity_result detail pass">Some problems, but it's OK !</div> | 407 | <div class="compatibity_result detail pass">Some warnings, but the minimum is here !</div> |
385 | <?php } else { ?> | 408 | <?php } else { ?> |
386 | <div class="compatibity_result detail bad">Bad news : you can't run wallabag</div> | 409 | <div class="compatibity_result detail bad">Bad news : you can't run wallabag</div> |
387 | <?php } $status = status(); ?> | 410 | <?php } $status = status(); $pdo_drivers = pdoDrivers(); ?> |
388 | </div> | 411 | </div> |
389 | 412 | ||
390 | <div class="details"> | 413 | <div class="details"> |
@@ -416,7 +439,7 @@ border: 1px solid #000; | |||
416 | <tr class="<?php echo ($status['pdo_drivers_passing']) ? 'enabled' : 'disabled'; ?>"> | 439 | <tr class="<?php echo ($status['pdo_drivers_passing']) ? 'enabled' : 'disabled'; ?>"> |
417 | <td>PDO Drivers</td> | 440 | <td>PDO Drivers</td> |
418 | <td>One of the PDO drivers must be installed</td> | 441 | <td>One of the PDO drivers must be installed</td> |
419 | <?php echo ($status['pdo_drivers_passing']) ? '<td class="good">One driver is enabled</span>' : '<td class="bad">No driver available'; ?></td> | 442 | <?php echo ($status['pdo_drivers_passing']) ? '<td class="good">At least one driver is enabled</span>' : '<td class="bad">No driver available'; ?></td> |
420 | <td><?php echo ($status['pdo_drivers_passing']) ? '<strong>PDO:</strong> You have at least one PDO driver installed.' : '<strong>PDO Drivers:</strong> Your PHP installation doesn\'t have any PDO driver installed. <strong>' . $status['app_name'] . ' will not work here.</strong>' ?></td> | 443 | <td><?php echo ($status['pdo_drivers_passing']) ? '<strong>PDO:</strong> You have at least one PDO driver installed.' : '<strong>PDO Drivers:</strong> Your PHP installation doesn\'t have any PDO driver installed. <strong>' . $status['app_name'] . ' will not work here.</strong>' ?></td> |
421 | </tr> | 444 | </tr> |
422 | <tr class="<?php echo ($status['xml']) ? 'enabled' : 'disabled'; ?>"> | 445 | <tr class="<?php echo ($status['xml']) ? 'enabled' : 'disabled'; ?>"> |
@@ -564,35 +587,54 @@ php composer.phar install</code></pre> | |||
564 | <p> | 587 | <p> |
565 | Database engine: | 588 | Database engine: |
566 | <ul> | 589 | <ul> |
567 | <li><label for="sqlite">SQLite</label> <input name="db_engine" type="radio" checked="" id="sqlite" value="sqlite" /> | 590 | <li> |
568 | <div id="pdo_sqlite" class='messages error install'> | 591 | <?php if ($pdo_drivers['sqlite']) { ?> |
569 | <p>You have to enable <a href="http://php.net/manual/ref.pdo-sqlite.php">pdo_sqlite extension</a>.</p> | 592 | <label for="sqlite">SQLite</label> <input name="db_engine" type="radio" checked="" id="sqlite" value="sqlite" /> |
570 | </div> | 593 | <?php } else { ?> |
571 | </li> | 594 | <div class="messages notice"> |
572 | <li> | 595 | <p>You have to enable <a href="http://php.net/manual/ref.pdo-sqlite.php">pdo_sqlite extension</a> to use SQLite.</p> |
573 | <label for="mysql">MySQL</label> <input name="db_engine" type="radio" id="mysql" value="mysql" /> | 596 | </div> |
574 | <div id="pdo_mysql" class='messages notice install'> | 597 | <?php } ?> |
575 | <p>All fields have to be filled.</p> | 598 | </li> |
576 | </div> | 599 | <li> |
577 | <ul id="mysql_infos"> | 600 | <?php if ($pdo_drivers['mysql']) { ?> |
578 | <li><label for="mysql_server">Server</label> <input type="text" placeholder="localhost" id="mysql_server" name="mysql_server" /></li> | 601 | <label for="mysql">MySQL</label> <input name="db_engine" type="radio" id="mysql" value="mysql" /> |
579 | <li><label for="mysql_database">Database</label> <input type="text" placeholder="wallabag" id="mysql_database" name="mysql_database" /></li> | 602 | <div id="pdo_mysql" class='messages notice install'> |
580 | <li><label for="mysql_user">User</label> <input type="text" placeholder="user" id="mysql_user" name="mysql_user" /></li> | 603 | <p>All fields have to be filled.</p> |
581 | <li><label for="mysql_password">Password</label> <input type="password" placeholder="p4ssw0rd" id="mysql_password" name="mysql_password" /></li> | 604 | </div> |
582 | </ul> | 605 | <ul id="mysql_infos"> |
583 | </li> | 606 | <li><label for="mysql_server">Server</label> <input type="text" placeholder="localhost" id="mysql_server" name="mysql_server" /></li> |
584 | <li> | 607 | <li><label for="mysql_database">Database</label> <input type="text" placeholder="wallabag" id="mysql_database" name="mysql_database" /></li> |
585 | <label for="postgres">PostgreSQL</label> <input name="db_engine" type="radio" id="postgres" value="postgres" /> | 608 | <li><label for="mysql_user">User</label> <input type="text" placeholder="user" id="mysql_user" name="mysql_user" /></li> |
586 | <div id="pdo_postgres" class='messages notice install'> | 609 | <li><label for="mysql_password">Password</label> <input type="password" placeholder="p4ssw0rd" id="mysql_password" name="mysql_password" /></li> |
610 | <li><label for="mysql_utf8_mb4">Use UTF-8 MB4</label> <input id="mysql_utf8_mb4" type="checkbox" name="mysql_utf8_mb4"> | ||
611 | <div id="utf8_mb4_infos"><em>Warning :</em> UTF-8 MB4 is used to fully support unicode characters. It is available only with MySQL starting with version 5.5.3. | ||
612 | Install will failed if you check this while using an older MySQL server.</div></li> | ||
613 | </ul> | ||
614 | <?php } else { ?> | ||
615 | <div class="messages notice"> | ||
616 | <p>You have to enable <a href="http://php.net/manual/ref.pdo-mysql.php">pdo_mysql extension</a> to use MySQL.</p> | ||
617 | </div> | ||
618 | <?php } ?> | ||
619 | </li> | ||
620 | <li> | ||
621 | <?php if ($pdo_drivers['postgres']) { ?> | ||
622 | <label for="postgres">PostgreSQL</label> <input name="db_engine" type="radio" id="postgres" value="postgres" /> | ||
623 | <div id="pdo_postgres" class='messages notice install'> | ||
587 | <p>All fields have to be filled.</p> | 624 | <p>All fields have to be filled.</p> |
588 | </div> | 625 | </div> |
589 | <ul id="pg_infos"> | 626 | <ul id="pg_infos"> |
590 | <li><label for="pg_server">Server</label> <input type="text" placeholder="localhost" id="pg_server" name="pg_server" /></li> | 627 | <li><label for="pg_server">Server</label> <input type="text" placeholder="localhost" id="pg_server" name="pg_server" /></li> |
591 | <li><label for="pg_database">Database</label> <input type="text" placeholder="wallabag" id="pg_database" name="pg_database" /></li> | 628 | <li><label for="pg_database">Database</label> <input type="text" placeholder="wallabag" id="pg_database" name="pg_database" /></li> |
592 | <li><label for="pg_user">User</label> <input type="text" placeholder="user" id="pg_user" name="pg_user" /></li> | 629 | <li><label for="pg_user">User</label> <input type="text" placeholder="user" id="pg_user" name="pg_user" /></li> |
593 | <li><label for="pg_password">Password</label> <input type="password" placeholder="p4ssw0rd" id="pg_password" name="pg_password" /></li> | 630 | <li><label for="pg_password">Password</label> <input type="password" placeholder="p4ssw0rd" id="pg_password" name="pg_password" /></li> |
594 | </ul> | 631 | </ul> |
595 | </li> | 632 | <?php } else { ?> |
633 | <div class="messages notice"> | ||
634 | <p>You have to enable <a href="https://php.net/manual/ref.pdo-pgsql.php">pdo_pgsql extension</a> to use PostgreSQL.</p> | ||
635 | </div> | ||
636 | <?php } ?> | ||
637 | </li> | ||
596 | </ul> | 638 | </ul> |
597 | </p> | 639 | </p> |
598 | </fieldset> | 640 | </fieldset> |
@@ -601,10 +643,10 @@ php composer.phar install</code></pre> | |||
601 | SQLite is the most simple database system of all three. It is therefore recommended for people who don't want or know how to configure other database systems. | 643 | SQLite is the most simple database system of all three. It is therefore recommended for people who don't want or know how to configure other database systems. |
602 | </div> | 644 | </div> |
603 | <div id="mysql_description"> | 645 | <div id="mysql_description"> |
604 | MySQL is one of the most popular database systems. It comes with most shared hosting plans. | 646 | MySQL (also called MariaDB) is one of the most popular database systems. It comes with most shared hosting plans. |
605 | </div> | 647 | </div> |
606 | <div id="postgres_description"> | 648 | <div id="postgres_description"> |
607 | PostgreSQL. Because some people prefer it to MySQL. | 649 | PostgreSQL. Because some people prefer it to MySQL. With reasons. |
608 | </div> | 650 | </div> |
609 | </div> | 651 | </div> |
610 | </div> | 652 | </div> |
@@ -630,6 +672,12 @@ php composer.phar install</code></pre> | |||
630 | </div> | 672 | </div> |
631 | </form> | 673 | </form> |
632 | </div> | 674 | </div> |
675 | <?php else : ?> | ||
676 | <div class="final good"> | ||
677 | <h1>wallabag is now installed ! :-) </h1> | ||
678 | <a href="index.php?clean=0">Click here to access the login form</a><br /> | ||
679 | <em>The installation will now try to delete the install directory. If this fails, delete it manually.</em></div> | ||
680 | <?php endif; ?> | ||
633 | <script> | 681 | <script> |
634 | <?php if (!is_dir('vendor')) : ?> | 682 | <?php if (!is_dir('vendor')) : ?> |
635 | $(".database_info").hide(); | 683 | $(".database_info").hide(); |
@@ -651,6 +699,7 @@ php composer.phar install</code></pre> | |||
651 | */ | 699 | */ |
652 | 700 | ||
653 | $(".details").hide(); | 701 | $(".details").hide(); |
702 | $("#utf8_mb4_infos").hide(); | ||
654 | 703 | ||
655 | <?php | 704 | <?php |
656 | if (!isPassing()) : ?> | 705 | if (!isPassing()) : ?> |
@@ -663,16 +712,9 @@ php composer.phar install</code></pre> | |||
663 | endif; | 712 | endif; |
664 | ?> | 713 | ?> |
665 | 714 | ||
666 | <?php | 715 | $("#mysql_utf8_mb4").click(function() { |
667 | if (!extension_loaded('pdo_sqlite')) : ?> | 716 | $("#utf8_mb4_infos").toggle(); |
668 | $("#install_button").hide(); | 717 | }); |
669 | <?php | ||
670 | else : | ||
671 | ?> | ||
672 | $("#pdo_sqlite").hide(); | ||
673 | <?php | ||
674 | endif; | ||
675 | ?> | ||
676 | 718 | ||
677 | $("input[name=db_engine]").click(function() | 719 | $("input[name=db_engine]").click(function() |
678 | { | 720 | { |
@@ -707,13 +749,6 @@ php composer.phar install</code></pre> | |||
707 | $("#sqlite_description").show(); | 749 | $("#sqlite_description").show(); |
708 | $("#mysql_description").hide(); | 750 | $("#mysql_description").hide(); |
709 | $("#postgres_description").hide(); | 751 | $("#postgres_description").hide(); |
710 | <?php | ||
711 | if (!extension_loaded('pdo_sqlite')) : ?> | ||
712 | $("#pdo_sqlite").show(); | ||
713 | $("#install_button").hide(); | ||
714 | <?php | ||
715 | endif; | ||
716 | ?> | ||
717 | } | 752 | } |
718 | } | 753 | } |
719 | }); | 754 | }); |
diff --git a/install/wallabag_compatibility_test.php b/install/install_functions.php index 3b465851..4a18d7d8 100644 --- a/install/wallabag_compatibility_test.php +++ b/install/install_functions.php | |||
@@ -26,7 +26,10 @@ $allow_url_fopen_ok = (bool)ini_get('allow_url_fopen'); | |||
26 | $filter_ok = extension_loaded('filter'); | 26 | $filter_ok = extension_loaded('filter'); |
27 | $gettext_ok = function_exists("gettext"); | 27 | $gettext_ok = function_exists("gettext"); |
28 | $gd_ok = extension_loaded('gd'); | 28 | $gd_ok = extension_loaded('gd'); |
29 | $pdo_drivers_passing = extension_loaded('pdo_sqlite') || extension_loaded('pdo_mysql') || extension_loaded('pdo_pgsql'); | 29 | $pdo_drivers = pdoDrivers(); |
30 | $pdo_drivers_passing = $pdo_drivers['sqlite'] || $pdo_drivers['mysql'] || $pdo_drivers['postgres']; | ||
31 | |||
32 | |||
30 | 33 | ||
31 | if (extension_loaded('xmlreader')) { | 34 | if (extension_loaded('xmlreader')) { |
32 | $xml_ok = true; | 35 | $xml_ok = true; |
@@ -39,7 +42,11 @@ if (extension_loaded('xmlreader')) { | |||
39 | $xml_ok = false; | 42 | $xml_ok = false; |
40 | } | 43 | } |
41 | 44 | ||
42 | $status = array('app_name' => $app_name, 'php' => $php_ok, 'pdo' => $pdo_ok, 'pdo_drivers_passing' => $pdo_drivers_passing, 'xml' => $xml_ok, 'pcre' => $pcre_ok, 'zlib' => $zlib_ok, 'mbstring' => $mbstring_ok, 'dom' => $dom_ok, 'iconv' => $iconv_ok, 'tidy' => $tidy_ok, 'curl' => $curl_ok, 'parse_ini' => $parse_ini_ok, 'parallel' => $parallel_ok, 'allow_url_fopen' => $allow_url_fopen_ok, 'filter' => $filter_ok, 'gettext' => $gettext_ok, 'gd' => $gd_ok); | 45 | $status = array('app_name' => $app_name, 'php' => $php_ok, 'pdo' => $pdo_ok, |
46 | 'pdo_drivers_passing' => $pdo_drivers_passing, 'xml' => $xml_ok, 'pcre' => $pcre_ok, | ||
47 | 'zlib' => $zlib_ok, 'mbstring' => $mbstring_ok, 'dom' => $dom_ok, 'iconv' => $iconv_ok, 'tidy' => $tidy_ok, 'curl' => $curl_ok, | ||
48 | 'parse_ini' => $parse_ini_ok, 'parallel' => $parallel_ok, 'allow_url_fopen' => $allow_url_fopen_ok, 'filter' => $filter_ok, | ||
49 | 'gettext' => $gettext_ok, 'gd' => $gd_ok); | ||
43 | 50 | ||
44 | return $status; | 51 | return $status; |
45 | } | 52 | } |
@@ -53,6 +60,17 @@ function isPassing() { | |||
53 | return !in_array(false, $status); | 60 | return !in_array(false, $status); |
54 | } | 61 | } |
55 | 62 | ||
63 | function pdoDrivers() { | ||
64 | $pdo_driver_sqlite = extension_loaded('pdo_sqlite'); | ||
65 | $pdo_driver_mysql = extension_loaded('pdo_mysql'); | ||
66 | $pdo_driver_postgres = extension_loaded('pdo_pgsql'); | ||
67 | |||
68 | $pdo_drivers = array('sqlite' => $pdo_driver_sqlite, 'mysql' => $pdo_driver_mysql, | ||
69 | 'postgres' => $pdo_driver_postgres); | ||
70 | |||
71 | return $pdo_drivers; | ||
72 | } | ||
73 | |||
56 | /* Function taken from at http://php.net/manual/en/function.rmdir.php#110489 | 74 | /* Function taken from at http://php.net/manual/en/function.rmdir.php#110489 |
57 | * Idea : nbari at dalmp dot com | 75 | * Idea : nbari at dalmp dot com |
58 | * Rights unknown | 76 | * Rights unknown |
diff --git a/locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.mo b/locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.mo new file mode 100644 index 00000000..c6678458 --- /dev/null +++ b/locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.mo | |||
Binary files differ | |||
diff --git a/locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.po b/locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.po new file mode 100644 index 00000000..e6c558dc --- /dev/null +++ b/locale/en_GB.utf8/LC_MESSAGES/en_GB.utf8.po | |||
@@ -0,0 +1,681 @@ | |||
1 | msgid "" | ||
2 | msgstr "" | ||
3 | "Project-Id-Version: wallabag\n" | ||
4 | "Report-Msgid-Bugs-To: \n" | ||
5 | "POT-Creation-Date: 2014-02-25 15:17+0300\n" | ||
6 | "PO-Revision-Date: \n" | ||
7 | "Last-Translator: tcit <tcit@openmailbox.org>\n" | ||
8 | "Language-Team: \n" | ||
9 | "Language: en-GB\n" | ||
10 | "MIME-Version: 1.0\n" | ||
11 | "Content-Type: text/plain; charset=UTF-8\n" | ||
12 | "Content-Transfer-Encoding: 8bit\n" | ||
13 | "X-Generator: Poedit 1.5.4\n" | ||
14 | "X-Poedit-Basepath: .\n" | ||
15 | |||
16 | msgid "wallabag, a read it later open source system" | ||
17 | msgstr "wallabag, an open source \"Read It Later\" service" | ||
18 | |||
19 | msgid "login failed: user doesn't exist" | ||
20 | msgstr "Login failed: user doesn't exist" | ||
21 | |||
22 | msgid "return home" | ||
23 | msgstr "Return Home" | ||
24 | |||
25 | msgid "config" | ||
26 | msgstr "Config" | ||
27 | |||
28 | msgid "Saving articles" | ||
29 | msgstr "Saving articles" | ||
30 | |||
31 | msgid "There are several ways to save an article:" | ||
32 | msgstr "There are several ways to save an article:" | ||
33 | |||
34 | msgid "read the documentation" | ||
35 | msgstr "Read the documentation" | ||
36 | |||
37 | msgid "download the extension" | ||
38 | msgstr "Download the extension" | ||
39 | |||
40 | msgid "Firefox Add-On" | ||
41 | msgstr "Firefox Add-On" | ||
42 | |||
43 | msgid "Chrome Extension" | ||
44 | msgstr "Chrome Extension" | ||
45 | |||
46 | msgid "via F-Droid" | ||
47 | msgstr "via F-Droid" | ||
48 | |||
49 | msgid " or " | ||
50 | msgstr " or " | ||
51 | |||
52 | msgid "via Google Play" | ||
53 | msgstr "via Google Play" | ||
54 | |||
55 | msgid "download the application" | ||
56 | msgstr "Download the application" | ||
57 | |||
58 | msgid "By filling this field" | ||
59 | msgstr "By filling in this field" | ||
60 | |||
61 | msgid "bag it!" | ||
62 | msgstr "bag it!" | ||
63 | |||
64 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
65 | msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar" | ||
66 | |||
67 | msgid "Upgrading wallabag" | ||
68 | msgstr "Upgrading wallabag" | ||
69 | |||
70 | msgid "Installed version" | ||
71 | msgstr "Installed version" | ||
72 | |||
73 | msgid "Latest stable version" | ||
74 | msgstr "Latest stable version" | ||
75 | |||
76 | msgid "A more recent stable version is available." | ||
77 | msgstr "A more recent stable version is available." | ||
78 | |||
79 | msgid "You are up to date." | ||
80 | msgstr "You are up to date." | ||
81 | |||
82 | msgid "Latest dev version" | ||
83 | msgstr "Latest dev version" | ||
84 | |||
85 | msgid "A more recent development version is available." | ||
86 | msgstr "A more recent development version is available." | ||
87 | |||
88 | msgid "Feeds" | ||
89 | msgstr "Feeds" | ||
90 | |||
91 | msgid "" | ||
92 | "Your feed token is currently empty and must first be generated to enable " | ||
93 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
94 | msgstr "" | ||
95 | "Your feed token is currently empty. You must generated it to enable feeds. " | ||
96 | "<a href='?feed&action=generate'>Generate Feed Token</a>." | ||
97 | |||
98 | msgid "Unread feed" | ||
99 | msgstr "Unread feed" | ||
100 | |||
101 | msgid "Favorites feed" | ||
102 | msgstr "Favourites feed" | ||
103 | |||
104 | msgid "Archive feed" | ||
105 | msgstr "Archive feed" | ||
106 | |||
107 | msgid "Your token:" | ||
108 | msgstr "Your token:" | ||
109 | |||
110 | msgid "Your user id:" | ||
111 | msgstr "Your user ID:" | ||
112 | |||
113 | msgid "" | ||
114 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" | ||
115 | "</a>." | ||
116 | msgstr "<a href='?feed&action=generate'>Regenerate Token</a>" | ||
117 | |||
118 | msgid "Change your theme" | ||
119 | msgstr "Change Your Theme" | ||
120 | |||
121 | msgid "Theme:" | ||
122 | msgstr "Theme:" | ||
123 | |||
124 | msgid "Update" | ||
125 | msgstr "Update" | ||
126 | |||
127 | msgid "Change your language" | ||
128 | msgstr "Change Your Language" | ||
129 | |||
130 | msgid "Language:" | ||
131 | msgstr "Language:" | ||
132 | |||
133 | msgid "Change your password" | ||
134 | msgstr "Change Your Password" | ||
135 | |||
136 | msgid "New password:" | ||
137 | msgstr "New password:" | ||
138 | |||
139 | msgid "Password" | ||
140 | msgstr "Password" | ||
141 | |||
142 | msgid "Repeat your new password:" | ||
143 | msgstr "Repeat your new password:" | ||
144 | |||
145 | msgid "Import" | ||
146 | msgstr "Import" | ||
147 | |||
148 | msgid "" | ||
149 | "You can import your Pocket, Readability, Instapaper, Wallabag or any data in " | ||
150 | "appropriate json or html format." | ||
151 | msgstr "" | ||
152 | "You can import your Pocket, Readability, Instapaper, wallabag or any other " | ||
153 | "data in JSON or HTML format." | ||
154 | |||
155 | msgid "" | ||
156 | "Please execute the import script locally as it can take a very long time." | ||
157 | msgstr "Please run the import script locally as it can take a very long time." | ||
158 | |||
159 | msgid "" | ||
160 | "Please select export file on your computer and press \"Import\" button " | ||
161 | "below. Wallabag will parse your file, insert all URLs and start fetching of " | ||
162 | "articles if required." | ||
163 | msgstr "" | ||
164 | "Please select export file on your computer and press the “" | ||
165 | "Import” button below. wallabag will parse your file, insert all URLs " | ||
166 | "and start fetching articles if required. Please execute the import script " | ||
167 | "locally as it can take a very long time." | ||
168 | |||
169 | msgid "You can click here to fetch content for articles with no content." | ||
170 | msgstr "Fetch content for articles with no content" | ||
171 | |||
172 | msgid "More info in the official documentation:" | ||
173 | msgstr "More info in the official documentation:" | ||
174 | |||
175 | msgid "" | ||
176 | "(<a href=\"http://doc.wallabag.org/en/User_documentation/" | ||
177 | "Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" | ||
178 | msgstr "" | ||
179 | "(<a href=\"http://doc.wallabag.org/en/User_documentation/" | ||
180 | "Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" | ||
181 | |||
182 | msgid "Import from Pocket" | ||
183 | msgstr "Import from Pocket" | ||
184 | |||
185 | #, php-format | ||
186 | msgid "(you must have a %s file on your server)" | ||
187 | msgstr "(you must have a %s file on your server)" | ||
188 | |||
189 | msgid "Import from Readability" | ||
190 | msgstr "Import from Readability" | ||
191 | |||
192 | msgid "Import from Instapaper" | ||
193 | msgstr "Import from Instapaper" | ||
194 | |||
195 | msgid "Import from wallabag" | ||
196 | msgstr "Import from wallabag" | ||
197 | |||
198 | msgid "Export your wallabag data" | ||
199 | msgstr "Export your wallabag data" | ||
200 | |||
201 | msgid "Click here" | ||
202 | msgstr "Click here" | ||
203 | |||
204 | msgid "to download your database." | ||
205 | msgstr "to download your database." | ||
206 | |||
207 | msgid "to export your wallabag data." | ||
208 | msgstr "to export your wallabag data." | ||
209 | |||
210 | msgid "Export JSON" | ||
211 | msgstr "Export JSON" | ||
212 | |||
213 | msgid "Cache" | ||
214 | msgstr "Cache" | ||
215 | |||
216 | msgid "to delete cache." | ||
217 | msgstr "to delete cache." | ||
218 | |||
219 | msgid "Delete Cache" | ||
220 | msgstr "Delete Cache" | ||
221 | |||
222 | msgid "You can enter multiple tags, separated by commas." | ||
223 | msgstr "You can enter multiple tags, separated by commas." | ||
224 | |||
225 | msgid "Add tags:" | ||
226 | msgstr "Add tags:" | ||
227 | |||
228 | msgid "no tags" | ||
229 | msgstr "no tags" | ||
230 | |||
231 | msgid "The tag has been applied successfully" | ||
232 | msgstr "The tag has been applied successfully" | ||
233 | |||
234 | msgid "interview" | ||
235 | msgstr "interview" | ||
236 | |||
237 | msgid "editorial" | ||
238 | msgstr "editorial" | ||
239 | |||
240 | msgid "video" | ||
241 | msgstr "video" | ||
242 | |||
243 | msgid "return to article" | ||
244 | msgstr "Return to article" | ||
245 | |||
246 | msgid "plop" | ||
247 | msgstr "plop" | ||
248 | |||
249 | msgid "" | ||
250 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " | ||
251 | "here</a>." | ||
252 | msgstr "" | ||
253 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " | ||
254 | "here</a>." | ||
255 | |||
256 | msgid "favoris" | ||
257 | msgstr "Favourites" | ||
258 | |||
259 | msgid "archive" | ||
260 | msgstr "Archive" | ||
261 | |||
262 | msgid "unread" | ||
263 | msgstr "Unread" | ||
264 | |||
265 | msgid "by date asc" | ||
266 | msgstr "by date ascending" | ||
267 | |||
268 | msgid "by date" | ||
269 | msgstr "by date" | ||
270 | |||
271 | msgid "by date desc" | ||
272 | msgstr "by date descending" | ||
273 | |||
274 | msgid "by title asc" | ||
275 | msgstr "by title ascending" | ||
276 | |||
277 | msgid "by title" | ||
278 | msgstr "by title" | ||
279 | |||
280 | msgid "by title desc" | ||
281 | msgstr "by title descending" | ||
282 | |||
283 | msgid "Tag" | ||
284 | msgstr "Tag" | ||
285 | |||
286 | msgid "No articles found." | ||
287 | msgstr "No articles found." | ||
288 | |||
289 | msgid "Toggle mark as read" | ||
290 | msgstr "Toggle mark as read" | ||
291 | |||
292 | msgid "toggle favorite" | ||
293 | msgstr "Toggle favourite" | ||
294 | |||
295 | msgid "delete" | ||
296 | msgstr "Delete" | ||
297 | |||
298 | msgid "original" | ||
299 | msgstr "Original" | ||
300 | |||
301 | msgid "estimated reading time:" | ||
302 | msgstr "Estimated reading time:" | ||
303 | |||
304 | msgid "mark all the entries as read" | ||
305 | msgstr "Mark all the entries as read" | ||
306 | |||
307 | msgid "results" | ||
308 | msgstr "Results" | ||
309 | |||
310 | msgid "installation" | ||
311 | msgstr "Installation" | ||
312 | |||
313 | msgid "install your wallabag" | ||
314 | msgstr "Install your wallabag" | ||
315 | |||
316 | msgid "" | ||
317 | "wallabag is still not installed. Please fill the below form to install it. " | ||
318 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
319 | "on wallabag website</a>." | ||
320 | msgstr "" | ||
321 | "wallabag is still not installed. Please fill in the form to install it. If " | ||
322 | "you need help, please <a href='http://doc.wallabag.org/'>read the " | ||
323 | "documentation on wallabag website</a>." | ||
324 | |||
325 | msgid "Login" | ||
326 | msgstr "Login" | ||
327 | |||
328 | msgid "Repeat your password" | ||
329 | msgstr "Repeat your password" | ||
330 | |||
331 | msgid "Install" | ||
332 | msgstr "Install" | ||
333 | |||
334 | msgid "login to your wallabag" | ||
335 | msgstr "Login to your wallabag" | ||
336 | |||
337 | msgid "Login to wallabag" | ||
338 | msgstr "Login to wallabag" | ||
339 | |||
340 | msgid "you are in demo mode, some features may be disabled." | ||
341 | msgstr "You are in demo mode; some features may be disabled." | ||
342 | |||
343 | msgid "Username" | ||
344 | msgstr "Username" | ||
345 | |||
346 | msgid "Stay signed in" | ||
347 | msgstr "Stay signed in" | ||
348 | |||
349 | msgid "(Do not check on public computers)" | ||
350 | msgstr "(Do not check on public computers)" | ||
351 | |||
352 | msgid "Sign in" | ||
353 | msgstr "Sign in" | ||
354 | |||
355 | msgid "favorites" | ||
356 | msgstr "Favourites" | ||
357 | |||
358 | msgid "estimated reading time :" | ||
359 | msgstr "Estimated reading time:" | ||
360 | |||
361 | msgid "Mark all the entries as read" | ||
362 | msgstr "Mark all the entries as read" | ||
363 | |||
364 | msgid "Return home" | ||
365 | msgstr "Return home" | ||
366 | |||
367 | msgid "Back to top" | ||
368 | msgstr "Back to top" | ||
369 | |||
370 | msgid "Mark as read" | ||
371 | msgstr "Mark as read" | ||
372 | |||
373 | msgid "Favorite" | ||
374 | msgstr "Favourite" | ||
375 | |||
376 | msgid "Toggle favorite" | ||
377 | msgstr "Toggle favourite" | ||
378 | |||
379 | msgid "Delete" | ||
380 | msgstr "Delete" | ||
381 | |||
382 | msgid "Tweet" | ||
383 | msgstr "Tweet" | ||
384 | |||
385 | msgid "Email" | ||
386 | msgstr "Email" | ||
387 | |||
388 | msgid "shaarli" | ||
389 | msgstr "shaarli" | ||
390 | |||
391 | msgid "flattr" | ||
392 | msgstr "flattr" | ||
393 | |||
394 | msgid "Does this article appear wrong?" | ||
395 | msgstr "Does this article display incorrectly?" | ||
396 | |||
397 | msgid "tags:" | ||
398 | msgstr "tags:" | ||
399 | |||
400 | msgid "Edit tags" | ||
401 | msgstr "Edit Tags" | ||
402 | |||
403 | msgid "save link!" | ||
404 | msgstr "Save Link" | ||
405 | |||
406 | msgid "home" | ||
407 | msgstr "Home" | ||
408 | |||
409 | msgid "tags" | ||
410 | msgstr "Tags" | ||
411 | |||
412 | msgid "logout" | ||
413 | msgstr "Logout" | ||
414 | |||
415 | msgid "powered by" | ||
416 | msgstr "Powered by" | ||
417 | |||
418 | msgid "debug mode is on so cache is off." | ||
419 | msgstr "Debug mode is on, so the cache is off." | ||
420 | |||
421 | msgid "your wallabag version:" | ||
422 | msgstr "Your wallabag version:" | ||
423 | |||
424 | msgid "storage:" | ||
425 | msgstr "Storage:" | ||
426 | |||
427 | msgid "save a link" | ||
428 | msgstr "Save a Link" | ||
429 | |||
430 | msgid "back to home" | ||
431 | msgstr "Back to Home" | ||
432 | |||
433 | msgid "toggle mark as read" | ||
434 | msgstr "Toggle mark as read" | ||
435 | |||
436 | msgid "tweet" | ||
437 | msgstr "Tweet" | ||
438 | |||
439 | msgid "email" | ||
440 | msgstr "Email" | ||
441 | |||
442 | msgid "this article appears wrong?" | ||
443 | msgstr "This article displays incorrectly?" | ||
444 | |||
445 | msgid "No link available here!" | ||
446 | msgstr "No link available here" | ||
447 | |||
448 | msgid "Poching a link" | ||
449 | msgstr "bagging a link" | ||
450 | |||
451 | msgid "by filling this field" | ||
452 | msgstr "by filling in this field" | ||
453 | |||
454 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
455 | msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar" | ||
456 | |||
457 | msgid "Drag & drop this link to your bookmarks bar:" | ||
458 | msgstr "Drag & drop this link to your bookmarks bar:" | ||
459 | |||
460 | msgid "your version" | ||
461 | msgstr "your version" | ||
462 | |||
463 | msgid "latest stable version" | ||
464 | msgstr "latest stable version" | ||
465 | |||
466 | msgid "a more recent stable version is available." | ||
467 | msgstr "A more recent stable version is available." | ||
468 | |||
469 | msgid "you are up to date." | ||
470 | msgstr "You are up to date." | ||
471 | |||
472 | msgid "latest dev version" | ||
473 | msgstr "latest development version" | ||
474 | |||
475 | msgid "a more recent development version is available." | ||
476 | msgstr "A more recent development version is available." | ||
477 | |||
478 | msgid "You can clear cache to check the latest release." | ||
479 | msgstr "" | ||
480 | "You can <a href=\"#cache\">clear the cache</a> to check for the latest " | ||
481 | "release." | ||
482 | |||
483 | msgid "Please execute the import script locally, it can take a very long time." | ||
484 | msgstr "Please run the import script locally as it can take a very long time." | ||
485 | |||
486 | msgid "More infos in the official doc:" | ||
487 | msgstr "More information in the official doc:" | ||
488 | |||
489 | msgid "import from Pocket" | ||
490 | msgstr "Import from Pocket" | ||
491 | |||
492 | msgid "import from Readability" | ||
493 | msgstr "Import from Readability" | ||
494 | |||
495 | msgid "import from Instapaper" | ||
496 | msgstr "Import from Instapaper" | ||
497 | |||
498 | msgid "Tags" | ||
499 | msgstr "Tags" | ||
500 | |||
501 | msgid "Untitled" | ||
502 | msgstr "Untitled" | ||
503 | |||
504 | msgid "the link has been added successfully" | ||
505 | msgstr "The link has been added successfully." | ||
506 | |||
507 | msgid "error during insertion : the link wasn't added" | ||
508 | msgstr "Error during insertion: the link wasn't added." | ||
509 | |||
510 | msgid "the link has been deleted successfully" | ||
511 | msgstr "The link has been deleted successfully." | ||
512 | |||
513 | msgid "the link wasn't deleted" | ||
514 | msgstr "The link wasn't deleted." | ||
515 | |||
516 | msgid "Article not found!" | ||
517 | msgstr "Article not found." | ||
518 | |||
519 | msgid "previous" | ||
520 | msgstr "Previous" | ||
521 | |||
522 | msgid "next" | ||
523 | msgstr "Next" | ||
524 | |||
525 | msgid "in demo mode, you can't update your password" | ||
526 | msgstr "In demo mode, you can't update your password." | ||
527 | |||
528 | msgid "your password has been updated" | ||
529 | msgstr "Your password has been updated." | ||
530 | |||
531 | msgid "" | ||
532 | "the two fields have to be filled & the password must be the same in the two " | ||
533 | "fields" | ||
534 | msgstr "" | ||
535 | "The two fields must be filled in, and the password must be the same in both " | ||
536 | "fields" | ||
537 | |||
538 | msgid "still using the \"" | ||
539 | msgstr "Still using the \"" | ||
540 | |||
541 | msgid "that theme does not seem to be installed" | ||
542 | msgstr "That theme is not installed." | ||
543 | |||
544 | msgid "you have changed your theme preferences" | ||
545 | msgstr "You have changed your theme preferences." | ||
546 | |||
547 | msgid "that language does not seem to be installed" | ||
548 | msgstr "That language is not installed." | ||
549 | |||
550 | msgid "you have changed your language preferences" | ||
551 | msgstr "You have changed your language preferences." | ||
552 | |||
553 | msgid "login failed: you have to fill all fields" | ||
554 | msgstr "Login failed: you have to fill in all the fields." | ||
555 | |||
556 | msgid "welcome to your wallabag" | ||
557 | msgstr "Welcome to your wallabag." | ||
558 | |||
559 | msgid "login failed: bad login or password" | ||
560 | msgstr "Login failed: bad login or password." | ||
561 | |||
562 | msgid "import from instapaper completed" | ||
563 | msgstr "Import from Instapaper completed." | ||
564 | |||
565 | msgid "import from pocket completed" | ||
566 | msgstr "Import from Pocket completed." | ||
567 | |||
568 | msgid "import from Readability completed. " | ||
569 | msgstr "Import from Readability completed." | ||
570 | |||
571 | msgid "import from Poche completed. " | ||
572 | msgstr "Import from Poche completed. " | ||
573 | |||
574 | msgid "Unknown import provider." | ||
575 | msgstr "Unknown import provider." | ||
576 | |||
577 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
578 | msgstr "Incomplete inc/poche/define.inc.php file, please define \"" | ||
579 | |||
580 | msgid "Could not find required \"" | ||
581 | msgstr "Could not find required \"" | ||
582 | |||
583 | msgid "Uh, there is a problem while generating feeds." | ||
584 | msgstr "There is a problem generating feeds." | ||
585 | |||
586 | msgid "Cache deleted." | ||
587 | msgstr "Cache deleted." | ||
588 | |||
589 | msgid "Oops, it seems you don't have PHP 5." | ||
590 | msgstr "Oops, it seems you don't have PHP 5." | ||
591 | |||
592 | msgid "Add user" | ||
593 | msgstr "Add User" | ||
594 | |||
595 | msgid "Add a new user :" | ||
596 | msgstr "Add a new user:" | ||
597 | |||
598 | msgid "Login for new user" | ||
599 | msgstr "Login for new user:" | ||
600 | |||
601 | msgid "Password for new user" | ||
602 | msgstr "Password for new user:" | ||
603 | |||
604 | msgid "Email for new user (not required)" | ||
605 | msgstr "Email for new user (not required):" | ||
606 | |||
607 | msgid "Send" | ||
608 | msgstr "Send" | ||
609 | |||
610 | msgid "Delete account" | ||
611 | msgstr "Delete Account" | ||
612 | |||
613 | msgid "You can delete your account by entering your password and validating." | ||
614 | msgstr "You can delete your account by entering your password and confirming." | ||
615 | |||
616 | msgid "Be careful, data will be erased forever (that is a very long time)." | ||
617 | msgstr "Be careful, data will be erased forever (that is a very long time)." | ||
618 | |||
619 | msgid "Type here your password" | ||
620 | msgstr "Enter your password" | ||
621 | |||
622 | msgid "You are the only user, you cannot delete your own account." | ||
623 | msgstr "You are the only user; you cannot delete your own account." | ||
624 | |||
625 | msgid "" | ||
626 | "To completely remove wallabag, delete the wallabag folder on your web server " | ||
627 | "(and eventual databases)." | ||
628 | msgstr "" | ||
629 | "To completely remove wallabag, delete the wallabag folder on your web " | ||
630 | "server. Then delete any any databases you have created for wallabag." | ||
631 | |||
632 | msgid "Enter your search here" | ||
633 | msgstr "Enter your search here" | ||
634 | |||
635 | msgid "Tag these results as" | ||
636 | msgstr "Tag these results as" | ||
637 | |||
638 | # ebook | ||
639 | msgid "Fancy an E-Book ?" | ||
640 | msgstr "Fancy an E-Book?" | ||
641 | |||
642 | msgid "" | ||
643 | "Click on <a href=\"./?epub&method=all\" title=\"Generate ePub\">this " | ||
644 | "link</a> to get all your articles in one ebook (ePub 3 format)." | ||
645 | msgstr "" | ||
646 | "You can <a href=\"./?epub&method=all\" title=\"Generate EPUB\">Generate " | ||
647 | "an EPUB</a> to get all your articles in one ebook (EPUB 3 format)." | ||
648 | |||
649 | msgid "" | ||
650 | "This can <b>take a while</b> and can <b>even fail</b> if you have too many " | ||
651 | "articles, depending on your server configuration." | ||
652 | msgstr "" | ||
653 | "This can <b>take a while</b> and can <b>even fail</b> if you have too many " | ||
654 | "articles, depending on your server configuration." | ||
655 | |||
656 | msgid "Download the articles from this tag in an epub" | ||
657 | msgstr "Download the articles from this tag as an EPUB" | ||
658 | |||
659 | msgid "Download the articles from this search in an epub" | ||
660 | msgstr "Download the articles from this search as an EPUB" | ||
661 | |||
662 | msgid "Download the articles from this category in an epub" | ||
663 | msgstr "Download the articles from this category as an EPUB" | ||
664 | |||
665 | #~ msgid "poche it!" | ||
666 | #~ msgstr "poche it!" | ||
667 | |||
668 | #~ msgid "Updating poche" | ||
669 | #~ msgstr "Updating poche" | ||
670 | |||
671 | #~ msgid "create an issue" | ||
672 | #~ msgstr "create an issue" | ||
673 | |||
674 | #~ msgid "or" | ||
675 | #~ msgstr "or" | ||
676 | |||
677 | #~ msgid "contact us by mail" | ||
678 | #~ msgstr "contact us by mail" | ||
679 | |||
680 | #~ msgid "your poche version:" | ||
681 | #~ msgstr "your poche version:" | ||
diff --git a/themes/_global/img/icons/evernote-icon--black.svg b/themes/_global/img/icons/evernote-icon--black.svg new file mode 100644 index 00000000..1336648c --- /dev/null +++ b/themes/_global/img/icons/evernote-icon--black.svg | |||
@@ -0,0 +1,8 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Generated by IcoMoon.io --> | ||
3 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | ||
4 | <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="640" height="640" viewBox="0 0 640 640"><g id="icomoon-ignore"> | ||
5 | </g> | ||
6 | <path d="M554.848 137.824c0-36.8-55.424-40.864-55.424-40.864l-130.208-8.192c0 0-2.784-35.424-29.088-47.744-26.304-12.256-55.232-8.512-76.032-8.32-20.8 0.224-25.696 26.72-25.696 51.744 0 24.992 0.448 53.888 0.448 72 0 32.576-14.304 46.368-50.112 46.368h-73.824c-20.64-1.312-36.704 2.048-36.704 18.752 0 16.736 24.288 159.136 57.632 192 19.36 19.072 137.76 32.448 162.688 32.448s16.608-73.632 23.552-73.632c6.944 0 14.528 41.568 53.824 51.296 39.232 9.824 91.648 8 94.432 35.936 3.616 36.864 6.944 84.544-17.312 87.936l-54.912 2.176c-37.632-2.688-27.52-43.808-10.912-43.808s24.928-0.608 24.928-0.608l2.080-44.992c0 0-86.176-10.176-89.824 47.936-3.36 53.12 5.76 78.176 12.448 83.616 6.688 5.504 18.272 16.128 123.808 16.128 148.704 0 94.208-433.376 94.208-470.176zM494.080 330.24c-5.824 6.272-26.944-10.24-47.104-10.24-20.192 0-41.952 10.688-47.072 3.616-5.12-7.008 4.672-63.68 42.688-63.68s57.376 64.128 51.488 70.304z" fill="rgb(68, 68, 68)"></path> | ||
7 | <path d="M185.728 133.312c0-7.328 1.856-95.488 1.856-95.488l-112.16 110.080c0 0 77.504 0 92.736 0 15.232-0.032 17.568-7.328 17.568-14.592z" fill="rgb(68, 68, 68)"></path> | ||
8 | </svg> | ||
diff --git a/themes/baggy/about.twig b/themes/baggy/about.twig index 110196a6..93c96df2 100755 --- a/themes/baggy/about.twig +++ b/themes/baggy/about.twig | |||
@@ -7,6 +7,8 @@ | |||
7 | {% block content %} | 7 | {% block content %} |
8 | <h2>{% trans "About wallabag" %}</h2> | 8 | <h2>{% trans "About wallabag" %}</h2> |
9 | 9 | ||
10 | <p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p> | ||
11 | |||
10 | <dl> | 12 | <dl> |
11 | <dt>{% trans "Project website" %}</dt> | 13 | <dt>{% trans "Project website" %}</dt> |
12 | <dd><a href="https://www.wallabag.org">https://www.wallabag.org</a></dd> | 14 | <dd><a href="https://www.wallabag.org">https://www.wallabag.org</a></dd> |
@@ -27,8 +29,6 @@ | |||
27 | <dd>{{ constant('POCHE') }}</dd> | 29 | <dd>{{ constant('POCHE') }}</dd> |
28 | </dl> | 30 | </dl> |
29 | 31 | ||
30 | <p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p> | ||
31 | |||
32 | <h2>{% trans "Getting help" %}</h2> | 32 | <h2>{% trans "Getting help" %}</h2> |
33 | 33 | ||
34 | <dl> | 34 | <dl> |
diff --git a/themes/baggy/config.twig b/themes/baggy/config.twig index a5a61559..95e09734 100755 --- a/themes/baggy/config.twig +++ b/themes/baggy/config.twig | |||
@@ -27,7 +27,7 @@ | |||
27 | </ul> | 27 | </ul> |
28 | <h3>{% trans "Bookmarklet" %}</h3> | 28 | <h3>{% trans "Bookmarklet" %}</h3> |
29 | <p> | 29 | <p> |
30 | {% trans "Drag & drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a> | 30 | {% trans "Drag & drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&autoclose=true&url='%20+%20btoa(url),'_blank');})();void(0);}">{% trans "bag it!" %}</a> |
31 | </p> | 31 | </p> |
32 | 32 | ||
33 | <h2>{% trans "Feeds" %}</h2> | 33 | <h2>{% trans "Feeds" %}</h2> |
diff --git a/themes/baggy/css/main.css b/themes/baggy/css/main.css index 90d546fc..54622cfc 100755 --- a/themes/baggy/css/main.css +++ b/themes/baggy/css/main.css | |||
@@ -742,6 +742,9 @@ a.add-to-wallabag-link-after:after { | |||
742 | .icon-reload:before { | 742 | .icon-reload:before { |
743 | content: "\ea2e"; | 743 | content: "\ea2e"; |
744 | } | 744 | } |
745 | .icon-evernote:before { | ||
746 | content: "\e603"; | ||
747 | } | ||
745 | 748 | ||
746 | 749 | ||
747 | /* .icon-image class, for image-based icons | 750 | /* .icon-image class, for image-based icons |
diff --git a/themes/baggy/fonts/icomoon.eot b/themes/baggy/fonts/icomoon.eot index 784ac198..3d4d14ae 100644 --- a/themes/baggy/fonts/icomoon.eot +++ b/themes/baggy/fonts/icomoon.eot | |||
Binary files differ | |||
diff --git a/themes/baggy/fonts/icomoon.svg b/themes/baggy/fonts/icomoon.svg index 2e2f16f7..19fcfa1f 100644 --- a/themes/baggy/fonts/icomoon.svg +++ b/themes/baggy/fonts/icomoon.svg | |||
@@ -10,6 +10,7 @@ | |||
10 | <glyph unicode="" d="M512 778.666c-188.544 0-341.334-152.832-341.334-341.332s152.788-341.334 341.334-341.334 341.334 152.832 341.334 341.334-152.788 341.332-341.334 341.332zM670.164 339.498c16.682-16.682 16.682-43.648 0-60.332-8.32-8.32-19.244-12.5-30.164-12.5s-21.846 4.182-30.164 12.5l-97.836 97.836-97.834-97.836c-8.32-8.32-19.242-12.5-30.166-12.5s-21.846 4.182-30.166 12.5c-16.682 16.682-16.682 43.648 0 60.332l97.834 97.836-97.834 97.834c-16.682 16.682-16.682 43.648 0 60.332s43.648 16.682 60.332 0l97.834-97.834 97.836 97.834c16.682 16.682 43.648 16.682 60.332 0s16.682-43.648 0-60.332l-97.836-97.834 97.836-97.836z" /> | 10 | <glyph unicode="" d="M512 778.666c-188.544 0-341.334-152.832-341.334-341.332s152.788-341.334 341.334-341.334 341.334 152.832 341.334 341.334-152.788 341.332-341.334 341.332zM670.164 339.498c16.682-16.682 16.682-43.648 0-60.332-8.32-8.32-19.244-12.5-30.164-12.5s-21.846 4.182-30.164 12.5l-97.836 97.836-97.834-97.836c-8.32-8.32-19.242-12.5-30.166-12.5s-21.846 4.182-30.166 12.5c-16.682 16.682-16.682 43.648 0 60.332l97.834 97.836-97.834 97.834c-16.682 16.682-16.682 43.648 0 60.332s43.648 16.682 60.332 0l97.834-97.834 97.836 97.834c16.682 16.682 43.648 16.682 60.332 0s16.682-43.648 0-60.332l-97.836-97.834 97.836-97.836z" /> |
11 | <glyph unicode="" d="M490.666 146.218c-74.070 0-143.7 28.842-196.096 81.196-52.352 52.394-81.236 122.028-81.236 196.14s28.884 143.744 81.236 196.14c16.682 16.682 43.648 16.682 60.332 0s16.682-43.648 0-60.332c-36.266-36.308-56.236-84.522-56.236-135.808s19.968-99.542 56.236-135.808c36.266-36.268 84.438-56.192 135.764-56.192s99.498 19.968 135.766 56.192c36.308 36.268 56.236 84.48 56.236 135.808s-19.968 99.542-56.236 135.808c-16.682 16.682-16.682 43.648 0 60.332s43.648 16.682 60.332 0c52.352-52.438 81.236-122.070 81.236-196.14s-28.884-143.744-81.236-196.14c-52.394-52.352-122.028-81.194-196.096-81.194zM490.666 469.334c-23.594 0-42.666 19.116-42.666 42.666v213.334c0 23.552 19.072 42.666 42.668 42.666s42.668-19.116 42.668-42.666v-213.334c0-23.552-19.072-42.666-42.668-42.666z" /> | 11 | <glyph unicode="" d="M490.666 146.218c-74.070 0-143.7 28.842-196.096 81.196-52.352 52.394-81.236 122.028-81.236 196.14s28.884 143.744 81.236 196.14c16.682 16.682 43.648 16.682 60.332 0s16.682-43.648 0-60.332c-36.266-36.308-56.236-84.522-56.236-135.808s19.968-99.542 56.236-135.808c36.266-36.268 84.438-56.192 135.764-56.192s99.498 19.968 135.766 56.192c36.308 36.268 56.236 84.48 56.236 135.808s-19.968 99.542-56.236 135.808c-16.682 16.682-16.682 43.648 0 60.332s43.648 16.682 60.332 0c52.352-52.438 81.236-122.070 81.236-196.14s-28.884-143.744-81.236-196.14c-52.394-52.352-122.028-81.194-196.096-81.194zM490.666 469.334c-23.594 0-42.666 19.116-42.666 42.666v213.334c0 23.552 19.072 42.666 42.668 42.666s42.668-19.116 42.668-42.666v-213.334c0-23.552-19.072-42.666-42.668-42.666z" /> |
12 | <glyph unicode="" d="M512 803.328l-273.664-273.664c-33.324-33.322-33.324-87.34 0-120.662s87.338-33.322 120.662 0l67.668 67.67v-308.992c0-47.104 38.188-85.332 85.334-85.332 47.104 0 85.332 38.23 85.332 85.332v308.992l67.668-67.67c16.682-16.682 38.486-25.004 60.332-25.004s43.648 8.32 60.332 25.004c33.322 33.322 33.322 87.34 0 120.662l-273.664 273.664z" /> | 12 | <glyph unicode="" d="M512 803.328l-273.664-273.664c-33.324-33.322-33.324-87.34 0-120.662s87.338-33.322 120.662 0l67.668 67.67v-308.992c0-47.104 38.188-85.332 85.334-85.332 47.104 0 85.332 38.23 85.332 85.332v308.992l67.668-67.67c16.682-16.682 38.486-25.004 60.332-25.004s43.648 8.32 60.332 25.004c33.322 33.322 33.322 87.34 0 120.662l-273.664 273.664z" /> |
13 | <glyph unicode="" d="M887.757 752.282c0 58.88-88.678 65.382-88.678 65.382l-208.333 13.107c0 0-4.454 56.678-46.541 76.39-42.086 19.61-88.371 13.619-121.651 13.312-33.28-0.358-41.114-42.752-41.114-82.79 0-39.987 0.717-86.221 0.717-115.2 0-52.122-22.886-74.189-80.179-74.189h-118.118c-33.024 2.099-58.726-3.277-58.726-30.003 0-26.778 38.861-254.618 92.211-307.2 30.976-30.515 220.416-51.917 260.301-51.917s26.573 117.811 37.683 117.811c11.11 0 23.245-66.509 86.118-82.074 62.771-15.718 146.637-12.8 151.091-57.498 5.786-58.982 11.11-135.27-27.699-140.698l-87.859-3.482c-60.211 4.301-44.032 70.093-17.459 70.093s39.885 0.973 39.885 0.973l3.328 71.987c0 0-137.882 16.282-143.718-76.698-5.376-84.992 9.216-125.082 19.917-133.786 10.701-8.806 29.235-25.805 198.093-25.805 237.926 0 150.733 693.402 150.733 752.282zM790.528 444.416c-9.318-10.035-43.11 16.384-75.366 16.384-32.307 0-67.123-17.101-75.315-5.786-8.192 11.213 7.475 101.888 68.301 101.888s91.802-102.605 82.381-112.486zM297.165 759.501c0 11.725 2.97 152.781 2.97 152.781l-179.456-176.128c0 0 124.006 0 148.378 0 24.371 0.051 28.109 11.725 28.109 23.347z" /> | ||
13 | <glyph unicode="" d="M0 51.712v526.336q0 183.296 87.040 284.672t265.216 101.376h561.152q-5.12-5.12-53.248-54.272t-102.4-103.424-111.616-111.616-97.28-95.232-43.008-37.888q-15.36 0-15.36 16.384v159.744h-49.152q-60.416 0-96.256-6.144t-64.512-26.624-39.936-58.368-12.288-98.304v-268.288zM68.608-68.096q5.12 5.12 54.272 54.272t102.4 103.424 111.616 112.64 97.28 95.232 41.984 36.864q15.36 0 15.36-16.384v-159.744h49.152q118.784 0 165.888 36.864t46.080 152.576v268.288l229.376 228.352v-526.336q0-183.296-86.016-284.672t-266.24-101.376h-561.152z" horiz-adv-x="982" /> | 14 | <glyph unicode="" d="M0 51.712v526.336q0 183.296 87.040 284.672t265.216 101.376h561.152q-5.12-5.12-53.248-54.272t-102.4-103.424-111.616-111.616-97.28-95.232-43.008-37.888q-15.36 0-15.36 16.384v159.744h-49.152q-60.416 0-96.256-6.144t-64.512-26.624-39.936-58.368-12.288-98.304v-268.288zM68.608-68.096q5.12 5.12 54.272 54.272t102.4 103.424 111.616 112.64 97.28 95.232 41.984 36.864q15.36 0 15.36-16.384v-159.744h49.152q118.784 0 165.888 36.864t46.080 152.576v268.288l229.376 228.352v-526.336q0-183.296-86.016-284.672t-266.24-101.376h-561.152z" horiz-adv-x="982" /> |
14 | <glyph unicode="" d="M301.056 208.384q14.336 14.336 34.816 14.336t36.864-14.336q32.768-34.816 0-71.68l-43.008-40.96q-57.344-57.344-135.168-57.344-79.872 0-137.216 57.344t-57.344 135.168q0 79.872 57.344 137.216l151.552 151.552q71.68 69.632 147.456 78.848t131.072-44.032q16.384-16.384 16.384-36.864t-16.384-36.864q-36.864-32.768-71.68 0-51.2 49.152-135.168-34.816l-151.552-149.504q-26.624-26.624-26.624-65.536t26.624-63.488q26.624-26.624 64.512-26.624t64.512 26.624zM761.856 796.16q57.344-57.344 57.344-135.168 0-79.872-57.344-137.216l-161.792-161.792q-75.776-73.728-153.6-73.728-63.488 0-114.688 51.2-14.336 14.336-14.336 34.816t14.336 36.864q14.336 14.336 35.84 14.336t35.84-14.336q51.2-49.152 124.928 24.576l161.792 159.744q28.672 28.672 28.672 65.536 0 38.912-28.672 63.488-24.576 26.624-57.344 31.744t-61.44-21.504l-51.2-51.2q-16.384-14.336-36.864-14.336t-34.816 14.336q-34.816 34.816 0 71.68l51.2 51.2q55.296 55.296 130.048 52.224t132.096-62.464z" horiz-adv-x="820" /> | 15 | <glyph unicode="" d="M301.056 208.384q14.336 14.336 34.816 14.336t36.864-14.336q32.768-34.816 0-71.68l-43.008-40.96q-57.344-57.344-135.168-57.344-79.872 0-137.216 57.344t-57.344 135.168q0 79.872 57.344 137.216l151.552 151.552q71.68 69.632 147.456 78.848t131.072-44.032q16.384-16.384 16.384-36.864t-16.384-36.864q-36.864-32.768-71.68 0-51.2 49.152-135.168-34.816l-151.552-149.504q-26.624-26.624-26.624-65.536t26.624-63.488q26.624-26.624 64.512-26.624t64.512 26.624zM761.856 796.16q57.344-57.344 57.344-135.168 0-79.872-57.344-137.216l-161.792-161.792q-75.776-73.728-153.6-73.728-63.488 0-114.688 51.2-14.336 14.336-14.336 34.816t14.336 36.864q14.336 14.336 35.84 14.336t35.84-14.336q51.2-49.152 124.928 24.576l161.792 159.744q28.672 28.672 28.672 65.536 0 38.912-28.672 63.488-24.576 26.624-57.344 31.744t-61.44-21.504l-51.2-51.2q-16.384-14.336-36.864-14.336t-34.816 14.336q-34.816 34.816 0 71.68l51.2 51.2q55.296 55.296 130.048 52.224t132.096-62.464z" horiz-adv-x="820" /> |
15 | <glyph unicode="" d="M877.568 192v-72.704q0-15.36-10.24-25.6t-26.624-11.264h-803.84q-15.36 0-25.6 11.264t-11.264 25.6v72.704q0 15.36 11.264 25.6t25.6 11.264h803.84q15.36 0 26.624-11.264t10.24-25.6zM877.568 484.864v-73.728q0-14.336-10.24-25.6t-26.624-10.24h-803.84q-15.36 0-25.6 10.24t-11.264 25.6v73.728q0 14.336 11.264 25.6t25.6 10.24h803.84q15.36 0 26.624-10.24t10.24-25.6zM877.568 776.704v-72.704q0-15.36-10.24-25.6t-26.624-11.264h-803.84q-15.36 0-25.6 11.264t-11.264 25.6v72.704q0 15.36 11.264 26.624t25.6 10.24h803.84q15.36 0 26.624-10.24t10.24-26.624z" horiz-adv-x="878" /> | 16 | <glyph unicode="" d="M877.568 192v-72.704q0-15.36-10.24-25.6t-26.624-11.264h-803.84q-15.36 0-25.6 11.264t-11.264 25.6v72.704q0 15.36 11.264 25.6t25.6 11.264h803.84q15.36 0 26.624-11.264t10.24-25.6zM877.568 484.864v-73.728q0-14.336-10.24-25.6t-26.624-10.24h-803.84q-15.36 0-25.6 10.24t-11.264 25.6v73.728q0 14.336 11.264 25.6t25.6 10.24h803.84q15.36 0 26.624-10.24t10.24-25.6zM877.568 776.704v-72.704q0-15.36-10.24-25.6t-26.624-11.264h-803.84q-15.36 0-25.6 11.264t-11.264 25.6v72.704q0 15.36 11.264 26.624t25.6 10.24h803.84q15.36 0 26.624-10.24t10.24-26.624z" horiz-adv-x="878" /> |
diff --git a/themes/baggy/fonts/icomoon.ttf b/themes/baggy/fonts/icomoon.ttf index b4fb95bc..923f56d8 100644 --- a/themes/baggy/fonts/icomoon.ttf +++ b/themes/baggy/fonts/icomoon.ttf | |||
Binary files differ | |||
diff --git a/themes/baggy/fonts/icomoon.woff b/themes/baggy/fonts/icomoon.woff index 158108f1..a2e86d36 100644 --- a/themes/baggy/fonts/icomoon.woff +++ b/themes/baggy/fonts/icomoon.woff | |||
Binary files differ | |||
diff --git a/themes/baggy/view.twig b/themes/baggy/view.twig index 0a8380de..0d0a4438 100755 --- a/themes/baggy/view.twig +++ b/themes/baggy/view.twig | |||
@@ -15,6 +15,7 @@ | |||
15 | {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans "Tweet" %}"><span>{% trans "Tweet" %}</span></a></li>{% endif %} | 15 | {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans "Tweet" %}"><span>{% trans "Tweet" %}</span></a></li>{% endif %} |
16 | {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %} | 16 | {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %} |
17 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} | 17 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} |
18 | {% if constant('SHARE_EVERNOTE') == 1 %}<li><a href="https://www.evernote.com/clip.action?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool evernote icon icon-evernote" title="{% trans "evernote" %}"><span>{% trans "evernote" %}</span></a></li>{% endif %} | ||
18 | {% if constant('SHARE_DIASPORA') == 1 %}<li><a href="{{ constant('DIASPORA_URL') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="{% trans "diaspora" %}"><span>{% trans "diaspora" %}</span></a></li>{% endif %} | 19 | {% if constant('SHARE_DIASPORA') == 1 %}<li><a href="{{ constant('DIASPORA_URL') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="{% trans "diaspora" %}"><span>{% trans "diaspora" %}</span></a></li>{% endif %} |
19 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span> ({{ flattr.numFlattrs }})</a></li>{% endif %}{% endif %} | 20 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span> ({{ flattr.numFlattrs }})</a></li>{% endif %}{% endif %} |
20 | {% if constant('CARROT') == 1 %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="{% trans "carrot" %}"><span>Carrot</span></a></li>{% endif %} | 21 | {% if constant('CARROT') == 1 %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="{% trans "carrot" %}"><span>Carrot</span></a></li>{% endif %} |
diff --git a/themes/default/about.twig b/themes/default/about.twig index 5ca3217c..bab9b5eb 100755 --- a/themes/default/about.twig +++ b/themes/default/about.twig | |||
@@ -7,6 +7,8 @@ | |||
7 | {% block content %} | 7 | {% block content %} |
8 | <h2>{% trans "About wallabag" %}</h2> | 8 | <h2>{% trans "About wallabag" %}</h2> |
9 | 9 | ||
10 | <p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p> | ||
11 | |||
10 | <dl> | 12 | <dl> |
11 | <dt>{% trans "Project website" %}</dt> | 13 | <dt>{% trans "Project website" %}</dt> |
12 | <dd><a href="http://www.wallabag.org">http://www.wallabag.org</a></dd> | 14 | <dd><a href="http://www.wallabag.org">http://www.wallabag.org</a></dd> |
@@ -27,8 +29,6 @@ | |||
27 | <dd>{{ constant('POCHE') }}</dd> | 29 | <dd>{{ constant('POCHE') }}</dd> |
28 | </dl> | 30 | </dl> |
29 | 31 | ||
30 | <p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p> | ||
31 | |||
32 | <h2>{% trans "Helping wallabag" %}</h2> | 32 | <h2>{% trans "Helping wallabag" %}</h2> |
33 | 33 | ||
34 | <p>{% trans "wallabag is free and opensource. You can help us:" %}</p> | 34 | <p>{% trans "wallabag is free and opensource. You can help us:" %}</p> |
diff --git a/themes/default/config.twig b/themes/default/config.twig index bac563cf..87f964c9 100755 --- a/themes/default/config.twig +++ b/themes/default/config.twig | |||
@@ -27,7 +27,7 @@ | |||
27 | </ul> | 27 | </ul> |
28 | <h3>{% trans "Bookmarklet" %}</h3> | 28 | <h3>{% trans "Bookmarklet" %}</h3> |
29 | <p> | 29 | <p> |
30 | {% trans "Drag & drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a> | 30 | {% trans "Drag & drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&autoclose=true&url='%20+%20btoa(url),'_blank');})();void(0);}">{% trans "bag it!" %}</a> |
31 | </p> | 31 | </p> |
32 | 32 | ||
33 | <h2>{% trans "Feeds" %}</h2> | 33 | <h2>{% trans "Feeds" %}</h2> |
diff --git a/themes/default/css/style-default.css b/themes/default/css/style-default.css index 666c4a28..39a4df90 100755 --- a/themes/default/css/style-default.css +++ b/themes/default/css/style-default.css | |||
@@ -43,6 +43,11 @@ a.carrot span { | |||
43 | background-size: 16px 16px; | 43 | background-size: 16px 16px; |
44 | } | 44 | } |
45 | 45 | ||
46 | a.evernote span { | ||
47 | background-image: url('../../_global/img/icons/evernote-icon--black.svg'); | ||
48 | background-size: 16px 16px; | ||
49 | } | ||
50 | |||
46 | a.diaspora span { | 51 | a.diaspora span { |
47 | background-image: url('../../_global/img/icons/diaspora-icon--black.png'); | 52 | background-image: url('../../_global/img/icons/diaspora-icon--black.png'); |
48 | background-size: 16px 16px; | 53 | background-size: 16px 16px; |
diff --git a/themes/default/home.twig b/themes/default/home.twig index abc96af8..8fe56397 100755 --- a/themes/default/home.twig +++ b/themes/default/home.twig | |||
@@ -32,7 +32,7 @@ | |||
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" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %} | 34 | <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %} |
35 | <a class="random" href="?view=view&id={{ random }}"><span>{% trans "random" %}</span></a></div> | 35 | <a class="random" href="?action=random"><span>{% trans "random" %}</span></a></div> |
36 | {{ page_links | raw }} | 36 | {{ page_links | raw }} |
37 | </div> | 37 | </div> |
38 | {% elseif nb_results == 1 %} | 38 | {% elseif nb_results == 1 %} |
diff --git a/themes/default/view.twig b/themes/default/view.twig index be8bf99e..87371d13 100755 --- a/themes/default/view.twig +++ b/themes/default/view.twig | |||
@@ -14,6 +14,7 @@ | |||
14 | {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter" title="{% trans "Tweet" %}"><span>{% trans "Tweet" %}</span></a></li>{% endif %} | 14 | {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter" title="{% trans "Tweet" %}"><span>{% trans "Tweet" %}</span></a></li>{% endif %} |
15 | {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %} | 15 | {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %} |
16 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} | 16 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} |
17 | {% if constant('SHARE_EVERNOTE') == 1 %}<li><a href="https://www.evernote.com/clip.action?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool evernote" title="{% trans "evernote" %}"><span>{% trans "evernote" %}</span></a></li>{% endif %} | ||
17 | {% if constant('SHARE_DIASPORA') == 1 %}<li><a href="{{ constant('DIASPORA_URL') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora" title="{% trans "diaspora" %}"><span>{% trans "diaspora" %}</span></a></li>{% endif %} | 18 | {% if constant('SHARE_DIASPORA') == 1 %}<li><a href="{{ constant('DIASPORA_URL') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora" title="{% trans "diaspora" %}"><span>{% trans "diaspora" %}</span></a></li>{% endif %} |
18 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span>{{ flattr.numFlattrs }}</a></li>{% endif %}{% endif %} | 19 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span>{{ flattr.numFlattrs }}</a></li>{% endif %}{% endif %} |
19 | {% if constant('CARROT') == 1 %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon" target="_blank" title="{% trans "carrot" %}"><span>{% trans "carrot" %}</span></a></li>{% endif %} | 20 | {% if constant('CARROT') == 1 %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon" target="_blank" title="{% trans "carrot" %}"><span>{% trans "carrot" %}</span></a></li>{% endif %} |