diff options
Diffstat (limited to 'src')
258 files changed, 0 insertions, 19472 deletions
diff --git a/src/Wallabag/Wallabag/Database.php b/src/Wallabag/Wallabag/Database.php deleted file mode 100755 index 29073108..00000000 --- a/src/Wallabag/Wallabag/Database.php +++ /dev/null | |||
@@ -1,606 +0,0 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas Lœuillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | namespace Wallabag\Wallabag; | ||
12 | |||
13 | use \PDO; | ||
14 | use CoreBundle\Entity; | ||
15 | |||
16 | class Database { | ||
17 | |||
18 | var $handle; | ||
19 | private $order = array ( | ||
20 | 'ia' => 'ORDER BY entries.id', | ||
21 | 'id' => 'ORDER BY entries.id DESC', | ||
22 | 'ta' => 'ORDER BY lower(entries.title)', | ||
23 | 'td' => 'ORDER BY lower(entries.title) DESC', | ||
24 | 'default' => 'ORDER BY entries.id' | ||
25 | ); | ||
26 | |||
27 | function __construct() | ||
28 | { | ||
29 | switch (STORAGE) { | ||
30 | case 'sqlite': | ||
31 | // Check if /db is writeable | ||
32 | if ( !is_writable(STORAGE_SQLITE) || !is_writable(dirname(STORAGE_SQLITE))) { | ||
33 | die('An error occured: ' . STORAGE_SQLITE . ' directory must be writeable for your web server user!'); | ||
34 | } | ||
35 | $db_path = 'sqlite:' . STORAGE_SQLITE; | ||
36 | $this->handle = new PDO($db_path); | ||
37 | break; | ||
38 | case 'mysql': | ||
39 | $db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB . ';charset=utf8mb4'; | ||
40 | $this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD, array( | ||
41 | PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4', | ||
42 | )); | ||
43 | break; | ||
44 | case 'postgres': | ||
45 | $db_path = 'pgsql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB; | ||
46 | $this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD); | ||
47 | break; | ||
48 | default: | ||
49 | die(STORAGE . ' is not a recognised database system !'); | ||
50 | } | ||
51 | |||
52 | $this->handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | ||
53 | $this->_checkTags(); | ||
54 | Tools::logm('storage type ' . STORAGE); | ||
55 | } | ||
56 | |||
57 | private function getHandle() | ||
58 | { | ||
59 | return $this->handle; | ||
60 | } | ||
61 | |||
62 | private function _checkTags() | ||
63 | { | ||
64 | |||
65 | if (STORAGE == 'sqlite') { | ||
66 | $sql = ' | ||
67 | CREATE TABLE IF NOT EXISTS tags ( | ||
68 | id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, | ||
69 | value TEXT | ||
70 | )'; | ||
71 | } | ||
72 | elseif(STORAGE == 'mysql') { | ||
73 | $sql = ' | ||
74 | CREATE TABLE IF NOT EXISTS `tags` ( | ||
75 | `id` int(11) NOT NULL AUTO_INCREMENT, | ||
76 | `value` varchar(255) NOT NULL, | ||
77 | PRIMARY KEY (`id`) | ||
78 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | ||
79 | '; | ||
80 | } | ||
81 | else { | ||
82 | $sql = ' | ||
83 | CREATE TABLE IF NOT EXISTS tags ( | ||
84 | id bigserial primary key, | ||
85 | value varchar(255) NOT NULL | ||
86 | ); | ||
87 | '; | ||
88 | } | ||
89 | |||
90 | $query = $this->executeQuery($sql, array()); | ||
91 | |||
92 | if (STORAGE == 'sqlite') { | ||
93 | $sql = ' | ||
94 | CREATE TABLE IF NOT EXISTS tags_entries ( | ||
95 | id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, | ||
96 | entry_id INTEGER, | ||
97 | tag_id INTEGER, | ||
98 | FOREIGN KEY(entry_id) REFERENCES entries(id) ON DELETE CASCADE, | ||
99 | FOREIGN KEY(tag_id) REFERENCES tags(id) ON DELETE CASCADE | ||
100 | )'; | ||
101 | } | ||
102 | elseif(STORAGE == 'mysql') { | ||
103 | $sql = ' | ||
104 | CREATE TABLE IF NOT EXISTS `tags_entries` ( | ||
105 | `id` int(11) NOT NULL AUTO_INCREMENT, | ||
106 | `entry_id` int(11) NOT NULL, | ||
107 | `tag_id` int(11) NOT NULL, | ||
108 | FOREIGN KEY(entry_id) REFERENCES entries(id) ON DELETE CASCADE, | ||
109 | FOREIGN KEY(tag_id) REFERENCES tags(id) ON DELETE CASCADE, | ||
110 | PRIMARY KEY (`id`) | ||
111 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | ||
112 | '; | ||
113 | } | ||
114 | else { | ||
115 | $sql = ' | ||
116 | CREATE TABLE IF NOT EXISTS tags_entries ( | ||
117 | id bigserial primary key, | ||
118 | entry_id integer NOT NULL, | ||
119 | tag_id integer NOT NULL | ||
120 | ) | ||
121 | '; | ||
122 | } | ||
123 | |||
124 | $query = $this->executeQuery($sql, array()); | ||
125 | } | ||
126 | |||
127 | public function install($login, $password, $email = '') | ||
128 | { | ||
129 | $sql = 'INSERT INTO users ( username, password, name, email) VALUES (?, ?, ?, ?)'; | ||
130 | $params = array($login, $password, $login, $email); | ||
131 | $query = $this->executeQuery($sql, $params); | ||
132 | |||
133 | $sequence = ''; | ||
134 | if (STORAGE == 'postgres') { | ||
135 | $sequence = 'users_id_seq'; | ||
136 | } | ||
137 | |||
138 | $id_user = intval($this->getLastId($sequence)); | ||
139 | |||
140 | $sql = 'INSERT INTO users_config ( user_id, name, value ) VALUES (?, ?, ?)'; | ||
141 | $params = array($id_user, 'pager', PAGINATION); | ||
142 | $query = $this->executeQuery($sql, $params); | ||
143 | |||
144 | $sql = 'INSERT INTO users_config ( user_id, name, value ) VALUES (?, ?, ?)'; | ||
145 | $params = array($id_user, 'language', LANG); | ||
146 | $query = $this->executeQuery($sql, $params); | ||
147 | |||
148 | $sql = 'INSERT INTO users_config ( user_id, name, value ) VALUES (?, ?, ?)'; | ||
149 | $params = array($id_user, 'theme', DEFAULT_THEME); | ||
150 | $query = $this->executeQuery($sql, $params); | ||
151 | |||
152 | return TRUE; | ||
153 | } | ||
154 | |||
155 | public function getConfigUser($id) | ||
156 | { | ||
157 | $sql = "SELECT * FROM users_config WHERE user_id = ?"; | ||
158 | $query = $this->executeQuery($sql, array($id)); | ||
159 | $result = $query->fetchAll(); | ||
160 | $user_config = array(); | ||
161 | |||
162 | foreach ($result as $key => $value) { | ||
163 | $user_config[$value['name']] = $value['value']; | ||
164 | } | ||
165 | |||
166 | return $user_config; | ||
167 | } | ||
168 | |||
169 | public function userExists($username) | ||
170 | { | ||
171 | $sql = "SELECT * FROM users WHERE username=?"; | ||
172 | $query = $this->executeQuery($sql, array($username)); | ||
173 | $login = $query->fetchAll(); | ||
174 | if (isset($login[0])) { | ||
175 | return true; | ||
176 | } else { | ||
177 | return false; | ||
178 | } | ||
179 | } | ||
180 | |||
181 | public function login($username, $password, $isauthenticated = FALSE) | ||
182 | { | ||
183 | if ($isauthenticated) { | ||
184 | $sql = "SELECT * FROM users WHERE username=?"; | ||
185 | $query = $this->executeQuery($sql, array($username)); | ||
186 | } else { | ||
187 | $sql = "SELECT * FROM users WHERE username=? AND password=?"; | ||
188 | $query = $this->executeQuery($sql, array($username, $password)); | ||
189 | } | ||
190 | $login = $query->fetchAll(); | ||
191 | |||
192 | $user = array(); | ||
193 | if (isset($login[0])) { | ||
194 | $user['id'] = $login[0]['id']; | ||
195 | $user['username'] = $login[0]['username']; | ||
196 | $user['password'] = $login[0]['password']; | ||
197 | $user['name'] = $login[0]['name']; | ||
198 | $user['email'] = $login[0]['email']; | ||
199 | $user['config'] = $this->getConfigUser($login[0]['id']); | ||
200 | } | ||
201 | |||
202 | return $user; | ||
203 | } | ||
204 | |||
205 | public function updatePassword($userId, $password) | ||
206 | { | ||
207 | $sql_update = "UPDATE users SET password=? WHERE id=?"; | ||
208 | $params_update = array($password, $userId); | ||
209 | $query = $this->executeQuery($sql_update, $params_update); | ||
210 | } | ||
211 | |||
212 | public function updateUserConfig($userId, $key, $value) | ||
213 | { | ||
214 | $config = $this->getConfigUser($userId); | ||
215 | |||
216 | if (! isset($config[$key])) { | ||
217 | $sql = "INSERT INTO users_config (value, user_id, name) VALUES (?, ?, ?)"; | ||
218 | } | ||
219 | else { | ||
220 | $sql = "UPDATE users_config SET value=? WHERE user_id=? AND name=?"; | ||
221 | } | ||
222 | |||
223 | $params = array($value, $userId, $key); | ||
224 | $query = $this->executeQuery($sql, $params); | ||
225 | } | ||
226 | |||
227 | private function executeQuery($sql, $params) | ||
228 | { | ||
229 | try | ||
230 | { | ||
231 | $query = $this->getHandle()->prepare($sql); | ||
232 | $query->execute($params); | ||
233 | return $query; | ||
234 | } | ||
235 | catch (Exception $e) | ||
236 | { | ||
237 | Tools::logm('execute query error : '.$e->getMessage()); | ||
238 | return FALSE; | ||
239 | } | ||
240 | } | ||
241 | |||
242 | public function listUsers($username = NULL) | ||
243 | { | ||
244 | $sql = 'SELECT count(*) FROM users'.( $username ? ' WHERE username=?' : ''); | ||
245 | $query = $this->executeQuery($sql, ( $username ? array($username) : array())); | ||
246 | list($count) = $query->fetch(); | ||
247 | return $count; | ||
248 | } | ||
249 | |||
250 | public function getUserPassword($userID) | ||
251 | { | ||
252 | $sql = "SELECT * FROM users WHERE id=?"; | ||
253 | $query = $this->executeQuery($sql, array($userID)); | ||
254 | $password = $query->fetchAll(); | ||
255 | return isset($password[0]['password']) ? $password[0]['password'] : null; | ||
256 | } | ||
257 | |||
258 | public function deleteUserConfig($userID) | ||
259 | { | ||
260 | $sql_action = 'DELETE from users_config WHERE user_id=?'; | ||
261 | $params_action = array($userID); | ||
262 | $query = $this->executeQuery($sql_action, $params_action); | ||
263 | return $query; | ||
264 | } | ||
265 | |||
266 | public function deleteTagsEntriesAndEntries($userID) | ||
267 | { | ||
268 | $entries = $this->retrieveAll($userID); | ||
269 | foreach($entries as $entryid) { | ||
270 | $tags = $this->retrieveTagsByEntry($entryid); | ||
271 | foreach($tags as $tag) { | ||
272 | $this->removeTagForEntry($entryid,$tags); | ||
273 | } | ||
274 | $this->deleteById($entryid,$userID); | ||
275 | } | ||
276 | } | ||
277 | |||
278 | public function deleteUser($userID) | ||
279 | { | ||
280 | $sql_action = 'DELETE from users WHERE id=?'; | ||
281 | $params_action = array($userID); | ||
282 | $query = $this->executeQuery($sql_action, $params_action); | ||
283 | } | ||
284 | |||
285 | public function updateContentAndTitle($id, $title, $body, $user_id) | ||
286 | { | ||
287 | $sql_action = 'UPDATE entries SET content = ?, title = ? WHERE id=? AND user_id=?'; | ||
288 | $params_action = array($body, $title, $id, $user_id); | ||
289 | $query = $this->executeQuery($sql_action, $params_action); | ||
290 | return $query; | ||
291 | } | ||
292 | |||
293 | public function retrieveUnfetchedEntries($user_id, $limit) | ||
294 | { | ||
295 | |||
296 | $sql_limit = "LIMIT 0,".$limit; | ||
297 | if (STORAGE == 'postgres') { | ||
298 | $sql_limit = "LIMIT ".$limit." OFFSET 0"; | ||
299 | } | ||
300 | |||
301 | $sql = "SELECT * FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE 'Untitled - Import%' AND user_id=? ORDER BY id " . $sql_limit; | ||
302 | $query = $this->executeQuery($sql, array($user_id)); | ||
303 | $entries = $query->fetchAll(); | ||
304 | |||
305 | return $entries; | ||
306 | } | ||
307 | |||
308 | public function retrieveUnfetchedEntriesCount($user_id) | ||
309 | { | ||
310 | $sql = "SELECT count(*) FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE 'Untitled - Import%' AND user_id=?"; | ||
311 | $query = $this->executeQuery($sql, array($user_id)); | ||
312 | list($count) = $query->fetch(); | ||
313 | |||
314 | return $count; | ||
315 | } | ||
316 | |||
317 | public function retrieveAll($user_id) | ||
318 | { | ||
319 | $sql = "SELECT * FROM entries WHERE user_id=? ORDER BY id"; | ||
320 | $query = $this->executeQuery($sql, array($user_id)); | ||
321 | $entries = $query->fetchAll(); | ||
322 | |||
323 | return $entries; | ||
324 | } | ||
325 | |||
326 | public function retrieveOneById($id, $user_id) | ||
327 | { | ||
328 | $entry = NULL; | ||
329 | $sql = "SELECT * FROM entries WHERE id=? AND user_id=?"; | ||
330 | $params = array(intval($id), $user_id); | ||
331 | $query = $this->executeQuery($sql, $params); | ||
332 | $entry = $query->fetchAll(); | ||
333 | |||
334 | return isset($entry[0]) ? $entry[0] : null; | ||
335 | } | ||
336 | |||
337 | public function retrieveOneByURL($url, $user_id) | ||
338 | { | ||
339 | $entry = NULL; | ||
340 | $sql = "SELECT * FROM entries WHERE url=? AND user_id=?"; | ||
341 | $params = array($url, $user_id); | ||
342 | $query = $this->executeQuery($sql, $params); | ||
343 | $entry = $query->fetchAll(); | ||
344 | |||
345 | return isset($entry[0]) ? $entry[0] : null; | ||
346 | } | ||
347 | |||
348 | public function reassignTags($old_entry_id, $new_entry_id) | ||
349 | { | ||
350 | $sql = "UPDATE tags_entries SET entry_id=? WHERE entry_id=?"; | ||
351 | $params = array($new_entry_id, $old_entry_id); | ||
352 | $query = $this->executeQuery($sql, $params); | ||
353 | } | ||
354 | |||
355 | public function getEntriesByView($view, $user_id, $limit = '', $tag_id = 0) | ||
356 | { | ||
357 | switch ($view) { | ||
358 | case 'archive': | ||
359 | $sql = "SELECT * FROM entries WHERE user_id=? AND is_read=? "; | ||
360 | $params = array($user_id, 1); | ||
361 | break; | ||
362 | case 'fav' : | ||
363 | $sql = "SELECT * FROM entries WHERE user_id=? AND is_fav=? "; | ||
364 | $params = array($user_id, 1); | ||
365 | break; | ||
366 | case 'tag' : | ||
367 | $sql = "SELECT entries.* FROM entries | ||
368 | LEFT JOIN tags_entries ON tags_entries.entry_id=entries.id | ||
369 | WHERE entries.user_id=? AND tags_entries.tag_id = ? "; | ||
370 | $params = array($user_id, $tag_id); | ||
371 | break; | ||
372 | default: | ||
373 | $sql = "SELECT * FROM entries WHERE user_id=? AND is_read=? "; | ||
374 | $params = array($user_id, 0); | ||
375 | break; | ||
376 | } | ||
377 | |||
378 | $sql .= $this->getEntriesOrder().' ' . $limit; | ||
379 | |||
380 | $query = $this->executeQuery($sql, $params); | ||
381 | $entries = $query->fetchAll(); | ||
382 | |||
383 | return $entries; | ||
384 | } | ||
385 | |||
386 | public function getEntriesByViewCount($view, $user_id, $tag_id = 0) | ||
387 | { | ||
388 | switch ($view) { | ||
389 | case 'archive': | ||
390 | $sql = "SELECT count(*) FROM entries WHERE user_id=? AND is_read=? "; | ||
391 | $params = array($user_id, 1); | ||
392 | break; | ||
393 | case 'fav' : | ||
394 | $sql = "SELECT count(*) FROM entries WHERE user_id=? AND is_fav=? "; | ||
395 | $params = array($user_id, 1); | ||
396 | break; | ||
397 | case 'tag' : | ||
398 | $sql = "SELECT count(*) FROM entries | ||
399 | LEFT JOIN tags_entries ON tags_entries.entry_id=entries.id | ||
400 | WHERE entries.user_id=? AND tags_entries.tag_id = ? "; | ||
401 | $params = array($user_id, $tag_id); | ||
402 | break; | ||
403 | default: | ||
404 | $sql = "SELECT count(*) FROM entries WHERE user_id=? AND is_read=? "; | ||
405 | $params = array($user_id, 0); | ||
406 | break; | ||
407 | } | ||
408 | |||
409 | $query = $this->executeQuery($sql, $params); | ||
410 | list($count) = $query->fetch(); | ||
411 | |||
412 | return $count; | ||
413 | } | ||
414 | |||
415 | public function updateContent($id, $content, $user_id) | ||
416 | { | ||
417 | $sql_action = 'UPDATE entries SET content = ? WHERE id=? AND user_id=?'; | ||
418 | $params_action = array($content, $id, $user_id); | ||
419 | $query = $this->executeQuery($sql_action, $params_action); | ||
420 | return $query; | ||
421 | } | ||
422 | |||
423 | /** | ||
424 | * | ||
425 | * @param string $url | ||
426 | * @param string $title | ||
427 | * @param string $content | ||
428 | * @param integer $user_id | ||
429 | * @return integer $id of inserted record | ||
430 | */ | ||
431 | public function add($url, $title, $content, $user_id, $isFavorite=0, $isRead=0) | ||
432 | { | ||
433 | $sql_action = 'INSERT INTO entries ( url, title, content, user_id, is_fav, is_read ) VALUES (?, ?, ?, ?, ?, ?)'; | ||
434 | $params_action = array($url, $title, $content, $user_id, $isFavorite, $isRead); | ||
435 | |||
436 | if ( !$this->executeQuery($sql_action, $params_action) ) { | ||
437 | $id = null; | ||
438 | } | ||
439 | else { | ||
440 | $id = intval($this->getLastId( (STORAGE == 'postgres') ? 'entries_id_seq' : '') ); | ||
441 | } | ||
442 | return $id; | ||
443 | } | ||
444 | |||
445 | public function deleteById($id, $user_id) | ||
446 | { | ||
447 | $sql_action = "DELETE FROM entries WHERE id=? AND user_id=?"; | ||
448 | $params_action = array($id, $user_id); | ||
449 | $query = $this->executeQuery($sql_action, $params_action); | ||
450 | return $query; | ||
451 | } | ||
452 | |||
453 | public function favoriteById($id, $user_id) | ||
454 | { | ||
455 | $sql_action = "UPDATE entries SET is_fav=NOT is_fav WHERE id=? AND user_id=?"; | ||
456 | $params_action = array($id, $user_id); | ||
457 | $query = $this->executeQuery($sql_action, $params_action); | ||
458 | } | ||
459 | |||
460 | public function archiveById($id, $user_id) | ||
461 | { | ||
462 | $sql_action = "UPDATE entries SET is_read=NOT is_read WHERE id=? AND user_id=?"; | ||
463 | $params_action = array($id, $user_id); | ||
464 | $query = $this->executeQuery($sql_action, $params_action); | ||
465 | } | ||
466 | |||
467 | public function archiveAll($user_id) | ||
468 | { | ||
469 | $sql_action = "UPDATE entries SET is_read=? WHERE user_id=? AND is_read=?"; | ||
470 | $params_action = array($user_id, 1, 0); | ||
471 | $query = $this->executeQuery($sql_action, $params_action); | ||
472 | } | ||
473 | |||
474 | public function getLastId($column = '') | ||
475 | { | ||
476 | return $this->getHandle()->lastInsertId($column); | ||
477 | } | ||
478 | |||
479 | public function search($term, $user_id, $limit = '') | ||
480 | { | ||
481 | $search = '%'.$term.'%'; | ||
482 | $sql_action = "SELECT * FROM entries WHERE user_id=? AND (content LIKE ? OR title LIKE ? OR url LIKE ?) "; //searches in content, title and URL | ||
483 | $sql_action .= $this->getEntriesOrder().' ' . $limit; | ||
484 | $params_action = array($user_id, $search, $search, $search); | ||
485 | $query = $this->executeQuery($sql_action, $params_action); | ||
486 | return $query->fetchAll(); | ||
487 | } | ||
488 | |||
489 | public function retrieveAllTags($user_id, $term = NULL) | ||
490 | { | ||
491 | $sql = "SELECT DISTINCT tags.*, count(entries.id) AS entriescount FROM tags | ||
492 | LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id | ||
493 | LEFT JOIN entries ON tags_entries.entry_id=entries.id | ||
494 | WHERE entries.user_id=? | ||
495 | ". (($term) ? "AND lower(tags.value) LIKE ?" : '') ." | ||
496 | GROUP BY tags.id, tags.value | ||
497 | ORDER BY tags.value"; | ||
498 | $query = $this->executeQuery($sql, (($term)? array($user_id, strtolower('%'.$term.'%')) : array($user_id) )); | ||
499 | $tags = $query->fetchAll(); | ||
500 | |||
501 | return $tags; | ||
502 | } | ||
503 | |||
504 | public function retrieveTag($id, $user_id) | ||
505 | { | ||
506 | $tag = NULL; | ||
507 | $sql = "SELECT DISTINCT tags.* FROM tags | ||
508 | LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id | ||
509 | LEFT JOIN entries ON tags_entries.entry_id=entries.id | ||
510 | WHERE tags.id=? AND entries.user_id=?"; | ||
511 | $params = array(intval($id), $user_id); | ||
512 | $query = $this->executeQuery($sql, $params); | ||
513 | $tag = $query->fetchAll(); | ||
514 | |||
515 | return isset($tag[0]) ? $tag[0] : NULL; | ||
516 | } | ||
517 | |||
518 | public function retrieveEntriesByTag($tag_id, $user_id) | ||
519 | { | ||
520 | $sql = | ||
521 | "SELECT entries.* FROM entries | ||
522 | LEFT JOIN tags_entries ON tags_entries.entry_id=entries.id | ||
523 | WHERE tags_entries.tag_id = ? AND entries.user_id=? ORDER by entries.id DESC"; | ||
524 | $query = $this->executeQuery($sql, array($tag_id, $user_id)); | ||
525 | $entries = $query->fetchAll(); | ||
526 | |||
527 | return $entries; | ||
528 | } | ||
529 | |||
530 | public function retrieveTagsByEntry($entry_id) | ||
531 | { | ||
532 | $sql = | ||
533 | "SELECT tags.* FROM tags | ||
534 | LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id | ||
535 | WHERE tags_entries.entry_id = ?"; | ||
536 | $query = $this->executeQuery($sql, array($entry_id)); | ||
537 | $tags = $query->fetchAll(); | ||
538 | |||
539 | return $tags; | ||
540 | } | ||
541 | |||
542 | public function removeTagForEntry($entry_id, $tag_id) | ||
543 | { | ||
544 | $sql_action = "DELETE FROM tags_entries WHERE tag_id=? AND entry_id=?"; | ||
545 | $params_action = array($tag_id, $entry_id); | ||
546 | $query = $this->executeQuery($sql_action, $params_action); | ||
547 | return $query; | ||
548 | } | ||
549 | |||
550 | public function cleanUnusedTag($tag_id) | ||
551 | { | ||
552 | $sql_action = "SELECT tags.* FROM tags JOIN tags_entries ON tags_entries.tag_id=tags.id WHERE tags.id=?"; | ||
553 | $query = $this->executeQuery($sql_action,array($tag_id)); | ||
554 | $tagstokeep = $query->fetchAll(); | ||
555 | $sql_action = "SELECT tags.* FROM tags LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id WHERE tags.id=?"; | ||
556 | $query = $this->executeQuery($sql_action,array($tag_id)); | ||
557 | $alltags = $query->fetchAll(); | ||
558 | |||
559 | foreach ($alltags as $tag) { | ||
560 | if ($tag && !in_array($tag,$tagstokeep)) { | ||
561 | $sql_action = "DELETE FROM tags WHERE id=?"; | ||
562 | $params_action = array($tag[0]); | ||
563 | $this->executeQuery($sql_action, $params_action); | ||
564 | return true; | ||
565 | } | ||
566 | } | ||
567 | |||
568 | } | ||
569 | |||
570 | public function retrieveTagByValue($value) | ||
571 | { | ||
572 | $tag = NULL; | ||
573 | $sql = "SELECT * FROM tags WHERE value=?"; | ||
574 | $params = array($value); | ||
575 | $query = $this->executeQuery($sql, $params); | ||
576 | $tag = $query->fetchAll(); | ||
577 | |||
578 | return isset($tag[0]) ? $tag[0] : null; | ||
579 | } | ||
580 | |||
581 | public function createTag($value) | ||
582 | { | ||
583 | $sql_action = 'INSERT INTO tags ( value ) VALUES (?)'; | ||
584 | $params_action = array($value); | ||
585 | $query = $this->executeQuery($sql_action, $params_action); | ||
586 | return $query; | ||
587 | } | ||
588 | |||
589 | public function setTagToEntry($tag_id, $entry_id) | ||
590 | { | ||
591 | $sql_action = 'INSERT INTO tags_entries ( tag_id, entry_id ) VALUES (?, ?)'; | ||
592 | $params_action = array($tag_id, $entry_id); | ||
593 | $query = $this->executeQuery($sql_action, $params_action); | ||
594 | return $query; | ||
595 | } | ||
596 | |||
597 | private function getEntriesOrder() | ||
598 | { | ||
599 | if (isset($_SESSION['sort']) and array_key_exists($_SESSION['sort'], $this->order)) { | ||
600 | return $this->order[$_SESSION['sort']]; | ||
601 | } | ||
602 | else { | ||
603 | return $this->order['default']; | ||
604 | } | ||
605 | } | ||
606 | } | ||
diff --git a/src/Wallabag/Wallabag/Ebooks.php b/src/Wallabag/Wallabag/Ebooks.php deleted file mode 100644 index 2ad89a1c..00000000 --- a/src/Wallabag/Wallabag/Ebooks.php +++ /dev/null | |||
@@ -1,247 +0,0 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas Lœuillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | namespace Wallabag\Wallabag; | ||
12 | |||
13 | class Ebooks | ||
14 | { | ||
15 | protected $wallabag; | ||
16 | protected $method; | ||
17 | protected $value; | ||
18 | protected $entries; | ||
19 | protected $bookTitle; | ||
20 | protected $bookFileName; | ||
21 | protected $author = 'wallabag'; | ||
22 | |||
23 | public function __construct(Wallabag $wallabag, $method, $value) | ||
24 | { | ||
25 | $this->wallabag = $wallabag; | ||
26 | $this->method = $method; | ||
27 | $this->value = $value; | ||
28 | } | ||
29 | |||
30 | public function prepareData() | ||
31 | { | ||
32 | switch ($this->method) { | ||
33 | case 'id': | ||
34 | $entryID = filter_var($this->value, FILTER_SANITIZE_NUMBER_INT); | ||
35 | $entry = $this->wallabag->store->retrieveOneById($entryID, $this->wallabag->user->getId()); | ||
36 | $this->entries = array($entry); | ||
37 | $this->bookTitle = $entry['title']; | ||
38 | $this->bookFileName = substr($this->bookTitle, 0, 200); | ||
39 | $this->author = preg_replace('#^w{3}.#', '', Tools::getdomain($entry["url"])); # if only one article, set author to domain name (we strip the eventual www part) | ||
40 | Tools::logm('Producing ebook from article ' . $this->bookTitle); | ||
41 | break; | ||
42 | case 'all': | ||
43 | $this->entries = $this->wallabag->store->retrieveAll($this->wallabag->user->getId()); | ||
44 | $this->bookTitle = sprintf(_('All my articles on %s'), date(_('d.m.y'))); #translatable because each country has it's own date format system | ||
45 | $this->bookFileName = _('Allarticles') . date(_('dmY')); | ||
46 | Tools::logm('Producing ebook from all articles'); | ||
47 | break; | ||
48 | case 'tag': | ||
49 | $tag = filter_var($this->value, FILTER_SANITIZE_STRING); | ||
50 | $tags_id = $this->wallabag->store->retrieveAllTags($this->wallabag->user->getId(), $tag); | ||
51 | $tag_id = $tags_id[0]["id"]; // we take the first result, which is supposed to match perfectly. There must be a workaround. | ||
52 | $this->entries = $this->wallabag->store->retrieveEntriesByTag($tag_id, $this->wallabag->user->getId()); | ||
53 | $this->bookTitle = sprintf(_('Articles tagged %s'), $tag); | ||
54 | $this->bookFileName = substr(sprintf(_('Tag %s'), $tag), 0, 200); | ||
55 | Tools::logm('Producing ebook from tag ' . $tag); | ||
56 | break; | ||
57 | case 'category': | ||
58 | $category = filter_var($this->value, FILTER_SANITIZE_STRING); | ||
59 | $this->entries = $this->wallabag->store->getEntriesByView($category, $this->wallabag->user->getId()); | ||
60 | $this->bookTitle = sprintf(_('Articles in category %s'), $category); | ||
61 | $this->bookFileName = substr(sprintf(_('Category %s'), $category), 0, 200); | ||
62 | Tools::logm('Producing ebook from category ' . $category); | ||
63 | break; | ||
64 | case 'search': | ||
65 | $search = filter_var($this->value, FILTER_SANITIZE_STRING); | ||
66 | Tools::logm($search); | ||
67 | $this->entries = $this->wallabag->store->search($search, $this->wallabag->user->getId()); | ||
68 | $this->bookTitle = sprintf(_('Articles for search %s'), $search); | ||
69 | $this->bookFileName = substr(sprintf(_('Search %s'), $search), 0, 200); | ||
70 | Tools::logm('Producing ebook from search ' . $search); | ||
71 | break; | ||
72 | case 'default': | ||
73 | die(_('Uh, there is a problem while generating eBook.')); | ||
74 | } | ||
75 | } | ||
76 | } | ||
77 | |||
78 | class WallabagEpub extends WallabagEBooks | ||
79 | { | ||
80 | /** | ||
81 | * handle ePub | ||
82 | */ | ||
83 | public function produceEpub() | ||
84 | { | ||
85 | Tools::logm('Starting to produce ePub 3 file'); | ||
86 | $content_start = | ||
87 | "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" | ||
88 | . "<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:epub=\"http://www.idpf.org/2007/ops\">\n" | ||
89 | . "<head>" | ||
90 | . "<meta http-equiv=\"Default-Style\" content=\"text/html; charset=utf-8\" />\n" | ||
91 | . "<title>" . _("wallabag articles book") . "</title>\n" | ||
92 | . "</head>\n" | ||
93 | . "<body>\n"; | ||
94 | |||
95 | $bookEnd = "</body>\n</html>\n"; | ||
96 | |||
97 | $log = new Logger("wallabag", TRUE); | ||
98 | $fileDir = CACHE; | ||
99 | |||
100 | $book = new EPub(EPub::BOOK_VERSION_EPUB3, DEBUG_POCHE); | ||
101 | $log->logLine("new EPub()"); | ||
102 | $log->logLine("EPub class version: " . EPub::VERSION); | ||
103 | $log->logLine("EPub Req. Zip version: " . EPub::REQ_ZIP_VERSION); | ||
104 | $log->logLine("Zip version: " . Zip::VERSION); | ||
105 | $log->logLine("getCurrentServerURL: " . $book->getCurrentServerURL()); | ||
106 | $log->logLine("getCurrentPageURL..: " . $book->getCurrentPageURL()); | ||
107 | |||
108 | Tools::logm('Filling metadata for ePub...'); | ||
109 | |||
110 | $book->setTitle($this->bookTitle); | ||
111 | $book->setIdentifier("http://$_SERVER[HTTP_HOST]", EPub::IDENTIFIER_URI); // Could also be the ISBN number, prefered for published books, or a UUID. | ||
112 | //$book->setLanguage("en"); // Not needed, but included for the example, Language is mandatory, but EPub defaults to "en". Use RFC3066 Language codes, such as "en", "da", "fr" etc. | ||
113 | $book->setDescription(_("Some articles saved on my wallabag")); | ||
114 | $book->setAuthor($this->author,$this->author); | ||
115 | $book->setPublisher("wallabag", "wallabag"); // I hope this is a non existant address :) | ||
116 | $book->setDate(time()); // Strictly not needed as the book date defaults to time(). | ||
117 | //$book->setRights("Copyright and licence information specific for the book."); // As this is generated, this _could_ contain the name or licence information of the user who purchased the book, if needed. If this is used that way, the identifier must also be made unique for the book. | ||
118 | $book->setSourceURL("http://$_SERVER[HTTP_HOST]"); | ||
119 | |||
120 | $book->addDublinCoreMetadata(DublinCore::CONTRIBUTOR, "PHP"); | ||
121 | $book->addDublinCoreMetadata(DublinCore::CONTRIBUTOR, "wallabag"); | ||
122 | |||
123 | $cssData = "body {\n margin-left: .5em;\n margin-right: .5em;\n text-align: justify;\n}\n\np {\n font-family: serif;\n font-size: 10pt;\n text-align: justify;\n text-indent: 1em;\n margin-top: 0px;\n margin-bottom: 1ex;\n}\n\nh1, h2 {\n font-family: sans-serif;\n font-style: italic;\n text-align: center;\n background-color: #6b879c;\n color: white;\n width: 100%;\n}\n\nh1 {\n margin-bottom: 2px;\n}\n\nh2 {\n margin-top: -2px;\n margin-bottom: 2px;\n}\n"; | ||
124 | |||
125 | $log->logLine("Add Cover"); | ||
126 | |||
127 | $fullTitle = "<h1> " . $this->bookTitle . "</h1>\n"; | ||
128 | |||
129 | $book->setCoverImage("Cover.png", file_get_contents("themes/_global/img/appicon/apple-touch-icon-152.png"), "image/png", $fullTitle); | ||
130 | |||
131 | $cover = $content_start . '<div style="text-align:center;"><p>' . _('Produced by wallabag with PHPePub') . '</p><p>'. _('Please open <a href="https://github.com/wallabag/wallabag/issues" >an issue</a> if you have trouble with the display of this E-Book on your device.') . '</p></div>' . $bookEnd; | ||
132 | |||
133 | //$book->addChapter("Table of Contents", "TOC.xhtml", NULL, false, EPub::EXTERNAL_REF_IGNORE); | ||
134 | $book->addChapter("Notices", "Cover2.html", $cover); | ||
135 | |||
136 | $book->buildTOC(); | ||
137 | |||
138 | Tools::logm('Adding actual content...'); | ||
139 | |||
140 | foreach ($this->entries as $entry) { //set tags as subjects | ||
141 | $tags = $this->wallabag->store->retrieveTagsByEntry($entry['id']); | ||
142 | foreach ($tags as $tag) { | ||
143 | $book->setSubject($tag['value']); | ||
144 | } | ||
145 | |||
146 | $log->logLine("Set up parameters"); | ||
147 | |||
148 | $chapter = $content_start . $entry['content'] . $bookEnd; | ||
149 | $book->addChapter($entry['title'], htmlspecialchars($entry['title']) . ".html", $chapter, true, EPub::EXTERNAL_REF_ADD); | ||
150 | $log->logLine("Added chapter " . $entry['title']); | ||
151 | } | ||
152 | |||
153 | if (DEBUG_POCHE) { | ||
154 | $book->addChapter("Log", "Log.html", $content_start . $log->getLog() . "\n</pre>" . $bookEnd); // log generation | ||
155 | Tools::logm('Production log available in produced file'); | ||
156 | } | ||
157 | $book->finalize(); | ||
158 | $zipData = $book->sendBook($this->bookFileName); | ||
159 | Tools::logm('Ebook produced'); | ||
160 | } | ||
161 | } | ||
162 | |||
163 | class WallabagMobi extends WallabagEBooks | ||
164 | { | ||
165 | /** | ||
166 | * MOBI Class | ||
167 | * @author Sander Kromwijk | ||
168 | */ | ||
169 | |||
170 | public function produceMobi() | ||
171 | { | ||
172 | |||
173 | Tools::logm('Starting to produce Mobi file'); | ||
174 | $mobi = new MOBI(); | ||
175 | $content = new MOBIFile(); | ||
176 | |||
177 | $messages = new Messages(); // for later | ||
178 | |||
179 | Tools::logm('Filling metadata for Mobi...'); | ||
180 | |||
181 | $content->set("title", $this->bookTitle); | ||
182 | $content->set("author", $this->author); | ||
183 | $content->set("subject", $this->bookTitle); | ||
184 | |||
185 | # introduction | ||
186 | $content->appendParagraph('<div style="text-align:center;" ><p>' . _('Produced by wallabag with PHPMobi') . '</p><p>'. _('Please open <a href="https://github.com/wallabag/wallabag/issues" >an issue</a> if you have trouble with the display of this E-Book on your device.') . '</p></div>'); | ||
187 | $content->appendImage(imagecreatefrompng("themes/_global/img/appicon/apple-touch-icon-152.png")); | ||
188 | $content->appendPageBreak(); | ||
189 | |||
190 | Tools::logm('Adding actual content...'); | ||
191 | |||
192 | foreach ($this->entries as $item) { | ||
193 | $content->appendChapterTitle($item['title']); | ||
194 | $content->appendParagraph($item['content']); | ||
195 | $content->appendPageBreak(); | ||
196 | } | ||
197 | $mobi->setContentProvider($content); | ||
198 | |||
199 | // we offer file to download | ||
200 | $mobi->download($this->bookFileName.'.mobi'); | ||
201 | Tools::logm('Mobi file produced'); | ||
202 | } | ||
203 | } | ||
204 | |||
205 | class WallabagPDF extends WallabagEbooks | ||
206 | { | ||
207 | public function producePDF() | ||
208 | { | ||
209 | |||
210 | Tools::logm('Starting to produce PDF file'); | ||
211 | |||
212 | $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); | ||
213 | |||
214 | Tools::logm('Filling metadata for PDF...'); | ||
215 | $pdf->SetCreator(PDF_CREATOR); | ||
216 | $pdf->SetAuthor(''); | ||
217 | $pdf->SetTitle($this->bookTitle); | ||
218 | $pdf->SetSubject($this->bookTitle); | ||
219 | |||
220 | Tools::logm('Adding introduction...'); | ||
221 | $pdf->AddPage(); | ||
222 | $intro = '<h1>' . $this->bookTitle . '</h1><div style="text-align:center;" > | ||
223 | <p>' . _('Produced by wallabag with tcpdf') . '</p> | ||
224 | <p>'. _('Please open <a href="https://github.com/wallabag/wallabag/issues" >an issue</a> if you have trouble with the display of this E-Book on your device.') . '</p> | ||
225 | <img src="themes/_global/img/appicon/apple-touch-icon-152.png" /></div>'; | ||
226 | |||
227 | |||
228 | $pdf->writeHTMLCell(0, 0, '', '', $intro, 0, 1, 0, true, '', true); | ||
229 | |||
230 | $i = 1; | ||
231 | Tools::logm('Adding actual content...'); | ||
232 | foreach ($this->entries as $item) { | ||
233 | $pdf->AddPage(); | ||
234 | $html = '<h1>' . $item['title'] . '</h1>'; | ||
235 | $html .= $item['content']; | ||
236 | $pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true); | ||
237 | $i = $i+1; | ||
238 | } | ||
239 | |||
240 | // set image scale factor | ||
241 | $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); | ||
242 | |||
243 | |||
244 | $pdf->Output(CACHE . '/' . $this->bookFileName . '.pdf', 'FD'); | ||
245 | |||
246 | } | ||
247 | } | ||
diff --git a/src/Wallabag/Wallabag/FlattrItem.php b/src/Wallabag/Wallabag/FlattrItem.php deleted file mode 100644 index 17eccd3f..00000000 --- a/src/Wallabag/Wallabag/FlattrItem.php +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas Lœuillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | namespace Wallabag\Wallabag; | ||
12 | |||
13 | class FlattrItem | ||
14 | { | ||
15 | public $status; | ||
16 | public $urlToFlattr; | ||
17 | public $flattrItemURL; | ||
18 | public $numFlattrs; | ||
19 | |||
20 | public function checkItem($urlToFlattr, $id) | ||
21 | { | ||
22 | $this->_cacheFlattrFile($urlToFlattr, $id); | ||
23 | $flattrResponse = file_get_contents(CACHE . "/flattr/".$id.".cache"); | ||
24 | if($flattrResponse != FALSE) { | ||
25 | $result = json_decode($flattrResponse); | ||
26 | if (isset($result->message)) { | ||
27 | if ($result->message == "flattrable") { | ||
28 | $this->status = FLATTRABLE; | ||
29 | } | ||
30 | } | ||
31 | elseif (is_object($result) && $result->link) { | ||
32 | $this->status = FLATTRED; | ||
33 | $this->flattrItemURL = $result->link; | ||
34 | $this->numFlattrs = $result->flattrs; | ||
35 | } | ||
36 | else { | ||
37 | $this->status = NOT_FLATTRABLE; | ||
38 | } | ||
39 | } | ||
40 | else { | ||
41 | $this->status = "FLATTR_ERR_CONNECTION"; | ||
42 | } | ||
43 | } | ||
44 | |||
45 | private function _cacheFlattrFile($urlToFlattr, $id) | ||
46 | { | ||
47 | if (!is_dir(CACHE . '/flattr')) { | ||
48 | mkdir(CACHE . '/flattr', 0777); | ||
49 | } | ||
50 | |||
51 | // if a cache flattr file for this url already exists and it's been less than one day than it have been updated, see in /cache | ||
52 | if ((!file_exists(CACHE . "/flattr/".$id.".cache")) || (time() - filemtime(CACHE . "/flattr/".$id.".cache") > 86400)) { | ||
53 | $askForFlattr = Tools::getFile(FLATTR_API . $urlToFlattr); | ||
54 | $flattrCacheFile = fopen(CACHE . "/flattr/".$id.".cache", 'w+'); | ||
55 | fwrite($flattrCacheFile, $askForFlattr); | ||
56 | fclose($flattrCacheFile); | ||
57 | } | ||
58 | } | ||
59 | } | ||
diff --git a/src/Wallabag/Wallabag/Language.php b/src/Wallabag/Wallabag/Language.php deleted file mode 100644 index a8fbbc35..00000000 --- a/src/Wallabag/Wallabag/Language.php +++ /dev/null | |||
@@ -1,118 +0,0 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas Lœuillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | namespace Wallabag\Wallabag; | ||
12 | |||
13 | use \Session; | ||
14 | |||
15 | class Language | ||
16 | { | ||
17 | protected $wallabag; | ||
18 | |||
19 | private $currentLanguage; | ||
20 | |||
21 | private $languageNames = array( | ||
22 | 'cs_CZ.utf8' => 'čeština', | ||
23 | 'de_DE.utf8' => 'German', | ||
24 | 'en_EN.utf8' => 'English', | ||
25 | 'en_US.utf8' => 'English (US)', | ||
26 | 'es_ES.utf8' => 'Español', | ||
27 | 'fa_IR.utf8' => 'فارسی', | ||
28 | 'fr_FR.utf8' => 'Français', | ||
29 | 'it_IT.utf8' => 'Italiano', | ||
30 | 'pl_PL.utf8' => 'Polski', | ||
31 | 'pt_BR.utf8' => 'Português (Brasil)', | ||
32 | 'ru_RU.utf8' => 'Pусский', | ||
33 | 'sl_SI.utf8' => 'Slovenščina', | ||
34 | 'uk_UA.utf8' => 'Українська', | ||
35 | ); | ||
36 | |||
37 | public function __construct(Wallabag $wallabag) | ||
38 | { | ||
39 | $this->wallabag = $wallabag; | ||
40 | $pocheUser = Session::getParam('poche_user'); | ||
41 | $language = (is_null($pocheUser) ? LANG : $pocheUser->getConfigValue('language')); | ||
42 | |||
43 | putenv('LC_ALL=' . $language); | ||
44 | setlocale(LC_ALL, $language); | ||
45 | bindtextdomain($language, LOCALE); | ||
46 | textdomain($language); | ||
47 | |||
48 | $this->currentLanguage = $language; | ||
49 | } | ||
50 | |||
51 | public function getLanguage() { | ||
52 | return $this->currentLanguage; | ||
53 | } | ||
54 | |||
55 | public function getInstalledLanguages() { | ||
56 | $handle = opendir(LOCALE); | ||
57 | $languages = array(); | ||
58 | |||
59 | while (($language = readdir($handle)) !== false) { | ||
60 | # Languages are stored in a directory, so all directory names are languages | ||
61 | # @todo move language installation data to database | ||
62 | if (! is_dir(LOCALE . '/' . $language) || in_array($language, array('..', '.', 'tools'))) { | ||
63 | continue; | ||
64 | } | ||
65 | |||
66 | $current = false; | ||
67 | |||
68 | if ($language === $this->getLanguage()) { | ||
69 | $current = true; | ||
70 | } | ||
71 | |||
72 | $languages[] = array('name' => (isset($this->languageNames[$language]) ? $this->languageNames[$language] : $language), 'value' => $language, 'current' => $current); | ||
73 | } | ||
74 | |||
75 | return $languages; | ||
76 | } | ||
77 | |||
78 | |||
79 | /** | ||
80 | * Update language for current user | ||
81 | * | ||
82 | * @param $newLanguage | ||
83 | */ | ||
84 | public function updateLanguage($newLanguage) | ||
85 | { | ||
86 | # we are not going to change it to the current language | ||
87 | if ($newLanguage == $this->getLanguage()) { | ||
88 | $this->wallabag->messages->add('w', _('still using the "' . $this->getLanguage() . '" language!')); | ||
89 | Tools::redirect('?view=config'); | ||
90 | } | ||
91 | |||
92 | $languages = $this->getInstalledLanguages(); | ||
93 | $actualLanguage = false; | ||
94 | |||
95 | foreach ($languages as $language) { | ||
96 | if ($language['value'] == $newLanguage) { | ||
97 | $actualLanguage = true; | ||
98 | break; | ||
99 | } | ||
100 | } | ||
101 | |||
102 | if (!$actualLanguage) { | ||
103 | $this->wallabag->messages->add('e', _('that language does not seem to be installed')); | ||
104 | Tools::redirect('?view=config'); | ||
105 | } | ||
106 | |||
107 | $this->wallabag->store->updateUserConfig($this->wallabag->user->getId(), 'language', $newLanguage); | ||
108 | $this->wallabag->messages->add('s', _('you have changed your language preferences')); | ||
109 | |||
110 | $currentConfig = $_SESSION['poche_user']->config; | ||
111 | $currentConfig['language'] = $newLanguage; | ||
112 | |||
113 | $_SESSION['poche_user']->setConfig($currentConfig); | ||
114 | |||
115 | Tools::emptyCache(); | ||
116 | Tools::redirect('?view=config'); | ||
117 | } | ||
118 | } | ||
diff --git a/src/Wallabag/Wallabag/Picture.php b/src/Wallabag/Wallabag/Picture.php deleted file mode 100644 index 8a9cd764..00000000 --- a/src/Wallabag/Wallabag/Picture.php +++ /dev/null | |||
@@ -1,169 +0,0 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas Lœuillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | namespace Wallabag\Wallabag; | ||
12 | |||
13 | final class Picture | ||
14 | { | ||
15 | /** | ||
16 | * Changing pictures URL in article content | ||
17 | */ | ||
18 | public static function filterPicture($content, $url, $id) | ||
19 | { | ||
20 | $matches = array(); | ||
21 | $processing_pictures = array(); // list of processing image to avoid processing the same pictures twice | ||
22 | preg_match_all('#<\s*(img)[^>]+src="([^"]*)"[^>]*>#Si', $content, $matches, PREG_SET_ORDER); | ||
23 | foreach($matches as $i => $link) { | ||
24 | $link[1] = trim($link[1]); | ||
25 | if (!preg_match('#^(([a-z]+://)|(\#))#', $link[1])) { | ||
26 | $absolute_path = self::_getAbsoluteLink($link[2], $url); | ||
27 | $filename = basename(parse_url($absolute_path, PHP_URL_PATH)); | ||
28 | $directory = self::_createAssetsDirectory($id); | ||
29 | $fullpath = $directory . '/' . $filename; | ||
30 | |||
31 | if (in_array($absolute_path, $processing_pictures) === true) { | ||
32 | // replace picture's URL only if processing is OK : already processing -> go to next picture | ||
33 | continue; | ||
34 | } | ||
35 | |||
36 | if (self::_downloadPictures($absolute_path, $fullpath) === true) { | ||
37 | $content = str_replace($matches[$i][2], Tools::getPocheUrl() . $fullpath, $content); | ||
38 | } | ||
39 | |||
40 | $processing_pictures[] = $absolute_path; | ||
41 | } | ||
42 | } | ||
43 | |||
44 | return $content; | ||
45 | } | ||
46 | |||
47 | /** | ||
48 | * Get absolute URL | ||
49 | */ | ||
50 | private static function _getAbsoluteLink($relativeLink, $url) | ||
51 | { | ||
52 | /* return if already absolute URL */ | ||
53 | if (parse_url($relativeLink, PHP_URL_SCHEME) != '') return $relativeLink; | ||
54 | |||
55 | /* queries and anchors */ | ||
56 | if ($relativeLink[0]=='#' || $relativeLink[0]=='?') return $url . $relativeLink; | ||
57 | |||
58 | /* parse base URL and convert to local variables: | ||
59 | $scheme, $host, $path */ | ||
60 | extract(parse_url($url)); | ||
61 | |||
62 | /* remove non-directory element from path */ | ||
63 | $path = preg_replace('#/[^/]*$#', '', $path); | ||
64 | |||
65 | /* destroy path if relative url points to root */ | ||
66 | if ($relativeLink[0] == '/') $path = ''; | ||
67 | |||
68 | /* dirty absolute URL */ | ||
69 | $abs = $host . $path . '/' . $relativeLink; | ||
70 | |||
71 | /* replace '//' or '/./' or '/foo/../' with '/' */ | ||
72 | $re = array('#(/\.?/)#', '#/(?!\.\.)[^/]+/\.\./#'); | ||
73 | for($n=1; $n>0; $abs=preg_replace($re, '/', $abs, -1, $n)) {} | ||
74 | |||
75 | /* absolute URL is ready! */ | ||
76 | return $scheme.'://'.$abs; | ||
77 | } | ||
78 | |||
79 | /** | ||
80 | * Downloading pictures | ||
81 | * | ||
82 | * @return bool true if the download and processing is OK, false else | ||
83 | */ | ||
84 | private static function _downloadPictures($absolute_path, $fullpath) | ||
85 | { | ||
86 | $rawdata = Tools::getFile($absolute_path); | ||
87 | $fullpath = urldecode($fullpath); | ||
88 | |||
89 | if(file_exists($fullpath)) { | ||
90 | unlink($fullpath); | ||
91 | } | ||
92 | |||
93 | // check extension | ||
94 | $file_ext = strrchr($fullpath, '.'); | ||
95 | $whitelist = array(".jpg",".jpeg",".gif",".png"); | ||
96 | if (!(in_array($file_ext, $whitelist))) { | ||
97 | Tools::logm('processed image with not allowed extension. Skipping ' . $fullpath); | ||
98 | return false; | ||
99 | } | ||
100 | |||
101 | // check headers | ||
102 | $imageinfo = getimagesize($absolute_path); | ||
103 | if ($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg'&& $imageinfo['mime'] != 'image/jpg'&& $imageinfo['mime'] != 'image/png') { | ||
104 | Tools::logm('processed image with bad header. Skipping ' . $fullpath); | ||
105 | return false; | ||
106 | } | ||
107 | |||
108 | // regenerate image | ||
109 | $im = imagecreatefromstring($rawdata); | ||
110 | if ($im === false) { | ||
111 | Tools::logm('error while regenerating image ' . $fullpath); | ||
112 | return false; | ||
113 | } | ||
114 | |||
115 | switch ($imageinfo['mime']) { | ||
116 | case 'image/gif': | ||
117 | $result = imagegif($im, $fullpath); | ||
118 | break; | ||
119 | case 'image/jpeg': | ||
120 | case 'image/jpg': | ||
121 | $result = imagejpeg($im, $fullpath, REGENERATE_PICTURES_QUALITY); | ||
122 | break; | ||
123 | case 'image/png': | ||
124 | $result = imagepng($im, $fullpath, ceil(REGENERATE_PICTURES_QUALITY / 100 * 9)); | ||
125 | break; | ||
126 | } | ||
127 | imagedestroy($im); | ||
128 | |||
129 | return $result; | ||
130 | } | ||
131 | |||
132 | /** | ||
133 | * Create a directory for an article | ||
134 | * | ||
135 | * @param $id ID of the article | ||
136 | * @return string | ||
137 | */ | ||
138 | private static function _createAssetsDirectory($id) | ||
139 | { | ||
140 | $assets_path = ABS_PATH; | ||
141 | if (!is_dir($assets_path)) { | ||
142 | mkdir($assets_path, 0715); | ||
143 | } | ||
144 | |||
145 | $article_directory = $assets_path . $id; | ||
146 | if (!is_dir($article_directory)) { | ||
147 | mkdir($article_directory, 0715); | ||
148 | } | ||
149 | |||
150 | return $article_directory; | ||
151 | } | ||
152 | |||
153 | /** | ||
154 | * Remove the directory | ||
155 | * | ||
156 | * @param $directory | ||
157 | * @return bool | ||
158 | */ | ||
159 | public static function removeDirectory($directory) | ||
160 | { | ||
161 | if (is_dir($directory)) { | ||
162 | $files = array_diff(scandir($directory), array('.','..')); | ||
163 | foreach ($files as $file) { | ||
164 | (is_dir("$directory/$file")) ? self::removeDirectory("$directory/$file") : unlink("$directory/$file"); | ||
165 | } | ||
166 | return rmdir($directory); | ||
167 | } | ||
168 | } | ||
169 | } \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.mo deleted file mode 100644 index af0920d2..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.po b/src/Wallabag/Wallabag/Resources/translations/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.po deleted file mode 100644 index cf727432..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/cs_CZ.utf8/LC_MESSAGES/cs_CZ.utf8.po +++ /dev/null | |||
@@ -1,567 +0,0 @@ | |||
1 | # | ||
2 | # Translators: | ||
3 | # David Štancl <dstancl@gmail.com>, 2013 | ||
4 | msgid "" | ||
5 | msgstr "" | ||
6 | "Project-Id-Version: poche\n" | ||
7 | "Report-Msgid-Bugs-To: \n" | ||
8 | "POT-Creation-Date: 2014-02-25 15:28+0300\n" | ||
9 | "PO-Revision-Date: 2014-02-25 15:29+0300\n" | ||
10 | "Last-Translator: Maryana <mariroz@mr.lviv.ua>\n" | ||
11 | "Language-Team: Czech (http://www.transifex.com/projects/p/poche/language/cs/)\n" | ||
12 | "Language: cs\n" | ||
13 | "MIME-Version: 1.0\n" | ||
14 | "Content-Type: text/plain; charset=UTF-8\n" | ||
15 | "Content-Transfer-Encoding: 8bit\n" | ||
16 | "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" | ||
17 | "X-Generator: Poedit 1.5.4\n" | ||
18 | "X-Poedit-Language: Czech\n" | ||
19 | "X-Poedit-Basepath: .\n" | ||
20 | "X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-testing\n" | ||
21 | |||
22 | msgid "wallabag, a read it later open source system" | ||
23 | msgstr "" | ||
24 | |||
25 | msgid "login failed: user doesn't exist" | ||
26 | msgstr "" | ||
27 | |||
28 | msgid "return home" | ||
29 | msgstr "" | ||
30 | |||
31 | msgid "config" | ||
32 | msgstr "nastavení" | ||
33 | |||
34 | msgid "Saving articles" | ||
35 | msgstr "" | ||
36 | |||
37 | msgid "There are several ways to save an article:" | ||
38 | msgstr "" | ||
39 | |||
40 | msgid "read the documentation" | ||
41 | msgstr "číst dokumentaci" | ||
42 | |||
43 | msgid "download the extension" | ||
44 | msgstr "" | ||
45 | |||
46 | msgid "via F-Droid" | ||
47 | msgstr "" | ||
48 | |||
49 | msgid " or " | ||
50 | msgstr "" | ||
51 | |||
52 | msgid "via Google Play" | ||
53 | msgstr "" | ||
54 | |||
55 | msgid "download the application" | ||
56 | msgstr "" | ||
57 | |||
58 | #, fuzzy | ||
59 | msgid "By filling this field" | ||
60 | msgstr "vyplněním tohoto pole" | ||
61 | |||
62 | msgid "bag it!" | ||
63 | msgstr "" | ||
64 | |||
65 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
66 | msgstr "" | ||
67 | |||
68 | msgid "Upgrading wallabag" | ||
69 | msgstr "" | ||
70 | |||
71 | #, fuzzy | ||
72 | msgid "Installed version" | ||
73 | msgstr "poslední stabilní verze" | ||
74 | |||
75 | #, fuzzy | ||
76 | msgid "Latest stable version" | ||
77 | msgstr "poslední stabilní verze" | ||
78 | |||
79 | #, fuzzy | ||
80 | msgid "A more recent stable version is available." | ||
81 | msgstr "je k dispozici novější stabilní verze." | ||
82 | |||
83 | #, fuzzy | ||
84 | msgid "You are up to date." | ||
85 | msgstr "je aktuální" | ||
86 | |||
87 | #, fuzzy | ||
88 | msgid "Latest dev version" | ||
89 | msgstr "poslední vývojová verze" | ||
90 | |||
91 | #, fuzzy | ||
92 | msgid "A more recent development version is available." | ||
93 | msgstr "je k dispozici novější vývojová verze." | ||
94 | |||
95 | msgid "Feeds" | ||
96 | msgstr "" | ||
97 | |||
98 | msgid "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
99 | msgstr "" | ||
100 | |||
101 | msgid "Unread feed" | ||
102 | msgstr "" | ||
103 | |||
104 | #, fuzzy | ||
105 | msgid "Favorites feed" | ||
106 | msgstr "oblíbené" | ||
107 | |||
108 | #, fuzzy | ||
109 | msgid "Archive feed" | ||
110 | msgstr "archív" | ||
111 | |||
112 | msgid "Your token:" | ||
113 | msgstr "" | ||
114 | |||
115 | msgid "Your user id:" | ||
116 | msgstr "" | ||
117 | |||
118 | msgid "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." | ||
119 | msgstr "" | ||
120 | |||
121 | #, fuzzy | ||
122 | msgid "Change your theme" | ||
123 | msgstr "Změnit heslo" | ||
124 | |||
125 | msgid "Theme:" | ||
126 | msgstr "" | ||
127 | |||
128 | msgid "Update" | ||
129 | msgstr "Aktualizovat" | ||
130 | |||
131 | #, fuzzy | ||
132 | msgid "Change your language" | ||
133 | msgstr "Změnit heslo" | ||
134 | |||
135 | msgid "Language:" | ||
136 | msgstr "" | ||
137 | |||
138 | msgid "Change your password" | ||
139 | msgstr "Změnit heslo" | ||
140 | |||
141 | msgid "New password:" | ||
142 | msgstr "Nové heslo:" | ||
143 | |||
144 | msgid "Password" | ||
145 | msgstr "Heslo" | ||
146 | |||
147 | msgid "Repeat your new password:" | ||
148 | msgstr "Znovu nové heslo:" | ||
149 | |||
150 | msgid "Import" | ||
151 | msgstr "Importovat" | ||
152 | |||
153 | #, fuzzy | ||
154 | msgid "Please execute the import script locally as it can take a very long time." | ||
155 | msgstr "Spusťte importní skript lokálně, může to dlouho trvat." | ||
156 | |||
157 | #, fuzzy | ||
158 | msgid "More info in the official documentation:" | ||
159 | msgstr "Více informací v oficiální dokumentaci:" | ||
160 | |||
161 | #, fuzzy | ||
162 | msgid "Import from Pocket" | ||
163 | msgstr "importovat z Pocket" | ||
164 | |||
165 | #, php-format | ||
166 | msgid "(you must have a %s file on your server)" | ||
167 | msgstr "" | ||
168 | |||
169 | #, fuzzy | ||
170 | msgid "Import from Readability" | ||
171 | msgstr "importovat z Readability" | ||
172 | |||
173 | #, fuzzy | ||
174 | msgid "Import from Instapaper" | ||
175 | msgstr "importovat z Instapaper" | ||
176 | |||
177 | #, fuzzy | ||
178 | msgid "Import from wallabag" | ||
179 | msgstr "importovat z Readability" | ||
180 | |||
181 | #, fuzzy | ||
182 | msgid "Export your wallabag data" | ||
183 | msgstr "Export dat" | ||
184 | |||
185 | msgid "Click here" | ||
186 | msgstr "Klikněte zde" | ||
187 | |||
188 | msgid "to download your database." | ||
189 | msgstr "" | ||
190 | |||
191 | #, fuzzy | ||
192 | msgid "to export your wallabag data." | ||
193 | msgstr "pro export vašich dat." | ||
194 | |||
195 | msgid "Cache" | ||
196 | msgstr "" | ||
197 | |||
198 | msgid "to delete cache." | ||
199 | msgstr "" | ||
200 | |||
201 | msgid "You can enter multiple tags, separated by commas." | ||
202 | msgstr "" | ||
203 | |||
204 | msgid "return to article" | ||
205 | msgstr "" | ||
206 | |||
207 | msgid "plop" | ||
208 | msgstr "" | ||
209 | |||
210 | msgid "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>." | ||
211 | msgstr "" | ||
212 | |||
213 | msgid "favoris" | ||
214 | msgstr "oblíbené" | ||
215 | |||
216 | msgid "archive" | ||
217 | msgstr "archív" | ||
218 | |||
219 | msgid "unread" | ||
220 | msgstr "nepřečtené" | ||
221 | |||
222 | msgid "by date asc" | ||
223 | msgstr "podle data od nejstarších" | ||
224 | |||
225 | msgid "by date" | ||
226 | msgstr "podle data" | ||
227 | |||
228 | msgid "by date desc" | ||
229 | msgstr "podle data od nejnovějších" | ||
230 | |||
231 | msgid "by title asc" | ||
232 | msgstr "podle nadpisu vzestupně" | ||
233 | |||
234 | msgid "by title" | ||
235 | msgstr "podle nadpisu" | ||
236 | |||
237 | msgid "by title desc" | ||
238 | msgstr "podle nadpisu sestupně" | ||
239 | |||
240 | msgid "Tag" | ||
241 | msgstr "" | ||
242 | |||
243 | msgid "No articles found." | ||
244 | msgstr "" | ||
245 | |||
246 | #, fuzzy | ||
247 | msgid "Toggle mark as read" | ||
248 | msgstr "označit jako přečtené" | ||
249 | |||
250 | msgid "toggle favorite" | ||
251 | msgstr "označit jako oblíbené" | ||
252 | |||
253 | msgid "delete" | ||
254 | msgstr "smazat" | ||
255 | |||
256 | msgid "original" | ||
257 | msgstr "originál" | ||
258 | |||
259 | msgid "estimated reading time:" | ||
260 | msgstr "" | ||
261 | |||
262 | msgid "mark all the entries as read" | ||
263 | msgstr "" | ||
264 | |||
265 | msgid "results" | ||
266 | msgstr "výsledky" | ||
267 | |||
268 | msgid "installation" | ||
269 | msgstr "instalace" | ||
270 | |||
271 | #, fuzzy | ||
272 | msgid "install your wallabag" | ||
273 | msgstr "instalovat" | ||
274 | |||
275 | #, fuzzy | ||
276 | msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation on wallabag website</a>." | ||
277 | msgstr "poche ještě není nainstalováno. Pro instalaci vyplňte níže uvedený formulář. Nezapomeňte <a href='http://doc.inthepoche.com'>si přečíst dokumentaci</a> na stránkách programu." | ||
278 | |||
279 | msgid "Login" | ||
280 | msgstr "Jméno" | ||
281 | |||
282 | msgid "Repeat your password" | ||
283 | msgstr "Zopakujte heslo" | ||
284 | |||
285 | msgid "Install" | ||
286 | msgstr "Instalovat" | ||
287 | |||
288 | #, fuzzy | ||
289 | msgid "login to your wallabag" | ||
290 | msgstr "přihlásit se k poche" | ||
291 | |||
292 | msgid "Login to wallabag" | ||
293 | msgstr "" | ||
294 | |||
295 | msgid "you are in demo mode, some features may be disabled." | ||
296 | msgstr "používáte ukázkový mód, některé funkce jsou zakázány." | ||
297 | |||
298 | msgid "Username" | ||
299 | msgstr "" | ||
300 | |||
301 | msgid "Stay signed in" | ||
302 | msgstr "Zůstat přihlášen(a)" | ||
303 | |||
304 | msgid "(Do not check on public computers)" | ||
305 | msgstr "(Nezaškrtávejte na veřejně dostupných počítačích)" | ||
306 | |||
307 | msgid "Sign in" | ||
308 | msgstr "Přihlásit se" | ||
309 | |||
310 | msgid "favorites" | ||
311 | msgstr "oblíbené" | ||
312 | |||
313 | msgid "estimated reading time :" | ||
314 | msgstr "" | ||
315 | |||
316 | msgid "Mark all the entries as read" | ||
317 | msgstr "" | ||
318 | |||
319 | msgid "Return home" | ||
320 | msgstr "" | ||
321 | |||
322 | #, fuzzy | ||
323 | msgid "Back to top" | ||
324 | msgstr "zpět na začátek" | ||
325 | |||
326 | #, fuzzy | ||
327 | msgid "Mark as read" | ||
328 | msgstr "označit jako přečtené" | ||
329 | |||
330 | #, fuzzy | ||
331 | msgid "Favorite" | ||
332 | msgstr "oblíbené" | ||
333 | |||
334 | #, fuzzy | ||
335 | msgid "Toggle favorite" | ||
336 | msgstr "označit jako oblíbené" | ||
337 | |||
338 | #, fuzzy | ||
339 | msgid "Delete" | ||
340 | msgstr "smazat" | ||
341 | |||
342 | #, fuzzy | ||
343 | msgid "Tweet" | ||
344 | msgstr "tweetnout" | ||
345 | |||
346 | #, fuzzy | ||
347 | msgid "Email" | ||
348 | msgstr "email" | ||
349 | |||
350 | msgid "shaarli" | ||
351 | msgstr "shaarli" | ||
352 | |||
353 | msgid "flattr" | ||
354 | msgstr "flattr" | ||
355 | |||
356 | #, fuzzy | ||
357 | msgid "Does this article appear wrong?" | ||
358 | msgstr "vypadá tento článek špatně?" | ||
359 | |||
360 | msgid "tags:" | ||
361 | msgstr "" | ||
362 | |||
363 | msgid "Edit tags" | ||
364 | msgstr "" | ||
365 | |||
366 | msgid "save link!" | ||
367 | msgstr "" | ||
368 | |||
369 | msgid "home" | ||
370 | msgstr "domů" | ||
371 | |||
372 | msgid "tags" | ||
373 | msgstr "" | ||
374 | |||
375 | msgid "logout" | ||
376 | msgstr "odhlásit se" | ||
377 | |||
378 | msgid "powered by" | ||
379 | msgstr "běží na" | ||
380 | |||
381 | msgid "debug mode is on so cache is off." | ||
382 | msgstr "je zapnut ladicí mód, proto je keš vypnuta." | ||
383 | |||
384 | #, fuzzy | ||
385 | msgid "your wallabag version:" | ||
386 | msgstr "vaše verze" | ||
387 | |||
388 | msgid "storage:" | ||
389 | msgstr "úložiště:" | ||
390 | |||
391 | msgid "save a link" | ||
392 | msgstr "" | ||
393 | |||
394 | msgid "back to home" | ||
395 | msgstr "zpět na úvod" | ||
396 | |||
397 | msgid "toggle mark as read" | ||
398 | msgstr "označit jako přečtené" | ||
399 | |||
400 | msgid "tweet" | ||
401 | msgstr "tweetnout" | ||
402 | |||
403 | msgid "email" | ||
404 | msgstr "email" | ||
405 | |||
406 | msgid "this article appears wrong?" | ||
407 | msgstr "vypadá tento článek špatně?" | ||
408 | |||
409 | msgid "No link available here!" | ||
410 | msgstr "Není k dispozici žádný odkaz!" | ||
411 | |||
412 | msgid "Poching a link" | ||
413 | msgstr "Odkaz se ukládá" | ||
414 | |||
415 | msgid "by filling this field" | ||
416 | msgstr "vyplněním tohoto pole" | ||
417 | |||
418 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
419 | msgstr "" | ||
420 | |||
421 | msgid "your version" | ||
422 | msgstr "vaše verze" | ||
423 | |||
424 | msgid "latest stable version" | ||
425 | msgstr "poslední stabilní verze" | ||
426 | |||
427 | msgid "a more recent stable version is available." | ||
428 | msgstr "je k dispozici novější stabilní verze." | ||
429 | |||
430 | msgid "you are up to date." | ||
431 | msgstr "je aktuální" | ||
432 | |||
433 | msgid "latest dev version" | ||
434 | msgstr "poslední vývojová verze" | ||
435 | |||
436 | msgid "a more recent development version is available." | ||
437 | msgstr "je k dispozici novější vývojová verze." | ||
438 | |||
439 | msgid "Please execute the import script locally, it can take a very long time." | ||
440 | msgstr "Spusťte importní skript lokálně, může to dlouho trvat." | ||
441 | |||
442 | #, fuzzy | ||
443 | msgid "More infos in the official doc:" | ||
444 | msgstr "Více informací v oficiální dokumentaci:" | ||
445 | |||
446 | msgid "import from Pocket" | ||
447 | msgstr "importovat z Pocket" | ||
448 | |||
449 | msgid "import from Readability" | ||
450 | msgstr "importovat z Readability" | ||
451 | |||
452 | msgid "import from Instapaper" | ||
453 | msgstr "importovat z Instapaper" | ||
454 | |||
455 | msgid "Tags" | ||
456 | msgstr "" | ||
457 | |||
458 | #, fuzzy | ||
459 | msgid "Untitled" | ||
460 | msgstr "podle nadpisu" | ||
461 | |||
462 | msgid "the link has been added successfully" | ||
463 | msgstr "" | ||
464 | |||
465 | msgid "error during insertion : the link wasn't added" | ||
466 | msgstr "" | ||
467 | |||
468 | msgid "the link has been deleted successfully" | ||
469 | msgstr "" | ||
470 | |||
471 | msgid "the link wasn't deleted" | ||
472 | msgstr "" | ||
473 | |||
474 | msgid "Article not found!" | ||
475 | msgstr "" | ||
476 | |||
477 | msgid "previous" | ||
478 | msgstr "" | ||
479 | |||
480 | msgid "next" | ||
481 | msgstr "" | ||
482 | |||
483 | msgid "in demo mode, you can't update your password" | ||
484 | msgstr "" | ||
485 | |||
486 | msgid "your password has been updated" | ||
487 | msgstr "" | ||
488 | |||
489 | msgid "the two fields have to be filled & the password must be the same in the two fields" | ||
490 | msgstr "" | ||
491 | |||
492 | msgid "still using the \"" | ||
493 | msgstr "" | ||
494 | |||
495 | msgid "that theme does not seem to be installed" | ||
496 | msgstr "" | ||
497 | |||
498 | msgid "you have changed your theme preferences" | ||
499 | msgstr "" | ||
500 | |||
501 | msgid "that language does not seem to be installed" | ||
502 | msgstr "" | ||
503 | |||
504 | msgid "you have changed your language preferences" | ||
505 | msgstr "" | ||
506 | |||
507 | msgid "login failed: you have to fill all fields" | ||
508 | msgstr "" | ||
509 | |||
510 | msgid "welcome to your wallabag" | ||
511 | msgstr "" | ||
512 | |||
513 | msgid "login failed: bad login or password" | ||
514 | msgstr "" | ||
515 | |||
516 | #, fuzzy | ||
517 | msgid "import from instapaper completed" | ||
518 | msgstr "importovat z Instapaper" | ||
519 | |||
520 | #, fuzzy | ||
521 | msgid "import from pocket completed" | ||
522 | msgstr "importovat z Pocket" | ||
523 | |||
524 | #, fuzzy | ||
525 | msgid "import from Readability completed. " | ||
526 | msgstr "importovat z Readability" | ||
527 | |||
528 | #, fuzzy | ||
529 | msgid "import from Poche completed. " | ||
530 | msgstr "importovat z Pocket" | ||
531 | |||
532 | msgid "Unknown import provider." | ||
533 | msgstr "" | ||
534 | |||
535 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
536 | msgstr "" | ||
537 | |||
538 | msgid "Could not find required \"" | ||
539 | msgstr "" | ||
540 | |||
541 | msgid "Uh, there is a problem while generating feeds." | ||
542 | msgstr "" | ||
543 | |||
544 | #, fuzzy | ||
545 | msgid "Cache deleted." | ||
546 | msgstr "smazat" | ||
547 | |||
548 | msgid "Oops, it seems you don't have PHP 5." | ||
549 | msgstr "" | ||
550 | |||
551 | #~ msgid "poche it!" | ||
552 | #~ msgstr "uložit!" | ||
553 | |||
554 | #~ msgid "Updating poche" | ||
555 | #~ msgstr "Poche se aktualizuje" | ||
556 | |||
557 | #~ msgid "create an issue" | ||
558 | #~ msgstr "odeslat požadavek" | ||
559 | |||
560 | #~ msgid "or" | ||
561 | #~ msgstr "nebo" | ||
562 | |||
563 | #~ msgid "contact us by mail" | ||
564 | #~ msgstr "kontaktovat e-mailem" | ||
565 | |||
566 | #~ msgid "your poche version:" | ||
567 | #~ msgstr "verze:" | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo deleted file mode 100644 index bd18817f..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po b/src/Wallabag/Wallabag/Resources/translations/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po deleted file mode 100644 index 8b82721d..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po +++ /dev/null | |||
@@ -1,658 +0,0 @@ | |||
1 | msgid "" | ||
2 | msgstr "" | ||
3 | "Project-Id-Version: Wallabag\n" | ||
4 | "Report-Msgid-Bugs-To: \n" | ||
5 | "POT-Creation-Date: 2014-03-27 13:41+0100\n" | ||
6 | "PO-Revision-Date: \n" | ||
7 | "Last-Translator: Kevin Meyer <wallabag@kevin-meyer.de>\n" | ||
8 | "Language-Team: \n" | ||
9 | "Language: de\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.6.4\n" | ||
14 | "X-Poedit-Basepath: .\n" | ||
15 | "X-Poedit-SearchPath-0: /Users/kevinmeyer/Dropbox/dev_web/wallabag-dev\n" | ||
16 | |||
17 | msgid "config" | ||
18 | msgstr "Konfiguration" | ||
19 | |||
20 | msgid "Saving articles" | ||
21 | msgstr "Artikel speichern" | ||
22 | |||
23 | msgid "There are several ways to save an article:" | ||
24 | msgstr "Es gibt viele Methoden um Artikel zu speichern:" | ||
25 | |||
26 | msgid "read the documentation" | ||
27 | msgstr "Die Dokumentation lesen" | ||
28 | |||
29 | msgid "download the extension" | ||
30 | msgstr "installiere die Erweiterung" | ||
31 | |||
32 | msgid "via F-Droid" | ||
33 | msgstr "via F-Droid" | ||
34 | |||
35 | msgid " or " | ||
36 | msgstr " oder " | ||
37 | |||
38 | msgid "via Google Play" | ||
39 | msgstr "via Google Play" | ||
40 | |||
41 | msgid "download the application" | ||
42 | msgstr "lade die App" | ||
43 | |||
44 | msgid "By filling this field" | ||
45 | msgstr "Durch Ausfüllen dieses Feldes" | ||
46 | |||
47 | msgid "bag it!" | ||
48 | msgstr "bag it!" | ||
49 | |||
50 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
51 | msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen-Leiste" | ||
52 | |||
53 | msgid "Upgrading wallabag" | ||
54 | msgstr "wallabag aktualisieren" | ||
55 | |||
56 | msgid "Installed version" | ||
57 | msgstr "Installierte Version" | ||
58 | |||
59 | msgid "Latest stable version" | ||
60 | msgstr "Neuste stabile Version" | ||
61 | |||
62 | msgid "A more recent stable version is available." | ||
63 | msgstr "Eine neuere stabile Version ist verfügbar." | ||
64 | |||
65 | msgid "You are up to date." | ||
66 | msgstr "Du bist auf den neuesten Stand." | ||
67 | |||
68 | msgid "Last check:" | ||
69 | msgstr "Zuletzt geprüft:" | ||
70 | |||
71 | msgid "Latest dev version" | ||
72 | msgstr "Neuste Entwicklungsversion" | ||
73 | |||
74 | msgid "A more recent development version is available." | ||
75 | msgstr "Eine neuere Entwicklungsversion ist verfügbar." | ||
76 | |||
77 | msgid "You can clear cache to check the latest release." | ||
78 | msgstr "Leere den Cache um die neueste Version zu prüfen." | ||
79 | |||
80 | msgid "Feeds" | ||
81 | msgstr "Feeds" | ||
82 | |||
83 | msgid "" | ||
84 | "Your feed token is currently empty and must first be generated to enable " | ||
85 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
86 | msgstr "" | ||
87 | "Dein Feed Token ist noch nicht vorhanden und muss zunächst generiert werden, " | ||
88 | "um deine Feeds zu aktivieren. Klicke <a href='?feed&" | ||
89 | "action=generate'>hier um ihn zu generieren</a>." | ||
90 | |||
91 | msgid "Unread feed" | ||
92 | msgstr "Ungelesen Feed" | ||
93 | |||
94 | msgid "Favorites feed" | ||
95 | msgstr "Favoriten Feed" | ||
96 | |||
97 | msgid "Archive feed" | ||
98 | msgstr "Archiv Feed" | ||
99 | |||
100 | msgid "Your token:" | ||
101 | msgstr "Dein Token:" | ||
102 | |||
103 | msgid "Your user id:" | ||
104 | msgstr "Deine User ID:" | ||
105 | |||
106 | msgid "" | ||
107 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" | ||
108 | "</a>." | ||
109 | msgstr "" | ||
110 | "Hier kannst du dein Token erzeugen: <a href='?feed&" | ||
111 | "action=generate'>Generieren!</a>." | ||
112 | |||
113 | msgid "Change your theme" | ||
114 | msgstr "Theme ändern" | ||
115 | |||
116 | msgid "Theme:" | ||
117 | msgstr "Theme:" | ||
118 | |||
119 | msgid "Update" | ||
120 | msgstr "Aktualisieren" | ||
121 | |||
122 | msgid "Change your language" | ||
123 | msgstr "Sprache ändern" | ||
124 | |||
125 | msgid "Language:" | ||
126 | msgstr "Sprache:" | ||
127 | |||
128 | msgid "Change your password" | ||
129 | msgstr "Passwort ändern" | ||
130 | |||
131 | msgid "New password:" | ||
132 | msgstr "Neues Passwort:" | ||
133 | |||
134 | msgid "Password" | ||
135 | msgstr "Passwort" | ||
136 | |||
137 | msgid "Repeat your new password:" | ||
138 | msgstr "Neues Passwort wiederholen:" | ||
139 | |||
140 | msgid "Import" | ||
141 | msgstr "Import" | ||
142 | |||
143 | msgid "" | ||
144 | "Importing from other services can be quite long, and webservers default " | ||
145 | "configuration often prevents long scripts execution time, so it must be done " | ||
146 | "in multiple parts." | ||
147 | msgstr "" | ||
148 | "Der Import von anderen Diensten kann sehr lange dauern. Deswegen bricht der " | ||
149 | "Webserver diesen in vielen Konfigurationen ab. Daher muss der Import in " | ||
150 | "mehrere Teile aufgeteilt werden." | ||
151 | |||
152 | msgid "First, select the export file on your computer and upload it." | ||
153 | msgstr "Wähle eine Datei von deinem Computer aus und lade sie hoch." | ||
154 | |||
155 | msgid "File:" | ||
156 | msgstr "Datei:" | ||
157 | |||
158 | msgid "Upload" | ||
159 | msgstr "Hochladen" | ||
160 | |||
161 | msgid "Then, click on the right link below." | ||
162 | msgstr "Klicke dann unten auf den entsprechenden Link." | ||
163 | |||
164 | msgid "Import from Pocket" | ||
165 | msgstr "Import aus Pocket" | ||
166 | |||
167 | #, php-format | ||
168 | msgid "(after uploaded %s file)" | ||
169 | msgstr "(nach Upload der Datei %s)" | ||
170 | |||
171 | msgid "Import from Readability" | ||
172 | msgstr "Import aus Readability" | ||
173 | |||
174 | msgid "Import from Instapaper" | ||
175 | msgstr "Import aus Instapaper" | ||
176 | |||
177 | msgid "Import from wallabag" | ||
178 | msgstr "Import aus Readability" | ||
179 | |||
180 | msgid "" | ||
181 | "3. Your feed token is currently empty and must first be generated to fetch " | ||
182 | "content. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
183 | msgstr "" | ||
184 | "3. Dein Feed Token ist noch nicht vorhanden und muss zunächst generiert " | ||
185 | "werden, um Inhalt abrufen zu können. Klicke <a href='?feed&" | ||
186 | "action=generate'>hier um ihn zu generieren</a>." | ||
187 | |||
188 | msgid "Finally, you have to fetch content for imported items." | ||
189 | msgstr "Jetzt musst du den Inhalt der importierten Artikel abrufen." | ||
190 | |||
191 | msgid "Click here" | ||
192 | msgstr "Klicke hier" | ||
193 | |||
194 | msgid "to fetch content for 10 articles" | ||
195 | msgstr "um den Inhalt von 10 Artikeln abzurufen" | ||
196 | |||
197 | msgid "" | ||
198 | "If you have console access to your server, you can also create a cron task:" | ||
199 | msgstr "" | ||
200 | "Wenn du Konsolenzugang zu deinem Server hast kannst du auch einen cron " | ||
201 | "erstellen:" | ||
202 | |||
203 | msgid "Export your wallabag data" | ||
204 | msgstr "Exportieren deine wallabag Daten" | ||
205 | |||
206 | msgid "to download your database." | ||
207 | msgstr "um deine Datenbank herunterzuladen" | ||
208 | |||
209 | msgid "to export your wallabag data." | ||
210 | msgstr "um deine Daten aus wallabag zu exportieren." | ||
211 | |||
212 | msgid "Cache" | ||
213 | msgstr "Cache" | ||
214 | |||
215 | msgid "to delete cache." | ||
216 | msgstr "um den Cache zu löschen." | ||
217 | |||
218 | msgid "Tags" | ||
219 | msgstr "Tags" | ||
220 | |||
221 | msgid "by date asc" | ||
222 | msgstr "nach Datum aufsteigend" | ||
223 | |||
224 | msgid "by date" | ||
225 | msgstr "nach Datum" | ||
226 | |||
227 | msgid "by date desc" | ||
228 | msgstr "nach Datum absteigend" | ||
229 | |||
230 | msgid "by title asc" | ||
231 | msgstr "nach Titel aufsteigend" | ||
232 | |||
233 | msgid "by title" | ||
234 | msgstr "nach Titel" | ||
235 | |||
236 | msgid "by title desc" | ||
237 | msgstr "nach Titel absteigend" | ||
238 | |||
239 | #, fuzzy | ||
240 | msgid "toggle view mode" | ||
241 | msgstr "Favorit" | ||
242 | |||
243 | msgid "home" | ||
244 | msgstr "Start" | ||
245 | |||
246 | msgid "favorites" | ||
247 | msgstr "Favoriten" | ||
248 | |||
249 | msgid "archive" | ||
250 | msgstr "Archiv" | ||
251 | |||
252 | msgid "tags" | ||
253 | msgstr "Tags" | ||
254 | |||
255 | msgid "save a link" | ||
256 | msgstr "Speichere einen Link" | ||
257 | |||
258 | msgid "search" | ||
259 | msgstr "Suche" | ||
260 | |||
261 | msgid "logout" | ||
262 | msgstr "Logout" | ||
263 | |||
264 | msgid "return home" | ||
265 | msgstr "Zurück zum Start" | ||
266 | |||
267 | #, fuzzy | ||
268 | msgid "Search" | ||
269 | msgstr "Archiv" | ||
270 | |||
271 | msgid "powered by" | ||
272 | msgstr "bereitgestellt von" | ||
273 | |||
274 | msgid "debug mode is on so cache is off." | ||
275 | msgstr "Debug Modus ist aktiviert, das Caching ist somit deaktiviert" | ||
276 | |||
277 | msgid "your wallabag version:" | ||
278 | msgstr "Deine wallabag Version" | ||
279 | |||
280 | msgid "storage:" | ||
281 | msgstr "Speicher:" | ||
282 | |||
283 | msgid "Save a link" | ||
284 | msgstr "Speichere einen Link" | ||
285 | |||
286 | msgid "save link!" | ||
287 | msgstr "Link speichern!" | ||
288 | |||
289 | msgid "unread" | ||
290 | msgstr "ungelesen" | ||
291 | |||
292 | msgid "Tag" | ||
293 | msgstr "Tag" | ||
294 | |||
295 | msgid "No articles found." | ||
296 | msgstr "Keine Artikel gefunden." | ||
297 | |||
298 | msgid "estimated reading time:" | ||
299 | msgstr "geschätzte Lesezeit:" | ||
300 | |||
301 | msgid "estimated reading time :" | ||
302 | msgstr "geschätzte Lesezeit:" | ||
303 | |||
304 | msgid "Toggle mark as read" | ||
305 | msgstr "Als gelesen markieren" | ||
306 | |||
307 | msgid "toggle favorite" | ||
308 | msgstr "Favorit" | ||
309 | |||
310 | msgid "delete" | ||
311 | msgstr "Löschen" | ||
312 | |||
313 | msgid "original" | ||
314 | msgstr "Original" | ||
315 | |||
316 | msgid "Mark all the entries as read" | ||
317 | msgstr "Markiere alle als gelesen" | ||
318 | |||
319 | msgid "results" | ||
320 | msgstr "Ergebnisse" | ||
321 | |||
322 | msgid "Uh, there is a problem with the cron." | ||
323 | msgstr "Oh, es gab ein Problem mit dem cron." | ||
324 | |||
325 | msgid "Untitled" | ||
326 | msgstr "Ohne Titel" | ||
327 | |||
328 | msgid "the link has been added successfully" | ||
329 | msgstr "Speichern des Links erfolgreich" | ||
330 | |||
331 | msgid "error during insertion : the link wasn't added" | ||
332 | msgstr "Fehler beim Einfügen: Der Link wurde nicht hinzugefügt" | ||
333 | |||
334 | msgid "the link has been deleted successfully" | ||
335 | msgstr "Löschen des Links erfolgreich" | ||
336 | |||
337 | msgid "the link wasn't deleted" | ||
338 | msgstr "Der Link wurde nicht entfernt" | ||
339 | |||
340 | msgid "Article not found!" | ||
341 | msgstr "Artikel nicht gefunden!" | ||
342 | |||
343 | msgid "previous" | ||
344 | msgstr "vorherige" | ||
345 | |||
346 | msgid "next" | ||
347 | msgstr "nächste" | ||
348 | |||
349 | msgid "in demo mode, you can't update your password" | ||
350 | msgstr "im Demo-Modus kann das Passwort nicht geändert werden" | ||
351 | |||
352 | msgid "your password has been updated" | ||
353 | msgstr "Dein Passwort wurde geändert" | ||
354 | |||
355 | msgid "" | ||
356 | "the two fields have to be filled & the password must be the same in the two " | ||
357 | "fields" | ||
358 | msgstr "Beide Felder müssen mit selbem Inhalt ausgefüllt sein" | ||
359 | |||
360 | msgid "still using the \"" | ||
361 | msgstr "nutze immernoch die \"" | ||
362 | |||
363 | msgid "that theme does not seem to be installed" | ||
364 | msgstr "dieses Theme scheint nicht installiert zu sein" | ||
365 | |||
366 | msgid "you have changed your theme preferences" | ||
367 | msgstr "Du hast deine Theme Einstellungen geändert" | ||
368 | |||
369 | msgid "that language does not seem to be installed" | ||
370 | msgstr "Diese Sprache scheint nicht installiert zu sein" | ||
371 | |||
372 | msgid "you have changed your language preferences" | ||
373 | msgstr "Du hast deine Spracheinstellungen geändert" | ||
374 | |||
375 | msgid "login failed: you have to fill all fields" | ||
376 | msgstr "Anmeldung fehlgeschlagen: Alle Felder müssen ausgefüllt werden" | ||
377 | |||
378 | msgid "welcome to your wallabag" | ||
379 | msgstr "Willkommen bei deiner wallabag" | ||
380 | |||
381 | msgid "login failed: bad login or password" | ||
382 | msgstr "Anmeldung fehlgeschlagen: Falscher Benutzername oder Passwort" | ||
383 | |||
384 | msgid "" | ||
385 | "import from instapaper completed. You have to execute the cron to fetch " | ||
386 | "content." | ||
387 | msgstr "" | ||
388 | "Import aus Instapaper vollständig. Führe den cronjob aus um den Inhalt " | ||
389 | "abzurufen." | ||
390 | |||
391 | msgid "" | ||
392 | "import from pocket completed. You have to execute the cron to fetch content." | ||
393 | msgstr "" | ||
394 | "Import aus Pocket vollständig. Führe den cronjob aus um den Inhalt abzurufen." | ||
395 | |||
396 | msgid "" | ||
397 | "import from Readability completed. You have to execute the cron to fetch " | ||
398 | "content." | ||
399 | msgstr "" | ||
400 | "Import aus Readability vollständig. Führe den cronjob aus um den Inhalt " | ||
401 | "abzurufen." | ||
402 | |||
403 | msgid "" | ||
404 | "import from Poche completed. You have to execute the cron to fetch content." | ||
405 | msgstr "" | ||
406 | "Import aus Poche vollständig. Führe den cronjob aus um den Inhalt abzurufen." | ||
407 | |||
408 | msgid "Unknown import provider." | ||
409 | msgstr "Unbekannter Import Anbieter." | ||
410 | |||
411 | msgid "Could not find required \"" | ||
412 | msgstr "Nicht gefunden: \"" | ||
413 | |||
414 | msgid "File uploaded. You can now execute import." | ||
415 | msgstr "Datei hochgeladen. Du kannst nun importieren." | ||
416 | |||
417 | msgid "Error while importing file. Do you have access to upload it?" | ||
418 | msgstr "Fehler beim Importieren. Hast du das Recht zum Hochladen?" | ||
419 | |||
420 | msgid "User with this id (" | ||
421 | msgstr "Nutzer mit dieser id (" | ||
422 | |||
423 | msgid "Uh, there is a problem while generating feeds." | ||
424 | msgstr "Oh, es gab ein Problem beim Erstellen des Feeds." | ||
425 | |||
426 | msgid "Cache deleted." | ||
427 | msgstr "Cache gelöscht" | ||
428 | |||
429 | msgid "Oops, it seems you don't have PHP 5." | ||
430 | msgstr "Oops, es scheint als würde PHP 5 fehlen." | ||
431 | |||
432 | msgid "wallabag, a read it later open source system" | ||
433 | msgstr "wallabag, ein Später-Lesen Open Source System" | ||
434 | |||
435 | msgid "login failed: user doesn't exist" | ||
436 | msgstr "Anmeldung fehlgeschlagen: Benutzer existiert nicht" | ||
437 | |||
438 | #~ msgid "You can enter multiple tags, separated by commas." | ||
439 | #~ msgstr "Du kannst mehrere Tags, durch Kommata getrennt, eingeben." | ||
440 | |||
441 | #~ msgid "return to article" | ||
442 | #~ msgstr "zurück zum Artikel" | ||
443 | |||
444 | #, fuzzy | ||
445 | #~ msgid "favoris" | ||
446 | #~ msgstr "Favoriten" | ||
447 | |||
448 | #~ msgid "mark all the entries as read" | ||
449 | #~ msgstr "Markiere alle als gelesen" | ||
450 | |||
451 | #~ msgid "Back to top" | ||
452 | #~ msgstr "Nach Oben" | ||
453 | |||
454 | #~ msgid "Mark as read" | ||
455 | #~ msgstr "Als gelesen markieren" | ||
456 | |||
457 | #~ msgid "Favorite" | ||
458 | #~ msgstr "Favoriten" | ||
459 | |||
460 | #~ msgid "Toggle favorite" | ||
461 | #~ msgstr "Favorit" | ||
462 | |||
463 | #~ msgid "Delete" | ||
464 | #~ msgstr "Löschen" | ||
465 | |||
466 | #~ msgid "Tweet" | ||
467 | #~ msgstr "Twittern" | ||
468 | |||
469 | #~ msgid "Email" | ||
470 | #~ msgstr "per E-Mail senden" | ||
471 | |||
472 | #~ msgid "shaarli" | ||
473 | #~ msgstr "Shaarli" | ||
474 | |||
475 | #~ msgid "flattr" | ||
476 | #~ msgstr "flattr" | ||
477 | |||
478 | #~ msgid "Does this article appear wrong?" | ||
479 | #~ msgstr "Erscheint dieser Artikel falsch?" | ||
480 | |||
481 | #~ msgid "Edit tags" | ||
482 | #~ msgstr "Tags bearbeiten" | ||
483 | |||
484 | #~ msgid "Start typing for auto complete." | ||
485 | #~ msgstr "Beginne zu tippen für die Autovervollständigung." | ||
486 | |||
487 | #~ msgid "Return home" | ||
488 | #~ msgstr "Zurück zum Start" | ||
489 | |||
490 | #~ msgid "tags:" | ||
491 | #~ msgstr "Tags:" | ||
492 | |||
493 | #~ msgid "login to your wallabag" | ||
494 | #~ msgstr "Bei wallabag anmelden" | ||
495 | |||
496 | #~ msgid "you are in demo mode, some features may be disabled." | ||
497 | #~ msgstr "" | ||
498 | #~ "Du befindest dich im Demomodus, einige Funktionen könnten deaktiviert " | ||
499 | #~ "sein." | ||
500 | |||
501 | #~ msgid "Login" | ||
502 | #~ msgstr "Benutzername" | ||
503 | |||
504 | #~ msgid "Stay signed in" | ||
505 | #~ msgstr "Angemeldet bleiben" | ||
506 | |||
507 | #~ msgid "(Do not check on public computers)" | ||
508 | #~ msgstr "(nicht auf einem öffentlichen Computer anhaken)" | ||
509 | |||
510 | #~ msgid "plop" | ||
511 | #~ msgstr "plop" | ||
512 | |||
513 | #~ msgid "Login to wallabag" | ||
514 | #~ msgstr "Bei wallabag anmelden" | ||
515 | |||
516 | #~ msgid "Username" | ||
517 | #~ msgstr "Benutzername" | ||
518 | |||
519 | #~ msgid "Sign in" | ||
520 | #~ msgstr "Einloggen" | ||
521 | |||
522 | #~ msgid "Enter your search here" | ||
523 | #~ msgstr "Gib hier deine Suchanfrage ein" | ||
524 | |||
525 | #~ msgid "installation" | ||
526 | #~ msgstr "Installieren" | ||
527 | |||
528 | #~ msgid "install your wallabag" | ||
529 | #~ msgstr "Installiere deine wallabag" | ||
530 | |||
531 | #~ msgid "" | ||
532 | #~ "wallabag is still not installed. Please fill the below form to install " | ||
533 | #~ "it. Don't hesitate to <a href='http://doc.wallabag.org/'>read the " | ||
534 | #~ "documentation on wallabag website</a>." | ||
535 | #~ msgstr "" | ||
536 | #~ "wallabag ist noch nicht installiert. Bitte fülle die Felder unten aus, um " | ||
537 | #~ "die Installation durchzuführen. Zögere nicht, <a href='http://doc." | ||
538 | #~ "wallabag.org/'>die Dokumentation auf der Website von wallabag zu lesen, " | ||
539 | #~ "falls du Probleme haben solltest." | ||
540 | |||
541 | #~ msgid "Repeat your password" | ||
542 | #~ msgstr "Wiederhole dein Passwort" | ||
543 | |||
544 | #~ msgid "Install" | ||
545 | #~ msgstr "Installieren" | ||
546 | |||
547 | #~ msgid "No link available here!" | ||
548 | #~ msgstr "Kein Link verfügbar!" | ||
549 | |||
550 | #~ msgid "toggle mark as read" | ||
551 | #~ msgstr "Als gelesen markieren" | ||
552 | |||
553 | #~ msgid "" | ||
554 | #~ "You can <a href='wallabag_compatibility_test.php'>check your " | ||
555 | #~ "configuration here</a>." | ||
556 | #~ msgstr "" | ||
557 | #~ "Du kannst deine Konfiguration <a href='wallabag_compatibility_test." | ||
558 | #~ "php'>hier testen</a>." | ||
559 | |||
560 | #~ msgid "back to home" | ||
561 | #~ msgstr "züruck zur Hauptseite" | ||
562 | |||
563 | #~ msgid "tweet" | ||
564 | #~ msgstr "Twittern" | ||
565 | |||
566 | #~ msgid "email" | ||
567 | #~ msgstr "senden per E-Mail" | ||
568 | |||
569 | #~ msgid "this article appears wrong?" | ||
570 | #~ msgstr "dieser Artikel erscheint falsch?" | ||
571 | |||
572 | #~ msgid "Poching a link" | ||
573 | #~ msgstr "Poche einen Link" | ||
574 | |||
575 | #~ msgid "by filling this field" | ||
576 | #~ msgstr "durch das ausfüllen dieses Feldes:" | ||
577 | |||
578 | #~ msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
579 | #~ msgstr "Bookmarklet: Ziehe diesen Link in deine Lesezeichen-Leiste" | ||
580 | |||
581 | #~ msgid "your version" | ||
582 | #~ msgstr "Deine Version" | ||
583 | |||
584 | #~ msgid "latest stable version" | ||
585 | #~ msgstr "Neuste stabile Version" | ||
586 | |||
587 | #~ msgid "a more recent stable version is available." | ||
588 | #~ msgstr "Eine neuere stabile Version ist verfügbar." | ||
589 | |||
590 | #~ msgid "you are up to date." | ||
591 | #~ msgstr "Du bist auf den neuesten Stand." | ||
592 | |||
593 | #~ msgid "latest dev version" | ||
594 | #~ msgstr "Neuste Entwicklungsversion" | ||
595 | |||
596 | #~ msgid "a more recent development version is available." | ||
597 | #~ msgstr "Eine neuere Entwicklungsversion ist verfügbar." | ||
598 | |||
599 | #~ msgid "" | ||
600 | #~ "Please execute the import script locally, it can take a very long time." | ||
601 | #~ msgstr "" | ||
602 | #~ "Bitte führe das Import Script lokal aus, dies kann eine Weile dauern." | ||
603 | |||
604 | #~ msgid "More infos in the official doc:" | ||
605 | #~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" | ||
606 | |||
607 | #~ msgid "import from Pocket" | ||
608 | #~ msgstr "Import aus Pocket" | ||
609 | |||
610 | #~ msgid "(you must have a %s file on your server)" | ||
611 | #~ msgstr "(du brauchst eine %s Datei auf deinem Server)" | ||
612 | |||
613 | #~ msgid "import from Readability" | ||
614 | #~ msgstr "Import aus Readability" | ||
615 | |||
616 | #~ msgid "import from Instapaper" | ||
617 | #~ msgstr "Import aus Instapaper" | ||
618 | |||
619 | #~ msgid "You can also create a cron task:" | ||
620 | #~ msgstr "Du kannst auch einen cronjob anlegen:" | ||
621 | |||
622 | #~ msgid "" | ||
623 | #~ "Please execute the import script locally as it can take a very long time." | ||
624 | #~ msgstr "" | ||
625 | #~ "Bitte führe das Import Script lokal aus, da dies eine Weile dauern kann." | ||
626 | |||
627 | #~ msgid "More info in the official documentation:" | ||
628 | #~ msgstr "Mehr Informationen in der offiziellen Dokumentation:" | ||
629 | |||
630 | #~ msgid "import from instapaper completed" | ||
631 | #~ msgstr "Import aus Instapaper erfolgreich" | ||
632 | |||
633 | #~ msgid "import from pocket completed" | ||
634 | #~ msgstr "Import aus Pocket erfolgreich" | ||
635 | |||
636 | #~ msgid "import from Poche completed. " | ||
637 | #~ msgstr "Import aus Poche erfolgreich" | ||
638 | |||
639 | #~ msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
640 | #~ msgstr "Unvollständige inc/poche/define.inc.php Datei, bitte setze \"" | ||
641 | |||
642 | #~ msgid "poche it!" | ||
643 | #~ msgstr "Poche es!" | ||
644 | |||
645 | #~ msgid "Updating poche" | ||
646 | #~ msgstr "Poche aktualisieren" | ||
647 | |||
648 | #~ msgid "create an issue" | ||
649 | #~ msgstr "ein Ticket erstellen" | ||
650 | |||
651 | #~ msgid "or" | ||
652 | #~ msgstr "oder" | ||
653 | |||
654 | #~ msgid "contact us by mail" | ||
655 | #~ msgstr "kontaktieren Sie uns per E-Mail" | ||
656 | |||
657 | #~ msgid "your poche version:" | ||
658 | #~ msgstr "Deine Poche Version" | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo deleted file mode 100644 index c9105ee6..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/en_EN.utf8/LC_MESSAGES/en_EN.utf8.po b/src/Wallabag/Wallabag/Resources/translations/en_EN.utf8/LC_MESSAGES/en_EN.utf8.po deleted file mode 100644 index 81f87342..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/en_EN.utf8/LC_MESSAGES/en_EN.utf8.po +++ /dev/null | |||
@@ -1,770 +0,0 @@ | |||
1 | msgid "" | ||
2 | msgstr "" | ||
3 | "Project-Id-Version: wallabag\n" | ||
4 | "Report-Msgid-Bugs-To: \n" | ||
5 | "POT-Creation-Date: 2014-07-26 15:17+0300\n" | ||
6 | "PO-Revision-Date: \n" | ||
7 | "Last-Translator: Thomas Citharel <tcit@openmailbox.org>\n" | ||
8 | "Language-Team: \n" | ||
9 | "Language: en\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, a read it later open source system" | ||
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 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 and must first be generated to enable " | ||
96 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
97 | |||
98 | msgid "Unread feed" | ||
99 | msgstr "Unread feed" | ||
100 | |||
101 | msgid "Favorites feed" | ||
102 | msgstr "Favorites 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 fil in " | ||
153 | "appropriate JSON or HTML format." | ||
154 | |||
155 | msgid "" | ||
156 | "Please select export file on your computer and press \"Import\" button " | ||
157 | "below. Wallabag will parse your file, insert all URLs and start fetching of " | ||
158 | "articles if required." | ||
159 | msgstr "" | ||
160 | "Please select export file on your computer and press “Import” " | ||
161 | "button below. wallabag will parse your file, insert all URLs and start " | ||
162 | "fetching of articles if required.Please execute the import script locally as " | ||
163 | "it can take a very long time." | ||
164 | |||
165 | msgid "You can click here to fetch content for articles with no content." | ||
166 | msgstr "Fetch content for articles with no content" | ||
167 | |||
168 | msgid "" | ||
169 | "Please execute the import script locally as it can take a very long time." | ||
170 | msgstr "" | ||
171 | "Please execute the import script locally as it can take a very long time." | ||
172 | |||
173 | msgid "More info in the official documentation:" | ||
174 | msgstr "More info in the official documentation:" | ||
175 | |||
176 | msgid "" | ||
177 | "(<a href=\"http://doc.wallabag.org/en/User_documentation/" | ||
178 | "Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" | ||
179 | msgstr "" | ||
180 | "(<a href=\"http://doc.wallabag.org/en/User_documentation/" | ||
181 | "Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" | ||
182 | |||
183 | msgid "Import from Pocket" | ||
184 | msgstr "Import from Pocket" | ||
185 | |||
186 | #, php-format | ||
187 | msgid "(you must have a %s file on your server)" | ||
188 | msgstr "(you must have a %s file on your server)" | ||
189 | |||
190 | msgid "Import from Readability" | ||
191 | msgstr "Import from Readability" | ||
192 | |||
193 | msgid "Import from Instapaper" | ||
194 | msgstr "Import from Instapaper" | ||
195 | |||
196 | msgid "Import from wallabag" | ||
197 | msgstr "Import from wallabag" | ||
198 | |||
199 | msgid "Export your wallabag data" | ||
200 | msgstr "Export your wallabag data" | ||
201 | |||
202 | msgid "Click here" | ||
203 | msgstr "Click here" | ||
204 | |||
205 | msgid "to download your database." | ||
206 | msgstr "to download your database." | ||
207 | |||
208 | msgid "to export your wallabag data." | ||
209 | msgstr "to export your wallabag data." | ||
210 | |||
211 | msgid "Export JSON" | ||
212 | msgstr "Export JSON" | ||
213 | |||
214 | msgid "Cache" | ||
215 | msgstr "Cache" | ||
216 | |||
217 | msgid "to delete cache." | ||
218 | msgstr "to delete cache." | ||
219 | |||
220 | msgid "Delete Cache" | ||
221 | msgstr "Delete Cache" | ||
222 | |||
223 | msgid "You can enter multiple tags, separated by commas." | ||
224 | msgstr "You can enter multiple tags, separated by commas." | ||
225 | |||
226 | msgid "Add tags:" | ||
227 | msgstr "Add tags:" | ||
228 | |||
229 | msgid "no tags" | ||
230 | msgstr "no tags" | ||
231 | |||
232 | msgid "The tag has been applied successfully" | ||
233 | msgstr "The tag has been applied successfully" | ||
234 | |||
235 | msgid "interview" | ||
236 | msgstr "interview" | ||
237 | |||
238 | msgid "editorial" | ||
239 | msgstr "editorial" | ||
240 | |||
241 | msgid "video" | ||
242 | msgstr "video" | ||
243 | |||
244 | msgid "return to article" | ||
245 | msgstr "Return to article" | ||
246 | |||
247 | msgid "plop" | ||
248 | msgstr "plop" | ||
249 | |||
250 | msgid "" | ||
251 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " | ||
252 | "here</a>." | ||
253 | msgstr "" | ||
254 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " | ||
255 | "here</a>." | ||
256 | |||
257 | msgid "favoris" | ||
258 | msgstr "Favorites" | ||
259 | |||
260 | msgid "archive" | ||
261 | msgstr "Archive" | ||
262 | |||
263 | msgid "unread" | ||
264 | msgstr "Unread" | ||
265 | |||
266 | msgid "by date asc" | ||
267 | msgstr "by date asc" | ||
268 | |||
269 | msgid "by date" | ||
270 | msgstr "by date" | ||
271 | |||
272 | msgid "by date desc" | ||
273 | msgstr "by date desc" | ||
274 | |||
275 | msgid "by title asc" | ||
276 | msgstr "by title asc" | ||
277 | |||
278 | msgid "by title" | ||
279 | msgstr "by title" | ||
280 | |||
281 | msgid "by title desc" | ||
282 | msgstr "by title desc" | ||
283 | |||
284 | msgid "Tag" | ||
285 | msgstr "Tag" | ||
286 | |||
287 | msgid "No articles found." | ||
288 | msgstr "No articles found." | ||
289 | |||
290 | msgid "Toggle mark as read" | ||
291 | msgstr "Toggle mark as read" | ||
292 | |||
293 | msgid "toggle favorite" | ||
294 | msgstr "Toggle favorite" | ||
295 | |||
296 | msgid "delete" | ||
297 | msgstr "Delete" | ||
298 | |||
299 | msgid "original" | ||
300 | msgstr "Original" | ||
301 | |||
302 | msgid "estimated reading time:" | ||
303 | msgstr "Estimated reading time:" | ||
304 | |||
305 | msgid "mark all the entries as read" | ||
306 | msgstr "Mark all the entries as read" | ||
307 | |||
308 | msgid "results" | ||
309 | msgstr "Results" | ||
310 | |||
311 | msgid "installation" | ||
312 | msgstr "Installation" | ||
313 | |||
314 | msgid "install your wallabag" | ||
315 | msgstr "Install your wallabag" | ||
316 | |||
317 | msgid "" | ||
318 | "wallabag is still not installed. Please fill the below form to install it. " | ||
319 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
320 | "on wallabag website</a>." | ||
321 | msgstr "" | ||
322 | "wallabag is still not installed. Please fill the below form to install it. " | ||
323 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
324 | "on wallabag website</a>." | ||
325 | |||
326 | msgid "Login" | ||
327 | msgstr "Login" | ||
328 | |||
329 | msgid "Repeat your password" | ||
330 | msgstr "Repeat your password" | ||
331 | |||
332 | msgid "Install" | ||
333 | msgstr "Install" | ||
334 | |||
335 | msgid "login to your wallabag" | ||
336 | msgstr "Login to your wallabag" | ||
337 | |||
338 | msgid "Login to wallabag" | ||
339 | msgstr "Login to wallabag" | ||
340 | |||
341 | msgid "you are in demo mode, some features may be disabled." | ||
342 | msgstr "You are in demo mode; some features may be disabled." | ||
343 | |||
344 | msgid "Username" | ||
345 | msgstr "Username" | ||
346 | |||
347 | msgid "Stay signed in" | ||
348 | msgstr "Stay signed in" | ||
349 | |||
350 | msgid "(Do not check on public computers)" | ||
351 | msgstr "(Do not check on public computers)" | ||
352 | |||
353 | msgid "Sign in" | ||
354 | msgstr "Sign in" | ||
355 | |||
356 | msgid "favorites" | ||
357 | msgstr "Favorites" | ||
358 | |||
359 | msgid "estimated reading time :" | ||
360 | msgstr "Estimated reading time:" | ||
361 | |||
362 | msgid "Mark all the entries as read" | ||
363 | msgstr "Mark all the entries as read" | ||
364 | |||
365 | msgid "Return home" | ||
366 | msgstr "Return home" | ||
367 | |||
368 | msgid "Back to top" | ||
369 | msgstr "Back to top" | ||
370 | |||
371 | msgid "Mark as read" | ||
372 | msgstr "Mark as read" | ||
373 | |||
374 | msgid "Favorite" | ||
375 | msgstr "Favorite" | ||
376 | |||
377 | msgid "Toggle favorite" | ||
378 | msgstr "Toggle favorite" | ||
379 | |||
380 | msgid "Delete" | ||
381 | msgstr "Delete" | ||
382 | |||
383 | msgid "Tweet" | ||
384 | msgstr "Tweet" | ||
385 | |||
386 | msgid "Email" | ||
387 | msgstr "Email" | ||
388 | |||
389 | msgid "shaarli" | ||
390 | msgstr "shaarli" | ||
391 | |||
392 | msgid "flattr" | ||
393 | msgstr "flattr" | ||
394 | |||
395 | msgid "Does this article appear wrong?" | ||
396 | msgstr "Does this article appear wrong?" | ||
397 | |||
398 | msgid "tags:" | ||
399 | msgstr "tags:" | ||
400 | |||
401 | msgid "Edit tags" | ||
402 | msgstr "Edit Tags" | ||
403 | |||
404 | msgid "save link!" | ||
405 | msgstr "Save Link" | ||
406 | |||
407 | msgid "home" | ||
408 | msgstr "Home" | ||
409 | |||
410 | msgid "tags" | ||
411 | msgstr "Tags" | ||
412 | |||
413 | msgid "logout" | ||
414 | msgstr "Logout" | ||
415 | |||
416 | msgid "powered by" | ||
417 | msgstr "Powered by" | ||
418 | |||
419 | msgid "debug mode is on so cache is off." | ||
420 | msgstr "Debug mode is on, so cache is off." | ||
421 | |||
422 | msgid "your wallabag version:" | ||
423 | msgstr "Your wallabag version:" | ||
424 | |||
425 | msgid "storage:" | ||
426 | msgstr "Storage:" | ||
427 | |||
428 | msgid "save a link" | ||
429 | msgstr "Save a Link" | ||
430 | |||
431 | msgid "back to home" | ||
432 | msgstr "Back to Home" | ||
433 | |||
434 | msgid "toggle mark as read" | ||
435 | msgstr "Toggle mark as read" | ||
436 | |||
437 | msgid "tweet" | ||
438 | msgstr "Tweet" | ||
439 | |||
440 | msgid "email" | ||
441 | msgstr "Email" | ||
442 | |||
443 | msgid "this article appears wrong?" | ||
444 | msgstr "This article appears wrong?" | ||
445 | |||
446 | msgid "No link available here!" | ||
447 | msgstr "No link available here" | ||
448 | |||
449 | msgid "Poching a link" | ||
450 | msgstr "bagging a link" | ||
451 | |||
452 | msgid "by filling this field" | ||
453 | msgstr "by filling this field" | ||
454 | |||
455 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
456 | msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar" | ||
457 | |||
458 | msgid "Drag & drop this link to your bookmarks bar:" | ||
459 | msgstr "Drag & drop this link to your bookmarks bar:" | ||
460 | |||
461 | msgid "your version" | ||
462 | msgstr "your version" | ||
463 | |||
464 | msgid "latest stable version" | ||
465 | msgstr "latest stable version" | ||
466 | |||
467 | msgid "a more recent stable version is available." | ||
468 | msgstr "A more recent stable version is available." | ||
469 | |||
470 | msgid "you are up to date." | ||
471 | msgstr "You are up to date." | ||
472 | |||
473 | msgid "latest dev version" | ||
474 | msgstr "latest dev version" | ||
475 | |||
476 | msgid "a more recent development version is available." | ||
477 | msgstr "A more recent development version is available." | ||
478 | |||
479 | msgid "You can clear cache to check the latest release." | ||
480 | msgstr "" | ||
481 | "You can <a href=\"#cache\">clear the cache</a> to check for the latest " | ||
482 | "release." | ||
483 | |||
484 | msgid "Please execute the import script locally, it can take a very long time." | ||
485 | msgstr "" | ||
486 | "Please execute the import script locally, it can take a very long time." | ||
487 | |||
488 | msgid "More infos in the official doc:" | ||
489 | msgstr "More information in the official doc:" | ||
490 | |||
491 | msgid "import from Pocket" | ||
492 | msgstr "Import from Pocket" | ||
493 | |||
494 | msgid "import from Readability" | ||
495 | msgstr "Import from Readability" | ||
496 | |||
497 | msgid "import from Instapaper" | ||
498 | msgstr "Import from Instapaper" | ||
499 | |||
500 | msgid "Tags" | ||
501 | msgstr "Tags" | ||
502 | |||
503 | msgid "Untitled" | ||
504 | msgstr "Untitled" | ||
505 | |||
506 | msgid "the link has been added successfully" | ||
507 | msgstr "The link has been added successfully." | ||
508 | |||
509 | msgid "error during insertion : the link wasn't added" | ||
510 | msgstr "Error during insertion: the link wasn't added." | ||
511 | |||
512 | msgid "the link has been deleted successfully" | ||
513 | msgstr "The link has been deleted successfully." | ||
514 | |||
515 | msgid "the link wasn't deleted" | ||
516 | msgstr "The link wasn't deleted." | ||
517 | |||
518 | msgid "Article not found!" | ||
519 | msgstr "Article not found." | ||
520 | |||
521 | msgid "previous" | ||
522 | msgstr "Previous" | ||
523 | |||
524 | msgid "next" | ||
525 | msgstr "Next" | ||
526 | |||
527 | msgid "in demo mode, you can't update your password" | ||
528 | msgstr "In demo mode, you can't update your password." | ||
529 | |||
530 | msgid "your password has been updated" | ||
531 | msgstr "Your password has been updated." | ||
532 | |||
533 | msgid "" | ||
534 | "the two fields have to be filled & the password must be the same in the two " | ||
535 | "fields" | ||
536 | msgstr "" | ||
537 | "les deux champs doivent être remplis et le mot de passe doit être le même " | ||
538 | "pour les deux champs" | ||
539 | |||
540 | msgid "still using the \"" | ||
541 | msgstr "Still using the \"" | ||
542 | |||
543 | msgid "that theme does not seem to be installed" | ||
544 | msgstr "That theme does not seem to be installed." | ||
545 | |||
546 | msgid "you have changed your theme preferences" | ||
547 | msgstr "You have changed your theme preferences." | ||
548 | |||
549 | msgid "that language does not seem to be installed" | ||
550 | msgstr "That language does not seem to be installed." | ||
551 | |||
552 | msgid "you have changed your language preferences" | ||
553 | msgstr "You have changed your language preferences." | ||
554 | |||
555 | msgid "login failed: you have to fill all fields" | ||
556 | msgstr "Login failed: you have to fill all fields." | ||
557 | |||
558 | msgid "welcome to your wallabag" | ||
559 | msgstr "Welcome to your wallabag." | ||
560 | |||
561 | msgid "login failed: bad login or password" | ||
562 | msgstr "Login failed: bad login or password." | ||
563 | |||
564 | msgid "import from instapaper completed" | ||
565 | msgstr "Import from Instapaper completed." | ||
566 | |||
567 | msgid "import from pocket completed" | ||
568 | msgstr "Import from Pocket completed." | ||
569 | |||
570 | msgid "import from Readability completed. " | ||
571 | msgstr "Import from Readability completed." | ||
572 | |||
573 | msgid "import from Poche completed. " | ||
574 | msgstr "Import from Poche completed. " | ||
575 | |||
576 | msgid "Unknown import provider." | ||
577 | msgstr "Unknown import provider." | ||
578 | |||
579 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
580 | msgstr "Incomplete inc/poche/define.inc.php file, please define \"" | ||
581 | |||
582 | msgid "Could not find required \"" | ||
583 | msgstr "Could not find required \"" | ||
584 | |||
585 | msgid "Uh, there is a problem while generating feeds." | ||
586 | msgstr "There is a problem generating feeds." | ||
587 | |||
588 | msgid "Cache deleted." | ||
589 | msgstr "Cache deleted." | ||
590 | |||
591 | msgid "Oops, it seems you don't have PHP 5." | ||
592 | msgstr "Oops, it seems you don't have PHP 5." | ||
593 | |||
594 | msgid "Add user" | ||
595 | msgstr "Add User" | ||
596 | |||
597 | msgid "Add a new user :" | ||
598 | msgstr "Add a new user:" | ||
599 | |||
600 | msgid "Login for new user" | ||
601 | msgstr "Login for new user:" | ||
602 | |||
603 | msgid "Password for new user" | ||
604 | msgstr "Password for new user:" | ||
605 | |||
606 | msgid "Email for new user (not required)" | ||
607 | msgstr "Email for new user (not required):" | ||
608 | |||
609 | msgid "Send" | ||
610 | msgstr "Send" | ||
611 | |||
612 | msgid "Delete account" | ||
613 | msgstr "Delete Account" | ||
614 | |||
615 | msgid "You can delete your account by entering your password and validating." | ||
616 | msgstr "You can delete your account by entering your password and validating." | ||
617 | |||
618 | msgid "Be careful, data will be erased forever (that is a very long time)." | ||
619 | msgstr "Be careful, data will be erased forever (that is a very long time)." | ||
620 | |||
621 | msgid "Type here your password" | ||
622 | msgstr "Enter your password" | ||
623 | |||
624 | msgid "You are the only user, you cannot delete your own account." | ||
625 | msgstr "You are the only user, you cannot delete your own account." | ||
626 | |||
627 | msgid "" | ||
628 | "To completely remove wallabag, delete the wallabag folder on your web server " | ||
629 | "(and eventual databases)." | ||
630 | msgstr "" | ||
631 | "To completely remove wallabag, delete the wallabag folder on your web server " | ||
632 | "(and eventual databases)." | ||
633 | |||
634 | msgid "Enter your search here" | ||
635 | msgstr "Enter your search here" | ||
636 | |||
637 | msgid "Tag these results as" | ||
638 | msgstr "Tag these results as" | ||
639 | |||
640 | # ebook | ||
641 | msgid "Fancy an E-Book ?" | ||
642 | msgstr "Fancy an E-Book?" | ||
643 | |||
644 | msgid "Click to get all your articles in one ebook :" | ||
645 | msgstr "Click to get all your articles in one ebook :" | ||
646 | |||
647 | msgid "Generate ePub file" | ||
648 | msgstr "Generate ePub file" | ||
649 | |||
650 | msgid "Generate Mobi file" | ||
651 | msgstr "Generate Mobi file" | ||
652 | |||
653 | msgid "Generate PDF file" | ||
654 | msgstr "Generate PDF file" | ||
655 | |||
656 | msgid "" | ||
657 | "This can <b>take a while</b> and can <b>even fail</b> if you have too many " | ||
658 | "articles, depending on your server configuration." | ||
659 | msgstr "" | ||
660 | "This can <b>take a while</b> and can <b>even fail</b> if you have too many " | ||
661 | "articles, depending on your server configuration." | ||
662 | |||
663 | msgid "Download the articles from this tag in an ePub file" | ||
664 | msgstr "Download the articles from this tag in an ePub file" | ||
665 | |||
666 | msgid "Download the articles from this tag in an Mobi file" | ||
667 | msgstr "Download the articles from this tag in an Mobi file" | ||
668 | |||
669 | msgid "Download the articles from this tag in an PDF file" | ||
670 | msgstr "Download the articles from this tag in an PDF file" | ||
671 | |||
672 | msgid "Download the articles from this search in an ePub" | ||
673 | msgstr "Download the articles from this search in an ePub" | ||
674 | |||
675 | msgid "Download the articles from this search in a Mobi file" | ||
676 | msgstr "Download the articles from this search in a Mobi file" | ||
677 | |||
678 | msgid "Download the articles from this search in a PDF file" | ||
679 | msgstr "Download the articles from this search in a PDF file" | ||
680 | |||
681 | msgid "Download the articles from this category in an ePub" | ||
682 | msgstr "Download the articles from this category in an ePub" | ||
683 | |||
684 | msgid "Download the articles from this category in a Mobi file" | ||
685 | msgstr "Download the articles from this category in a Mobi file" | ||
686 | |||
687 | msgid "Download the articles from this category in a PDF file" | ||
688 | msgstr "Download the articles from this category in a PDF file" | ||
689 | |||
690 | msgid "Download as ePub3" | ||
691 | msgstr "Download as ePub3" | ||
692 | |||
693 | msgid "Download as Mobi" | ||
694 | msgstr "Download as Mobi" | ||
695 | |||
696 | msgid "Download as PDF" | ||
697 | msgstr "Download as PDF" | ||
698 | |||
699 | msgid "All my articles on %s" | ||
700 | msgstr "All my articles on %s" | ||
701 | |||
702 | msgid "Allarticles" | ||
703 | msgstr "Allarticles" | ||
704 | |||
705 | msgid "Articles tagged %s" | ||
706 | msgstr "Articles tagged %s" | ||
707 | |||
708 | msgid "Tag %s" | ||
709 | msgstr "Tag %s" | ||
710 | |||
711 | msgid "Articles in category %s" | ||
712 | msgstr "All articles in category %s" | ||
713 | |||
714 | msgid "Category %s" | ||
715 | msgstr "Category %s" | ||
716 | |||
717 | msgid "Articles for search %s" | ||
718 | msgstr "All articles for search %s" | ||
719 | |||
720 | msgid "Search %s" | ||
721 | msgstr "Search %s" | ||
722 | |||
723 | msgid "wallabag articles book" | ||
724 | msgstr "wallabag articles book" | ||
725 | |||
726 | msgid "Some articles saved on my wallabag" | ||
727 | msgstr "Some articles saved on my wallabag" | ||
728 | |||
729 | msgid "Produced by wallabag with PHPePub" | ||
730 | msgstr "Produced by wallabag with PHPePub" | ||
731 | |||
732 | msgid "" | ||
733 | "Please open <a href='https://github.com/wallabag/wallabag/issues'>an issue</" | ||
734 | "a> if you have trouble with the display of this E-Book on your device." | ||
735 | msgstr "" | ||
736 | "Please open <a href='https://github.com/wallabag/wallabag/issues'>an issue</" | ||
737 | "a> if you have trouble with the display of this E-Book on your device." | ||
738 | |||
739 | msgid "Produced by wallabag with PHPMobi" | ||
740 | msgstr "Produced by wallabag with PHPMobi" | ||
741 | |||
742 | msgid "Mail function is disabled. You can't send emails from your server" | ||
743 | msgstr "Mail function is disabled. You can't send emails from your server" | ||
744 | |||
745 | msgid "You didn't set your kindle's email adress !" | ||
746 | msgstr "You didn't set your kindle's email adress !" | ||
747 | |||
748 | msgid "The email has been sent to your kindle !" | ||
749 | msgstr "The email has been sent to your kindle !" | ||
750 | |||
751 | msgid "Produced by wallabag with mPDF" | ||
752 | msgstr "Produced by wallabag with mPDF" | ||
753 | |||
754 | #~ msgid "poche it!" | ||
755 | #~ msgstr "poche it!" | ||
756 | |||
757 | #~ msgid "Updating poche" | ||
758 | #~ msgstr "Updating poche" | ||
759 | |||
760 | #~ msgid "create an issue" | ||
761 | #~ msgstr "create an issue" | ||
762 | |||
763 | #~ msgid "or" | ||
764 | #~ msgstr "or" | ||
765 | |||
766 | #~ msgid "contact us by mail" | ||
767 | #~ msgstr "contact us by mail" | ||
768 | |||
769 | #~ msgid "your poche version:" | ||
770 | #~ msgstr "your poche version:" | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/en_US.utf8/LC_MESSAGES/en_US.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/en_US.utf8/LC_MESSAGES/en_US.utf8.mo deleted file mode 100644 index 77dee070..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/en_US.utf8/LC_MESSAGES/en_US.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/en_US.utf8/LC_MESSAGES/en_US.utf8.po b/src/Wallabag/Wallabag/Resources/translations/en_US.utf8/LC_MESSAGES/en_US.utf8.po deleted file mode 100644 index 579d1aca..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/en_US.utf8/LC_MESSAGES/en_US.utf8.po +++ /dev/null | |||
@@ -1,682 +0,0 @@ | |||
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: Thomas Citharel <tcit@openmailbox.org>\n" | ||
8 | "Language-Team: \n" | ||
9 | "Language: en_US\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, a read it later open source system" | ||
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 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 "You can clear cache to check the latest release." | ||
89 | msgstr "" | ||
90 | "You can <a href=\"#cache\">clear the cache</a> to check for the latest " | ||
91 | "release." | ||
92 | |||
93 | msgid "Feeds" | ||
94 | msgstr "Feeds" | ||
95 | |||
96 | msgid "" | ||
97 | "Your feed token is currently empty and must first be generated to enable " | ||
98 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
99 | msgstr "" | ||
100 | "Your feed token is currently empty and must first be generated to enable " | ||
101 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
102 | |||
103 | msgid "Unread feed" | ||
104 | msgstr "Unread feed" | ||
105 | |||
106 | msgid "Favorites feed" | ||
107 | msgstr "Favorites feed" | ||
108 | |||
109 | msgid "Archive feed" | ||
110 | msgstr "Archive feed" | ||
111 | |||
112 | msgid "Your token:" | ||
113 | msgstr "Your token:" | ||
114 | |||
115 | msgid "Your user id:" | ||
116 | msgstr "Your user ID:" | ||
117 | |||
118 | msgid "" | ||
119 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" | ||
120 | "</a>." | ||
121 | msgstr "<a href='?feed&action=generate'>Regenerate Token</a>" | ||
122 | |||
123 | msgid "Change your theme" | ||
124 | msgstr "Change Your Theme" | ||
125 | |||
126 | msgid "Theme:" | ||
127 | msgstr "Theme:" | ||
128 | |||
129 | msgid "Update" | ||
130 | msgstr "Update" | ||
131 | |||
132 | msgid "Change your language" | ||
133 | msgstr "Change Your Language" | ||
134 | |||
135 | msgid "Language:" | ||
136 | msgstr "Language:" | ||
137 | |||
138 | msgid "Change your password" | ||
139 | msgstr "Change Your Password" | ||
140 | |||
141 | msgid "New password:" | ||
142 | msgstr "New password:" | ||
143 | |||
144 | msgid "Password" | ||
145 | msgstr "Password" | ||
146 | |||
147 | msgid "Repeat your new password:" | ||
148 | msgstr "Repeat your new password:" | ||
149 | |||
150 | msgid "Import" | ||
151 | msgstr "Import" | ||
152 | |||
153 | msgid "" | ||
154 | "You can import your Pocket, Readability, Instapaper, Wallabag or any data in " | ||
155 | "appropriate json or html format." | ||
156 | msgstr "" | ||
157 | "You can import your Pocket, Readability, Instapaper, wallabag or any file in " | ||
158 | "appropriate JSON or HTML format." | ||
159 | |||
160 | msgid "" | ||
161 | "Please execute the import script locally as it can take a very long time." | ||
162 | msgstr "" | ||
163 | "Please execute the import script locally as it can take a very long time." | ||
164 | |||
165 | msgid "" | ||
166 | "Please select export file on your computer and press \"Import\" button " | ||
167 | "below. Wallabag will parse your file, insert all URLs and start fetching of " | ||
168 | "articles if required." | ||
169 | msgstr "" | ||
170 | "Please select export file on your computer and press “Import” " | ||
171 | "button below. wallabag will parse your file, insert all URLs and start " | ||
172 | "fetching of articles if required." | ||
173 | |||
174 | msgid "You can click here to fetch content for articles with no content." | ||
175 | msgstr "Fetch content for articles with no content" | ||
176 | |||
177 | msgid "More info in the official documentation:" | ||
178 | msgstr "More info in the official documentation:" | ||
179 | |||
180 | msgid "" | ||
181 | "(<a href=\"http://doc.wallabag.org/en/User_documentation/" | ||
182 | "Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" | ||
183 | msgstr "" | ||
184 | "(<a href=\"http://doc.wallabag.org/en/User_documentation/" | ||
185 | "Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" | ||
186 | |||
187 | msgid "Import from Pocket" | ||
188 | msgstr "Import from Pocket" | ||
189 | |||
190 | #, php-format | ||
191 | msgid "(you must have a %s file on your server)" | ||
192 | msgstr "(you must have a %s file on your server)" | ||
193 | |||
194 | msgid "Import from Readability" | ||
195 | msgstr "Import from Readability" | ||
196 | |||
197 | msgid "Import from Instapaper" | ||
198 | msgstr "Import from Instapaper" | ||
199 | |||
200 | msgid "Import from wallabag" | ||
201 | msgstr "Import from wallabag" | ||
202 | |||
203 | msgid "Export your wallabag data" | ||
204 | msgstr "Export your wallabag data" | ||
205 | |||
206 | msgid "Click here" | ||
207 | msgstr "Click here" | ||
208 | |||
209 | msgid "to download your database." | ||
210 | msgstr "to download your database." | ||
211 | |||
212 | msgid "to export your wallabag data." | ||
213 | msgstr "to export your wallabag data." | ||
214 | |||
215 | msgid "Export JSON" | ||
216 | msgstr "Export JSON" | ||
217 | |||
218 | msgid "Cache" | ||
219 | msgstr "Cache" | ||
220 | |||
221 | msgid "to delete cache." | ||
222 | msgstr "to delete cache." | ||
223 | |||
224 | msgid "Delete Cache" | ||
225 | msgstr "Delete Cache" | ||
226 | |||
227 | msgid "You can enter multiple tags, separated by commas." | ||
228 | msgstr "You can enter multiple tags, separated by commas." | ||
229 | |||
230 | msgid "Add tags:" | ||
231 | msgstr "Add tags:" | ||
232 | |||
233 | msgid "no tags" | ||
234 | msgstr "no tags" | ||
235 | |||
236 | msgid "The tag has been applied successfully" | ||
237 | msgstr "The tag has been applied successfully" | ||
238 | |||
239 | msgid "interview" | ||
240 | msgstr "interview" | ||
241 | |||
242 | msgid "editorial" | ||
243 | msgstr "editorial" | ||
244 | |||
245 | msgid "video" | ||
246 | msgstr "video" | ||
247 | |||
248 | msgid "return to article" | ||
249 | msgstr "Return to article" | ||
250 | |||
251 | msgid "plop" | ||
252 | msgstr "plop" | ||
253 | |||
254 | msgid "" | ||
255 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " | ||
256 | "here</a>." | ||
257 | msgstr "" | ||
258 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " | ||
259 | "here</a>." | ||
260 | |||
261 | msgid "favoris" | ||
262 | msgstr "Favorites" | ||
263 | |||
264 | msgid "archive" | ||
265 | msgstr "Archive" | ||
266 | |||
267 | msgid "unread" | ||
268 | msgstr "Unread" | ||
269 | |||
270 | msgid "by date asc" | ||
271 | msgstr "by date asc" | ||
272 | |||
273 | msgid "by date" | ||
274 | msgstr "by date" | ||
275 | |||
276 | msgid "by date desc" | ||
277 | msgstr "by date desc" | ||
278 | |||
279 | msgid "by title asc" | ||
280 | msgstr "by title asc" | ||
281 | |||
282 | msgid "by title" | ||
283 | msgstr "by title" | ||
284 | |||
285 | msgid "by title desc" | ||
286 | msgstr "by title desc" | ||
287 | |||
288 | msgid "Tag" | ||
289 | msgstr "Tag" | ||
290 | |||
291 | msgid "No articles found." | ||
292 | msgstr "No articles found." | ||
293 | |||
294 | msgid "Toggle mark as read" | ||
295 | msgstr "Toggle mark as read" | ||
296 | |||
297 | msgid "toggle favorite" | ||
298 | msgstr "Toggle favorite" | ||
299 | |||
300 | msgid "delete" | ||
301 | msgstr "Delete" | ||
302 | |||
303 | msgid "original" | ||
304 | msgstr "Original" | ||
305 | |||
306 | msgid "estimated reading time:" | ||
307 | msgstr "Estimated reading time:" | ||
308 | |||
309 | msgid "mark all the entries as read" | ||
310 | msgstr "Mark all the entries as read" | ||
311 | |||
312 | msgid "results" | ||
313 | msgstr "Results" | ||
314 | |||
315 | msgid "installation" | ||
316 | msgstr "Installation" | ||
317 | |||
318 | msgid "install your wallabag" | ||
319 | msgstr "Install your wallabag" | ||
320 | |||
321 | msgid "" | ||
322 | "wallabag is still not installed. Please fill the below form to install it. " | ||
323 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
324 | "on wallabag website</a>." | ||
325 | msgstr "" | ||
326 | "wallabag is still not installed. Please fill the below form to install it. " | ||
327 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
328 | "on wallabag website</a>." | ||
329 | |||
330 | msgid "Login" | ||
331 | msgstr "Login" | ||
332 | |||
333 | msgid "Repeat your password" | ||
334 | msgstr "Repeat your password" | ||
335 | |||
336 | msgid "Install" | ||
337 | msgstr "Install" | ||
338 | |||
339 | msgid "login to your wallabag" | ||
340 | msgstr "Login to your wallabag" | ||
341 | |||
342 | msgid "Login to wallabag" | ||
343 | msgstr "Login to wallabag" | ||
344 | |||
345 | msgid "you are in demo mode, some features may be disabled." | ||
346 | msgstr "You are in demo mode; some features may be disabled." | ||
347 | |||
348 | msgid "Username" | ||
349 | msgstr "Username" | ||
350 | |||
351 | msgid "Stay signed in" | ||
352 | msgstr "Stay signed in" | ||
353 | |||
354 | msgid "(Do not check on public computers)" | ||
355 | msgstr "(Do not check on public computers)" | ||
356 | |||
357 | msgid "Sign in" | ||
358 | msgstr "Sign in" | ||
359 | |||
360 | msgid "favorites" | ||
361 | msgstr "Favorites" | ||
362 | |||
363 | msgid "estimated reading time :" | ||
364 | msgstr "Estimated reading time:" | ||
365 | |||
366 | msgid "Mark all the entries as read" | ||
367 | msgstr "Mark all the entries as read" | ||
368 | |||
369 | msgid "Return home" | ||
370 | msgstr "Return home" | ||
371 | |||
372 | msgid "Back to top" | ||
373 | msgstr "Back to top" | ||
374 | |||
375 | msgid "Mark as read" | ||
376 | msgstr "Mark as read" | ||
377 | |||
378 | msgid "Favorite" | ||
379 | msgstr "Favorite" | ||
380 | |||
381 | msgid "Toggle favorite" | ||
382 | msgstr "Toggle favorite" | ||
383 | |||
384 | msgid "Delete" | ||
385 | msgstr "Delete" | ||
386 | |||
387 | msgid "Tweet" | ||
388 | msgstr "Tweet" | ||
389 | |||
390 | msgid "Email" | ||
391 | msgstr "Email" | ||
392 | |||
393 | msgid "shaarli" | ||
394 | msgstr "shaarli" | ||
395 | |||
396 | msgid "flattr" | ||
397 | msgstr "flattr" | ||
398 | |||
399 | msgid "Does this article appear wrong?" | ||
400 | msgstr "Does this article appear wrong?" | ||
401 | |||
402 | msgid "tags:" | ||
403 | msgstr "tags:" | ||
404 | |||
405 | msgid "Edit tags" | ||
406 | msgstr "Edit Tags" | ||
407 | |||
408 | msgid "save link!" | ||
409 | msgstr "Save Link" | ||
410 | |||
411 | msgid "home" | ||
412 | msgstr "Home" | ||
413 | |||
414 | msgid "tags" | ||
415 | msgstr "Tags" | ||
416 | |||
417 | msgid "logout" | ||
418 | msgstr "Logout" | ||
419 | |||
420 | msgid "powered by" | ||
421 | msgstr "Powered by" | ||
422 | |||
423 | msgid "debug mode is on so cache is off." | ||
424 | msgstr "Debug mode is on, so cache is off." | ||
425 | |||
426 | msgid "your wallabag version:" | ||
427 | msgstr "Your wallabag version:" | ||
428 | |||
429 | msgid "storage:" | ||
430 | msgstr "Storage:" | ||
431 | |||
432 | msgid "save a link" | ||
433 | msgstr "Save a Link" | ||
434 | |||
435 | msgid "back to home" | ||
436 | msgstr "Back to Home" | ||
437 | |||
438 | msgid "toggle mark as read" | ||
439 | msgstr "Toggle mark as read" | ||
440 | |||
441 | msgid "tweet" | ||
442 | msgstr "Tweet" | ||
443 | |||
444 | msgid "email" | ||
445 | msgstr "Email" | ||
446 | |||
447 | msgid "this article appears wrong?" | ||
448 | msgstr "This article appears wrong?" | ||
449 | |||
450 | msgid "No link available here!" | ||
451 | msgstr "No link available here" | ||
452 | |||
453 | msgid "Poching a link" | ||
454 | msgstr "bagging a link" | ||
455 | |||
456 | msgid "by filling this field" | ||
457 | msgstr "by filling this field" | ||
458 | |||
459 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
460 | msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar" | ||
461 | |||
462 | msgid "Drag & drop this link to your bookmarks bar:" | ||
463 | msgstr "Drag & drop this link to your bookmarks bar:" | ||
464 | |||
465 | msgid "your version" | ||
466 | msgstr "your version" | ||
467 | |||
468 | msgid "latest stable version" | ||
469 | msgstr "latest stable version" | ||
470 | |||
471 | msgid "a more recent stable version is available." | ||
472 | msgstr "A more recent stable version is available." | ||
473 | |||
474 | msgid "you are up to date." | ||
475 | msgstr "You are up to date." | ||
476 | |||
477 | msgid "latest dev version" | ||
478 | msgstr "latest dev version" | ||
479 | |||
480 | msgid "a more recent development version is available." | ||
481 | msgstr "A more recent development version is available." | ||
482 | |||
483 | msgid "Please execute the import script locally, it can take a very long time." | ||
484 | msgstr "" | ||
485 | "Please execute the import script locally, it can take a very long time." | ||
486 | |||
487 | msgid "More infos in the official doc:" | ||
488 | msgstr "More information in the official doc:" | ||
489 | |||
490 | msgid "import from Pocket" | ||
491 | msgstr "Import from Pocket" | ||
492 | |||
493 | msgid "import from Readability" | ||
494 | msgstr "Import from Readability" | ||
495 | |||
496 | msgid "import from Instapaper" | ||
497 | msgstr "Import from Instapaper" | ||
498 | |||
499 | msgid "Tags" | ||
500 | msgstr "Tags" | ||
501 | |||
502 | msgid "Untitled" | ||
503 | msgstr "Untitled" | ||
504 | |||
505 | msgid "the link has been added successfully" | ||
506 | msgstr "The link has been added successfully." | ||
507 | |||
508 | msgid "error during insertion : the link wasn't added" | ||
509 | msgstr "Error during insertion: the link wasn't added." | ||
510 | |||
511 | msgid "the link has been deleted successfully" | ||
512 | msgstr "The link has been deleted successfully." | ||
513 | |||
514 | msgid "the link wasn't deleted" | ||
515 | msgstr "The link wasn't deleted." | ||
516 | |||
517 | msgid "Article not found!" | ||
518 | msgstr "Article not found." | ||
519 | |||
520 | msgid "previous" | ||
521 | msgstr "Previous" | ||
522 | |||
523 | msgid "next" | ||
524 | msgstr "Next" | ||
525 | |||
526 | msgid "in demo mode, you can't update your password" | ||
527 | msgstr "In demo mode, you can't update your password." | ||
528 | |||
529 | msgid "your password has been updated" | ||
530 | msgstr "Your password has been updated." | ||
531 | |||
532 | msgid "" | ||
533 | "the two fields have to be filled & the password must be the same in the two " | ||
534 | "fields" | ||
535 | msgstr "" | ||
536 | "The two fields must be filled, and the password must be the same in both " | ||
537 | "fields" | ||
538 | |||
539 | msgid "still using the \"" | ||
540 | msgstr "Still using the \"" | ||
541 | |||
542 | msgid "that theme does not seem to be installed" | ||
543 | msgstr "That theme does not seem to be installed." | ||
544 | |||
545 | msgid "you have changed your theme preferences" | ||
546 | msgstr "You have changed your theme preferences." | ||
547 | |||
548 | msgid "that language does not seem to be installed" | ||
549 | msgstr "That language does not seem to be installed." | ||
550 | |||
551 | msgid "you have changed your language preferences" | ||
552 | msgstr "You have changed your language preferences." | ||
553 | |||
554 | msgid "login failed: you have to fill all fields" | ||
555 | msgstr "Login failed: you have to fill all fields." | ||
556 | |||
557 | msgid "welcome to your wallabag" | ||
558 | msgstr "Welcome to your wallabag." | ||
559 | |||
560 | msgid "login failed: bad login or password" | ||
561 | msgstr "Login failed: bad login or password." | ||
562 | |||
563 | msgid "import from instapaper completed" | ||
564 | msgstr "Import from Instapaper completed." | ||
565 | |||
566 | msgid "import from pocket completed" | ||
567 | msgstr "Import from Pocket completed." | ||
568 | |||
569 | msgid "import from Readability completed. " | ||
570 | msgstr "Import from Readability completed." | ||
571 | |||
572 | msgid "import from Poche completed. " | ||
573 | msgstr "Import from Poche completed. " | ||
574 | |||
575 | msgid "Unknown import provider." | ||
576 | msgstr "Unknown import provider." | ||
577 | |||
578 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
579 | msgstr "Incomplete inc/poche/define.inc.php file, please define \"" | ||
580 | |||
581 | msgid "Could not find required \"" | ||
582 | msgstr "Could not find required \"" | ||
583 | |||
584 | msgid "Uh, there is a problem while generating feeds." | ||
585 | msgstr "There is a problem generating feeds." | ||
586 | |||
587 | msgid "Cache deleted." | ||
588 | msgstr "Cache deleted." | ||
589 | |||
590 | msgid "Oops, it seems you don't have PHP 5." | ||
591 | msgstr "Oops, it seems you don't have PHP 5." | ||
592 | |||
593 | msgid "Add user" | ||
594 | msgstr "Add User" | ||
595 | |||
596 | msgid "Add a new user :" | ||
597 | msgstr "Add a new user:" | ||
598 | |||
599 | msgid "Login for new user" | ||
600 | msgstr "Login for new user:" | ||
601 | |||
602 | msgid "Password for new user" | ||
603 | msgstr "Password for new user:" | ||
604 | |||
605 | msgid "Email for new user (not required)" | ||
606 | msgstr "Email for new user (not required):" | ||
607 | |||
608 | msgid "Send" | ||
609 | msgstr "Send" | ||
610 | |||
611 | msgid "Delete account" | ||
612 | msgstr "Delete Account" | ||
613 | |||
614 | msgid "You can delete your account by entering your password and validating." | ||
615 | msgstr "You can delete your account by entering your password and validating." | ||
616 | |||
617 | msgid "Be careful, data will be erased forever (that is a very long time)." | ||
618 | msgstr "Be careful, data will be erased forever (that is a very long time)." | ||
619 | |||
620 | msgid "Type here your password" | ||
621 | msgstr "Enter your password" | ||
622 | |||
623 | msgid "You are the only user, you cannot delete your own account." | ||
624 | msgstr "You cannot delete your account because you are the only user." | ||
625 | |||
626 | msgid "" | ||
627 | "To completely remove wallabag, delete the wallabag folder on your web server " | ||
628 | "(and eventual databases)." | ||
629 | msgstr "" | ||
630 | "To completely remove wallabag, delete the wallabag folder and database(s) " | ||
631 | "from your web server." | ||
632 | |||
633 | msgid "Enter your search here" | ||
634 | msgstr "Enter your search here" | ||
635 | |||
636 | msgid "Tag these results as" | ||
637 | msgstr "Tag these results as" | ||
638 | |||
639 | # ebook | ||
640 | msgid "Fancy an E-Book ?" | ||
641 | msgstr "Fancy an E-Book?" | ||
642 | |||
643 | msgid "" | ||
644 | "Click on <a href=\"./?epub&method=all\" title=\"Generate ePub\">this " | ||
645 | "link</a> to get all your articles in one ebook (ePub 3 format)." | ||
646 | msgstr "" | ||
647 | "Click on <a href=\"./?epub&method=all\" title=\"Generate EPUB\">this " | ||
648 | "link</a> to get all your articles in one ebook (EPUB 3 format)." | ||
649 | |||
650 | msgid "" | ||
651 | "This can <b>take a while</b> and can <b>even fail</b> if you have too many " | ||
652 | "articles, depending on your server configuration." | ||
653 | msgstr "" | ||
654 | "This can <b>take a while</b> and can <b>even fail</b> if you have too many " | ||
655 | "articles, depending on your server configuration." | ||
656 | |||
657 | msgid "Download the articles from this tag in an epub" | ||
658 | msgstr "Download the articles from this tag in an EPUB" | ||
659 | |||
660 | msgid "Download the articles from this search in an epub" | ||
661 | msgstr "Download the articles from this search in an EPUB" | ||
662 | |||
663 | msgid "Download the articles from this category in an epub" | ||
664 | msgstr "Download the articles from this category in an EPUB" | ||
665 | |||
666 | #~ msgid "poche it!" | ||
667 | #~ msgstr "poche it!" | ||
668 | |||
669 | #~ msgid "Updating poche" | ||
670 | #~ msgstr "Updating poche" | ||
671 | |||
672 | #~ msgid "create an issue" | ||
673 | #~ msgstr "create an issue" | ||
674 | |||
675 | #~ msgid "or" | ||
676 | #~ msgstr "or" | ||
677 | |||
678 | #~ msgid "contact us by mail" | ||
679 | #~ msgstr "contact us by mail" | ||
680 | |||
681 | #~ msgid "your poche version:" | ||
682 | #~ msgstr "your poche version:" | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo deleted file mode 100644 index f4309896..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/es_ES.utf8/LC_MESSAGES/es_ES.utf8.po b/src/Wallabag/Wallabag/Resources/translations/es_ES.utf8/LC_MESSAGES/es_ES.utf8.po deleted file mode 100644 index c08decfe..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/es_ES.utf8/LC_MESSAGES/es_ES.utf8.po +++ /dev/null | |||
@@ -1,563 +0,0 @@ | |||
1 | msgid "" | ||
2 | msgstr "" | ||
3 | "Project-Id-Version: \n" | ||
4 | "Report-Msgid-Bugs-To: \n" | ||
5 | "POT-Creation-Date: 2014-02-25 15:16+0300\n" | ||
6 | "PO-Revision-Date: \n" | ||
7 | "Last-Translator: Maryana <mariroz@mr.lviv.ua>\n" | ||
8 | "Language-Team: \n" | ||
9 | "Language: \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-Language: Spanish\n" | ||
15 | "X-Poedit-Basepath: .\n" | ||
16 | "X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-testing\n" | ||
17 | |||
18 | msgid "wallabag, a read it later open source system" | ||
19 | msgstr "" | ||
20 | |||
21 | msgid "login failed: user doesn't exist" | ||
22 | msgstr "" | ||
23 | |||
24 | msgid "return home" | ||
25 | msgstr "" | ||
26 | |||
27 | msgid "config" | ||
28 | msgstr "configuración" | ||
29 | |||
30 | msgid "Saving articles" | ||
31 | msgstr "" | ||
32 | |||
33 | msgid "There are several ways to save an article:" | ||
34 | msgstr "" | ||
35 | |||
36 | msgid "read the documentation" | ||
37 | msgstr "leer la documentación" | ||
38 | |||
39 | msgid "download the extension" | ||
40 | msgstr "" | ||
41 | |||
42 | msgid "via F-Droid" | ||
43 | msgstr "" | ||
44 | |||
45 | msgid " or " | ||
46 | msgstr "" | ||
47 | |||
48 | msgid "via Google Play" | ||
49 | msgstr "" | ||
50 | |||
51 | msgid "download the application" | ||
52 | msgstr "" | ||
53 | |||
54 | #, fuzzy | ||
55 | msgid "By filling this field" | ||
56 | msgstr "rellenando este campo" | ||
57 | |||
58 | msgid "bag it!" | ||
59 | msgstr "" | ||
60 | |||
61 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
62 | msgstr "" | ||
63 | |||
64 | msgid "Upgrading wallabag" | ||
65 | msgstr "" | ||
66 | |||
67 | #, fuzzy | ||
68 | msgid "Installed version" | ||
69 | msgstr "ultima versión estable" | ||
70 | |||
71 | #, fuzzy | ||
72 | msgid "Latest stable version" | ||
73 | msgstr "ultima versión estable" | ||
74 | |||
75 | #, fuzzy | ||
76 | msgid "A more recent stable version is available." | ||
77 | msgstr "una versión estable más reciente está disponible." | ||
78 | |||
79 | #, fuzzy | ||
80 | msgid "You are up to date." | ||
81 | msgstr "estás actualizado." | ||
82 | |||
83 | #, fuzzy | ||
84 | msgid "Latest dev version" | ||
85 | msgstr "ultima versión de desarollo" | ||
86 | |||
87 | #, fuzzy | ||
88 | msgid "A more recent development version is available." | ||
89 | msgstr "una versión de desarollo más reciente está disponible." | ||
90 | |||
91 | msgid "Feeds" | ||
92 | msgstr "" | ||
93 | |||
94 | msgid "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
95 | msgstr "" | ||
96 | |||
97 | msgid "Unread feed" | ||
98 | msgstr "" | ||
99 | |||
100 | #, fuzzy | ||
101 | msgid "Favorites feed" | ||
102 | msgstr "preferidos" | ||
103 | |||
104 | #, fuzzy | ||
105 | msgid "Archive feed" | ||
106 | msgstr "archivos" | ||
107 | |||
108 | msgid "Your token:" | ||
109 | msgstr "" | ||
110 | |||
111 | msgid "Your user id:" | ||
112 | msgstr "" | ||
113 | |||
114 | msgid "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." | ||
115 | msgstr "" | ||
116 | |||
117 | #, fuzzy | ||
118 | msgid "Change your theme" | ||
119 | msgstr "Modificar tu contraseña" | ||
120 | |||
121 | msgid "Theme:" | ||
122 | msgstr "" | ||
123 | |||
124 | msgid "Update" | ||
125 | msgstr "Actualizar" | ||
126 | |||
127 | #, fuzzy | ||
128 | msgid "Change your language" | ||
129 | msgstr "Modificar tu contraseña" | ||
130 | |||
131 | msgid "Language:" | ||
132 | msgstr "" | ||
133 | |||
134 | msgid "Change your password" | ||
135 | msgstr "Modificar tu contraseña" | ||
136 | |||
137 | msgid "New password:" | ||
138 | msgstr "Nueva contraseña :" | ||
139 | |||
140 | msgid "Password" | ||
141 | msgstr "Contraseña" | ||
142 | |||
143 | msgid "Repeat your new password:" | ||
144 | msgstr "Repetir la nueva contraseña :" | ||
145 | |||
146 | msgid "Import" | ||
147 | msgstr "Importar" | ||
148 | |||
149 | #, fuzzy | ||
150 | msgid "Please execute the import script locally as it can take a very long time." | ||
151 | msgstr "Por favor, ejecute la importación en local, esto puede demorar un tiempo." | ||
152 | |||
153 | #, fuzzy | ||
154 | msgid "More info in the official documentation:" | ||
155 | msgstr "Más información en la documentación oficial :" | ||
156 | |||
157 | #, fuzzy | ||
158 | msgid "Import from Pocket" | ||
159 | msgstr "importación desde Pocket" | ||
160 | |||
161 | #, php-format | ||
162 | msgid "(you must have a %s file on your server)" | ||
163 | msgstr "" | ||
164 | |||
165 | #, fuzzy | ||
166 | msgid "Import from Readability" | ||
167 | msgstr "importación desde Readability" | ||
168 | |||
169 | #, fuzzy | ||
170 | msgid "Import from Instapaper" | ||
171 | msgstr "importación desde Instapaper" | ||
172 | |||
173 | #, fuzzy | ||
174 | msgid "Import from wallabag" | ||
175 | msgstr "importación desde Readability" | ||
176 | |||
177 | #, fuzzy | ||
178 | msgid "Export your wallabag data" | ||
179 | msgstr "Exportar sus datos de poche" | ||
180 | |||
181 | msgid "Click here" | ||
182 | msgstr "Haga clic aquí" | ||
183 | |||
184 | msgid "to download your database." | ||
185 | msgstr "" | ||
186 | |||
187 | #, fuzzy | ||
188 | msgid "to export your wallabag data." | ||
189 | msgstr "para exportar sus datos de poche." | ||
190 | |||
191 | msgid "Cache" | ||
192 | msgstr "" | ||
193 | |||
194 | msgid "to delete cache." | ||
195 | msgstr "" | ||
196 | |||
197 | msgid "You can enter multiple tags, separated by commas." | ||
198 | msgstr "" | ||
199 | |||
200 | msgid "return to article" | ||
201 | msgstr "" | ||
202 | |||
203 | msgid "plop" | ||
204 | msgstr "plop" | ||
205 | |||
206 | msgid "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>." | ||
207 | msgstr "" | ||
208 | |||
209 | msgid "favoris" | ||
210 | msgstr "preferidos" | ||
211 | |||
212 | msgid "archive" | ||
213 | msgstr "archivos" | ||
214 | |||
215 | msgid "unread" | ||
216 | msgstr "sin leer" | ||
217 | |||
218 | msgid "by date asc" | ||
219 | msgstr "por fecha ascendiente" | ||
220 | |||
221 | msgid "by date" | ||
222 | msgstr "por fecha" | ||
223 | |||
224 | msgid "by date desc" | ||
225 | msgstr "por fecha descendiente" | ||
226 | |||
227 | msgid "by title asc" | ||
228 | msgstr "por titulo ascendiente" | ||
229 | |||
230 | msgid "by title" | ||
231 | msgstr "por título" | ||
232 | |||
233 | msgid "by title desc" | ||
234 | msgstr "por título descendiente" | ||
235 | |||
236 | msgid "Tag" | ||
237 | msgstr "" | ||
238 | |||
239 | msgid "No articles found." | ||
240 | msgstr "" | ||
241 | |||
242 | #, fuzzy | ||
243 | msgid "Toggle mark as read" | ||
244 | msgstr "marcar como leído" | ||
245 | |||
246 | msgid "toggle favorite" | ||
247 | msgstr "preferido" | ||
248 | |||
249 | msgid "delete" | ||
250 | msgstr "eliminar" | ||
251 | |||
252 | msgid "original" | ||
253 | msgstr "original" | ||
254 | |||
255 | msgid "estimated reading time:" | ||
256 | msgstr "" | ||
257 | |||
258 | msgid "mark all the entries as read" | ||
259 | msgstr "" | ||
260 | |||
261 | msgid "results" | ||
262 | msgstr "resultados" | ||
263 | |||
264 | msgid "installation" | ||
265 | msgstr "instalación" | ||
266 | |||
267 | #, fuzzy | ||
268 | msgid "install your wallabag" | ||
269 | msgstr "instala tu Poche" | ||
270 | |||
271 | #, fuzzy | ||
272 | msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation on wallabag website</a>." | ||
273 | msgstr "Poche todavia no està instalado. Por favor, completa los campos siguientes para instalarlo. No dudes de <a href='http://doc.inthepoche.com'>leer la documentación en el sitio de Poche</a>." | ||
274 | |||
275 | msgid "Login" | ||
276 | msgstr "Nombre de usuario" | ||
277 | |||
278 | msgid "Repeat your password" | ||
279 | msgstr "Repita su contraseña" | ||
280 | |||
281 | msgid "Install" | ||
282 | msgstr "Instalar" | ||
283 | |||
284 | #, fuzzy | ||
285 | msgid "login to your wallabag" | ||
286 | msgstr "conectarse a tu Poche" | ||
287 | |||
288 | msgid "Login to wallabag" | ||
289 | msgstr "" | ||
290 | |||
291 | msgid "you are in demo mode, some features may be disabled." | ||
292 | msgstr "este es el modo de demostración, algunas funcionalidades pueden estar desactivadas." | ||
293 | |||
294 | msgid "Username" | ||
295 | msgstr "" | ||
296 | |||
297 | msgid "Stay signed in" | ||
298 | msgstr "Seguir conectado" | ||
299 | |||
300 | msgid "(Do not check on public computers)" | ||
301 | msgstr "(no marcar en un ordenador público)" | ||
302 | |||
303 | msgid "Sign in" | ||
304 | msgstr "Iniciar sesión" | ||
305 | |||
306 | msgid "favorites" | ||
307 | msgstr "preferidos" | ||
308 | |||
309 | msgid "estimated reading time :" | ||
310 | msgstr "" | ||
311 | |||
312 | msgid "Mark all the entries as read" | ||
313 | msgstr "" | ||
314 | |||
315 | msgid "Return home" | ||
316 | msgstr "" | ||
317 | |||
318 | #, fuzzy | ||
319 | msgid "Back to top" | ||
320 | msgstr "volver arriba" | ||
321 | |||
322 | #, fuzzy | ||
323 | msgid "Mark as read" | ||
324 | msgstr "marcar como leído" | ||
325 | |||
326 | #, fuzzy | ||
327 | msgid "Favorite" | ||
328 | msgstr "preferidos" | ||
329 | |||
330 | #, fuzzy | ||
331 | msgid "Toggle favorite" | ||
332 | msgstr "preferido" | ||
333 | |||
334 | #, fuzzy | ||
335 | msgid "Delete" | ||
336 | msgstr "eliminar" | ||
337 | |||
338 | #, fuzzy | ||
339 | msgid "Tweet" | ||
340 | msgstr "tweetear" | ||
341 | |||
342 | #, fuzzy | ||
343 | msgid "Email" | ||
344 | msgstr "enviar por mail" | ||
345 | |||
346 | msgid "shaarli" | ||
347 | msgstr "shaarli" | ||
348 | |||
349 | msgid "flattr" | ||
350 | msgstr "flattr" | ||
351 | |||
352 | #, fuzzy | ||
353 | msgid "Does this article appear wrong?" | ||
354 | msgstr "este articulo no se ve bien?" | ||
355 | |||
356 | msgid "tags:" | ||
357 | msgstr "" | ||
358 | |||
359 | msgid "Edit tags" | ||
360 | msgstr "" | ||
361 | |||
362 | msgid "save link!" | ||
363 | msgstr "" | ||
364 | |||
365 | msgid "home" | ||
366 | msgstr "inicio" | ||
367 | |||
368 | msgid "tags" | ||
369 | msgstr "" | ||
370 | |||
371 | msgid "logout" | ||
372 | msgstr "cerrar sesión" | ||
373 | |||
374 | msgid "powered by" | ||
375 | msgstr "hecho con" | ||
376 | |||
377 | msgid "debug mode is on so cache is off." | ||
378 | msgstr "el modo de depuración está activado, así que la cache está desactivada." | ||
379 | |||
380 | #, fuzzy | ||
381 | msgid "your wallabag version:" | ||
382 | msgstr "su versión" | ||
383 | |||
384 | msgid "storage:" | ||
385 | msgstr "almacenamiento:" | ||
386 | |||
387 | msgid "save a link" | ||
388 | msgstr "" | ||
389 | |||
390 | msgid "back to home" | ||
391 | msgstr "volver a la página de inicio" | ||
392 | |||
393 | msgid "toggle mark as read" | ||
394 | msgstr "marcar como leído" | ||
395 | |||
396 | msgid "tweet" | ||
397 | msgstr "tweetear" | ||
398 | |||
399 | msgid "email" | ||
400 | msgstr "enviar por mail" | ||
401 | |||
402 | msgid "this article appears wrong?" | ||
403 | msgstr "este articulo no se ve bien?" | ||
404 | |||
405 | msgid "No link available here!" | ||
406 | msgstr "¡No hay ningún enlace disponible por aquí!" | ||
407 | |||
408 | msgid "Poching a link" | ||
409 | msgstr "Pochear un enlace" | ||
410 | |||
411 | msgid "by filling this field" | ||
412 | msgstr "rellenando este campo" | ||
413 | |||
414 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
415 | msgstr "" | ||
416 | |||
417 | msgid "your version" | ||
418 | msgstr "su versión" | ||
419 | |||
420 | msgid "latest stable version" | ||
421 | msgstr "ultima versión estable" | ||
422 | |||
423 | msgid "a more recent stable version is available." | ||
424 | msgstr "una versión estable más reciente está disponible." | ||
425 | |||
426 | msgid "you are up to date." | ||
427 | msgstr "estás actualizado." | ||
428 | |||
429 | msgid "latest dev version" | ||
430 | msgstr "ultima versión de desarollo" | ||
431 | |||
432 | msgid "a more recent development version is available." | ||
433 | msgstr "una versión de desarollo más reciente está disponible." | ||
434 | |||
435 | msgid "Please execute the import script locally, it can take a very long time." | ||
436 | msgstr "Por favor, ejecute la importación en local, esto puede demorar un tiempo." | ||
437 | |||
438 | #, fuzzy | ||
439 | msgid "More infos in the official doc:" | ||
440 | msgstr "Más información en la documentación oficial :" | ||
441 | |||
442 | msgid "import from Pocket" | ||
443 | msgstr "importación desde Pocket" | ||
444 | |||
445 | msgid "import from Readability" | ||
446 | msgstr "importación desde Readability" | ||
447 | |||
448 | msgid "import from Instapaper" | ||
449 | msgstr "importación desde Instapaper" | ||
450 | |||
451 | msgid "Tags" | ||
452 | msgstr "" | ||
453 | |||
454 | #, fuzzy | ||
455 | msgid "Untitled" | ||
456 | msgstr "por título" | ||
457 | |||
458 | msgid "the link has been added successfully" | ||
459 | msgstr "" | ||
460 | |||
461 | msgid "error during insertion : the link wasn't added" | ||
462 | msgstr "" | ||
463 | |||
464 | msgid "the link has been deleted successfully" | ||
465 | msgstr "" | ||
466 | |||
467 | msgid "the link wasn't deleted" | ||
468 | msgstr "" | ||
469 | |||
470 | msgid "Article not found!" | ||
471 | msgstr "" | ||
472 | |||
473 | msgid "previous" | ||
474 | msgstr "" | ||
475 | |||
476 | msgid "next" | ||
477 | msgstr "" | ||
478 | |||
479 | msgid "in demo mode, you can't update your password" | ||
480 | msgstr "" | ||
481 | |||
482 | msgid "your password has been updated" | ||
483 | msgstr "" | ||
484 | |||
485 | msgid "the two fields have to be filled & the password must be the same in the two fields" | ||
486 | msgstr "" | ||
487 | |||
488 | msgid "still using the \"" | ||
489 | msgstr "" | ||
490 | |||
491 | msgid "that theme does not seem to be installed" | ||
492 | msgstr "" | ||
493 | |||
494 | msgid "you have changed your theme preferences" | ||
495 | msgstr "" | ||
496 | |||
497 | msgid "that language does not seem to be installed" | ||
498 | msgstr "" | ||
499 | |||
500 | msgid "you have changed your language preferences" | ||
501 | msgstr "" | ||
502 | |||
503 | msgid "login failed: you have to fill all fields" | ||
504 | msgstr "" | ||
505 | |||
506 | msgid "welcome to your wallabag" | ||
507 | msgstr "" | ||
508 | |||
509 | msgid "login failed: bad login or password" | ||
510 | msgstr "" | ||
511 | |||
512 | #, fuzzy | ||
513 | msgid "import from instapaper completed" | ||
514 | msgstr "importación desde Instapaper" | ||
515 | |||
516 | #, fuzzy | ||
517 | msgid "import from pocket completed" | ||
518 | msgstr "importación desde Pocket" | ||
519 | |||
520 | #, fuzzy | ||
521 | msgid "import from Readability completed. " | ||
522 | msgstr "importación desde Readability" | ||
523 | |||
524 | #, fuzzy | ||
525 | msgid "import from Poche completed. " | ||
526 | msgstr "importación desde Pocket" | ||
527 | |||
528 | msgid "Unknown import provider." | ||
529 | msgstr "" | ||
530 | |||
531 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
532 | msgstr "" | ||
533 | |||
534 | msgid "Could not find required \"" | ||
535 | msgstr "" | ||
536 | |||
537 | msgid "Uh, there is a problem while generating feeds." | ||
538 | msgstr "" | ||
539 | |||
540 | #, fuzzy | ||
541 | msgid "Cache deleted." | ||
542 | msgstr "eliminar" | ||
543 | |||
544 | msgid "Oops, it seems you don't have PHP 5." | ||
545 | msgstr "" | ||
546 | |||
547 | #~ msgid "poche it!" | ||
548 | #~ msgstr "pochéalo!" | ||
549 | |||
550 | #~ msgid "Updating poche" | ||
551 | #~ msgstr "Actualizar" | ||
552 | |||
553 | #~ msgid "create an issue" | ||
554 | #~ msgstr "crear un ticket" | ||
555 | |||
556 | #~ msgid "or" | ||
557 | #~ msgstr "o" | ||
558 | |||
559 | #~ msgid "contact us by mail" | ||
560 | #~ msgstr "contactarnos por mail" | ||
561 | |||
562 | #~ msgid "your poche version:" | ||
563 | #~ msgstr "tu versión de Poche:" | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/fa_IR.utf8/LC_MESSAGES/fa_IR.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/fa_IR.utf8/LC_MESSAGES/fa_IR.utf8.mo deleted file mode 100644 index be6ebc57..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/fa_IR.utf8/LC_MESSAGES/fa_IR.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/fa_IR.utf8/LC_MESSAGES/fa_IR.utf8.po b/src/Wallabag/Wallabag/Resources/translations/fa_IR.utf8/LC_MESSAGES/fa_IR.utf8.po deleted file mode 100644 index f24814d5..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/fa_IR.utf8/LC_MESSAGES/fa_IR.utf8.po +++ /dev/null | |||
@@ -1,563 +0,0 @@ | |||
1 | msgid "" | ||
2 | msgstr "" | ||
3 | "Project-Id-Version: \n" | ||
4 | "Report-Msgid-Bugs-To: \n" | ||
5 | "POT-Creation-Date: 2014-02-25 15:15+0300\n" | ||
6 | "PO-Revision-Date: \n" | ||
7 | "Last-Translator: Maryana <mariroz@mr.lviv.ua>\n" | ||
8 | "Language-Team: \n" | ||
9 | "Language: \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-Language: Persian\n" | ||
15 | "X-Poedit-Basepath: .\n" | ||
16 | "X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-testing\n" | ||
17 | |||
18 | msgid "wallabag, a read it later open source system" | ||
19 | msgstr "" | ||
20 | |||
21 | msgid "login failed: user doesn't exist" | ||
22 | msgstr "" | ||
23 | |||
24 | msgid "return home" | ||
25 | msgstr "" | ||
26 | |||
27 | msgid "config" | ||
28 | msgstr "تنظیمات" | ||
29 | |||
30 | msgid "Saving articles" | ||
31 | msgstr "" | ||
32 | |||
33 | msgid "There are several ways to save an article:" | ||
34 | msgstr "" | ||
35 | |||
36 | msgid "read the documentation" | ||
37 | msgstr "راهنما را بخوانید" | ||
38 | |||
39 | msgid "download the extension" | ||
40 | msgstr "" | ||
41 | |||
42 | msgid "via F-Droid" | ||
43 | msgstr "" | ||
44 | |||
45 | msgid " or " | ||
46 | msgstr "" | ||
47 | |||
48 | msgid "via Google Play" | ||
49 | msgstr "" | ||
50 | |||
51 | msgid "download the application" | ||
52 | msgstr "" | ||
53 | |||
54 | #, fuzzy | ||
55 | msgid "By filling this field" | ||
56 | msgstr "با پرکردن این بخش" | ||
57 | |||
58 | msgid "bag it!" | ||
59 | msgstr "" | ||
60 | |||
61 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
62 | msgstr "" | ||
63 | |||
64 | msgid "Upgrading wallabag" | ||
65 | msgstr "" | ||
66 | |||
67 | #, fuzzy | ||
68 | msgid "Installed version" | ||
69 | msgstr "آخرین نسخهٔ پایدار" | ||
70 | |||
71 | #, fuzzy | ||
72 | msgid "Latest stable version" | ||
73 | msgstr "آخرین نسخهٔ پایدار" | ||
74 | |||
75 | #, fuzzy | ||
76 | msgid "A more recent stable version is available." | ||
77 | msgstr "نسخهٔ پایدار تازهای منتشر شده است." | ||
78 | |||
79 | #, fuzzy | ||
80 | msgid "You are up to date." | ||
81 | msgstr "شما بهروز هستید." | ||
82 | |||
83 | #, fuzzy | ||
84 | msgid "Latest dev version" | ||
85 | msgstr "آخرین نسخهٔ آزمایشی" | ||
86 | |||
87 | #, fuzzy | ||
88 | msgid "A more recent development version is available." | ||
89 | msgstr "نسخهٔ آزمایشی تازهای منتشر شده است." | ||
90 | |||
91 | msgid "Feeds" | ||
92 | msgstr "" | ||
93 | |||
94 | msgid "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
95 | msgstr "" | ||
96 | |||
97 | msgid "Unread feed" | ||
98 | msgstr "" | ||
99 | |||
100 | #, fuzzy | ||
101 | msgid "Favorites feed" | ||
102 | msgstr "بهترینها" | ||
103 | |||
104 | #, fuzzy | ||
105 | msgid "Archive feed" | ||
106 | msgstr "بایگانی" | ||
107 | |||
108 | msgid "Your token:" | ||
109 | msgstr "" | ||
110 | |||
111 | msgid "Your user id:" | ||
112 | msgstr "" | ||
113 | |||
114 | msgid "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." | ||
115 | msgstr "" | ||
116 | |||
117 | #, fuzzy | ||
118 | msgid "Change your theme" | ||
119 | msgstr "گذرواژهٔ خود را تغییر دهید" | ||
120 | |||
121 | msgid "Theme:" | ||
122 | msgstr "" | ||
123 | |||
124 | msgid "Update" | ||
125 | msgstr "بهروزرسانی" | ||
126 | |||
127 | #, fuzzy | ||
128 | msgid "Change your language" | ||
129 | msgstr "گذرواژهٔ خود را تغییر دهید" | ||
130 | |||
131 | msgid "Language:" | ||
132 | msgstr "" | ||
133 | |||
134 | msgid "Change your password" | ||
135 | msgstr "گذرواژهٔ خود را تغییر دهید" | ||
136 | |||
137 | msgid "New password:" | ||
138 | msgstr "گذرواژهٔ تازه:" | ||
139 | |||
140 | msgid "Password" | ||
141 | msgstr "گذرواژه" | ||
142 | |||
143 | msgid "Repeat your new password:" | ||
144 | msgstr "گذرواژهٔ تازه را دوباره وارد کنید" | ||
145 | |||
146 | msgid "Import" | ||
147 | msgstr "درونریزی" | ||
148 | |||
149 | #, fuzzy | ||
150 | msgid "Please execute the import script locally as it can take a very long time." | ||
151 | msgstr "لطفاً برنامهٔ درونریزی را بهطور محلی اجرا کنید، شاید خیلی طول بکشد." | ||
152 | |||
153 | #, fuzzy | ||
154 | msgid "More info in the official documentation:" | ||
155 | msgstr "اطلاعات بیشتر در راهنمای رسمی:" | ||
156 | |||
157 | #, fuzzy | ||
158 | msgid "Import from Pocket" | ||
159 | msgstr "درونریزی از Pocket" | ||
160 | |||
161 | #, php-format | ||
162 | msgid "(you must have a %s file on your server)" | ||
163 | msgstr "" | ||
164 | |||
165 | #, fuzzy | ||
166 | msgid "Import from Readability" | ||
167 | msgstr "درونریزی از Readability" | ||
168 | |||
169 | #, fuzzy | ||
170 | msgid "Import from Instapaper" | ||
171 | msgstr "درونریزی از Instapaper" | ||
172 | |||
173 | #, fuzzy | ||
174 | msgid "Import from wallabag" | ||
175 | msgstr "درونریزی از Readability" | ||
176 | |||
177 | #, fuzzy | ||
178 | msgid "Export your wallabag data" | ||
179 | msgstr "دادههای poche خود را برونبری کنید" | ||
180 | |||
181 | msgid "Click here" | ||
182 | msgstr "اینجا را کلیک کنید" | ||
183 | |||
184 | msgid "to download your database." | ||
185 | msgstr "" | ||
186 | |||
187 | #, fuzzy | ||
188 | msgid "to export your wallabag data." | ||
189 | msgstr "برای برونبری دادههای poche شما" | ||
190 | |||
191 | msgid "Cache" | ||
192 | msgstr "" | ||
193 | |||
194 | msgid "to delete cache." | ||
195 | msgstr "" | ||
196 | |||
197 | msgid "You can enter multiple tags, separated by commas." | ||
198 | msgstr "" | ||
199 | |||
200 | msgid "return to article" | ||
201 | msgstr "" | ||
202 | |||
203 | msgid "plop" | ||
204 | msgstr "plop" | ||
205 | |||
206 | msgid "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>." | ||
207 | msgstr "" | ||
208 | |||
209 | msgid "favoris" | ||
210 | msgstr "بهترینها" | ||
211 | |||
212 | msgid "archive" | ||
213 | msgstr "بایگانی" | ||
214 | |||
215 | msgid "unread" | ||
216 | msgstr "خواندهنشده" | ||
217 | |||
218 | msgid "by date asc" | ||
219 | msgstr "قدیمیترها بالا" | ||
220 | |||
221 | msgid "by date" | ||
222 | msgstr "با تاریخ" | ||
223 | |||
224 | msgid "by date desc" | ||
225 | msgstr "تازهترها بالا" | ||
226 | |||
227 | msgid "by title asc" | ||
228 | msgstr "با عنوان (الفبایی)" | ||
229 | |||
230 | msgid "by title" | ||
231 | msgstr "با عنوان" | ||
232 | |||
233 | msgid "by title desc" | ||
234 | msgstr "با عنوان (الفبایی معکوس)" | ||
235 | |||
236 | msgid "Tag" | ||
237 | msgstr "" | ||
238 | |||
239 | msgid "No articles found." | ||
240 | msgstr "" | ||
241 | |||
242 | #, fuzzy | ||
243 | msgid "Toggle mark as read" | ||
244 | msgstr "خواندهشده/خواندهنشده" | ||
245 | |||
246 | msgid "toggle favorite" | ||
247 | msgstr "جزء بهترینها هست/نیست" | ||
248 | |||
249 | msgid "delete" | ||
250 | msgstr "پاککردن" | ||
251 | |||
252 | msgid "original" | ||
253 | msgstr "اصلی" | ||
254 | |||
255 | msgid "estimated reading time:" | ||
256 | msgstr "" | ||
257 | |||
258 | msgid "mark all the entries as read" | ||
259 | msgstr "" | ||
260 | |||
261 | msgid "results" | ||
262 | msgstr "نتایج" | ||
263 | |||
264 | msgid "installation" | ||
265 | msgstr "نصب" | ||
266 | |||
267 | #, fuzzy | ||
268 | msgid "install your wallabag" | ||
269 | msgstr "poche خود را نصب کنید" | ||
270 | |||
271 | #, fuzzy | ||
272 | msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation on wallabag website</a>." | ||
273 | msgstr "poche هنوز نصب نیست. برای نصب لطفاً فرم زیر را پر کنید. خواندن <a href='http://doc.inthepoche.com'>راهنما در وبگاه poche</a> را از یاد نبرید." | ||
274 | |||
275 | msgid "Login" | ||
276 | msgstr "ورود" | ||
277 | |||
278 | msgid "Repeat your password" | ||
279 | msgstr "گذرواژه را دوباره وارد کنید" | ||
280 | |||
281 | msgid "Install" | ||
282 | msgstr "نصب" | ||
283 | |||
284 | #, fuzzy | ||
285 | msgid "login to your wallabag" | ||
286 | msgstr "به poche خود وارد شوید" | ||
287 | |||
288 | msgid "Login to wallabag" | ||
289 | msgstr "" | ||
290 | |||
291 | msgid "you are in demo mode, some features may be disabled." | ||
292 | msgstr "این تنها نسخهٔ نمایشی است، برخی از ویژگیها کار نمیکنند." | ||
293 | |||
294 | msgid "Username" | ||
295 | msgstr "" | ||
296 | |||
297 | msgid "Stay signed in" | ||
298 | msgstr "مرا به خاطر بسپار" | ||
299 | |||
300 | msgid "(Do not check on public computers)" | ||
301 | msgstr "(روی رایانههای عمومی این کار را نکنید)" | ||
302 | |||
303 | msgid "Sign in" | ||
304 | msgstr "ورود" | ||
305 | |||
306 | msgid "favorites" | ||
307 | msgstr "بهترینها" | ||
308 | |||
309 | msgid "estimated reading time :" | ||
310 | msgstr "" | ||
311 | |||
312 | msgid "Mark all the entries as read" | ||
313 | msgstr "" | ||
314 | |||
315 | msgid "Return home" | ||
316 | msgstr "" | ||
317 | |||
318 | #, fuzzy | ||
319 | msgid "Back to top" | ||
320 | msgstr "بازگشت به بالای صفحه" | ||
321 | |||
322 | #, fuzzy | ||
323 | msgid "Mark as read" | ||
324 | msgstr "خواندهشده/خواندهنشده" | ||
325 | |||
326 | #, fuzzy | ||
327 | msgid "Favorite" | ||
328 | msgstr "بهترینها" | ||
329 | |||
330 | #, fuzzy | ||
331 | msgid "Toggle favorite" | ||
332 | msgstr "جزء بهترینها هست/نیست" | ||
333 | |||
334 | #, fuzzy | ||
335 | msgid "Delete" | ||
336 | msgstr "پاککردن" | ||
337 | |||
338 | #, fuzzy | ||
339 | msgid "Tweet" | ||
340 | msgstr "توییت" | ||
341 | |||
342 | #, fuzzy | ||
343 | msgid "Email" | ||
344 | msgstr "ایمیل" | ||
345 | |||
346 | msgid "shaarli" | ||
347 | msgstr "shaarli" | ||
348 | |||
349 | msgid "flattr" | ||
350 | msgstr "flattr" | ||
351 | |||
352 | #, fuzzy | ||
353 | msgid "Does this article appear wrong?" | ||
354 | msgstr "این مطلب اشتباه نمایش داده شده؟" | ||
355 | |||
356 | msgid "tags:" | ||
357 | msgstr "" | ||
358 | |||
359 | msgid "Edit tags" | ||
360 | msgstr "" | ||
361 | |||
362 | msgid "save link!" | ||
363 | msgstr "" | ||
364 | |||
365 | msgid "home" | ||
366 | msgstr "خانه" | ||
367 | |||
368 | msgid "tags" | ||
369 | msgstr "" | ||
370 | |||
371 | msgid "logout" | ||
372 | msgstr "بیرون رفتن" | ||
373 | |||
374 | msgid "powered by" | ||
375 | msgstr "نیروگرفته از" | ||
376 | |||
377 | msgid "debug mode is on so cache is off." | ||
378 | msgstr "حالت عیبیابی فعال است، پس کاشه خاموش است." | ||
379 | |||
380 | #, fuzzy | ||
381 | msgid "your wallabag version:" | ||
382 | msgstr "نسخهٔ شما" | ||
383 | |||
384 | msgid "storage:" | ||
385 | msgstr "ذخیرهسازی:" | ||
386 | |||
387 | msgid "save a link" | ||
388 | msgstr "" | ||
389 | |||
390 | msgid "back to home" | ||
391 | msgstr "بازگشت به خانه" | ||
392 | |||
393 | msgid "toggle mark as read" | ||
394 | msgstr "خواندهشده/خواندهنشده" | ||
395 | |||
396 | msgid "tweet" | ||
397 | msgstr "توییت" | ||
398 | |||
399 | msgid "email" | ||
400 | msgstr "ایمیل" | ||
401 | |||
402 | msgid "this article appears wrong?" | ||
403 | msgstr "این مطلب اشتباه نمایش داده شده؟" | ||
404 | |||
405 | msgid "No link available here!" | ||
406 | msgstr "اینجا پیوندی موجود نیست!" | ||
407 | |||
408 | msgid "Poching a link" | ||
409 | msgstr "پیوندی را poche کنید" | ||
410 | |||
411 | msgid "by filling this field" | ||
412 | msgstr "با پرکردن این بخش" | ||
413 | |||
414 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
415 | msgstr "" | ||
416 | |||
417 | msgid "your version" | ||
418 | msgstr "نسخهٔ شما" | ||
419 | |||
420 | msgid "latest stable version" | ||
421 | msgstr "آخرین نسخهٔ پایدار" | ||
422 | |||
423 | msgid "a more recent stable version is available." | ||
424 | msgstr "نسخهٔ پایدار تازهای منتشر شده است." | ||
425 | |||
426 | msgid "you are up to date." | ||
427 | msgstr "شما بهروز هستید." | ||
428 | |||
429 | msgid "latest dev version" | ||
430 | msgstr "آخرین نسخهٔ آزمایشی" | ||
431 | |||
432 | msgid "a more recent development version is available." | ||
433 | msgstr "نسخهٔ آزمایشی تازهای منتشر شده است." | ||
434 | |||
435 | msgid "Please execute the import script locally, it can take a very long time." | ||
436 | msgstr "لطفاً برنامهٔ درونریزی را بهطور محلی اجرا کنید، شاید خیلی طول بکشد." | ||
437 | |||
438 | #, fuzzy | ||
439 | msgid "More infos in the official doc:" | ||
440 | msgstr "اطلاعات بیشتر در راهنمای رسمی:" | ||
441 | |||
442 | msgid "import from Pocket" | ||
443 | msgstr "درونریزی از Pocket" | ||
444 | |||
445 | msgid "import from Readability" | ||
446 | msgstr "درونریزی از Readability" | ||
447 | |||
448 | msgid "import from Instapaper" | ||
449 | msgstr "درونریزی از Instapaper" | ||
450 | |||
451 | msgid "Tags" | ||
452 | msgstr "" | ||
453 | |||
454 | #, fuzzy | ||
455 | msgid "Untitled" | ||
456 | msgstr "با عنوان" | ||
457 | |||
458 | msgid "the link has been added successfully" | ||
459 | msgstr "" | ||
460 | |||
461 | msgid "error during insertion : the link wasn't added" | ||
462 | msgstr "" | ||
463 | |||
464 | msgid "the link has been deleted successfully" | ||
465 | msgstr "" | ||
466 | |||
467 | msgid "the link wasn't deleted" | ||
468 | msgstr "" | ||
469 | |||
470 | msgid "Article not found!" | ||
471 | msgstr "" | ||
472 | |||
473 | msgid "previous" | ||
474 | msgstr "" | ||
475 | |||
476 | msgid "next" | ||
477 | msgstr "" | ||
478 | |||
479 | msgid "in demo mode, you can't update your password" | ||
480 | msgstr "" | ||
481 | |||
482 | msgid "your password has been updated" | ||
483 | msgstr "" | ||
484 | |||
485 | msgid "the two fields have to be filled & the password must be the same in the two fields" | ||
486 | msgstr "" | ||
487 | |||
488 | msgid "still using the \"" | ||
489 | msgstr "" | ||
490 | |||
491 | msgid "that theme does not seem to be installed" | ||
492 | msgstr "" | ||
493 | |||
494 | msgid "you have changed your theme preferences" | ||
495 | msgstr "" | ||
496 | |||
497 | msgid "that language does not seem to be installed" | ||
498 | msgstr "" | ||
499 | |||
500 | msgid "you have changed your language preferences" | ||
501 | msgstr "" | ||
502 | |||
503 | msgid "login failed: you have to fill all fields" | ||
504 | msgstr "" | ||
505 | |||
506 | msgid "welcome to your wallabag" | ||
507 | msgstr "" | ||
508 | |||
509 | msgid "login failed: bad login or password" | ||
510 | msgstr "" | ||
511 | |||
512 | #, fuzzy | ||
513 | msgid "import from instapaper completed" | ||
514 | msgstr "درونریزی از Instapaper" | ||
515 | |||
516 | #, fuzzy | ||
517 | msgid "import from pocket completed" | ||
518 | msgstr "درونریزی از Pocket" | ||
519 | |||
520 | #, fuzzy | ||
521 | msgid "import from Readability completed. " | ||
522 | msgstr "درونریزی از Readability" | ||
523 | |||
524 | #, fuzzy | ||
525 | msgid "import from Poche completed. " | ||
526 | msgstr "درونریزی از Pocket" | ||
527 | |||
528 | msgid "Unknown import provider." | ||
529 | msgstr "" | ||
530 | |||
531 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
532 | msgstr "" | ||
533 | |||
534 | msgid "Could not find required \"" | ||
535 | msgstr "" | ||
536 | |||
537 | msgid "Uh, there is a problem while generating feeds." | ||
538 | msgstr "" | ||
539 | |||
540 | #, fuzzy | ||
541 | msgid "Cache deleted." | ||
542 | msgstr "پاککردن" | ||
543 | |||
544 | msgid "Oops, it seems you don't have PHP 5." | ||
545 | msgstr "" | ||
546 | |||
547 | #~ msgid "poche it!" | ||
548 | #~ msgstr "poche کنید!" | ||
549 | |||
550 | #~ msgid "Updating poche" | ||
551 | #~ msgstr "بهروزرسانی poche" | ||
552 | |||
553 | #~ msgid "create an issue" | ||
554 | #~ msgstr "یک درخواست رفعمشکل بنویسید" | ||
555 | |||
556 | #~ msgid "or" | ||
557 | #~ msgstr "یا" | ||
558 | |||
559 | #~ msgid "contact us by mail" | ||
560 | #~ msgstr "به ما ایمیل بزنید" | ||
561 | |||
562 | #~ msgid "your poche version:" | ||
563 | #~ msgstr "نسخهٔ poche شما:" | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo deleted file mode 100644 index 83f397a0..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po b/src/Wallabag/Wallabag/Resources/translations/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po deleted file mode 100644 index fef31208..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po +++ /dev/null | |||
@@ -1,804 +0,0 @@ | |||
1 | msgid "" | ||
2 | msgstr "" | ||
3 | "Project-Id-Version: wallabag 1.7.2\n" | ||
4 | "Report-Msgid-Bugs-To: \n" | ||
5 | "POT-Creation-Date: 2014-07-26 20:09+0100\n" | ||
6 | "PO-Revision-Date: \n" | ||
7 | "Last-Translator: Thomas Citharel <tcit@openmailbox.org>\n" | ||
8 | "Language-Team: \n" | ||
9 | "Language: fr_FR\n" | ||
10 | "MIME-Version: 1.0\n" | ||
11 | "Content-Type: text/plain; charset=UTF-8\n" | ||
12 | "Content-Transfer-Encoding: 8bit\n" | ||
13 | "X-Poedit-KeywordsList: _;gettext;gettext_noop\n" | ||
14 | "X-Poedit-SourceCharset: UTF-8\n" | ||
15 | "X-Generator: Poedit 1.5.4\n" | ||
16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||
17 | |||
18 | msgid "wallabag, a read it later open source system" | ||
19 | msgstr "wallabag, un système open source de lecture différé" | ||
20 | |||
21 | msgid "login failed: user doesn't exist" | ||
22 | msgstr "échec de l'identification : cet utilisateur n'existe pas" | ||
23 | |||
24 | msgid "save link!" | ||
25 | msgstr "enregistrer le lien !" | ||
26 | |||
27 | msgid "plop" | ||
28 | msgstr "plop" | ||
29 | |||
30 | msgid "powered by" | ||
31 | msgstr "propulsé par" | ||
32 | |||
33 | msgid "debug mode is on so cache is off." | ||
34 | msgstr "le mode de debug est actif, le cache est donc désactivé." | ||
35 | |||
36 | msgid "your wallabag version:" | ||
37 | msgstr "votre version de wallabag :" | ||
38 | |||
39 | msgid "storage:" | ||
40 | msgstr "stockage :" | ||
41 | |||
42 | msgid "login to your wallabag" | ||
43 | msgstr "se connecter à votre wallabag" | ||
44 | |||
45 | msgid "Login to wallabag" | ||
46 | msgstr "Se connecter à wallabag" | ||
47 | |||
48 | msgid "you are in demo mode, some features may be disabled." | ||
49 | msgstr "" | ||
50 | "vous êtes en mode démo, certaines fonctionnalités peuvent être désactivées." | ||
51 | |||
52 | msgid "Username" | ||
53 | msgstr "Nom d'utilisateur" | ||
54 | |||
55 | msgid "Password" | ||
56 | msgstr "Mot de passe" | ||
57 | |||
58 | msgid "Stay signed in" | ||
59 | msgstr "Rester connecté" | ||
60 | |||
61 | msgid "(Do not check on public computers)" | ||
62 | msgstr "(Ne pas cocher sur un ordinateur public)" | ||
63 | |||
64 | msgid "Sign in" | ||
65 | msgstr "Se connecter" | ||
66 | |||
67 | msgid "back to home" | ||
68 | msgstr "retour à l'accueil" | ||
69 | |||
70 | msgid "favorites" | ||
71 | msgstr "favoris" | ||
72 | |||
73 | msgid "archive" | ||
74 | msgstr "archive" | ||
75 | |||
76 | msgid "unread" | ||
77 | msgstr "non lus" | ||
78 | |||
79 | msgid "Tag" | ||
80 | msgstr "Tag" | ||
81 | |||
82 | msgid "No articles found." | ||
83 | msgstr "Aucun article trouvé." | ||
84 | |||
85 | msgid "estimated reading time:" | ||
86 | msgstr "temps de lecture estimé :" | ||
87 | |||
88 | msgid "estimated reading time :" | ||
89 | msgstr "temps de lecture estimé :" | ||
90 | |||
91 | msgid "Toggle mark as read" | ||
92 | msgstr "Marquer comme lu / non lu" | ||
93 | |||
94 | msgid "toggle favorite" | ||
95 | msgstr "marquer / enlever comme favori" | ||
96 | |||
97 | msgid "delete" | ||
98 | msgstr "supprimer" | ||
99 | |||
100 | msgid "original" | ||
101 | msgstr "original" | ||
102 | |||
103 | msgid "Mark all the entries as read" | ||
104 | msgstr "Marquer tous les articles comme lus" | ||
105 | |||
106 | msgid "results" | ||
107 | msgstr "résultats" | ||
108 | |||
109 | msgid " found for « " | ||
110 | msgstr "trouvé pour « " | ||
111 | |||
112 | msgid "Only one result found for " | ||
113 | msgstr "Seulement un résultat trouvé pour " | ||
114 | |||
115 | msgid "config" | ||
116 | msgstr "configuration" | ||
117 | |||
118 | msgid "Saving articles" | ||
119 | msgstr "Sauvegarde des articles" | ||
120 | |||
121 | msgid "There are several ways to save an article:" | ||
122 | msgstr "Il y a plusieurs façons d'enregistrer un article :" | ||
123 | |||
124 | msgid "read the documentation" | ||
125 | msgstr "lisez la documentation" | ||
126 | |||
127 | msgid "download the extension" | ||
128 | msgstr "téléchargez l'extension" | ||
129 | |||
130 | msgid "via F-Droid" | ||
131 | msgstr "via F-Droid" | ||
132 | |||
133 | msgid " or " | ||
134 | msgstr " ou " | ||
135 | |||
136 | msgid "via Google Play" | ||
137 | msgstr "via Google PlayStore" | ||
138 | |||
139 | msgid "download the application" | ||
140 | msgstr "téléchargez l'application" | ||
141 | |||
142 | msgid "By filling this field" | ||
143 | msgstr "En remplissant ce champ" | ||
144 | |||
145 | msgid "bag it!" | ||
146 | msgstr "bag it !" | ||
147 | |||
148 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
149 | msgstr "Bookmarklet : glissez-déposez ce lien dans votre barre de favoris" | ||
150 | |||
151 | msgid "Upgrading wallabag" | ||
152 | msgstr "Mise à jour de wallabag" | ||
153 | |||
154 | msgid "Installed version" | ||
155 | msgstr "Version installée" | ||
156 | |||
157 | msgid "Latest stable version" | ||
158 | msgstr "Dernière version stable" | ||
159 | |||
160 | msgid "A more recent stable version is available." | ||
161 | msgstr "Une version stable plus récente est disponible." | ||
162 | |||
163 | msgid "You are up to date." | ||
164 | msgstr "Vous êtes à jour." | ||
165 | |||
166 | msgid "Last check:" | ||
167 | msgstr "Dernière vérification: " | ||
168 | |||
169 | msgid "Latest dev version" | ||
170 | msgstr "Dernière version de développement" | ||
171 | |||
172 | msgid "A more recent development version is available." | ||
173 | msgstr "Une version de développement plus récente est disponible." | ||
174 | |||
175 | msgid "You can clear cache to check the latest release." | ||
176 | msgstr "" | ||
177 | "Vous pouvez vider le cache pour vérifier que vous avez la dernière version." | ||
178 | |||
179 | msgid "Feeds" | ||
180 | msgstr "Flux" | ||
181 | |||
182 | msgid "" | ||
183 | "Your feed token is currently empty and must first be generated to enable " | ||
184 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
185 | msgstr "" | ||
186 | "Votre jeton de flux est actuellement vide et doit d'abord être généré pour " | ||
187 | "activer les flux. Cliquez <a href='?feed&action=generate'>ici</a> pour " | ||
188 | "le générer." | ||
189 | |||
190 | msgid "Unread feed" | ||
191 | msgstr "Flux des non lus" | ||
192 | |||
193 | msgid "Favorites feed" | ||
194 | msgstr "Flux des favoris" | ||
195 | |||
196 | msgid "Archive feed" | ||
197 | msgstr "Flux des archives" | ||
198 | |||
199 | msgid "Your token:" | ||
200 | msgstr "Votre jeton :" | ||
201 | |||
202 | msgid "Your user id:" | ||
203 | msgstr "Votre ID utilisateur :" | ||
204 | |||
205 | msgid "" | ||
206 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" | ||
207 | "</a>." | ||
208 | msgstr "" | ||
209 | "Vous pouvez regénérer votre jeton : <a href='?feed&" | ||
210 | "action=generate'>génération !</a>." | ||
211 | |||
212 | msgid "Change your theme" | ||
213 | msgstr "Changer votre thème" | ||
214 | |||
215 | msgid "Theme:" | ||
216 | msgstr "Thème :" | ||
217 | |||
218 | msgid "Update" | ||
219 | msgstr "Mettre à jour" | ||
220 | |||
221 | msgid "Change your language" | ||
222 | msgstr "Changer votre langue" | ||
223 | |||
224 | msgid "Language:" | ||
225 | msgstr "Langue :" | ||
226 | |||
227 | msgid "Change your password" | ||
228 | msgstr "Modifier votre mot de passe" | ||
229 | |||
230 | msgid "New password:" | ||
231 | msgstr "Nouveau mot de passe :" | ||
232 | |||
233 | msgid "Repeat your new password:" | ||
234 | msgstr "Répétez votre nouveau mot de passe :" | ||
235 | |||
236 | msgid "Import" | ||
237 | msgstr "Importer" | ||
238 | |||
239 | msgid "" | ||
240 | "You can import your Pocket, Readability, Instapaper, Wallabag or any data in " | ||
241 | "appropriate json or html format." | ||
242 | msgstr "" | ||
243 | "Vous pouvez importer depuis Pocket, Readability, Instapaper, wallabag, ou " | ||
244 | "n'importe quel fichier au format JSON ou HTML approprié." | ||
245 | |||
246 | msgid "" | ||
247 | "Please select export file on your computer and press \"Import\" button below." | ||
248 | "<br>Wallabag will parse your file, insert all URLs and start fetching of " | ||
249 | "articles if required.<br>Fetching process is controlled by two constants in " | ||
250 | "your config file: IMPORT_LIMIT (how many articles are fetched at once) and " | ||
251 | "IMPORT_DELAY (delay between fetch of next batch of articles)." | ||
252 | msgstr "" | ||
253 | "Sélectionnez le fichier à importer sur votre disque dur, et pressez la " | ||
254 | "bouton « Importer » ci-dessous.<br />wallabag analysera votre fichier, " | ||
255 | "ajoutera toutes les URL trouvées et commencera à télécharger les contenus si " | ||
256 | "nécessaire.<br />Le processus de téléchargement est contrôlé par deux " | ||
257 | "constantes dans votre fichier de configuration:<wbr /><code>IMPORT_LIMIT</" | ||
258 | "code> (nombre d'éléments téléchargés à la fois) et <code>IMPORT_DELAY</code> " | ||
259 | "(le délai d'attente entre deux séquences de téléchargement)." | ||
260 | |||
261 | msgid "File:" | ||
262 | msgstr "Fichier : " | ||
263 | |||
264 | msgid "You can click here to fetch content for articles with no content." | ||
265 | msgstr "" | ||
266 | "Vous pouvez cliquer ici pour télécharger le contenu des articles vides." | ||
267 | |||
268 | msgid "Export your wallabag data" | ||
269 | msgstr "Exporter vos données de wallabag" | ||
270 | |||
271 | msgid "Click here" | ||
272 | msgstr "Cliquez ici" | ||
273 | |||
274 | msgid "to download your database." | ||
275 | msgstr "pour télécharger votre base de données." | ||
276 | |||
277 | msgid "to export your wallabag data." | ||
278 | msgstr "pour exporter vos données de wallabag." | ||
279 | |||
280 | msgid "Cache" | ||
281 | msgstr "Cache" | ||
282 | |||
283 | msgid "to delete cache." | ||
284 | msgstr "pour effacer le cache." | ||
285 | |||
286 | msgid "Add user" | ||
287 | msgstr "Ajouter un utilisateur" | ||
288 | |||
289 | msgid "Add a new user :" | ||
290 | msgstr "Ajouter un nouvel utilisateur : " | ||
291 | |||
292 | msgid "Login for new user" | ||
293 | msgstr "Identifiant du nouvel utilisateur" | ||
294 | |||
295 | msgid "Login" | ||
296 | msgstr "Nom d'utilisateur" | ||
297 | |||
298 | msgid "Password for new user" | ||
299 | msgstr "Mot de passe du nouvel utilisateur" | ||
300 | |||
301 | msgid "Email for new user (not required)" | ||
302 | msgstr "E-mail pour le nouvel utilisateur (facultatif)" | ||
303 | |||
304 | msgid "Send" | ||
305 | msgstr "Envoyer" | ||
306 | |||
307 | msgid "Delete account" | ||
308 | msgstr "Supprimer le compte" | ||
309 | |||
310 | msgid "You can delete your account by entering your password and validating." | ||
311 | msgstr "" | ||
312 | "Vous pouvez supprimer votre compte en entrant votre mot de passe et en " | ||
313 | "validant." | ||
314 | |||
315 | msgid "Be careful, data will be erased forever (that is a very long time)." | ||
316 | msgstr "Attention, les données seront perdues pour toujours." | ||
317 | |||
318 | msgid "Type here your password" | ||
319 | msgstr "Entrez votre mot de passe ici" | ||
320 | |||
321 | msgid "You are the only user, you cannot delete your own account." | ||
322 | msgstr "" | ||
323 | "Vous êtes l'unique utilisateur, vous ne pouvez pas supprimer votre compte." | ||
324 | |||
325 | msgid "" | ||
326 | "To completely remove wallabag, delete the wallabag folder on your web server " | ||
327 | "(and eventual databases)." | ||
328 | msgstr "" | ||
329 | "Pour désinstaller complètement wallabag, supprimez le répertoire " | ||
330 | "<code>wallabag</code> de votre serveur Web (ainsi que les bases de données " | ||
331 | "éventuelles)." | ||
332 | |||
333 | msgid "Save a link" | ||
334 | msgstr "Ajouter un lien" | ||
335 | |||
336 | msgid "Return home" | ||
337 | msgstr "Retour accueil" | ||
338 | |||
339 | msgid "Back to top" | ||
340 | msgstr "Haut de page" | ||
341 | |||
342 | msgid "Mark as read" | ||
343 | msgstr "Marquer comme lu" | ||
344 | |||
345 | msgid "Favorite" | ||
346 | msgstr "Favoris" | ||
347 | |||
348 | msgid "Toggle favorite" | ||
349 | msgstr "Marquer / enlever comme favori" | ||
350 | |||
351 | msgid "Delete" | ||
352 | msgstr "Effacer" | ||
353 | |||
354 | msgid "Tweet" | ||
355 | msgstr "Tweet" | ||
356 | |||
357 | msgid "Email" | ||
358 | msgstr "E-mail" | ||
359 | |||
360 | msgid "shaarli" | ||
361 | msgstr "Shaarli" | ||
362 | |||
363 | msgid "flattr" | ||
364 | msgstr "Flattr" | ||
365 | |||
366 | msgid "Print" | ||
367 | msgstr "Imprimer" | ||
368 | |||
369 | msgid "Does this article appear wrong?" | ||
370 | msgstr "Cet article s'affiche mal ?" | ||
371 | |||
372 | msgid "tags:" | ||
373 | msgstr "tags :" | ||
374 | |||
375 | msgid "Add tags:" | ||
376 | msgstr "Ajouter des tags :" | ||
377 | |||
378 | msgid "no tags" | ||
379 | msgstr "pas de tags" | ||
380 | |||
381 | msgid "The tag has been applied successfully" | ||
382 | msgstr "Le tag a été appliqué avec succès" | ||
383 | |||
384 | msgid "interview" | ||
385 | msgstr "interview" | ||
386 | |||
387 | msgid "editorial" | ||
388 | msgstr "éditorial" | ||
389 | |||
390 | msgid "video" | ||
391 | msgstr "vidéo" | ||
392 | |||
393 | msgid "Edit tags" | ||
394 | msgstr "Modifier les tags" | ||
395 | |||
396 | msgid "favoris" | ||
397 | msgstr "favoris" | ||
398 | |||
399 | msgid "mark all the entries as read" | ||
400 | msgstr "marquer tous les articles comme lus" | ||
401 | |||
402 | msgid "toggle view mode" | ||
403 | msgstr "changer de mode de visualisation" | ||
404 | |||
405 | msgid "return home" | ||
406 | msgstr "retour à l'accueil" | ||
407 | |||
408 | msgid "Poching a link" | ||
409 | msgstr "Enregistrer un lien" | ||
410 | |||
411 | msgid "by filling this field" | ||
412 | msgstr "en remplissant ce champ" | ||
413 | |||
414 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
415 | msgstr "bookmarklet : glissez-déposez ce lien dans votre barre de favoris" | ||
416 | |||
417 | msgid "your version" | ||
418 | msgstr "votre version" | ||
419 | |||
420 | msgid "latest stable version" | ||
421 | msgstr "dernière version stable" | ||
422 | |||
423 | msgid "a more recent stable version is available." | ||
424 | msgstr "une version stable plus récente est disponible." | ||
425 | |||
426 | msgid "you are up to date." | ||
427 | msgstr "vous êtes à jour." | ||
428 | |||
429 | msgid "latest dev version" | ||
430 | msgstr "dernière version de développement" | ||
431 | |||
432 | msgid "a more recent development version is available." | ||
433 | msgstr "une version de développement plus récente est disponible." | ||
434 | |||
435 | msgid "Please execute the import script locally, it can take a very long time." | ||
436 | msgstr "" | ||
437 | "Merci d'exécuter le script d'importation en local car cela peut prendre du " | ||
438 | "temps." | ||
439 | |||
440 | msgid "More infos in the official doc:" | ||
441 | msgstr "Plus d'infos dans la documentation officielle :" | ||
442 | |||
443 | msgid "import from Pocket" | ||
444 | msgstr "importer depuis Pocket" | ||
445 | |||
446 | #, php-format | ||
447 | msgid "(you must have a %s file on your server)" | ||
448 | msgstr "(le fichier %s doit être présent sur le serveur)" | ||
449 | |||
450 | msgid "import from Readability" | ||
451 | msgstr "importer depuis Readability" | ||
452 | |||
453 | msgid "import from Instapaper" | ||
454 | msgstr "importer depuis Instapaper" | ||
455 | |||
456 | msgid "Start typing for auto complete." | ||
457 | msgstr "Commencez à taper pour activer l'auto-complétion." | ||
458 | |||
459 | msgid "You can enter multiple tags, separated by commas." | ||
460 | msgstr "Vous pouvez entrer plusieurs tags, séparés par des virgules." | ||
461 | |||
462 | msgid "return to article" | ||
463 | msgstr "retourner à l'article" | ||
464 | |||
465 | msgid "by date asc" | ||
466 | msgstr "par date asc" | ||
467 | |||
468 | msgid "by date" | ||
469 | msgstr "par date" | ||
470 | |||
471 | msgid "by date desc" | ||
472 | msgstr "par date desc" | ||
473 | |||
474 | msgid "by title asc" | ||
475 | msgstr "par titre asc" | ||
476 | |||
477 | msgid "by title" | ||
478 | msgstr "par titre" | ||
479 | |||
480 | msgid "by title desc" | ||
481 | msgstr "par titre desc" | ||
482 | |||
483 | msgid "home" | ||
484 | msgstr "accueil" | ||
485 | |||
486 | msgid "tags" | ||
487 | msgstr "tags" | ||
488 | |||
489 | msgid "save a link" | ||
490 | msgstr "sauver un lien" | ||
491 | |||
492 | msgid "search" | ||
493 | msgstr "rechercher" | ||
494 | |||
495 | msgid "logout" | ||
496 | msgstr "déconnexion" | ||
497 | |||
498 | msgid "installation" | ||
499 | msgstr "installation" | ||
500 | |||
501 | msgid "install your wallabag" | ||
502 | msgstr "installez votre wallabag" | ||
503 | |||
504 | msgid "" | ||
505 | "wallabag is still not installed. Please fill the below form to install it. " | ||
506 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
507 | "on wallabag website</a>." | ||
508 | msgstr "" | ||
509 | "wallabag n'est pas encore installé. Merci de remplir le formulaire suivant " | ||
510 | "pour l'installer. N'hésitez pas à <a href='http://doc.wallabag.org'>lire la " | ||
511 | "documentation sur le site de wallabag</a>." | ||
512 | |||
513 | msgid "Repeat your password" | ||
514 | msgstr "Répétez votre mot de passe" | ||
515 | |||
516 | msgid "Install" | ||
517 | msgstr "Installer" | ||
518 | |||
519 | msgid "" | ||
520 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " | ||
521 | "here</a>." | ||
522 | msgstr "" | ||
523 | "Vous pouvez vérifier votre configuration <a " | ||
524 | "href='wallabag_compatibility_test.php'>ici</a>." | ||
525 | |||
526 | msgid "Tags" | ||
527 | msgstr "Tags" | ||
528 | |||
529 | msgid "No link available here!" | ||
530 | msgstr "Aucun lien n'est disponible ici !" | ||
531 | |||
532 | msgid "toggle mark as read" | ||
533 | msgstr "marquer comme lu / non lu" | ||
534 | |||
535 | msgid "tweet" | ||
536 | msgstr "tweet" | ||
537 | |||
538 | msgid "email" | ||
539 | msgstr "e-mail" | ||
540 | |||
541 | msgid "this article appears wrong?" | ||
542 | msgstr "cet article s'affiche mal ?" | ||
543 | |||
544 | msgid "Search" | ||
545 | msgstr "Rechercher" | ||
546 | |||
547 | msgid "Download required for " | ||
548 | msgstr "Téléchargement requis pour " | ||
549 | |||
550 | msgid "records" | ||
551 | msgstr " articles" | ||
552 | |||
553 | msgid "Downloading next " | ||
554 | msgstr "Téléchargement des " | ||
555 | |||
556 | msgid "articles, please wait" | ||
557 | msgstr " articles suivants, veuillez patienter..." | ||
558 | |||
559 | msgid "Enter your search here" | ||
560 | msgstr "Entrez votre recherche ici" | ||
561 | |||
562 | #, php-format | ||
563 | msgid "" | ||
564 | "The new user %s has been installed. Do you want to <a href=\"?logout" | ||
565 | "\">logout ?</a>" | ||
566 | msgstr "" | ||
567 | "Le nouvel utilisateur « %s » a été ajouté. Voulez-vous vous <a href=\"?" | ||
568 | "logout\">déconnecter ?</a>" | ||
569 | |||
570 | #, php-format | ||
571 | msgid "Error : An user with the name %s already exists !" | ||
572 | msgstr "Erreur : Un utilisateur avec le nom « %s » existe déjà !" | ||
573 | |||
574 | #, php-format | ||
575 | msgid "User %s has been successfully deleted !" | ||
576 | msgstr "L'utilisateur « %s » a été supprimé avec succès !" | ||
577 | |||
578 | msgid "Error : The password is wrong !" | ||
579 | msgstr "Erreur : le mot de passe est incorrect !" | ||
580 | |||
581 | msgid "Error : You are the only user, you cannot delete your account !" | ||
582 | msgstr "" | ||
583 | "Erreur : Vous êtes l'unique utilisateur, vous ne pouvez pas supprimer votre " | ||
584 | "compte !" | ||
585 | |||
586 | msgid "Untitled" | ||
587 | msgstr "Sans titre" | ||
588 | |||
589 | msgid "the link has been added successfully" | ||
590 | msgstr "le lien a été ajouté avec succès" | ||
591 | |||
592 | msgid "error during insertion : the link wasn't added" | ||
593 | msgstr "erreur pendant l'insertion : le lien n'a pas été ajouté" | ||
594 | |||
595 | msgid "the link has been deleted successfully" | ||
596 | msgstr "le lien a été effacé avec succès" | ||
597 | |||
598 | msgid "the link wasn't deleted" | ||
599 | msgstr "le lien n'a pas été effacé" | ||
600 | |||
601 | msgid "Article not found!" | ||
602 | msgstr "Article non trouvé !" | ||
603 | |||
604 | msgid "previous" | ||
605 | msgstr "précédent" | ||
606 | |||
607 | msgid "next" | ||
608 | msgstr "suivant" | ||
609 | |||
610 | msgid "in demo mode, you can't update your password" | ||
611 | msgstr "en mode démo, vous ne pouvez pas mettre à jour votre mot de passe" | ||
612 | |||
613 | msgid "your password has been updated" | ||
614 | msgstr "votre mot de passe a été mis à jour" | ||
615 | |||
616 | msgid "" | ||
617 | "the two fields have to be filled & the password must be the same in the two " | ||
618 | "fields" | ||
619 | msgstr "" | ||
620 | "les deux champs doivent être remplis & le mot de passe doit être le même " | ||
621 | "dans les deux" | ||
622 | |||
623 | msgid "still using the \"" | ||
624 | msgstr "vous utilisez toujours \"" | ||
625 | |||
626 | msgid "that theme does not seem to be installed" | ||
627 | msgstr "ce thème ne semble pas installé" | ||
628 | |||
629 | msgid "you have changed your theme preferences" | ||
630 | msgstr "vous avez changé vos préférences de thème" | ||
631 | |||
632 | msgid "that language does not seem to be installed" | ||
633 | msgstr "cette langue ne semble pas être installée" | ||
634 | |||
635 | msgid "you have changed your language preferences" | ||
636 | msgstr "vous avez changé vos préférences de langue" | ||
637 | |||
638 | msgid "login failed: you have to fill all fields" | ||
639 | msgstr "échec de l'identification : vous devez remplir tous les champs" | ||
640 | |||
641 | msgid "welcome to your wallabag" | ||
642 | msgstr "bienvenue dans votre wallabag" | ||
643 | |||
644 | msgid "login failed: bad login or password" | ||
645 | msgstr "échec de l'identification : mauvais identifiant ou mot de passe" | ||
646 | |||
647 | msgid "Untitled - Import - " | ||
648 | msgstr "Sans titre - Importer - " | ||
649 | |||
650 | msgid "click to finish import" | ||
651 | msgstr "cliquez pour terminer l'importation" | ||
652 | |||
653 | msgid "Articles inserted: " | ||
654 | msgstr "Articles ajoutés : " | ||
655 | |||
656 | msgid ". Please note, that some may be marked as \"read\"." | ||
657 | msgstr ". Notez que certains pourraient être marqués comme \"lus\"." | ||
658 | |||
659 | msgid "Import finished." | ||
660 | msgstr "Importation terminée." | ||
661 | |||
662 | msgid "Undefined" | ||
663 | msgstr "Non défini" | ||
664 | |||
665 | msgid "User with this id (" | ||
666 | msgstr "Utilisateur avec cet identifiant (" | ||
667 | |||
668 | msgid "Uh, there is a problem while generating feeds." | ||
669 | msgstr "Hum, il y a un problème lors de la génération des flux." | ||
670 | |||
671 | msgid "Cache deleted." | ||
672 | msgstr "Cache effacé." | ||
673 | |||
674 | msgid "Oops, it seems you don't have PHP 5." | ||
675 | msgstr "Oups, vous ne semblez pas avoir PHP 5." | ||
676 | |||
677 | msgid "Tag these results as" | ||
678 | msgstr "Appliquer à ces résultats le tag" | ||
679 | |||
680 | # ebook | ||
681 | msgid "Fancy an E-Book ?" | ||
682 | msgstr "Envie d'un E-Book ?" | ||
683 | |||
684 | msgid "Click to get all your articles in one ebook :" | ||
685 | msgstr "Cliquez pour obtenir tous vos articles dans un E-Book :" | ||
686 | |||
687 | msgid "Generate ePub file" | ||
688 | msgstr "Générer fichier ePub" | ||
689 | |||
690 | msgid "Generate Mobi file" | ||
691 | msgstr "Générer fichier Mobi" | ||
692 | |||
693 | msgid "Generate PDF file" | ||
694 | msgstr "Générer fichier PDF" | ||
695 | |||
696 | msgid "" | ||
697 | "This can <b>take a while</b> and can <b>even fail</b> if you have too many " | ||
698 | "articles, depending on your server configuration." | ||
699 | msgstr "" | ||
700 | "Ceci peut <b>prendre un moment</b> et même <b>échouer</b> si vous avez trop " | ||
701 | "d'articles, selon la configuration matérielle de votre serveur." | ||
702 | |||
703 | msgid "Download the articles from this tag in an epub" | ||
704 | msgstr "Télécharger les articles de ce tag dans un epub" | ||
705 | |||
706 | msgid "Download the articles from this search in an epub" | ||
707 | msgstr "Télécharger les articles de cette recherche dans un epub" | ||
708 | |||
709 | msgid "Download the articles from this category in an epub" | ||
710 | msgstr "Télécharger les articles de cette catégorie dans un epub" | ||
711 | |||
712 | msgid "Download the articles from this tag in an ePub file" | ||
713 | msgstr "Télécharger les articles de ce tag dans un fichier ePub" | ||
714 | |||
715 | msgid "Download the articles from this tag in an Mobi file" | ||
716 | msgstr "Télécharger les articles de ce tag dans un fichier Mobi" | ||
717 | |||
718 | msgid "Download the articles from this tag in an PDF file" | ||
719 | msgstr "Télécharger les articles de ce tag dans un fichier PDF" | ||
720 | |||
721 | msgid "Download the articles from this search in an ePub" | ||
722 | msgstr "Télécharger les articles de cette recherche dans un fichier ePub" | ||
723 | |||
724 | msgid "Download the articles from this search in a Mobi file" | ||
725 | msgstr "Télécharger les articles de cette recherche dans un fichier Mobi" | ||
726 | |||
727 | msgid "Download the articles from this search in a PDF file" | ||
728 | msgstr "Télécharger les articles de cette recherche dans un fichier PDF" | ||
729 | |||
730 | msgid "Download the articles from this category in an ePub" | ||
731 | msgstr "Télécharger les articles de cette catégorie dans un fichier ePub" | ||
732 | |||
733 | msgid "Download the articles from this category in a Mobi file" | ||
734 | msgstr "Télécharger les articles de cette catégorie dans un fichier Mobi" | ||
735 | |||
736 | msgid "Download the articles from this category in a PDF file" | ||
737 | msgstr "Télécharger les articles de cette catégorie dans un fichier PDF" | ||
738 | |||
739 | msgid "Download as ePub3" | ||
740 | msgstr "Télécharger en ePub3" | ||
741 | |||
742 | msgid "Download as Mobi" | ||
743 | msgstr "Télécharger en Mobi" | ||
744 | |||
745 | msgid "Download as PDF" | ||
746 | msgstr "Télécharger en PDF" | ||
747 | |||
748 | msgid "All my articles on %s" | ||
749 | msgstr "Tous mes articles le %s" | ||
750 | |||
751 | msgid "Allarticles" | ||
752 | msgstr "TousArticles" | ||
753 | |||
754 | msgid "Articles tagged %s" | ||
755 | msgstr "Articles avec le tag %s" | ||
756 | |||
757 | msgid "Tag %s" | ||
758 | msgstr "Tag %s" | ||
759 | |||
760 | msgid "Articles in category %s" | ||
761 | msgstr "Articles de la catégorie %s" | ||
762 | |||
763 | msgid "Category %s" | ||
764 | msgstr "Catégorie %s" | ||
765 | |||
766 | msgid "Articles for search %s" | ||
767 | msgstr "Articles pour la recherche %s" | ||
768 | |||
769 | msgid "Search %s" | ||
770 | msgstr "Recherche %s" | ||
771 | |||
772 | msgid "wallabag articles book" | ||
773 | msgstr "Livre d'articles issus de wallabag" | ||
774 | |||
775 | msgid "Some articles saved on my wallabag" | ||
776 | msgstr "Des articles sauvegardés sur wallabag" | ||
777 | |||
778 | msgid "Produced by wallabag with PHPePub" | ||
779 | msgstr "Produit par wallabag avec PHPePub" | ||
780 | |||
781 | msgid "" | ||
782 | "Please open <a href='https://github.com/wallabag/wallabag/issues'>an issue</" | ||
783 | "a> if you have trouble with the display of this E-Book on your device." | ||
784 | msgstr "" | ||
785 | "Merci d'ouvrir <a href='https://github.com/wallabag/wallabag/issues'>un " | ||
786 | "ticket</a> si vous avez des problèmes d'affichage de cet E-Book sur votre " | ||
787 | "appareil." | ||
788 | |||
789 | msgid "Produced by wallabag with PHPMobi" | ||
790 | msgstr "Produit par wallabag avec PHPMobi" | ||
791 | |||
792 | msgid "Mail function is disabled. You can't send emails from your server" | ||
793 | msgstr "" | ||
794 | "La fonction mail est désactivée. Vous ne pouvez pas envoyer d'E-mails depuis " | ||
795 | "votre serveur" | ||
796 | |||
797 | msgid "You didn't set your kindle's email adress !" | ||
798 | msgstr "Vous n'avez pas renseigné l'adresse E-mail de votre Kindle !" | ||
799 | |||
800 | msgid "The email has been sent to your kindle !" | ||
801 | msgstr "L'E-mail a été envoyé à votre Kindle !" | ||
802 | |||
803 | msgid "Produced by wallabag with mPDF" | ||
804 | msgstr "Produit par wallabag avec mPDF" | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/it_IT.utf8/LC_MESSAGES/it_IT.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/it_IT.utf8/LC_MESSAGES/it_IT.utf8.mo deleted file mode 100644 index 42e26ba0..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/it_IT.utf8/LC_MESSAGES/it_IT.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/it_IT.utf8/LC_MESSAGES/it_IT.utf8.po b/src/Wallabag/Wallabag/Resources/translations/it_IT.utf8/LC_MESSAGES/it_IT.utf8.po deleted file mode 100644 index 41cc01e0..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/it_IT.utf8/LC_MESSAGES/it_IT.utf8.po +++ /dev/null | |||
@@ -1,568 +0,0 @@ | |||
1 | # | ||
2 | # Translators: | ||
3 | # Damtux <sun_lion@live.com>, 2013 | ||
4 | msgid "" | ||
5 | msgstr "" | ||
6 | "Project-Id-Version: poche\n" | ||
7 | "Report-Msgid-Bugs-To: \n" | ||
8 | "POT-Creation-Date: 2014-02-25 15:13+0300\n" | ||
9 | "PO-Revision-Date: 2014-02-25 15:13+0300\n" | ||
10 | "Last-Translator: Maryana <mariroz@mr.lviv.ua>\n" | ||
11 | "Language-Team: Italian (http://www.transifex.com/projects/p/poche/language/it/)\n" | ||
12 | "Language: it\n" | ||
13 | "MIME-Version: 1.0\n" | ||
14 | "Content-Type: text/plain; charset=UTF-8\n" | ||
15 | "Content-Transfer-Encoding: 8bit\n" | ||
16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||
17 | "X-Generator: Poedit 1.5.4\n" | ||
18 | "X-Poedit-Language: Italian\n" | ||
19 | "X-Poedit-Country: ITALY\n" | ||
20 | "X-Poedit-Basepath: .\n" | ||
21 | "X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-testing\n" | ||
22 | |||
23 | msgid "wallabag, a read it later open source system" | ||
24 | msgstr "" | ||
25 | |||
26 | msgid "login failed: user doesn't exist" | ||
27 | msgstr "" | ||
28 | |||
29 | msgid "return home" | ||
30 | msgstr "" | ||
31 | |||
32 | msgid "config" | ||
33 | msgstr "configurazione" | ||
34 | |||
35 | msgid "Saving articles" | ||
36 | msgstr "" | ||
37 | |||
38 | msgid "There are several ways to save an article:" | ||
39 | msgstr "" | ||
40 | |||
41 | msgid "read the documentation" | ||
42 | msgstr "leggi la documentazione" | ||
43 | |||
44 | msgid "download the extension" | ||
45 | msgstr "" | ||
46 | |||
47 | msgid "via F-Droid" | ||
48 | msgstr "" | ||
49 | |||
50 | msgid " or " | ||
51 | msgstr "" | ||
52 | |||
53 | msgid "via Google Play" | ||
54 | msgstr "" | ||
55 | |||
56 | msgid "download the application" | ||
57 | msgstr "" | ||
58 | |||
59 | #, fuzzy | ||
60 | msgid "By filling this field" | ||
61 | msgstr "compilando questo campo" | ||
62 | |||
63 | msgid "bag it!" | ||
64 | msgstr "" | ||
65 | |||
66 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
67 | msgstr "" | ||
68 | |||
69 | msgid "Upgrading wallabag" | ||
70 | msgstr "" | ||
71 | |||
72 | #, fuzzy | ||
73 | msgid "Installed version" | ||
74 | msgstr "ultima versione stabile" | ||
75 | |||
76 | #, fuzzy | ||
77 | msgid "Latest stable version" | ||
78 | msgstr "ultima versione stabile" | ||
79 | |||
80 | #, fuzzy | ||
81 | msgid "A more recent stable version is available." | ||
82 | msgstr "è disponibile una versione stabile più recente." | ||
83 | |||
84 | #, fuzzy | ||
85 | msgid "You are up to date." | ||
86 | msgstr "sei aggiornato." | ||
87 | |||
88 | #, fuzzy | ||
89 | msgid "Latest dev version" | ||
90 | msgstr "ultima versione di sviluppo" | ||
91 | |||
92 | #, fuzzy | ||
93 | msgid "A more recent development version is available." | ||
94 | msgstr "è disponibile una versione di sviluppo più recente." | ||
95 | |||
96 | msgid "Feeds" | ||
97 | msgstr "" | ||
98 | |||
99 | msgid "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
100 | msgstr "" | ||
101 | |||
102 | msgid "Unread feed" | ||
103 | msgstr "" | ||
104 | |||
105 | #, fuzzy | ||
106 | msgid "Favorites feed" | ||
107 | msgstr "preferiti" | ||
108 | |||
109 | #, fuzzy | ||
110 | msgid "Archive feed" | ||
111 | msgstr "archivio" | ||
112 | |||
113 | msgid "Your token:" | ||
114 | msgstr "" | ||
115 | |||
116 | msgid "Your user id:" | ||
117 | msgstr "" | ||
118 | |||
119 | msgid "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." | ||
120 | msgstr "" | ||
121 | |||
122 | #, fuzzy | ||
123 | msgid "Change your theme" | ||
124 | msgstr "Cambia la tua password" | ||
125 | |||
126 | msgid "Theme:" | ||
127 | msgstr "" | ||
128 | |||
129 | msgid "Update" | ||
130 | msgstr "Aggiorna" | ||
131 | |||
132 | #, fuzzy | ||
133 | msgid "Change your language" | ||
134 | msgstr "Cambia la tua password" | ||
135 | |||
136 | msgid "Language:" | ||
137 | msgstr "" | ||
138 | |||
139 | msgid "Change your password" | ||
140 | msgstr "Cambia la tua password" | ||
141 | |||
142 | msgid "New password:" | ||
143 | msgstr "Nuova password:" | ||
144 | |||
145 | msgid "Password" | ||
146 | msgstr "Password" | ||
147 | |||
148 | msgid "Repeat your new password:" | ||
149 | msgstr "Ripeti la nuova password:" | ||
150 | |||
151 | msgid "Import" | ||
152 | msgstr "Importa" | ||
153 | |||
154 | #, fuzzy | ||
155 | msgid "Please execute the import script locally as it can take a very long time." | ||
156 | msgstr "Si prega di eseguire lo script di importazione a livello locale, può richiedere un tempo molto lungo." | ||
157 | |||
158 | #, fuzzy | ||
159 | msgid "More info in the official documentation:" | ||
160 | msgstr "Maggiori info nella documentazione ufficiale" | ||
161 | |||
162 | #, fuzzy | ||
163 | msgid "Import from Pocket" | ||
164 | msgstr "Importa da Pocket" | ||
165 | |||
166 | #, php-format | ||
167 | msgid "(you must have a %s file on your server)" | ||
168 | msgstr "" | ||
169 | |||
170 | #, fuzzy | ||
171 | msgid "Import from Readability" | ||
172 | msgstr "Importa da Readability" | ||
173 | |||
174 | #, fuzzy | ||
175 | msgid "Import from Instapaper" | ||
176 | msgstr "Importa da Instapaper" | ||
177 | |||
178 | #, fuzzy | ||
179 | msgid "Import from wallabag" | ||
180 | msgstr "Importa da Readability" | ||
181 | |||
182 | #, fuzzy | ||
183 | msgid "Export your wallabag data" | ||
184 | msgstr "Esporta i tuoi dati di poche" | ||
185 | |||
186 | msgid "Click here" | ||
187 | msgstr "Fai clic qui" | ||
188 | |||
189 | msgid "to download your database." | ||
190 | msgstr "" | ||
191 | |||
192 | #, fuzzy | ||
193 | msgid "to export your wallabag data." | ||
194 | msgstr "per esportare i tuoi dati di poche." | ||
195 | |||
196 | msgid "Cache" | ||
197 | msgstr "" | ||
198 | |||
199 | msgid "to delete cache." | ||
200 | msgstr "" | ||
201 | |||
202 | msgid "You can enter multiple tags, separated by commas." | ||
203 | msgstr "" | ||
204 | |||
205 | msgid "return to article" | ||
206 | msgstr "" | ||
207 | |||
208 | msgid "plop" | ||
209 | msgstr "plop" | ||
210 | |||
211 | msgid "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>." | ||
212 | msgstr "" | ||
213 | |||
214 | msgid "favoris" | ||
215 | msgstr "preferiti" | ||
216 | |||
217 | msgid "archive" | ||
218 | msgstr "archivio" | ||
219 | |||
220 | msgid "unread" | ||
221 | msgstr "non letti" | ||
222 | |||
223 | msgid "by date asc" | ||
224 | msgstr "per data cresc" | ||
225 | |||
226 | msgid "by date" | ||
227 | msgstr "per data" | ||
228 | |||
229 | msgid "by date desc" | ||
230 | msgstr "per data decr" | ||
231 | |||
232 | msgid "by title asc" | ||
233 | msgstr "per titolo cresc" | ||
234 | |||
235 | msgid "by title" | ||
236 | msgstr "per titolo" | ||
237 | |||
238 | msgid "by title desc" | ||
239 | msgstr "per titolo decr" | ||
240 | |||
241 | msgid "Tag" | ||
242 | msgstr "" | ||
243 | |||
244 | msgid "No articles found." | ||
245 | msgstr "" | ||
246 | |||
247 | #, fuzzy | ||
248 | msgid "Toggle mark as read" | ||
249 | msgstr "segna come letto / non letto" | ||
250 | |||
251 | msgid "toggle favorite" | ||
252 | msgstr "segna come preferito" | ||
253 | |||
254 | msgid "delete" | ||
255 | msgstr "elimina" | ||
256 | |||
257 | msgid "original" | ||
258 | msgstr "originale" | ||
259 | |||
260 | msgid "estimated reading time:" | ||
261 | msgstr "" | ||
262 | |||
263 | msgid "mark all the entries as read" | ||
264 | msgstr "" | ||
265 | |||
266 | msgid "results" | ||
267 | msgstr "risultati" | ||
268 | |||
269 | msgid "installation" | ||
270 | msgstr "installazione" | ||
271 | |||
272 | #, fuzzy | ||
273 | msgid "install your wallabag" | ||
274 | msgstr "installa il tuo poche" | ||
275 | |||
276 | #, fuzzy | ||
277 | msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation on wallabag website</a>." | ||
278 | msgstr "poche non è ancora installato. Si prega di riempire il modulo sottostante per completare l'installazione. <a href='http://doc.inthepoche.com'>Leggere la documentazione sul sito di poche</a>." | ||
279 | |||
280 | msgid "Login" | ||
281 | msgstr "Nome utente" | ||
282 | |||
283 | msgid "Repeat your password" | ||
284 | msgstr "Ripeti la tua password" | ||
285 | |||
286 | msgid "Install" | ||
287 | msgstr "Installa" | ||
288 | |||
289 | #, fuzzy | ||
290 | msgid "login to your wallabag" | ||
291 | msgstr "accedi al tuo poche" | ||
292 | |||
293 | msgid "Login to wallabag" | ||
294 | msgstr "" | ||
295 | |||
296 | msgid "you are in demo mode, some features may be disabled." | ||
297 | msgstr "sei in modalità dimostrazione, alcune funzionalità potrebbero essere disattivate." | ||
298 | |||
299 | msgid "Username" | ||
300 | msgstr "" | ||
301 | |||
302 | msgid "Stay signed in" | ||
303 | msgstr "Resta connesso" | ||
304 | |||
305 | msgid "(Do not check on public computers)" | ||
306 | msgstr "(non selezionare su computer pubblici)" | ||
307 | |||
308 | msgid "Sign in" | ||
309 | msgstr "Accedi" | ||
310 | |||
311 | msgid "favorites" | ||
312 | msgstr "preferiti" | ||
313 | |||
314 | msgid "estimated reading time :" | ||
315 | msgstr "" | ||
316 | |||
317 | msgid "Mark all the entries as read" | ||
318 | msgstr "" | ||
319 | |||
320 | msgid "Return home" | ||
321 | msgstr "" | ||
322 | |||
323 | #, fuzzy | ||
324 | msgid "Back to top" | ||
325 | msgstr "torna a inizio pagina" | ||
326 | |||
327 | #, fuzzy | ||
328 | msgid "Mark as read" | ||
329 | msgstr "segna come letto / non letto" | ||
330 | |||
331 | #, fuzzy | ||
332 | msgid "Favorite" | ||
333 | msgstr "preferiti" | ||
334 | |||
335 | #, fuzzy | ||
336 | msgid "Toggle favorite" | ||
337 | msgstr "segna come preferito" | ||
338 | |||
339 | #, fuzzy | ||
340 | msgid "Delete" | ||
341 | msgstr "elimina" | ||
342 | |||
343 | #, fuzzy | ||
344 | msgid "Tweet" | ||
345 | msgstr "twitta" | ||
346 | |||
347 | #, fuzzy | ||
348 | msgid "Email" | ||
349 | msgstr "email" | ||
350 | |||
351 | msgid "shaarli" | ||
352 | msgstr "shaarli" | ||
353 | |||
354 | msgid "flattr" | ||
355 | msgstr "flattr" | ||
356 | |||
357 | #, fuzzy | ||
358 | msgid "Does this article appear wrong?" | ||
359 | msgstr "articolo non visualizzato correttamente?" | ||
360 | |||
361 | msgid "tags:" | ||
362 | msgstr "" | ||
363 | |||
364 | msgid "Edit tags" | ||
365 | msgstr "" | ||
366 | |||
367 | msgid "save link!" | ||
368 | msgstr "" | ||
369 | |||
370 | msgid "home" | ||
371 | msgstr "home" | ||
372 | |||
373 | msgid "tags" | ||
374 | msgstr "" | ||
375 | |||
376 | msgid "logout" | ||
377 | msgstr "esci" | ||
378 | |||
379 | msgid "powered by" | ||
380 | msgstr "realizzato con" | ||
381 | |||
382 | msgid "debug mode is on so cache is off." | ||
383 | msgstr "modalità di debug attiva, cache disattivata." | ||
384 | |||
385 | #, fuzzy | ||
386 | msgid "your wallabag version:" | ||
387 | msgstr "la tua versione" | ||
388 | |||
389 | msgid "storage:" | ||
390 | msgstr "memoria:" | ||
391 | |||
392 | msgid "save a link" | ||
393 | msgstr "" | ||
394 | |||
395 | msgid "back to home" | ||
396 | msgstr "torna alla home" | ||
397 | |||
398 | msgid "toggle mark as read" | ||
399 | msgstr "segna come letto / non letto" | ||
400 | |||
401 | msgid "tweet" | ||
402 | msgstr "twitta" | ||
403 | |||
404 | msgid "email" | ||
405 | msgstr "email" | ||
406 | |||
407 | msgid "this article appears wrong?" | ||
408 | msgstr "articolo non visualizzato correttamente?" | ||
409 | |||
410 | msgid "No link available here!" | ||
411 | msgstr "Nessun link disponibile!" | ||
412 | |||
413 | msgid "Poching a link" | ||
414 | msgstr "Pochare un link" | ||
415 | |||
416 | msgid "by filling this field" | ||
417 | msgstr "compilando questo campo" | ||
418 | |||
419 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
420 | msgstr "" | ||
421 | |||
422 | msgid "your version" | ||
423 | msgstr "la tua versione" | ||
424 | |||
425 | msgid "latest stable version" | ||
426 | msgstr "ultima versione stabile" | ||
427 | |||
428 | msgid "a more recent stable version is available." | ||
429 | msgstr "è disponibile una versione stabile più recente." | ||
430 | |||
431 | msgid "you are up to date." | ||
432 | msgstr "sei aggiornato." | ||
433 | |||
434 | msgid "latest dev version" | ||
435 | msgstr "ultima versione di sviluppo" | ||
436 | |||
437 | msgid "a more recent development version is available." | ||
438 | msgstr "è disponibile una versione di sviluppo più recente." | ||
439 | |||
440 | msgid "Please execute the import script locally, it can take a very long time." | ||
441 | msgstr "Si prega di eseguire lo script di importazione a livello locale, può richiedere un tempo molto lungo." | ||
442 | |||
443 | #, fuzzy | ||
444 | msgid "More infos in the official doc:" | ||
445 | msgstr "Maggiori info nella documentazione ufficiale" | ||
446 | |||
447 | msgid "import from Pocket" | ||
448 | msgstr "Importa da Pocket" | ||
449 | |||
450 | msgid "import from Readability" | ||
451 | msgstr "Importa da Readability" | ||
452 | |||
453 | msgid "import from Instapaper" | ||
454 | msgstr "Importa da Instapaper" | ||
455 | |||
456 | msgid "Tags" | ||
457 | msgstr "" | ||
458 | |||
459 | #, fuzzy | ||
460 | msgid "Untitled" | ||
461 | msgstr "per titolo" | ||
462 | |||
463 | msgid "the link has been added successfully" | ||
464 | msgstr "" | ||
465 | |||
466 | msgid "error during insertion : the link wasn't added" | ||
467 | msgstr "" | ||
468 | |||
469 | msgid "the link has been deleted successfully" | ||
470 | msgstr "" | ||
471 | |||
472 | msgid "the link wasn't deleted" | ||
473 | msgstr "" | ||
474 | |||
475 | msgid "Article not found!" | ||
476 | msgstr "" | ||
477 | |||
478 | msgid "previous" | ||
479 | msgstr "" | ||
480 | |||
481 | msgid "next" | ||
482 | msgstr "" | ||
483 | |||
484 | msgid "in demo mode, you can't update your password" | ||
485 | msgstr "" | ||
486 | |||
487 | msgid "your password has been updated" | ||
488 | msgstr "" | ||
489 | |||
490 | msgid "the two fields have to be filled & the password must be the same in the two fields" | ||
491 | msgstr "" | ||
492 | |||
493 | msgid "still using the \"" | ||
494 | msgstr "" | ||
495 | |||
496 | msgid "that theme does not seem to be installed" | ||
497 | msgstr "" | ||
498 | |||
499 | msgid "you have changed your theme preferences" | ||
500 | msgstr "" | ||
501 | |||
502 | msgid "that language does not seem to be installed" | ||
503 | msgstr "" | ||
504 | |||
505 | msgid "you have changed your language preferences" | ||
506 | msgstr "" | ||
507 | |||
508 | msgid "login failed: you have to fill all fields" | ||
509 | msgstr "" | ||
510 | |||
511 | msgid "welcome to your wallabag" | ||
512 | msgstr "" | ||
513 | |||
514 | msgid "login failed: bad login or password" | ||
515 | msgstr "" | ||
516 | |||
517 | #, fuzzy | ||
518 | msgid "import from instapaper completed" | ||
519 | msgstr "Importa da Instapaper" | ||
520 | |||
521 | #, fuzzy | ||
522 | msgid "import from pocket completed" | ||
523 | msgstr "Importa da Pocket" | ||
524 | |||
525 | #, fuzzy | ||
526 | msgid "import from Readability completed. " | ||
527 | msgstr "Importa da Readability" | ||
528 | |||
529 | #, fuzzy | ||
530 | msgid "import from Poche completed. " | ||
531 | msgstr "Importa da Pocket" | ||
532 | |||
533 | msgid "Unknown import provider." | ||
534 | msgstr "" | ||
535 | |||
536 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
537 | msgstr "" | ||
538 | |||
539 | msgid "Could not find required \"" | ||
540 | msgstr "" | ||
541 | |||
542 | msgid "Uh, there is a problem while generating feeds." | ||
543 | msgstr "" | ||
544 | |||
545 | #, fuzzy | ||
546 | msgid "Cache deleted." | ||
547 | msgstr "elimina" | ||
548 | |||
549 | msgid "Oops, it seems you don't have PHP 5." | ||
550 | msgstr "" | ||
551 | |||
552 | #~ msgid "poche it!" | ||
553 | #~ msgstr "pochalo!" | ||
554 | |||
555 | #~ msgid "Updating poche" | ||
556 | #~ msgstr "Aggiornamento poche" | ||
557 | |||
558 | #~ msgid "create an issue" | ||
559 | #~ msgstr "crea una segnalazione" | ||
560 | |||
561 | #~ msgid "or" | ||
562 | #~ msgstr "oppure" | ||
563 | |||
564 | #~ msgid "contact us by mail" | ||
565 | #~ msgstr "contattaci via email" | ||
566 | |||
567 | #~ msgid "your poche version:" | ||
568 | #~ msgstr "la tua versione di poche:" | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo deleted file mode 100644 index 297516c0..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po b/src/Wallabag/Wallabag/Resources/translations/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po deleted file mode 100755 index e39156e6..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po +++ /dev/null | |||
@@ -1,553 +0,0 @@ | |||
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: skibbipl <skibbipl@users.noreply.github.com>\n" | ||
8 | "Language-Team: \n" | ||
9 | "Language: pl\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.6.6\n" | ||
14 | "X-Poedit-Basepath: .\n" | ||
15 | "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " | ||
16 | "|| n%100>=20) ? 1 : 2);\n" | ||
17 | "X-Poedit-SourceCharset: UTF-8\n" | ||
18 | "X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-" | ||
19 | "testing\n" | ||
20 | |||
21 | msgid "wallabag, a read it later open source system" | ||
22 | msgstr "wallabag, open source'owy system typu \"przeczytaj to później\"" | ||
23 | |||
24 | msgid "login failed: user doesn't exist" | ||
25 | msgstr "logowanie się nie powiodło: użytkownik nie istnieje" | ||
26 | |||
27 | msgid "return home" | ||
28 | msgstr "powrót do strony domowej" | ||
29 | |||
30 | msgid "config" | ||
31 | msgstr "konfiguracja" | ||
32 | |||
33 | msgid "Saving articles" | ||
34 | msgstr "Zapisywanie artykułów" | ||
35 | |||
36 | msgid "There are several ways to save an article:" | ||
37 | msgstr "Istnieje kilka sposobów aby zapisać artykuł:" | ||
38 | |||
39 | msgid "read the documentation" | ||
40 | msgstr "przeczytaj dokumentację" | ||
41 | |||
42 | msgid "download the extension" | ||
43 | msgstr "pobierz rozszerzenie" | ||
44 | |||
45 | msgid "via F-Droid" | ||
46 | msgstr "przez F-Droid" | ||
47 | |||
48 | msgid " or " | ||
49 | msgstr "albo " | ||
50 | |||
51 | msgid "via Google Play" | ||
52 | msgstr "przez Google Play" | ||
53 | |||
54 | msgid "download the application" | ||
55 | msgstr "pobierz aplikację" | ||
56 | |||
57 | msgid "By filling this field" | ||
58 | msgstr "Poprzez wypełnienie tego pola" | ||
59 | |||
60 | msgid "bag it!" | ||
61 | msgstr "zapisz!" | ||
62 | |||
63 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
64 | msgstr "Skryptozakładka: przeciągnij i upuść ten link na twój pasek zakładek" | ||
65 | |||
66 | msgid "Upgrading wallabag" | ||
67 | msgstr "Aktualizacja wallabag" | ||
68 | |||
69 | msgid "Installed version" | ||
70 | msgstr "Zainstalowana wersja" | ||
71 | |||
72 | msgid "Latest stable version" | ||
73 | msgstr "Najnowsza stabilna wersja" | ||
74 | |||
75 | msgid "A more recent stable version is available." | ||
76 | msgstr "Nowsza stabilna wersja jest dostępna." | ||
77 | |||
78 | msgid "You are up to date." | ||
79 | msgstr "Posiadasz najnowszą wersję." | ||
80 | |||
81 | msgid "Latest dev version" | ||
82 | msgstr "Najnowsza wersja developerska" | ||
83 | |||
84 | msgid "A more recent development version is available." | ||
85 | msgstr "Nowsza developerska wersja jest dostępna." | ||
86 | |||
87 | msgid "Feeds" | ||
88 | msgstr "Kanały" | ||
89 | |||
90 | msgid "" | ||
91 | "Your feed token is currently empty and must first be generated to enable " | ||
92 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
93 | msgstr "" | ||
94 | "Twój token kanału jest aktualnie pusty i musi zostać wygenerowany, aby " | ||
95 | "włączyć kanały. Kliknij <a href='?feed&action=generate'>tutaj, aby go " | ||
96 | "wygenerować</a>." | ||
97 | |||
98 | msgid "Unread feed" | ||
99 | msgstr "Nieprzeczytane kanały" | ||
100 | |||
101 | msgid "Favorites feed" | ||
102 | msgstr "Ulubione kanały" | ||
103 | |||
104 | msgid "Archive feed" | ||
105 | msgstr "Kanały archiwum" | ||
106 | |||
107 | msgid "Your token:" | ||
108 | msgstr "Twój token:" | ||
109 | |||
110 | msgid "Your user id:" | ||
111 | msgstr "Twój id użytkownika:" | ||
112 | |||
113 | msgid "" | ||
114 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" | ||
115 | "</a>." | ||
116 | msgstr "" | ||
117 | "Możesz wygenewrować ponownie swój token: <a href='?feed&" | ||
118 | "action=generate'>generuj!</a>." | ||
119 | |||
120 | msgid "Change your theme" | ||
121 | msgstr "Zmień swój motyw" | ||
122 | |||
123 | msgid "Theme:" | ||
124 | msgstr "Motyw:" | ||
125 | |||
126 | msgid "Update" | ||
127 | msgstr "Aktualizuj" | ||
128 | |||
129 | msgid "Change your language" | ||
130 | msgstr "Zmień język" | ||
131 | |||
132 | msgid "Language:" | ||
133 | msgstr "Język:" | ||
134 | |||
135 | msgid "Change your password" | ||
136 | msgstr "Zmień swoje hasło" | ||
137 | |||
138 | msgid "New password:" | ||
139 | msgstr "Nowe hasło:" | ||
140 | |||
141 | msgid "Password" | ||
142 | msgstr "Hasło" | ||
143 | |||
144 | msgid "Repeat your new password:" | ||
145 | msgstr "Powtórz twoje nowe hasło:" | ||
146 | |||
147 | msgid "Import" | ||
148 | msgstr "Import" | ||
149 | |||
150 | msgid "" | ||
151 | "Please execute the import script locally as it can take a very long time." | ||
152 | msgstr "" | ||
153 | "Proszę wykonaj skrypt importu lokalnie, ponieważ może to trwać bardzo długo." | ||
154 | |||
155 | msgid "More info in the official documentation:" | ||
156 | msgstr "Więcej informacji znajdziesz w oficjalnej dokumentacji:" | ||
157 | |||
158 | msgid "Import from Pocket" | ||
159 | msgstr "Importuj z Pocket" | ||
160 | |||
161 | #, php-format | ||
162 | msgid "(you must have a %s file on your server)" | ||
163 | msgstr "(musisz mieć plik %s na swoim serwerze)" | ||
164 | |||
165 | msgid "Import from Readability" | ||
166 | msgstr "Importuj z Readability" | ||
167 | |||
168 | msgid "Import from Instapaper" | ||
169 | msgstr "Importuj z Instapaper" | ||
170 | |||
171 | msgid "Import from wallabag" | ||
172 | msgstr "Importuj z wallabag" | ||
173 | |||
174 | msgid "Export your wallabag data" | ||
175 | msgstr "Wyeksportuj swoje dane wallabag" | ||
176 | |||
177 | msgid "Click here" | ||
178 | msgstr "Kliknij tu" | ||
179 | |||
180 | msgid "to download your database." | ||
181 | msgstr "aby pobrać twoją bazę danych." | ||
182 | |||
183 | msgid "to export your wallabag data." | ||
184 | msgstr "aby wyeksportować dane wallabag." | ||
185 | |||
186 | msgid "Cache" | ||
187 | msgstr "Cache" | ||
188 | |||
189 | msgid "to delete cache." | ||
190 | msgstr "aby wyczyścić cache." | ||
191 | |||
192 | msgid "You can enter multiple tags, separated by commas." | ||
193 | msgstr "Możesz wprowadzić wiele tagów, oddzielonych przecinkami." | ||
194 | |||
195 | msgid "return to article" | ||
196 | msgstr "powrót do artykułu" | ||
197 | |||
198 | msgid "plop" | ||
199 | msgstr "plop" | ||
200 | |||
201 | msgid "" | ||
202 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " | ||
203 | "here</a>." | ||
204 | msgstr "" | ||
205 | "Możesz <a href='wallabag_compatibility_test.php'>sprawdzić swoją " | ||
206 | "konfigurację tutaj</a>." | ||
207 | |||
208 | msgid "favoris" | ||
209 | msgstr "favoris" | ||
210 | |||
211 | msgid "archive" | ||
212 | msgstr "archiwum" | ||
213 | |||
214 | msgid "unread" | ||
215 | msgstr "nieprzeczytane" | ||
216 | |||
217 | msgid "by date asc" | ||
218 | msgstr "po dacie rosnąco" | ||
219 | |||
220 | msgid "by date" | ||
221 | msgstr "po dacie" | ||
222 | |||
223 | msgid "by date desc" | ||
224 | msgstr "po dacie malejąco" | ||
225 | |||
226 | msgid "by title asc" | ||
227 | msgstr "po tytule rosnąco" | ||
228 | |||
229 | msgid "by title" | ||
230 | msgstr "po tytule" | ||
231 | |||
232 | msgid "by title desc" | ||
233 | msgstr "po tytule malejąco" | ||
234 | |||
235 | msgid "Tag" | ||
236 | msgstr "Otaguj" | ||
237 | |||
238 | msgid "No articles found." | ||
239 | msgstr "Nie znaleziono artykułów." | ||
240 | |||
241 | msgid "Toggle mark as read" | ||
242 | msgstr "Przełącz jako przeczytane" | ||
243 | |||
244 | msgid "toggle favorite" | ||
245 | msgstr "przełącz ulubione" | ||
246 | |||
247 | msgid "delete" | ||
248 | msgstr "usuń" | ||
249 | |||
250 | msgid "original" | ||
251 | msgstr "oryginał" | ||
252 | |||
253 | msgid "estimated reading time:" | ||
254 | msgstr "szacowany czas czytania:" | ||
255 | |||
256 | msgid "mark all the entries as read" | ||
257 | msgstr "zaznacz wszystkie wpisy jako przeczytane" | ||
258 | |||
259 | msgid "results" | ||
260 | msgstr "rezultaty" | ||
261 | |||
262 | msgid "installation" | ||
263 | msgstr "instalacja" | ||
264 | |||
265 | msgid "install your wallabag" | ||
266 | msgstr "zainstauj wallabag" | ||
267 | |||
268 | msgid "" | ||
269 | "wallabag is still not installed. Please fill the below form to install it. " | ||
270 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
271 | "on wallabag website</a>." | ||
272 | msgstr "" | ||
273 | "wallabag wciąż nie jest zainstalowany. Proszę wypełnij poniższy formularz " | ||
274 | "aby go zainstalować. Nie wahaj się <a href='http://doc.wallabag." | ||
275 | "org/'>przeczytać dokumentacji na stronie wallabag</a>." | ||
276 | |||
277 | msgid "Login" | ||
278 | msgstr "Login" | ||
279 | |||
280 | msgid "Repeat your password" | ||
281 | msgstr "Powtórz swoje hasło" | ||
282 | |||
283 | msgid "Install" | ||
284 | msgstr "Zainstauj" | ||
285 | |||
286 | msgid "login to your wallabag" | ||
287 | msgstr "zaloguj się do twojego wallabag" | ||
288 | |||
289 | msgid "Login to wallabag" | ||
290 | msgstr "Logowanie do wallabag" | ||
291 | |||
292 | msgid "you are in demo mode, some features may be disabled." | ||
293 | msgstr "jesteś w trybie demo, niektóre funkcjonalności mogą być wyłączone." | ||
294 | |||
295 | msgid "Username" | ||
296 | msgstr "Nazwa użytkownika" | ||
297 | |||
298 | msgid "Stay signed in" | ||
299 | msgstr "Pozostań zalogowany" | ||
300 | |||
301 | msgid "(Do not check on public computers)" | ||
302 | msgstr "(Nie zaznaczaj na komputerach z publicznym dostępem)" | ||
303 | |||
304 | msgid "Sign in" | ||
305 | msgstr "Zaloguj się" | ||
306 | |||
307 | msgid "favorites" | ||
308 | msgstr "ulubione" | ||
309 | |||
310 | msgid "estimated reading time :" | ||
311 | msgstr "szacowany czas czytania :" | ||
312 | |||
313 | msgid "Mark all the entries as read" | ||
314 | msgstr "Zaznacz wszystkie wpisy jako przeczytane" | ||
315 | |||
316 | msgid "Return home" | ||
317 | msgstr "Powrót na stronę domową" | ||
318 | |||
319 | msgid "Back to top" | ||
320 | msgstr "Powrót na górę" | ||
321 | |||
322 | msgid "Mark as read" | ||
323 | msgstr "Oznacz jako przeczytane" | ||
324 | |||
325 | msgid "Favorite" | ||
326 | msgstr "Ulubione" | ||
327 | |||
328 | msgid "Toggle favorite" | ||
329 | msgstr "Przełącz ulubione" | ||
330 | |||
331 | msgid "Delete" | ||
332 | msgstr "Usuń" | ||
333 | |||
334 | msgid "Tweet" | ||
335 | msgstr "Tweet" | ||
336 | |||
337 | msgid "Email" | ||
338 | msgstr "Email" | ||
339 | |||
340 | msgid "shaarli" | ||
341 | msgstr "shaarli" | ||
342 | |||
343 | msgid "flattr" | ||
344 | msgstr "flattr" | ||
345 | |||
346 | msgid "Does this article appear wrong?" | ||
347 | msgstr "Czy ten artykuł jest wyświetlany niepoprawnie?" | ||
348 | |||
349 | msgid "tags:" | ||
350 | msgstr "tagi:" | ||
351 | |||
352 | msgid "Edit tags" | ||
353 | msgstr "Edytuj tagi" | ||
354 | |||
355 | msgid "save link!" | ||
356 | msgstr "zapisz link!" | ||
357 | |||
358 | msgid "home" | ||
359 | msgstr "strona domowa" | ||
360 | |||
361 | msgid "tags" | ||
362 | msgstr "tagi" | ||
363 | |||
364 | msgid "logout" | ||
365 | msgstr "wyloguj" | ||
366 | |||
367 | msgid "powered by" | ||
368 | msgstr "w oparciu o" | ||
369 | |||
370 | msgid "debug mode is on so cache is off." | ||
371 | msgstr "tryb debug jest włączony zatem cache jest wyłączony." | ||
372 | |||
373 | msgid "your wallabag version:" | ||
374 | msgstr "wersja twojego wallabag:" | ||
375 | |||
376 | msgid "storage:" | ||
377 | msgstr "storage:" | ||
378 | |||
379 | msgid "save a link" | ||
380 | msgstr "zapisz link" | ||
381 | |||
382 | msgid "back to home" | ||
383 | msgstr "powrót do strony domowej" | ||
384 | |||
385 | msgid "toggle mark as read" | ||
386 | msgstr "przełącz jako przeczytane" | ||
387 | |||
388 | msgid "tweet" | ||
389 | msgstr "tweet" | ||
390 | |||
391 | msgid "email" | ||
392 | msgstr "email" | ||
393 | |||
394 | msgid "this article appears wrong?" | ||
395 | msgstr "ten artykuł wygląda niepoprawnie?" | ||
396 | |||
397 | msgid "No link available here!" | ||
398 | msgstr "No link available here!" | ||
399 | |||
400 | #, fuzzy | ||
401 | msgid "Poching a link" | ||
402 | msgstr "Poching a link" | ||
403 | |||
404 | msgid "by filling this field" | ||
405 | msgstr "przez wypełnienie tego pola" | ||
406 | |||
407 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
408 | msgstr "skryptozakładka: przeciągnij i upuść ten link na twój pasek zakładek" | ||
409 | |||
410 | msgid "your version" | ||
411 | msgstr "twoja wersja" | ||
412 | |||
413 | msgid "latest stable version" | ||
414 | msgstr "najnowsza stabilna wersja" | ||
415 | |||
416 | msgid "a more recent stable version is available." | ||
417 | msgstr "nowsza wersja stabilna jest dostępna." | ||
418 | |||
419 | msgid "you are up to date." | ||
420 | msgstr "posiadasz najnowszą wersję." | ||
421 | |||
422 | msgid "latest dev version" | ||
423 | msgstr "najnowsza wersja developerska" | ||
424 | |||
425 | msgid "a more recent development version is available." | ||
426 | msgstr "nowsza wersja developerska jest dostępna." | ||
427 | |||
428 | msgid "Please execute the import script locally, it can take a very long time." | ||
429 | msgstr "" | ||
430 | "Please execute the import script locally, it can take a very long time." | ||
431 | |||
432 | msgid "More infos in the official doc:" | ||
433 | msgstr "More infos in the official doc:" | ||
434 | |||
435 | msgid "import from Pocket" | ||
436 | msgstr "import from Pocket" | ||
437 | |||
438 | msgid "import from Readability" | ||
439 | msgstr "import from Readability" | ||
440 | |||
441 | msgid "import from Instapaper" | ||
442 | msgstr "import from Instapaper" | ||
443 | |||
444 | msgid "Tags" | ||
445 | msgstr "Tagi" | ||
446 | |||
447 | msgid "Untitled" | ||
448 | msgstr "Untitled" | ||
449 | |||
450 | msgid "the link has been added successfully" | ||
451 | msgstr "link został dodany pomyślnie" | ||
452 | |||
453 | msgid "error during insertion : the link wasn't added" | ||
454 | msgstr "błąd podczas dodawania : link nie został dodany" | ||
455 | |||
456 | msgid "the link has been deleted successfully" | ||
457 | msgstr "link został usunięty pomyślnie" | ||
458 | |||
459 | msgid "the link wasn't deleted" | ||
460 | msgstr "link nie został usunięty" | ||
461 | |||
462 | msgid "Article not found!" | ||
463 | msgstr "Artykuł nie znaleziony!" | ||
464 | |||
465 | msgid "previous" | ||
466 | msgstr "poprzedni" | ||
467 | |||
468 | msgid "next" | ||
469 | msgstr "następny" | ||
470 | |||
471 | msgid "in demo mode, you can't update your password" | ||
472 | msgstr "w trybie demo nie możesz zaktualizować swojego hasła" | ||
473 | |||
474 | msgid "your password has been updated" | ||
475 | msgstr "twoje hasło zostało zaktualizowane" | ||
476 | |||
477 | msgid "" | ||
478 | "the two fields have to be filled & the password must be the same in the two " | ||
479 | "fields" | ||
480 | msgstr "" | ||
481 | "oba pola muszą być wypełnione oraz hasło musi być takie same w obu polach" | ||
482 | |||
483 | msgid "still using the \"" | ||
484 | msgstr "wciąż używam \"" | ||
485 | |||
486 | msgid "that theme does not seem to be installed" | ||
487 | msgstr "ten motyw nie wygląda na zainstalowany" | ||
488 | |||
489 | msgid "you have changed your theme preferences" | ||
490 | msgstr "zmieniłeś swoje preferencje motywu" | ||
491 | |||
492 | msgid "that language does not seem to be installed" | ||
493 | msgstr "ten język nie wygląda na zainstalowany" | ||
494 | |||
495 | msgid "you have changed your language preferences" | ||
496 | msgstr "zmieniłeś swoje preferencje językowe" | ||
497 | |||
498 | msgid "login failed: you have to fill all fields" | ||
499 | msgstr "logowanie się nie powiodło: musisz wypełnić wszystkie pola" | ||
500 | |||
501 | msgid "welcome to your wallabag" | ||
502 | msgstr "witaj w twoim wallabag" | ||
503 | |||
504 | msgid "login failed: bad login or password" | ||
505 | msgstr "logowanie się nie powiodło: nieprawidłowy login lub hasło" | ||
506 | |||
507 | msgid "import from instapaper completed" | ||
508 | msgstr "import z instapaper zakończony" | ||
509 | |||
510 | msgid "import from pocket completed" | ||
511 | msgstr "import z pocket zakończony" | ||
512 | |||
513 | msgid "import from Readability completed. " | ||
514 | msgstr "import z Readability zakończony. " | ||
515 | |||
516 | msgid "import from Poche completed. " | ||
517 | msgstr "import z Poche zakończony. " | ||
518 | |||
519 | msgid "Unknown import provider." | ||
520 | msgstr "Nieznany dostawca importu." | ||
521 | |||
522 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
523 | msgstr "Niekompletny plik inc/poche/define.inc.php, proszę zdefiniuj \"" | ||
524 | |||
525 | msgid "Could not find required \"" | ||
526 | msgstr "Nie znaleziono wymaganego \"" | ||
527 | |||
528 | msgid "Uh, there is a problem while generating feeds." | ||
529 | msgstr "Ah, wystąpił problem podczas generowania kanałów." | ||
530 | |||
531 | msgid "Cache deleted." | ||
532 | msgstr "Cache usunięty." | ||
533 | |||
534 | msgid "Oops, it seems you don't have PHP 5." | ||
535 | msgstr "Oops, wygląda na to że nie masz PHP 5." | ||
536 | |||
537 | #~ msgid "poche it!" | ||
538 | #~ msgstr "poche it!" | ||
539 | |||
540 | #~ msgid "Updating poche" | ||
541 | #~ msgstr "Updating poche" | ||
542 | |||
543 | #~ msgid "create an issue" | ||
544 | #~ msgstr "create an issue" | ||
545 | |||
546 | #~ msgid "or" | ||
547 | #~ msgstr "or" | ||
548 | |||
549 | #~ msgid "contact us by mail" | ||
550 | #~ msgstr "contact us by mail" | ||
551 | |||
552 | #~ msgid "your poche version:" | ||
553 | #~ msgstr "your poche version:" | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/pt_BR.utf8/LC_MESSAGES/pt_BR.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/pt_BR.utf8/LC_MESSAGES/pt_BR.utf8.mo deleted file mode 100644 index c1ce317f..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/pt_BR.utf8/LC_MESSAGES/pt_BR.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/pt_BR.utf8/LC_MESSAGES/pt_BR.utf8.po b/src/Wallabag/Wallabag/Resources/translations/pt_BR.utf8/LC_MESSAGES/pt_BR.utf8.po deleted file mode 100644 index e1453922..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/pt_BR.utf8/LC_MESSAGES/pt_BR.utf8.po +++ /dev/null | |||
@@ -1,549 +0,0 @@ | |||
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: @iancamporez <ian@camporez.com>\n" | ||
8 | "Language-Team: @iancamporez <ian@camporez.com>\n" | ||
9 | "Language: pt_BR\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.6.4\n" | ||
14 | "X-Poedit-Basepath: .\n" | ||
15 | "X-Poedit-SearchPath-0: /home/ian/Projetos/wallabag/locale/en_EN.utf8/" | ||
16 | "LC_MESSAGES\n" | ||
17 | |||
18 | msgid "wallabag, a read it later open source system" | ||
19 | msgstr "wallabag, um \"read it later\" de código aberto" | ||
20 | |||
21 | msgid "login failed: user doesn't exist" | ||
22 | msgstr "falha ao entrar: o usuário não existe" | ||
23 | |||
24 | msgid "return home" | ||
25 | msgstr "retornar à página inicial" | ||
26 | |||
27 | msgid "config" | ||
28 | msgstr "configurar" | ||
29 | |||
30 | msgid "Saving articles" | ||
31 | msgstr "Salvando artigos" | ||
32 | |||
33 | msgid "There are several ways to save an article:" | ||
34 | msgstr "Existem várias maneiras de salvar um artigo:" | ||
35 | |||
36 | msgid "read the documentation" | ||
37 | msgstr "ler a documentação" | ||
38 | |||
39 | msgid "download the extension" | ||
40 | msgstr "baixar a extensão" | ||
41 | |||
42 | msgid "via F-Droid" | ||
43 | msgstr "via F-Droid" | ||
44 | |||
45 | msgid " or " | ||
46 | msgstr "ou " | ||
47 | |||
48 | msgid "via Google Play" | ||
49 | msgstr "via Google Play" | ||
50 | |||
51 | msgid "download the application" | ||
52 | msgstr "baixar o aplicativo" | ||
53 | |||
54 | msgid "By filling this field" | ||
55 | msgstr "Preenchendo esse campo" | ||
56 | |||
57 | msgid "bag it!" | ||
58 | msgstr "adicionar ao wallabag" | ||
59 | |||
60 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
61 | msgstr "Bookmarklet: arraste esse link para sua barra de favoritos" | ||
62 | |||
63 | msgid "Upgrading wallabag" | ||
64 | msgstr "Atualizando o wallabag" | ||
65 | |||
66 | msgid "Installed version" | ||
67 | msgstr "Versão instalada" | ||
68 | |||
69 | msgid "Latest stable version" | ||
70 | msgstr "Última versão estável" | ||
71 | |||
72 | msgid "A more recent stable version is available." | ||
73 | msgstr "Uma versão estável mais nova está disponível" | ||
74 | |||
75 | msgid "You are up to date." | ||
76 | msgstr "Você está atualizado." | ||
77 | |||
78 | msgid "Latest dev version" | ||
79 | msgstr "Última versão em desenvolvimento" | ||
80 | |||
81 | msgid "A more recent development version is available." | ||
82 | msgstr "Uma versão em desenvolvimento mais recente está disponível" | ||
83 | |||
84 | msgid "Feeds" | ||
85 | msgstr "Feeds" | ||
86 | |||
87 | msgid "" | ||
88 | "Your feed token is currently empty and must first be generated to enable " | ||
89 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
90 | msgstr "" | ||
91 | "Seu token do feed e precisa ser gerado para ativar os feeds. Clique <a " | ||
92 | "href='?feed&action=generate'>aqui para gerar um token</a>." | ||
93 | |||
94 | msgid "Unread feed" | ||
95 | msgstr "Feed de artigos não lidos" | ||
96 | |||
97 | msgid "Favorites feed" | ||
98 | msgstr "Feed dos favoritos" | ||
99 | |||
100 | msgid "Archive feed" | ||
101 | msgstr "Feed de arquivados" | ||
102 | |||
103 | msgid "Your token:" | ||
104 | msgstr "Seu token:" | ||
105 | |||
106 | msgid "Your user id:" | ||
107 | msgstr "Seu código de usuário:" | ||
108 | |||
109 | msgid "" | ||
110 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" | ||
111 | "</a>." | ||
112 | msgstr "" | ||
113 | "Você pode regerar seu token: <a href='?feed&action=generate'>gerar!</a>." | ||
114 | |||
115 | msgid "Change your theme" | ||
116 | msgstr "Mudar seu tema" | ||
117 | |||
118 | msgid "Theme:" | ||
119 | msgstr "Tema:" | ||
120 | |||
121 | msgid "Update" | ||
122 | msgstr "Atualizar" | ||
123 | |||
124 | msgid "Change your language" | ||
125 | msgstr "Alterar seu idioma" | ||
126 | |||
127 | msgid "Language:" | ||
128 | msgstr "Idioma:" | ||
129 | |||
130 | msgid "Change your password" | ||
131 | msgstr "Alterar sua senha" | ||
132 | |||
133 | msgid "New password:" | ||
134 | msgstr "Nova senha:" | ||
135 | |||
136 | msgid "Password" | ||
137 | msgstr "Senha" | ||
138 | |||
139 | msgid "Repeat your new password:" | ||
140 | msgstr "Repetir sua nova senha:" | ||
141 | |||
142 | msgid "Import" | ||
143 | msgstr "Importar" | ||
144 | |||
145 | msgid "" | ||
146 | "Please execute the import script locally as it can take a very long time." | ||
147 | msgstr "" | ||
148 | "Por favor, execute o script de importação localmente, pois pode demorar " | ||
149 | "muito tempo." | ||
150 | |||
151 | msgid "More info in the official documentation:" | ||
152 | msgstr "Mais informações na documentação oficial:" | ||
153 | |||
154 | msgid "Import from Pocket" | ||
155 | msgstr "Importar do Pocket" | ||
156 | |||
157 | #, php-format | ||
158 | msgid "(you must have a %s file on your server)" | ||
159 | msgstr "(você deve ter um arquivo %s no seu servidor)" | ||
160 | |||
161 | msgid "Import from Readability" | ||
162 | msgstr "Importar do Readability" | ||
163 | |||
164 | msgid "Import from Instapaper" | ||
165 | msgstr "Importar do Instapaper" | ||
166 | |||
167 | msgid "Import from wallabag" | ||
168 | msgstr "Importar do wallabag" | ||
169 | |||
170 | msgid "Export your wallabag data" | ||
171 | msgstr "Exportar seus dados do wallabag" | ||
172 | |||
173 | msgid "Click here" | ||
174 | msgstr "Clique aqui" | ||
175 | |||
176 | msgid "to download your database." | ||
177 | msgstr "para baixar seu banco de dados." | ||
178 | |||
179 | msgid "to export your wallabag data." | ||
180 | msgstr "para exportar seus dados do wallabag." | ||
181 | |||
182 | msgid "Cache" | ||
183 | msgstr "Cache" | ||
184 | |||
185 | msgid "to delete cache." | ||
186 | msgstr "para apagar o cache." | ||
187 | |||
188 | msgid "You can enter multiple tags, separated by commas." | ||
189 | msgstr "Você pode inserir várias tags, separadas por vírgulas." | ||
190 | |||
191 | msgid "return to article" | ||
192 | msgstr "retornar ao artigo" | ||
193 | |||
194 | msgid "plop" | ||
195 | msgstr "plop" | ||
196 | |||
197 | msgid "" | ||
198 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " | ||
199 | "here</a>." | ||
200 | msgstr "" | ||
201 | "Você pode <a href='wallabag_compatibility_test.php'>checar suas " | ||
202 | "configurações aqui</a>." | ||
203 | |||
204 | msgid "favoris" | ||
205 | msgstr "favoritos" | ||
206 | |||
207 | msgid "archive" | ||
208 | msgstr "arquivo" | ||
209 | |||
210 | msgid "unread" | ||
211 | msgstr "não lidos" | ||
212 | |||
213 | msgid "by date asc" | ||
214 | msgstr "por data (cresc.)" | ||
215 | |||
216 | msgid "by date" | ||
217 | msgstr "por data" | ||
218 | |||
219 | msgid "by date desc" | ||
220 | msgstr "por data (decr.)" | ||
221 | |||
222 | msgid "by title asc" | ||
223 | msgstr "por título (cresc.)" | ||
224 | |||
225 | msgid "by title" | ||
226 | msgstr "por título" | ||
227 | |||
228 | msgid "by title desc" | ||
229 | msgstr "por título (decr.)" | ||
230 | |||
231 | msgid "Tag" | ||
232 | msgstr "Tag" | ||
233 | |||
234 | msgid "No articles found." | ||
235 | msgstr "Nenhum artigo encontrado." | ||
236 | |||
237 | msgid "Toggle mark as read" | ||
238 | msgstr "Alterar \"marcar como lido\"" | ||
239 | |||
240 | msgid "toggle favorite" | ||
241 | msgstr "alterar \"favorito\"" | ||
242 | |||
243 | msgid "delete" | ||
244 | msgstr "deletar" | ||
245 | |||
246 | msgid "original" | ||
247 | msgstr "original" | ||
248 | |||
249 | msgid "estimated reading time:" | ||
250 | msgstr "tempo estimado de leitura:" | ||
251 | |||
252 | msgid "mark all the entries as read" | ||
253 | msgstr "marcar todas as entradas como lidas" | ||
254 | |||
255 | msgid "results" | ||
256 | msgstr "resultados" | ||
257 | |||
258 | msgid "installation" | ||
259 | msgstr "instalação" | ||
260 | |||
261 | msgid "install your wallabag" | ||
262 | msgstr "instalar seu wallabag" | ||
263 | |||
264 | msgid "" | ||
265 | "wallabag is still not installed. Please fill the below form to install it. " | ||
266 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
267 | "on wallabag website</a>." | ||
268 | msgstr "" | ||
269 | "O wallabag ainda não está instalado. Preencha o formulário abaixo para " | ||
270 | "instalá-lo. Não hesite em <a href='http://doc.wallabag.org/'>ler a " | ||
271 | "documentação no site do wallabag</a>." | ||
272 | |||
273 | msgid "Login" | ||
274 | msgstr "Login" | ||
275 | |||
276 | msgid "Repeat your password" | ||
277 | msgstr "Repetir sua senha" | ||
278 | |||
279 | msgid "Install" | ||
280 | msgstr "Instalar" | ||
281 | |||
282 | msgid "login to your wallabag" | ||
283 | msgstr "entrar no seu wallabag" | ||
284 | |||
285 | msgid "Login to wallabag" | ||
286 | msgstr "Entrar no wallabag" | ||
287 | |||
288 | msgid "you are in demo mode, some features may be disabled." | ||
289 | msgstr "você está no modo demo, alguns recursos podem estar desativados." | ||
290 | |||
291 | msgid "Username" | ||
292 | msgstr "Nome de usuário" | ||
293 | |||
294 | msgid "Stay signed in" | ||
295 | msgstr "Continuar conectado" | ||
296 | |||
297 | msgid "(Do not check on public computers)" | ||
298 | msgstr "(Não marque em computadores públicos)" | ||
299 | |||
300 | msgid "Sign in" | ||
301 | msgstr "Entrar" | ||
302 | |||
303 | msgid "favorites" | ||
304 | msgstr "favoritos" | ||
305 | |||
306 | msgid "estimated reading time :" | ||
307 | msgstr "tempo estimado de leitura :" | ||
308 | |||
309 | msgid "Mark all the entries as read" | ||
310 | msgstr "Marcar todas as entradas como lidas" | ||
311 | |||
312 | msgid "Return home" | ||
313 | msgstr "Retornar à página inicial" | ||
314 | |||
315 | msgid "Back to top" | ||
316 | msgstr "Voltar ao topo" | ||
317 | |||
318 | msgid "Mark as read" | ||
319 | msgstr "Marcar como lido" | ||
320 | |||
321 | msgid "Favorite" | ||
322 | msgstr "Favoritar" | ||
323 | |||
324 | msgid "Toggle favorite" | ||
325 | msgstr "Alterar \"favorito\"" | ||
326 | |||
327 | msgid "Delete" | ||
328 | msgstr "Deletar" | ||
329 | |||
330 | msgid "Tweet" | ||
331 | msgstr "Tweetar" | ||
332 | |||
333 | msgid "Email" | ||
334 | msgstr "Email" | ||
335 | |||
336 | msgid "shaarli" | ||
337 | msgstr "shaarli" | ||
338 | |||
339 | msgid "flattr" | ||
340 | msgstr "flattr" | ||
341 | |||
342 | msgid "Does this article appear wrong?" | ||
343 | msgstr "Esse artigo está sendo exibido incorretamente?" | ||
344 | |||
345 | msgid "tags:" | ||
346 | msgstr "tags:" | ||
347 | |||
348 | msgid "Edit tags" | ||
349 | msgstr "Editar tags" | ||
350 | |||
351 | msgid "save link!" | ||
352 | msgstr "salvar link!" | ||
353 | |||
354 | msgid "home" | ||
355 | msgstr "início" | ||
356 | |||
357 | msgid "tags" | ||
358 | msgstr "tags" | ||
359 | |||
360 | msgid "logout" | ||
361 | msgstr "sair" | ||
362 | |||
363 | msgid "powered by" | ||
364 | msgstr "powered by" | ||
365 | |||
366 | msgid "debug mode is on so cache is off." | ||
367 | msgstr "o modo debug está ativo, então o cache foi desativado." | ||
368 | |||
369 | msgid "your wallabag version:" | ||
370 | msgstr "sua versão do wallabag:" | ||
371 | |||
372 | msgid "storage:" | ||
373 | msgstr "armazenamento:" | ||
374 | |||
375 | msgid "save a link" | ||
376 | msgstr "salvar link" | ||
377 | |||
378 | msgid "back to home" | ||
379 | msgstr "voltar à página inicial" | ||
380 | |||
381 | msgid "toggle mark as read" | ||
382 | msgstr "alterar \"marcar como lido\"" | ||
383 | |||
384 | msgid "tweet" | ||
385 | msgstr "tweetar" | ||
386 | |||
387 | msgid "email" | ||
388 | msgstr "email" | ||
389 | |||
390 | msgid "this article appears wrong?" | ||
391 | msgstr "esse artigo está sendo mostrado incorretamente?" | ||
392 | |||
393 | msgid "No link available here!" | ||
394 | msgstr "Nenhum link disponível aqui!" | ||
395 | |||
396 | msgid "Poching a link" | ||
397 | msgstr "Pocheando um link" | ||
398 | |||
399 | msgid "by filling this field" | ||
400 | msgstr "preenchendo esse campo" | ||
401 | |||
402 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
403 | msgstr "bookmarklet: arraste esse link para a sua barra de favoritos" | ||
404 | |||
405 | msgid "your version" | ||
406 | msgstr "sua versão" | ||
407 | |||
408 | msgid "latest stable version" | ||
409 | msgstr "última versão estável" | ||
410 | |||
411 | msgid "a more recent stable version is available." | ||
412 | msgstr "uma versão estável mais nova está disponível" | ||
413 | |||
414 | msgid "you are up to date." | ||
415 | msgstr "você está atualizado." | ||
416 | |||
417 | msgid "latest dev version" | ||
418 | msgstr "última versão em desenvolvimento" | ||
419 | |||
420 | msgid "a more recent development version is available." | ||
421 | msgstr "uma versão em desenvolvimento mais nova está disponível" | ||
422 | |||
423 | msgid "Please execute the import script locally, it can take a very long time." | ||
424 | msgstr "" | ||
425 | "Por favor, execute o script de importação localmente, pois pode demorar " | ||
426 | "muito tempo." | ||
427 | |||
428 | msgid "More infos in the official doc:" | ||
429 | msgstr "Mais informações na documentação oficial:" | ||
430 | |||
431 | msgid "import from Pocket" | ||
432 | msgstr "importar do Pocket" | ||
433 | |||
434 | msgid "import from Readability" | ||
435 | msgstr "importar do Readability" | ||
436 | |||
437 | msgid "import from Instapaper" | ||
438 | msgstr "importar do Instapaper" | ||
439 | |||
440 | msgid "Tags" | ||
441 | msgstr "Tags" | ||
442 | |||
443 | msgid "Untitled" | ||
444 | msgstr "Sem título" | ||
445 | |||
446 | msgid "the link has been added successfully" | ||
447 | msgstr "o link foi adicionado com sucesso" | ||
448 | |||
449 | msgid "error during insertion : the link wasn't added" | ||
450 | msgstr "erro durante a inserção: o link não foi adicionado" | ||
451 | |||
452 | msgid "the link has been deleted successfully" | ||
453 | msgstr "o link foi deletado com sucesso" | ||
454 | |||
455 | msgid "the link wasn't deleted" | ||
456 | msgstr "o link não foi deletado" | ||
457 | |||
458 | msgid "Article not found!" | ||
459 | msgstr "Artigo não encontrado!" | ||
460 | |||
461 | msgid "previous" | ||
462 | msgstr "anterior" | ||
463 | |||
464 | msgid "next" | ||
465 | msgstr "próximo" | ||
466 | |||
467 | msgid "in demo mode, you can't update your password" | ||
468 | msgstr "você não pode alterar a senha no modo demo" | ||
469 | |||
470 | msgid "your password has been updated" | ||
471 | msgstr "sua senha foi atualizada" | ||
472 | |||
473 | msgid "" | ||
474 | "the two fields have to be filled & the password must be the same in the two " | ||
475 | "fields" | ||
476 | msgstr "" | ||
477 | "os dois campos devem estar preenchidos e as senhas devem ser iguais em ambos" | ||
478 | |||
479 | msgid "still using the \"" | ||
480 | msgstr "ainda usando o \"" | ||
481 | |||
482 | msgid "that theme does not seem to be installed" | ||
483 | msgstr "esse tema aparentemente não está instalado" | ||
484 | |||
485 | msgid "you have changed your theme preferences" | ||
486 | msgstr "você alterou suas preferências de tema" | ||
487 | |||
488 | msgid "that language does not seem to be installed" | ||
489 | msgstr "esse idioma aparentemente não está instalado" | ||
490 | |||
491 | msgid "you have changed your language preferences" | ||
492 | msgstr "você alterou suas preferências de idioma" | ||
493 | |||
494 | msgid "login failed: you have to fill all fields" | ||
495 | msgstr "falha ao entrar: você deve preencher todos os campos" | ||
496 | |||
497 | msgid "welcome to your wallabag" | ||
498 | msgstr "bem-vindo ao seu wallabag" | ||
499 | |||
500 | msgid "login failed: bad login or password" | ||
501 | msgstr "falha ao entrar: login ou senha incorretos" | ||
502 | |||
503 | msgid "import from instapaper completed" | ||
504 | msgstr "importação do instapaper completa" | ||
505 | |||
506 | msgid "import from pocket completed" | ||
507 | msgstr "importação do pocket completa" | ||
508 | |||
509 | msgid "import from Readability completed. " | ||
510 | msgstr "importação do Readability completa. " | ||
511 | |||
512 | msgid "import from Poche completed. " | ||
513 | msgstr "importação do Poche completa. " | ||
514 | |||
515 | msgid "Unknown import provider." | ||
516 | msgstr "Serviço de importação desconhecido." | ||
517 | |||
518 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
519 | msgstr "Arquivo inc/poche/define.inc.php incompleto, por favor defina \"" | ||
520 | |||
521 | msgid "Could not find required \"" | ||
522 | msgstr "Não foi possível encontrar o requerido \"" | ||
523 | |||
524 | msgid "Uh, there is a problem while generating feeds." | ||
525 | msgstr "Uh, houve um problema ao gerar os feeds." | ||
526 | |||
527 | msgid "Cache deleted." | ||
528 | msgstr "Cache deletado." | ||
529 | |||
530 | msgid "Oops, it seems you don't have PHP 5." | ||
531 | msgstr "Oops, parece que você não tem o PHP 5." | ||
532 | |||
533 | #~ msgid "poche it!" | ||
534 | #~ msgstr "poche it!" | ||
535 | |||
536 | #~ msgid "Updating poche" | ||
537 | #~ msgstr "Updating poche" | ||
538 | |||
539 | #~ msgid "create an issue" | ||
540 | #~ msgstr "create an issue" | ||
541 | |||
542 | #~ msgid "or" | ||
543 | #~ msgstr "or" | ||
544 | |||
545 | #~ msgid "contact us by mail" | ||
546 | #~ msgstr "contact us by mail" | ||
547 | |||
548 | #~ msgid "your poche version:" | ||
549 | #~ msgstr "your poche version:" | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo deleted file mode 100755 index 5cbfad16..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.po b/src/Wallabag/Wallabag/Resources/translations/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.po deleted file mode 100755 index 08f12b7c..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.po +++ /dev/null | |||
@@ -1,561 +0,0 @@ | |||
1 | msgid "" | ||
2 | msgstr "" | ||
3 | "Project-Id-Version: \n" | ||
4 | "Report-Msgid-Bugs-To: \n" | ||
5 | "POT-Creation-Date: 2014-02-25 15:09+0300\n" | ||
6 | "PO-Revision-Date: \n" | ||
7 | "Last-Translator: Maryana <mariroz@mr.lviv.ua>\n" | ||
8 | "Language-Team: \n" | ||
9 | "Language: \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-Language: Russian\n" | ||
15 | "X-Poedit-Country: RUSSIA\n" | ||
16 | "X-Poedit-SourceCharset: utf-8\n" | ||
17 | "X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-testing\n" | ||
18 | |||
19 | msgid "wallabag, a read it later open source system" | ||
20 | msgstr "wallabag, сервис отложенного чтения с открытым исходным кодом" | ||
21 | |||
22 | msgid "login failed: user doesn't exist" | ||
23 | msgstr "войти не удалось: пользователь не существует" | ||
24 | |||
25 | msgid "return home" | ||
26 | msgstr "на главную" | ||
27 | |||
28 | msgid "config" | ||
29 | msgstr "настройки" | ||
30 | |||
31 | msgid "Saving articles" | ||
32 | msgstr "Сохранение статей" | ||
33 | |||
34 | #, fuzzy | ||
35 | msgid "There are several ways to save an article:" | ||
36 | msgstr "Существует несколько способов сохранить ссылку:" | ||
37 | |||
38 | msgid "read the documentation" | ||
39 | msgstr "читать инструкцию" | ||
40 | |||
41 | msgid "download the extension" | ||
42 | msgstr "скачать расширение" | ||
43 | |||
44 | msgid "via F-Droid" | ||
45 | msgstr "с F-Droid" | ||
46 | |||
47 | msgid " or " | ||
48 | msgstr "или" | ||
49 | |||
50 | msgid "via Google Play" | ||
51 | msgstr "с Google Play" | ||
52 | |||
53 | msgid "download the application" | ||
54 | msgstr "скачать приложение" | ||
55 | |||
56 | msgid "By filling this field" | ||
57 | msgstr "Заполнением этого поля" | ||
58 | |||
59 | msgid "bag it!" | ||
60 | msgstr "прикарманить!" | ||
61 | |||
62 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
63 | msgstr "Закладка: перетащите и опустите ссылку на панель закладок" | ||
64 | |||
65 | msgid "Upgrading wallabag" | ||
66 | msgstr "Обновление wallabag" | ||
67 | |||
68 | msgid "Installed version" | ||
69 | msgstr "Установленная версия" | ||
70 | |||
71 | msgid "Latest stable version" | ||
72 | msgstr "Последняя стабильная версия" | ||
73 | |||
74 | msgid "A more recent stable version is available." | ||
75 | msgstr "Доступна новая стабильная версия." | ||
76 | |||
77 | msgid "You are up to date." | ||
78 | msgstr "У вас всё самое новое." | ||
79 | |||
80 | #, fuzzy | ||
81 | msgid "Latest dev version" | ||
82 | msgstr "последняя версия в разработке" | ||
83 | |||
84 | #, fuzzy | ||
85 | msgid "A more recent development version is available." | ||
86 | msgstr "есть более свежая версия в разработке." | ||
87 | |||
88 | msgid "Feeds" | ||
89 | msgstr "Ленты (feeds)" | ||
90 | |||
91 | msgid "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
92 | msgstr "Ваш маркер ленты (feed token) не определен, для того, чтобы активировать ленту, сначала создайте его. Нажмите <a href='?feed&action=generate'>здесь для его генерации</ а>." | ||
93 | |||
94 | msgid "Unread feed" | ||
95 | msgstr "Лента непрочитанного" | ||
96 | |||
97 | msgid "Favorites feed" | ||
98 | msgstr "Лента избранного" | ||
99 | |||
100 | msgid "Archive feed" | ||
101 | msgstr "Лента архива" | ||
102 | |||
103 | msgid "Your token:" | ||
104 | msgstr "Ваш маркер (token):" | ||
105 | |||
106 | msgid "Your user id:" | ||
107 | msgstr "Ваш идентификатор пользователя (user id):" | ||
108 | |||
109 | msgid "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." | ||
110 | msgstr "Вы можете создать новый маркер: <a href='?feed&action=generate'>сгенерировать!</a>." | ||
111 | |||
112 | msgid "Change your theme" | ||
113 | msgstr "Изменить тему" | ||
114 | |||
115 | msgid "Theme:" | ||
116 | msgstr "Тема:" | ||
117 | |||
118 | msgid "Update" | ||
119 | msgstr "Обновить" | ||
120 | |||
121 | msgid "Change your language" | ||
122 | msgstr "Изменить язык" | ||
123 | |||
124 | msgid "Language:" | ||
125 | msgstr "Язык:" | ||
126 | |||
127 | msgid "Change your password" | ||
128 | msgstr "Смена пароля" | ||
129 | |||
130 | msgid "New password:" | ||
131 | msgstr "Новый пароль:" | ||
132 | |||
133 | msgid "Password" | ||
134 | msgstr "Пароль" | ||
135 | |||
136 | msgid "Repeat your new password:" | ||
137 | msgstr "Ещё раз новый пароль:" | ||
138 | |||
139 | msgid "Import" | ||
140 | msgstr "Импортировать" | ||
141 | |||
142 | msgid "Please execute the import script locally as it can take a very long time." | ||
143 | msgstr "Пожалуйста, выполните сценарий импорта локально - это может занять слишком много времени." | ||
144 | |||
145 | #, fuzzy | ||
146 | msgid "More info in the official documentation:" | ||
147 | msgstr "Больше сведений в официальной документации:" | ||
148 | |||
149 | msgid "Import from Pocket" | ||
150 | msgstr "Импортировать из Pocket" | ||
151 | |||
152 | #, php-format | ||
153 | msgid "(you must have a %s file on your server)" | ||
154 | msgstr "(файл %s должен присутствовать на вашем сервере)" | ||
155 | |||
156 | msgid "Import from Readability" | ||
157 | msgstr "Импортировать из Readability" | ||
158 | |||
159 | msgid "Import from Instapaper" | ||
160 | msgstr "Импортировать из Instapaper" | ||
161 | |||
162 | msgid "Import from wallabag" | ||
163 | msgstr "Импортировать из wallabag" | ||
164 | |||
165 | msgid "Export your wallabag data" | ||
166 | msgstr "Экспортировать данные wallabag" | ||
167 | |||
168 | msgid "Click here" | ||
169 | msgstr "Кликните здесь" | ||
170 | |||
171 | msgid "to download your database." | ||
172 | msgstr "чтобы скачать вашу базу данных" | ||
173 | |||
174 | msgid "to export your wallabag data." | ||
175 | msgstr "чтобы экспортировать свои записи из wallabag." | ||
176 | |||
177 | msgid "Cache" | ||
178 | msgstr "Кэш" | ||
179 | |||
180 | msgid "to delete cache." | ||
181 | msgstr "чтобы сбросить кэш." | ||
182 | |||
183 | msgid "You can enter multiple tags, separated by commas." | ||
184 | msgstr "Вы можете ввести несколько тегов, разделяя их запятой." | ||
185 | |||
186 | msgid "return to article" | ||
187 | msgstr "вернуться к статье" | ||
188 | |||
189 | msgid "plop" | ||
190 | msgstr "plop" | ||
191 | |||
192 | msgid "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>." | ||
193 | msgstr "Вы можете <a href='wallabag_compatibility_test.php'>проверить конфигурацию здесь</a>." | ||
194 | |||
195 | msgid "favoris" | ||
196 | msgstr "избранное" | ||
197 | |||
198 | msgid "archive" | ||
199 | msgstr "архив" | ||
200 | |||
201 | msgid "unread" | ||
202 | msgstr "непрочитанное" | ||
203 | |||
204 | msgid "by date asc" | ||
205 | msgstr "по дате, сперва старые" | ||
206 | |||
207 | msgid "by date" | ||
208 | msgstr "по дате" | ||
209 | |||
210 | msgid "by date desc" | ||
211 | msgstr "по дате, сперва новые" | ||
212 | |||
213 | msgid "by title asc" | ||
214 | msgstr "по заголовку (прямой)" | ||
215 | |||
216 | msgid "by title" | ||
217 | msgstr "по заголовку" | ||
218 | |||
219 | msgid "by title desc" | ||
220 | msgstr "по заголовку (обратный)" | ||
221 | |||
222 | msgid "Tag" | ||
223 | msgstr "Тег" | ||
224 | |||
225 | msgid "No articles found." | ||
226 | msgstr "Статей не найдено." | ||
227 | |||
228 | msgid "Toggle mark as read" | ||
229 | msgstr "Изменить отметку 'прочитано'" | ||
230 | |||
231 | msgid "toggle favorite" | ||
232 | msgstr "изменить метку избранного" | ||
233 | |||
234 | msgid "delete" | ||
235 | msgstr "удалить" | ||
236 | |||
237 | msgid "original" | ||
238 | msgstr "источник" | ||
239 | |||
240 | msgid "estimated reading time:" | ||
241 | msgstr "ориентировочное время чтения:" | ||
242 | |||
243 | msgid "mark all the entries as read" | ||
244 | msgstr "отметить все статьи как прочитанные " | ||
245 | |||
246 | msgid "results" | ||
247 | msgstr "найдено" | ||
248 | |||
249 | msgid "installation" | ||
250 | msgstr "установка" | ||
251 | |||
252 | msgid "install your wallabag" | ||
253 | msgstr "установка wallabag" | ||
254 | |||
255 | msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation on wallabag website</a>." | ||
256 | msgstr "wallabag всё ещё не установлен. Надо заполнить форму ниже, чтобы установить его. Неплохо также <a href='http://doc.wallabag.org'>прочесть документацию на сайте wallabag</a>." | ||
257 | |||
258 | msgid "Login" | ||
259 | msgstr "Имя пользователя" | ||
260 | |||
261 | msgid "Repeat your password" | ||
262 | msgstr "Повторите пароль" | ||
263 | |||
264 | msgid "Install" | ||
265 | msgstr "Установить" | ||
266 | |||
267 | msgid "login to your wallabag" | ||
268 | msgstr "войти в свой wallabag" | ||
269 | |||
270 | msgid "Login to wallabag" | ||
271 | msgstr "Войдите в wallabag" | ||
272 | |||
273 | msgid "you are in demo mode, some features may be disabled." | ||
274 | msgstr "демонстрационный режим - работают не все возможности." | ||
275 | |||
276 | msgid "Username" | ||
277 | msgstr "Имя пользователя" | ||
278 | |||
279 | msgid "Stay signed in" | ||
280 | msgstr "Запомнить меня" | ||
281 | |||
282 | msgid "(Do not check on public computers)" | ||
283 | msgstr "(Не отмечайте на чужих компьютерах)" | ||
284 | |||
285 | msgid "Sign in" | ||
286 | msgstr "Зарегистрироваться" | ||
287 | |||
288 | msgid "favorites" | ||
289 | msgstr "избранное" | ||
290 | |||
291 | #, fuzzy | ||
292 | msgid "estimated reading time :" | ||
293 | msgstr "ориентировочное время чтения:" | ||
294 | |||
295 | msgid "Mark all the entries as read" | ||
296 | msgstr "Отметить все как прочитанное" | ||
297 | |||
298 | msgid "Return home" | ||
299 | msgstr "На главную" | ||
300 | |||
301 | msgid "Back to top" | ||
302 | msgstr "Наверх" | ||
303 | |||
304 | msgid "Mark as read" | ||
305 | msgstr "Отметить как прочитанное" | ||
306 | |||
307 | msgid "Favorite" | ||
308 | msgstr "Избранное" | ||
309 | |||
310 | msgid "Toggle favorite" | ||
311 | msgstr "Изменить метку избранного" | ||
312 | |||
313 | msgid "Delete" | ||
314 | msgstr "Удалить" | ||
315 | |||
316 | msgid "Tweet" | ||
317 | msgstr "Твитнуть" | ||
318 | |||
319 | msgid "Email" | ||
320 | msgstr "Отправить по почте" | ||
321 | |||
322 | msgid "shaarli" | ||
323 | msgstr "shaarli" | ||
324 | |||
325 | msgid "flattr" | ||
326 | msgstr "проспонсировать" | ||
327 | |||
328 | msgid "Does this article appear wrong?" | ||
329 | msgstr "Статья выглядит криво?" | ||
330 | |||
331 | msgid "tags:" | ||
332 | msgstr "теги:" | ||
333 | |||
334 | msgid "Edit tags" | ||
335 | msgstr "Редактировать теги" | ||
336 | |||
337 | msgid "save link!" | ||
338 | msgstr "сохранить ссылку!" | ||
339 | |||
340 | msgid "home" | ||
341 | msgstr "главная" | ||
342 | |||
343 | msgid "tags" | ||
344 | msgstr "теги" | ||
345 | |||
346 | msgid "logout" | ||
347 | msgstr "выход" | ||
348 | |||
349 | msgid "powered by" | ||
350 | msgstr "при поддержке" | ||
351 | |||
352 | msgid "debug mode is on so cache is off." | ||
353 | msgstr "включён режим отладки - кеш выключен." | ||
354 | |||
355 | msgid "your wallabag version:" | ||
356 | msgstr "Ваша версия wallabag:" | ||
357 | |||
358 | msgid "storage:" | ||
359 | msgstr "хранилище:" | ||
360 | |||
361 | msgid "save a link" | ||
362 | msgstr "сохранить ссылку" | ||
363 | |||
364 | msgid "back to home" | ||
365 | msgstr "домой" | ||
366 | |||
367 | msgid "toggle mark as read" | ||
368 | msgstr "изменить отметку 'прочитано'" | ||
369 | |||
370 | msgid "tweet" | ||
371 | msgstr "твитнуть" | ||
372 | |||
373 | msgid "email" | ||
374 | msgstr "email" | ||
375 | |||
376 | #, fuzzy | ||
377 | msgid "this article appears wrong?" | ||
378 | msgstr "Статья выглядит криво?" | ||
379 | |||
380 | msgid "No link available here!" | ||
381 | msgstr "Здесь нет ссылки!" | ||
382 | |||
383 | #, fuzzy | ||
384 | msgid "Poching a link" | ||
385 | msgstr "Сохранение ссылок" | ||
386 | |||
387 | #, fuzzy | ||
388 | msgid "by filling this field" | ||
389 | msgstr "Заполнением этого поля" | ||
390 | |||
391 | #, fuzzy | ||
392 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
393 | msgstr "Закладка: перетащите и опустите ссылку на панель закладок" | ||
394 | |||
395 | msgid "your version" | ||
396 | msgstr "Ваша версия" | ||
397 | |||
398 | #, fuzzy | ||
399 | msgid "latest stable version" | ||
400 | msgstr "Последняя стабильная версия" | ||
401 | |||
402 | #, fuzzy | ||
403 | msgid "a more recent stable version is available." | ||
404 | msgstr "Доступна новая стабильная версия." | ||
405 | |||
406 | msgid "you are up to date." | ||
407 | msgstr "у вас всё самое новое." | ||
408 | |||
409 | msgid "latest dev version" | ||
410 | msgstr "последняя версия в разработке" | ||
411 | |||
412 | msgid "a more recent development version is available." | ||
413 | msgstr "есть более свежая версия в разработке." | ||
414 | |||
415 | #, fuzzy | ||
416 | msgid "Please execute the import script locally, it can take a very long time." | ||
417 | msgstr "Пожалуйста, выполните сценарий импорта локально - это может занять слишком много времени." | ||
418 | |||
419 | #, fuzzy | ||
420 | msgid "More infos in the official doc:" | ||
421 | msgstr "Больше сведений в официальной документации:" | ||
422 | |||
423 | #, fuzzy | ||
424 | msgid "import from Pocket" | ||
425 | msgstr "Импортировать из Pocket" | ||
426 | |||
427 | #, fuzzy | ||
428 | msgid "import from Readability" | ||
429 | msgstr "Импортировать из Readability" | ||
430 | |||
431 | #, fuzzy | ||
432 | msgid "import from Instapaper" | ||
433 | msgstr "Импортировать из Instapaper" | ||
434 | |||
435 | msgid "Tags" | ||
436 | msgstr "Теги" | ||
437 | |||
438 | msgid "Untitled" | ||
439 | msgstr "Без названия" | ||
440 | |||
441 | msgid "the link has been added successfully" | ||
442 | msgstr "ссылка успешно добавлена" | ||
443 | |||
444 | msgid "error during insertion : the link wasn't added" | ||
445 | msgstr "ошибка во время вставки: ссылка не добавлена" | ||
446 | |||
447 | msgid "the link has been deleted successfully" | ||
448 | msgstr "ссылка успешно удалена" | ||
449 | |||
450 | msgid "the link wasn't deleted" | ||
451 | msgstr "ссылка не удалена" | ||
452 | |||
453 | msgid "Article not found!" | ||
454 | msgstr "Статью не найдено." | ||
455 | |||
456 | msgid "previous" | ||
457 | msgstr "предыдущая" | ||
458 | |||
459 | msgid "next" | ||
460 | msgstr "следующая" | ||
461 | |||
462 | msgid "in demo mode, you can't update your password" | ||
463 | msgstr "в демонстрационном режиме смена пароля не разрешена" | ||
464 | |||
465 | msgid "your password has been updated" | ||
466 | msgstr "ваш пароль обновлен" | ||
467 | |||
468 | msgid "the two fields have to be filled & the password must be the same in the two fields" | ||
469 | msgstr "необходимо заполнить оба поля и пароль в обоих должен совпадать" | ||
470 | |||
471 | msgid "still using the \"" | ||
472 | msgstr "все еще используется \"" | ||
473 | |||
474 | msgid "that theme does not seem to be installed" | ||
475 | msgstr "кажется, эта тема не установлена" | ||
476 | |||
477 | msgid "you have changed your theme preferences" | ||
478 | msgstr "вы изменили свои настройки темы" | ||
479 | |||
480 | msgid "that language does not seem to be installed" | ||
481 | msgstr "кажется, что этот язык не установлен" | ||
482 | |||
483 | msgid "you have changed your language preferences" | ||
484 | msgstr "вы изменили свои настройки языка" | ||
485 | |||
486 | msgid "login failed: you have to fill all fields" | ||
487 | msgstr "войти не удалось: вы должны заполнить все поля" | ||
488 | |||
489 | msgid "welcome to your wallabag" | ||
490 | msgstr "добро пожаловать в wallabag" | ||
491 | |||
492 | msgid "login failed: bad login or password" | ||
493 | msgstr "войти не удалось: неправильное имя пользователя или пароль" | ||
494 | |||
495 | msgid "import from instapaper completed" | ||
496 | msgstr "импорт из instapaper завершен" | ||
497 | |||
498 | msgid "import from pocket completed" | ||
499 | msgstr "импорт из pocket завершен" | ||
500 | |||
501 | msgid "import from Readability completed. " | ||
502 | msgstr "импорт из Readability завершен" | ||
503 | |||
504 | msgid "import from Poche completed. " | ||
505 | msgstr "импорт из Poche завершен." | ||
506 | |||
507 | msgid "Unknown import provider." | ||
508 | msgstr "Неизвестный провайдер импорта." | ||
509 | |||
510 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
511 | msgstr "Незавершенный файл inc/poche/define.inc.php file, пожалуйста определите \"" | ||
512 | |||
513 | msgid "Could not find required \"" | ||
514 | msgstr "Не удалось найти требуемый \"" | ||
515 | |||
516 | msgid "Uh, there is a problem while generating feeds." | ||
517 | msgstr "Ох, возникла проблема при создании ленты." | ||
518 | |||
519 | msgid "Cache deleted." | ||
520 | msgstr "Кэш очищен. " | ||
521 | |||
522 | msgid "Oops, it seems you don't have PHP 5." | ||
523 | msgstr "Упс, кажется у вас не установлен PHP 5." | ||
524 | |||
525 | #~ msgid "You can poche a link by several methods:" | ||
526 | #~ msgstr "Вы можете сохранить ссылку несколькими путями:" | ||
527 | |||
528 | #~ msgid "poche it!" | ||
529 | #~ msgstr "прикарманить!" | ||
530 | |||
531 | #~ msgid "Updating poche" | ||
532 | #~ msgstr "Обновления poche" | ||
533 | |||
534 | #, fuzzy | ||
535 | #~ msgid "Export your poche datas" | ||
536 | #~ msgstr "Экспортировать данные poche" | ||
537 | |||
538 | #, fuzzy | ||
539 | #~ msgid "to export your poche datas." | ||
540 | #~ msgstr "чтобы экспортировать свои записи из poche." | ||
541 | |||
542 | #~ msgid "your poche version:" | ||
543 | #~ msgstr "ваша версия poche:" | ||
544 | |||
545 | #~ msgid "Import from poche" | ||
546 | #~ msgstr "Импортировать из poche" | ||
547 | |||
548 | #~ msgid "welcome to your poche" | ||
549 | #~ msgstr "добро пожаловать в ваш poche" | ||
550 | |||
551 | #~ msgid "see you soon!" | ||
552 | #~ msgstr "увидимся!" | ||
553 | |||
554 | #~ msgid "create an issue" | ||
555 | #~ msgstr "оповестить об ошибке" | ||
556 | |||
557 | #~ msgid "or" | ||
558 | #~ msgstr "или" | ||
559 | |||
560 | #~ msgid "contact us by mail" | ||
561 | #~ msgstr "связаться по почте" | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/sl_SI.utf8/LC_MESSAGES/sl_SI.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/sl_SI.utf8/LC_MESSAGES/sl_SI.utf8.mo deleted file mode 100644 index 5518fad1..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/sl_SI.utf8/LC_MESSAGES/sl_SI.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/sl_SI.utf8/LC_MESSAGES/sl_SI.utf8.po b/src/Wallabag/Wallabag/Resources/translations/sl_SI.utf8/LC_MESSAGES/sl_SI.utf8.po deleted file mode 100644 index 8ad2eded..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/sl_SI.utf8/LC_MESSAGES/sl_SI.utf8.po +++ /dev/null | |||
@@ -1,568 +0,0 @@ | |||
1 | # | ||
2 | # Translators: | ||
3 | # bungabunga, 2014 | ||
4 | msgid "" | ||
5 | msgstr "" | ||
6 | "Project-Id-Version: wallabag\n" | ||
7 | "Report-Msgid-Bugs-To: \n" | ||
8 | "POT-Creation-Date: 2014-02-25 15:12+0300\n" | ||
9 | "PO-Revision-Date: 2014-02-25 15:12+0300\n" | ||
10 | "Last-Translator: Maryana <mariroz@mr.lviv.ua>\n" | ||
11 | "Language-Team: Slovenian (Slovenia) (http://www.transifex.com/projects/p/wallabag/language/sl_SI/)\n" | ||
12 | "Language: sl_SI\n" | ||
13 | "MIME-Version: 1.0\n" | ||
14 | "Content-Type: text/plain; charset=UTF-8\n" | ||
15 | "Content-Transfer-Encoding: 8bit\n" | ||
16 | "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" | ||
17 | "X-Generator: Poedit 1.5.4\n" | ||
18 | "X-Poedit-Language: Slovenian\n" | ||
19 | "X-Poedit-Country: SLOVENIA\n" | ||
20 | "X-Poedit-Basepath: .\n" | ||
21 | "X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-testing\n" | ||
22 | |||
23 | msgid "wallabag, a read it later open source system" | ||
24 | msgstr "" | ||
25 | |||
26 | msgid "login failed: user doesn't exist" | ||
27 | msgstr "" | ||
28 | |||
29 | msgid "return home" | ||
30 | msgstr "" | ||
31 | |||
32 | msgid "config" | ||
33 | msgstr "nastavitve" | ||
34 | |||
35 | msgid "Saving articles" | ||
36 | msgstr "" | ||
37 | |||
38 | msgid "There are several ways to save an article:" | ||
39 | msgstr "" | ||
40 | |||
41 | msgid "read the documentation" | ||
42 | msgstr "preberite dokumentacijo" | ||
43 | |||
44 | msgid "download the extension" | ||
45 | msgstr "" | ||
46 | |||
47 | msgid "via F-Droid" | ||
48 | msgstr "" | ||
49 | |||
50 | msgid " or " | ||
51 | msgstr "" | ||
52 | |||
53 | msgid "via Google Play" | ||
54 | msgstr "" | ||
55 | |||
56 | msgid "download the application" | ||
57 | msgstr "" | ||
58 | |||
59 | #, fuzzy | ||
60 | msgid "By filling this field" | ||
61 | msgstr "z vnosom v to polje" | ||
62 | |||
63 | msgid "bag it!" | ||
64 | msgstr "" | ||
65 | |||
66 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
67 | msgstr "" | ||
68 | |||
69 | msgid "Upgrading wallabag" | ||
70 | msgstr "" | ||
71 | |||
72 | #, fuzzy | ||
73 | msgid "Installed version" | ||
74 | msgstr "zadnja stabilna različica" | ||
75 | |||
76 | #, fuzzy | ||
77 | msgid "Latest stable version" | ||
78 | msgstr "zadnja stabilna različica" | ||
79 | |||
80 | #, fuzzy | ||
81 | msgid "A more recent stable version is available." | ||
82 | msgstr "na voljo je nova stabilna različica." | ||
83 | |||
84 | #, fuzzy | ||
85 | msgid "You are up to date." | ||
86 | msgstr "imate najnovejšo različico." | ||
87 | |||
88 | #, fuzzy | ||
89 | msgid "Latest dev version" | ||
90 | msgstr "zadnja razvojna različica" | ||
91 | |||
92 | #, fuzzy | ||
93 | msgid "A more recent development version is available." | ||
94 | msgstr "na voljo je nova razvojna različica." | ||
95 | |||
96 | msgid "Feeds" | ||
97 | msgstr "" | ||
98 | |||
99 | msgid "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
100 | msgstr "" | ||
101 | |||
102 | msgid "Unread feed" | ||
103 | msgstr "" | ||
104 | |||
105 | #, fuzzy | ||
106 | msgid "Favorites feed" | ||
107 | msgstr "priljubljeni" | ||
108 | |||
109 | #, fuzzy | ||
110 | msgid "Archive feed" | ||
111 | msgstr "arhiv" | ||
112 | |||
113 | msgid "Your token:" | ||
114 | msgstr "" | ||
115 | |||
116 | msgid "Your user id:" | ||
117 | msgstr "" | ||
118 | |||
119 | msgid "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." | ||
120 | msgstr "" | ||
121 | |||
122 | #, fuzzy | ||
123 | msgid "Change your theme" | ||
124 | msgstr "Zamenjava gesla" | ||
125 | |||
126 | msgid "Theme:" | ||
127 | msgstr "" | ||
128 | |||
129 | msgid "Update" | ||
130 | msgstr "Posodobi" | ||
131 | |||
132 | #, fuzzy | ||
133 | msgid "Change your language" | ||
134 | msgstr "Zamenjava gesla" | ||
135 | |||
136 | msgid "Language:" | ||
137 | msgstr "" | ||
138 | |||
139 | msgid "Change your password" | ||
140 | msgstr "Zamenjava gesla" | ||
141 | |||
142 | msgid "New password:" | ||
143 | msgstr "Novo geslo:" | ||
144 | |||
145 | msgid "Password" | ||
146 | msgstr "Geslo" | ||
147 | |||
148 | msgid "Repeat your new password:" | ||
149 | msgstr "Ponovite novo geslo:" | ||
150 | |||
151 | msgid "Import" | ||
152 | msgstr "Uvozi" | ||
153 | |||
154 | #, fuzzy | ||
155 | msgid "Please execute the import script locally as it can take a very long time." | ||
156 | msgstr "Prosimo poženite skripto za uvoz lokalno, saj lahko postopek traja precej časa." | ||
157 | |||
158 | #, fuzzy | ||
159 | msgid "More info in the official documentation:" | ||
160 | msgstr "Več informacij v uradni dokumentaciji:" | ||
161 | |||
162 | #, fuzzy | ||
163 | msgid "Import from Pocket" | ||
164 | msgstr "Uvoz iz aplikacije Pocket" | ||
165 | |||
166 | #, php-format | ||
167 | msgid "(you must have a %s file on your server)" | ||
168 | msgstr "" | ||
169 | |||
170 | #, fuzzy | ||
171 | msgid "Import from Readability" | ||
172 | msgstr "Uvoz iz aplikacije Readability" | ||
173 | |||
174 | #, fuzzy | ||
175 | msgid "Import from Instapaper" | ||
176 | msgstr "Uvoz iz aplikacije Instapaper" | ||
177 | |||
178 | #, fuzzy | ||
179 | msgid "Import from wallabag" | ||
180 | msgstr "Uvoz iz aplikacije Readability" | ||
181 | |||
182 | #, fuzzy | ||
183 | msgid "Export your wallabag data" | ||
184 | msgstr "Izvoz vsebine" | ||
185 | |||
186 | msgid "Click here" | ||
187 | msgstr "Kliknite tukaj" | ||
188 | |||
189 | #, fuzzy | ||
190 | msgid "to download your database." | ||
191 | msgstr "za izvoz vsebine aplikacije Poche." | ||
192 | |||
193 | #, fuzzy | ||
194 | msgid "to export your wallabag data." | ||
195 | msgstr "za izvoz vsebine aplikacije Poche." | ||
196 | |||
197 | msgid "Cache" | ||
198 | msgstr "" | ||
199 | |||
200 | msgid "to delete cache." | ||
201 | msgstr "" | ||
202 | |||
203 | msgid "You can enter multiple tags, separated by commas." | ||
204 | msgstr "" | ||
205 | |||
206 | msgid "return to article" | ||
207 | msgstr "" | ||
208 | |||
209 | msgid "plop" | ||
210 | msgstr "štrbunk" | ||
211 | |||
212 | msgid "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>." | ||
213 | msgstr "" | ||
214 | |||
215 | msgid "favoris" | ||
216 | msgstr "priljubljeni" | ||
217 | |||
218 | msgid "archive" | ||
219 | msgstr "arhiv" | ||
220 | |||
221 | msgid "unread" | ||
222 | msgstr "neprebrano" | ||
223 | |||
224 | msgid "by date asc" | ||
225 | msgstr "po datumu - naraščajoče" | ||
226 | |||
227 | msgid "by date" | ||
228 | msgstr "po datumu" | ||
229 | |||
230 | msgid "by date desc" | ||
231 | msgstr "po datumu - padajoče" | ||
232 | |||
233 | msgid "by title asc" | ||
234 | msgstr "po naslovu - naraščajoče" | ||
235 | |||
236 | msgid "by title" | ||
237 | msgstr "po naslovu" | ||
238 | |||
239 | msgid "by title desc" | ||
240 | msgstr "po naslovu - padajoče" | ||
241 | |||
242 | msgid "Tag" | ||
243 | msgstr "" | ||
244 | |||
245 | msgid "No articles found." | ||
246 | msgstr "" | ||
247 | |||
248 | #, fuzzy | ||
249 | msgid "Toggle mark as read" | ||
250 | msgstr "označi kot prebrano" | ||
251 | |||
252 | msgid "toggle favorite" | ||
253 | msgstr "označi kot priljubljeno" | ||
254 | |||
255 | msgid "delete" | ||
256 | msgstr "zavrzi" | ||
257 | |||
258 | msgid "original" | ||
259 | msgstr "izvirnik" | ||
260 | |||
261 | msgid "estimated reading time:" | ||
262 | msgstr "" | ||
263 | |||
264 | msgid "mark all the entries as read" | ||
265 | msgstr "" | ||
266 | |||
267 | msgid "results" | ||
268 | msgstr "rezultati" | ||
269 | |||
270 | msgid "installation" | ||
271 | msgstr "Namestitev" | ||
272 | |||
273 | #, fuzzy | ||
274 | msgid "install your wallabag" | ||
275 | msgstr "Namestitev aplikacije Poche" | ||
276 | |||
277 | #, fuzzy | ||
278 | msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation on wallabag website</a>." | ||
279 | msgstr "Poche še vedno ni nameščen. Za namestitev izpolnite spodnji obrazec. Za več informacij <a href='http://inthepoche.com/doc'>preberite dokumentacijo na spletni strani</a>." | ||
280 | |||
281 | msgid "Login" | ||
282 | msgstr "Prijava" | ||
283 | |||
284 | msgid "Repeat your password" | ||
285 | msgstr "Ponovite geslo" | ||
286 | |||
287 | msgid "Install" | ||
288 | msgstr "Namesti" | ||
289 | |||
290 | #, fuzzy | ||
291 | msgid "login to your wallabag" | ||
292 | msgstr "prijavite se v svoj Poche" | ||
293 | |||
294 | msgid "Login to wallabag" | ||
295 | msgstr "" | ||
296 | |||
297 | msgid "you are in demo mode, some features may be disabled." | ||
298 | msgstr "uporabljate vzorčno različico programa, zato so lahko nekatere funkcije izklopljene." | ||
299 | |||
300 | msgid "Username" | ||
301 | msgstr "" | ||
302 | |||
303 | msgid "Stay signed in" | ||
304 | msgstr "Ostani prijavljen" | ||
305 | |||
306 | msgid "(Do not check on public computers)" | ||
307 | msgstr "(Ne označi na javnih napravah)" | ||
308 | |||
309 | msgid "Sign in" | ||
310 | msgstr "Prijava" | ||
311 | |||
312 | msgid "favorites" | ||
313 | msgstr "priljubljeni" | ||
314 | |||
315 | msgid "estimated reading time :" | ||
316 | msgstr "" | ||
317 | |||
318 | msgid "Mark all the entries as read" | ||
319 | msgstr "" | ||
320 | |||
321 | msgid "Return home" | ||
322 | msgstr "" | ||
323 | |||
324 | #, fuzzy | ||
325 | msgid "Back to top" | ||
326 | msgstr "nazaj na vrh" | ||
327 | |||
328 | #, fuzzy | ||
329 | msgid "Mark as read" | ||
330 | msgstr "označi kot prebrano" | ||
331 | |||
332 | #, fuzzy | ||
333 | msgid "Favorite" | ||
334 | msgstr "priljubljeni" | ||
335 | |||
336 | #, fuzzy | ||
337 | msgid "Toggle favorite" | ||
338 | msgstr "označi kot priljubljeno" | ||
339 | |||
340 | #, fuzzy | ||
341 | msgid "Delete" | ||
342 | msgstr "zavrzi" | ||
343 | |||
344 | #, fuzzy | ||
345 | msgid "Tweet" | ||
346 | msgstr "tvitni" | ||
347 | |||
348 | #, fuzzy | ||
349 | msgid "Email" | ||
350 | msgstr "pošlji po e-pošti" | ||
351 | |||
352 | msgid "shaarli" | ||
353 | msgstr "shaarli" | ||
354 | |||
355 | msgid "flattr" | ||
356 | msgstr "flattr" | ||
357 | |||
358 | #, fuzzy | ||
359 | msgid "Does this article appear wrong?" | ||
360 | msgstr "napaka?" | ||
361 | |||
362 | msgid "tags:" | ||
363 | msgstr "" | ||
364 | |||
365 | msgid "Edit tags" | ||
366 | msgstr "" | ||
367 | |||
368 | msgid "save link!" | ||
369 | msgstr "" | ||
370 | |||
371 | msgid "home" | ||
372 | msgstr "domov" | ||
373 | |||
374 | msgid "tags" | ||
375 | msgstr "" | ||
376 | |||
377 | msgid "logout" | ||
378 | msgstr "odjava" | ||
379 | |||
380 | msgid "powered by" | ||
381 | msgstr "stran poganja" | ||
382 | |||
383 | msgid "debug mode is on so cache is off." | ||
384 | msgstr "vklopljen je način odpravljanja napak, zato je predpomnilnik izključen." | ||
385 | |||
386 | #, fuzzy | ||
387 | msgid "your wallabag version:" | ||
388 | msgstr "vaša različica" | ||
389 | |||
390 | msgid "storage:" | ||
391 | msgstr "pomnilnik:" | ||
392 | |||
393 | msgid "save a link" | ||
394 | msgstr "" | ||
395 | |||
396 | msgid "back to home" | ||
397 | msgstr "Nazaj domov" | ||
398 | |||
399 | msgid "toggle mark as read" | ||
400 | msgstr "označi kot prebrano" | ||
401 | |||
402 | msgid "tweet" | ||
403 | msgstr "tvitni" | ||
404 | |||
405 | msgid "email" | ||
406 | msgstr "pošlji po e-pošti" | ||
407 | |||
408 | msgid "this article appears wrong?" | ||
409 | msgstr "napaka?" | ||
410 | |||
411 | msgid "No link available here!" | ||
412 | msgstr "Povezava ni na voljo!" | ||
413 | |||
414 | msgid "Poching a link" | ||
415 | msgstr "Shrani povezavo" | ||
416 | |||
417 | msgid "by filling this field" | ||
418 | msgstr "z vnosom v to polje" | ||
419 | |||
420 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
421 | msgstr "" | ||
422 | |||
423 | msgid "your version" | ||
424 | msgstr "vaša različica" | ||
425 | |||
426 | msgid "latest stable version" | ||
427 | msgstr "zadnja stabilna različica" | ||
428 | |||
429 | msgid "a more recent stable version is available." | ||
430 | msgstr "na voljo je nova stabilna različica." | ||
431 | |||
432 | msgid "you are up to date." | ||
433 | msgstr "imate najnovejšo različico." | ||
434 | |||
435 | msgid "latest dev version" | ||
436 | msgstr "zadnja razvojna različica" | ||
437 | |||
438 | msgid "a more recent development version is available." | ||
439 | msgstr "na voljo je nova razvojna različica." | ||
440 | |||
441 | msgid "Please execute the import script locally, it can take a very long time." | ||
442 | msgstr "Prosimo poženite skripto za uvoz lokalno, saj lahko postopek traja precej časa." | ||
443 | |||
444 | msgid "More infos in the official doc:" | ||
445 | msgstr "Več informacij v uradni dokumentaciji:" | ||
446 | |||
447 | msgid "import from Pocket" | ||
448 | msgstr "Uvoz iz aplikacije Pocket" | ||
449 | |||
450 | msgid "import from Readability" | ||
451 | msgstr "Uvoz iz aplikacije Readability" | ||
452 | |||
453 | msgid "import from Instapaper" | ||
454 | msgstr "Uvoz iz aplikacije Instapaper" | ||
455 | |||
456 | msgid "Tags" | ||
457 | msgstr "" | ||
458 | |||
459 | #, fuzzy | ||
460 | msgid "Untitled" | ||
461 | msgstr "po naslovu" | ||
462 | |||
463 | msgid "the link has been added successfully" | ||
464 | msgstr "" | ||
465 | |||
466 | msgid "error during insertion : the link wasn't added" | ||
467 | msgstr "" | ||
468 | |||
469 | msgid "the link has been deleted successfully" | ||
470 | msgstr "" | ||
471 | |||
472 | msgid "the link wasn't deleted" | ||
473 | msgstr "" | ||
474 | |||
475 | msgid "Article not found!" | ||
476 | msgstr "" | ||
477 | |||
478 | msgid "previous" | ||
479 | msgstr "" | ||
480 | |||
481 | msgid "next" | ||
482 | msgstr "" | ||
483 | |||
484 | msgid "in demo mode, you can't update your password" | ||
485 | msgstr "" | ||
486 | |||
487 | msgid "your password has been updated" | ||
488 | msgstr "" | ||
489 | |||
490 | msgid "the two fields have to be filled & the password must be the same in the two fields" | ||
491 | msgstr "" | ||
492 | |||
493 | msgid "still using the \"" | ||
494 | msgstr "" | ||
495 | |||
496 | msgid "that theme does not seem to be installed" | ||
497 | msgstr "" | ||
498 | |||
499 | msgid "you have changed your theme preferences" | ||
500 | msgstr "" | ||
501 | |||
502 | msgid "that language does not seem to be installed" | ||
503 | msgstr "" | ||
504 | |||
505 | msgid "you have changed your language preferences" | ||
506 | msgstr "" | ||
507 | |||
508 | msgid "login failed: you have to fill all fields" | ||
509 | msgstr "" | ||
510 | |||
511 | msgid "welcome to your wallabag" | ||
512 | msgstr "" | ||
513 | |||
514 | msgid "login failed: bad login or password" | ||
515 | msgstr "" | ||
516 | |||
517 | #, fuzzy | ||
518 | msgid "import from instapaper completed" | ||
519 | msgstr "Uvoz iz aplikacije Instapaper" | ||
520 | |||
521 | #, fuzzy | ||
522 | msgid "import from pocket completed" | ||
523 | msgstr "Uvoz iz aplikacije Pocket" | ||
524 | |||
525 | #, fuzzy | ||
526 | msgid "import from Readability completed. " | ||
527 | msgstr "Uvoz iz aplikacije Readability" | ||
528 | |||
529 | #, fuzzy | ||
530 | msgid "import from Poche completed. " | ||
531 | msgstr "Uvoz iz aplikacije Pocket" | ||
532 | |||
533 | msgid "Unknown import provider." | ||
534 | msgstr "" | ||
535 | |||
536 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
537 | msgstr "" | ||
538 | |||
539 | msgid "Could not find required \"" | ||
540 | msgstr "" | ||
541 | |||
542 | msgid "Uh, there is a problem while generating feeds." | ||
543 | msgstr "" | ||
544 | |||
545 | #, fuzzy | ||
546 | msgid "Cache deleted." | ||
547 | msgstr "zavrzi" | ||
548 | |||
549 | msgid "Oops, it seems you don't have PHP 5." | ||
550 | msgstr "" | ||
551 | |||
552 | #~ msgid "poche it!" | ||
553 | #~ msgstr "shrani!" | ||
554 | |||
555 | #~ msgid "Updating poche" | ||
556 | #~ msgstr "Posodabljam Poche" | ||
557 | |||
558 | #~ msgid "create an issue" | ||
559 | #~ msgstr "prijavi napako" | ||
560 | |||
561 | #~ msgid "or" | ||
562 | #~ msgstr "ali" | ||
563 | |||
564 | #~ msgid "contact us by mail" | ||
565 | #~ msgstr "pošlji e-pošto razvijalcem" | ||
566 | |||
567 | #~ msgid "your poche version:" | ||
568 | #~ msgstr "vaša verzija Poche:" | ||
diff --git a/src/Wallabag/Wallabag/Resources/translations/tools/fillCache.php b/src/Wallabag/Wallabag/Resources/translations/tools/fillCache.php deleted file mode 100755 index bdd9cc58..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/tools/fillCache.php +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | <?php | ||
2 | |||
3 | // this script compile all twig templates and put it in cahce to get Poedit (or xgettext) to extract phrases fron chached templates. | ||
4 | |||
5 | // gettext command line tools: | ||
6 | // msgunfmt - get po from mo | ||
7 | // msgfmt - get mo from po | ||
8 | // xgettext - extract phrases from files | ||
9 | |||
10 | |||
11 | $siteRoot = dirname(__FILE__) . '/../..'; | ||
12 | |||
13 | require_once $siteRoot . '/vendor/twig/twig/lib/Twig/Autoloader.php'; | ||
14 | Twig_Autoloader::register(); | ||
15 | |||
16 | require_once $siteRoot . '/vendor/twig/extensions/lib/Twig/Extensions/Autoloader.php'; | ||
17 | Twig_Extensions_Autoloader::register(); | ||
18 | |||
19 | //$tplDir = $siteRoot.'/themes/default'; | ||
20 | $tplDirRoot = $siteRoot.'/themes/'; | ||
21 | $tmpDir = $siteRoot. '/cache/'; | ||
22 | |||
23 | foreach (new IteratorIterator(new DirectoryIterator($tplDirRoot)) as $tplDir) { | ||
24 | |||
25 | if ($tplDir->isDir() and $tplDir!='.' and $tplDir!='..') { | ||
26 | echo "\n$tplDir\n"; | ||
27 | |||
28 | $loader = new Twig_Loader_Filesystem($tplDirRoot.$tplDir); | ||
29 | |||
30 | // force auto-reload to always have the latest version of the template | ||
31 | $twig = new Twig_Environment($loader, array( | ||
32 | 'cache' => $tmpDir, | ||
33 | 'auto_reload' => true | ||
34 | )); | ||
35 | |||
36 | $twig->addExtension(new Twig_Extensions_Extension_I18n()); | ||
37 | |||
38 | $filter = new Twig_SimpleFilter('getDomain', 'Tools::getDomain'); | ||
39 | $twig->addFilter($filter); | ||
40 | |||
41 | $filter = new Twig_SimpleFilter('getReadingTime', 'Tools::getReadingTime'); | ||
42 | $twig->addFilter($filter); | ||
43 | |||
44 | $filter = new Twig_SimpleFilter('getPrettyFilename', function($string) { return str_replace($siteRoot, '', $string); }); | ||
45 | $twig->addFilter($filter); | ||
46 | |||
47 | // // iterate over all your templates | ||
48 | foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($tplDirRoot.$tplDir), RecursiveIteratorIterator::LEAVES_ONLY) as $file) { | ||
49 | // force compilation | ||
50 | if ($file->isFile() and pathinfo($file, PATHINFO_EXTENSION)=='twig') { | ||
51 | echo "\t$file\n"; | ||
52 | $twig->loadTemplate(str_replace($tplDirRoot.$tplDir.'/', '', $file)); | ||
53 | } | ||
54 | } | ||
55 | |||
56 | } | ||
57 | |||
58 | } | ||
59 | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.mo b/src/Wallabag/Wallabag/Resources/translations/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.mo deleted file mode 100755 index 4884abf5..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.mo +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/translations/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.po b/src/Wallabag/Wallabag/Resources/translations/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.po deleted file mode 100755 index 08797705..00000000 --- a/src/Wallabag/Wallabag/Resources/translations/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.po +++ /dev/null | |||
@@ -1,534 +0,0 @@ | |||
1 | msgid "" | ||
2 | msgstr "" | ||
3 | "Project-Id-Version: wballabag\n" | ||
4 | "Report-Msgid-Bugs-To: \n" | ||
5 | "POT-Creation-Date: 2014-02-25 15:06+0300\n" | ||
6 | "PO-Revision-Date: 2014-02-25 15:08+0300\n" | ||
7 | "Last-Translator: Maryana <mariroz@mr.lviv.ua>\n" | ||
8 | "Language-Team: \n" | ||
9 | "Language: \n" | ||
10 | "MIME-Version: 1.0\n" | ||
11 | "Content-Type: text/plain; charset=UTF-8\n" | ||
12 | "Content-Transfer-Encoding: 8bit\n" | ||
13 | "X-Poedit-KeywordsList: _;gettext;gettext_noop\n" | ||
14 | "X-Poedit-Basepath: .\n" | ||
15 | "X-Poedit-Language: Ukrainian\n" | ||
16 | "X-Poedit-Country: UKRAINE\n" | ||
17 | "X-Poedit-SourceCharset: utf-8\n" | ||
18 | "X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-testing\n" | ||
19 | |||
20 | msgid "wallabag, a read it later open source system" | ||
21 | msgstr "wallabag, сервіс відкладеного читання з відкритим кодом" | ||
22 | |||
23 | msgid "login failed: user doesn't exist" | ||
24 | msgstr "увійти не вдалося: користувач не існує" | ||
25 | |||
26 | msgid "return home" | ||
27 | msgstr "повернутися на головну" | ||
28 | |||
29 | msgid "config" | ||
30 | msgstr "налаштування" | ||
31 | |||
32 | msgid "Saving articles" | ||
33 | msgstr "Зберігання посилань" | ||
34 | |||
35 | msgid "There are several ways to save an article:" | ||
36 | msgstr "Є кілька способів зберегти статтю:" | ||
37 | |||
38 | msgid "read the documentation" | ||
39 | msgstr "читати документацію" | ||
40 | |||
41 | msgid "download the extension" | ||
42 | msgstr "завантажити розширення" | ||
43 | |||
44 | msgid "via F-Droid" | ||
45 | msgstr "через F-Droid" | ||
46 | |||
47 | msgid " or " | ||
48 | msgstr "або" | ||
49 | |||
50 | msgid "via Google Play" | ||
51 | msgstr "через Google Play" | ||
52 | |||
53 | msgid "download the application" | ||
54 | msgstr "завантажити додаток" | ||
55 | |||
56 | msgid "By filling this field" | ||
57 | msgstr "Заповнивши це поле" | ||
58 | |||
59 | msgid "bag it!" | ||
60 | msgstr "зберегти!" | ||
61 | |||
62 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
63 | msgstr "З допомогою закладки: перетягніть і відпустіть посилання на панель закладок" | ||
64 | |||
65 | msgid "Upgrading wallabag" | ||
66 | msgstr "Оновлення wallabag" | ||
67 | |||
68 | msgid "Installed version" | ||
69 | msgstr "Встановлено версію" | ||
70 | |||
71 | msgid "Latest stable version" | ||
72 | msgstr "Остання стабільна версія" | ||
73 | |||
74 | msgid "A more recent stable version is available." | ||
75 | msgstr "Є новіша стабільна версія." | ||
76 | |||
77 | msgid "You are up to date." | ||
78 | msgstr "У вас остання версія." | ||
79 | |||
80 | msgid "Latest dev version" | ||
81 | msgstr "Остання версія в розробці" | ||
82 | |||
83 | msgid "A more recent development version is available." | ||
84 | msgstr "Доступна новіша версія в розробці." | ||
85 | |||
86 | msgid "Feeds" | ||
87 | msgstr "Завантаження (feeds)" | ||
88 | |||
89 | msgid "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
90 | msgstr "Ваш маркер завантажень (feed token) не визначено, ви повинні спочатку згенерувати його для того, щоб активувати завантаження. Натисніть <a href='?feed&action=generate'>тут для його генерації</ A>." | ||
91 | |||
92 | msgid "Unread feed" | ||
93 | msgstr "Завантаження непрочитаного" | ||
94 | |||
95 | msgid "Favorites feed" | ||
96 | msgstr "Завантаження вибраного" | ||
97 | |||
98 | msgid "Archive feed" | ||
99 | msgstr "Завантаження архіву" | ||
100 | |||
101 | msgid "Your token:" | ||
102 | msgstr "Ваш маркер (token): " | ||
103 | |||
104 | msgid "Your user id:" | ||
105 | msgstr "Ваш ідентифікатор користувача (user id):" | ||
106 | |||
107 | msgid "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." | ||
108 | msgstr "Ви можете перестворити ваш маркер: натисніть <a href='?feed&action=generate'>згенерувати!</a>." | ||
109 | |||
110 | msgid "Change your theme" | ||
111 | msgstr "Змінити тему" | ||
112 | |||
113 | msgid "Theme:" | ||
114 | msgstr "Тема:" | ||
115 | |||
116 | msgid "Update" | ||
117 | msgstr "Оновити" | ||
118 | |||
119 | msgid "Change your language" | ||
120 | msgstr "Змінити мову" | ||
121 | |||
122 | msgid "Language:" | ||
123 | msgstr "Мова:" | ||
124 | |||
125 | msgid "Change your password" | ||
126 | msgstr "Зміна паролю" | ||
127 | |||
128 | msgid "New password:" | ||
129 | msgstr "Новий пароль:" | ||
130 | |||
131 | msgid "Password" | ||
132 | msgstr "Пароль" | ||
133 | |||
134 | msgid "Repeat your new password:" | ||
135 | msgstr "Новий пароль ще раз:" | ||
136 | |||
137 | msgid "Import" | ||
138 | msgstr "Імпортування" | ||
139 | |||
140 | msgid "Please execute the import script locally as it can take a very long time." | ||
141 | msgstr "Будь ласка, виконайте сценарій імпорту локально, оскільки це може тривати досить довго." | ||
142 | |||
143 | msgid "More info in the official documentation:" | ||
144 | msgstr "Більше інформації в офіційній документації:" | ||
145 | |||
146 | msgid "Import from Pocket" | ||
147 | msgstr "Імпорт з Pocket-а" | ||
148 | |||
149 | #, php-format | ||
150 | msgid "(you must have a %s file on your server)" | ||
151 | msgstr "(файл %s повинен бути присутнім на вашому сервері)" | ||
152 | |||
153 | msgid "Import from Readability" | ||
154 | msgstr "Імпорт з Readability" | ||
155 | |||
156 | msgid "Import from Instapaper" | ||
157 | msgstr "Імпорт з Instapaper" | ||
158 | |||
159 | msgid "Import from wallabag" | ||
160 | msgstr "Імпорт з wallabag" | ||
161 | |||
162 | msgid "Export your wallabag data" | ||
163 | msgstr "Експортувати ваші дані з wallabag" | ||
164 | |||
165 | msgid "Click here" | ||
166 | msgstr "Клікніть тут" | ||
167 | |||
168 | msgid "to download your database." | ||
169 | msgstr "щоб завантажити вашу базу даних." | ||
170 | |||
171 | msgid "to export your wallabag data." | ||
172 | msgstr "щоб експортувати ваші дані wallabag." | ||
173 | |||
174 | msgid "Cache" | ||
175 | msgstr "Кеш" | ||
176 | |||
177 | msgid "to delete cache." | ||
178 | msgstr "щоб очистити кеш." | ||
179 | |||
180 | msgid "You can enter multiple tags, separated by commas." | ||
181 | msgstr "Ви можете ввести декілька тегів, розділених комами." | ||
182 | |||
183 | msgid "return to article" | ||
184 | msgstr "повернутися до статті" | ||
185 | |||
186 | msgid "plop" | ||
187 | msgstr "plop" | ||
188 | |||
189 | msgid "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>." | ||
190 | msgstr "Ви можете <a href='wallabag_compatibility_test.php'>перевірити вашу конфігурацію тут</a>." | ||
191 | |||
192 | msgid "favoris" | ||
193 | msgstr "вибране" | ||
194 | |||
195 | msgid "archive" | ||
196 | msgstr "архів" | ||
197 | |||
198 | msgid "unread" | ||
199 | msgstr "непрочитане" | ||
200 | |||
201 | msgid "by date asc" | ||
202 | msgstr "за датою по зростанню" | ||
203 | |||
204 | msgid "by date" | ||
205 | msgstr "за датою" | ||
206 | |||
207 | msgid "by date desc" | ||
208 | msgstr "за датою по спаданню" | ||
209 | |||
210 | msgid "by title asc" | ||
211 | msgstr "за назвою по зростанню" | ||
212 | |||
213 | msgid "by title" | ||
214 | msgstr "за назвою" | ||
215 | |||
216 | msgid "by title desc" | ||
217 | msgstr "за назвою по спаданню" | ||
218 | |||
219 | msgid "Tag" | ||
220 | msgstr "Тег" | ||
221 | |||
222 | msgid "No articles found." | ||
223 | msgstr "Статей не знайдено." | ||
224 | |||
225 | msgid "Toggle mark as read" | ||
226 | msgstr "змінити мітку прочитаного" | ||
227 | |||
228 | msgid "toggle favorite" | ||
229 | msgstr "змінити мітку вибраного" | ||
230 | |||
231 | msgid "delete" | ||
232 | msgstr "видалити" | ||
233 | |||
234 | msgid "original" | ||
235 | msgstr "оригінал" | ||
236 | |||
237 | msgid "estimated reading time:" | ||
238 | msgstr "приблизний час читання:" | ||
239 | |||
240 | msgid "mark all the entries as read" | ||
241 | msgstr "відмітити всі статті як прочитані" | ||
242 | |||
243 | msgid "results" | ||
244 | msgstr "результат(ів)" | ||
245 | |||
246 | msgid "installation" | ||
247 | msgstr "інсталяція" | ||
248 | |||
249 | msgid "install your wallabag" | ||
250 | msgstr "встановити wallabag" | ||
251 | |||
252 | msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation on wallabag website</a>." | ||
253 | msgstr "wallabag ще не встановлено. Будь ласка, заповніть форму нижче, щоб його встановити. Ви можете <a href='http://doc.wallabag.org/'>звертутися до документації на сайті wallabag</ A>." | ||
254 | |||
255 | msgid "Login" | ||
256 | msgstr "Логін" | ||
257 | |||
258 | msgid "Repeat your password" | ||
259 | msgstr "Пароль ще раз" | ||
260 | |||
261 | msgid "Install" | ||
262 | msgstr "Встановити" | ||
263 | |||
264 | msgid "login to your wallabag" | ||
265 | msgstr "увійти до wallabag" | ||
266 | |||
267 | msgid "Login to wallabag" | ||
268 | msgstr "Увійти до wallabag" | ||
269 | |||
270 | msgid "you are in demo mode, some features may be disabled." | ||
271 | msgstr "ви в демонстраційному режимі, деякі функції можуть бути відключені." | ||
272 | |||
273 | msgid "Username" | ||
274 | msgstr "Ім’я користувача" | ||
275 | |||
276 | msgid "Stay signed in" | ||
277 | msgstr "Запам'ятати мене" | ||
278 | |||
279 | msgid "(Do not check on public computers)" | ||
280 | msgstr "(Не відмічайте на загальнодоступних комп'ютерах)" | ||
281 | |||
282 | msgid "Sign in" | ||
283 | msgstr "Увійти" | ||
284 | |||
285 | msgid "favorites" | ||
286 | msgstr "вибране" | ||
287 | |||
288 | msgid "estimated reading time :" | ||
289 | msgstr "приблизний час читання:" | ||
290 | |||
291 | msgid "Mark all the entries as read" | ||
292 | msgstr "Відмітити все як прочитане" | ||
293 | |||
294 | msgid "Return home" | ||
295 | msgstr "Повернутися на головну" | ||
296 | |||
297 | msgid "Back to top" | ||
298 | msgstr "Догори" | ||
299 | |||
300 | msgid "Mark as read" | ||
301 | msgstr "Відмітити як прочитано/не прочитано" | ||
302 | |||
303 | msgid "Favorite" | ||
304 | msgstr "Вибране" | ||
305 | |||
306 | msgid "Toggle favorite" | ||
307 | msgstr "Відмітити як вибране/не вибране" | ||
308 | |||
309 | msgid "Delete" | ||
310 | msgstr "Видалити" | ||
311 | |||
312 | msgid "Tweet" | ||
313 | msgstr "Твітнути" | ||
314 | |||
315 | msgid "Email" | ||
316 | msgstr "Надіслати по e-mail" | ||
317 | |||
318 | msgid "shaarli" | ||
319 | msgstr "shaarli" | ||
320 | |||
321 | msgid "flattr" | ||
322 | msgstr "flattr" | ||
323 | |||
324 | msgid "Does this article appear wrong?" | ||
325 | msgstr "Ця стаття виглядає не так, як треба?" | ||
326 | |||
327 | msgid "tags:" | ||
328 | msgstr "теги:" | ||
329 | |||
330 | msgid "Edit tags" | ||
331 | msgstr "Редагувати теги" | ||
332 | |||
333 | msgid "save link!" | ||
334 | msgstr "зберегти лінк!" | ||
335 | |||
336 | msgid "home" | ||
337 | msgstr "головна" | ||
338 | |||
339 | msgid "tags" | ||
340 | msgstr "теги" | ||
341 | |||
342 | msgid "logout" | ||
343 | msgstr "вихід" | ||
344 | |||
345 | msgid "powered by" | ||
346 | msgstr "за підтримки" | ||
347 | |||
348 | msgid "debug mode is on so cache is off." | ||
349 | msgstr "режим відладки включено, отже кеш виключено." | ||
350 | |||
351 | msgid "your wallabag version:" | ||
352 | msgstr "версія вашого wallabag:" | ||
353 | |||
354 | msgid "storage:" | ||
355 | msgstr "сховище:" | ||
356 | |||
357 | msgid "save a link" | ||
358 | msgstr "зберегти лінк" | ||
359 | |||
360 | msgid "back to home" | ||
361 | msgstr "назад на головну" | ||
362 | |||
363 | msgid "toggle mark as read" | ||
364 | msgstr "змінити мітку на прочитано" | ||
365 | |||
366 | msgid "tweet" | ||
367 | msgstr "твітнути" | ||
368 | |||
369 | msgid "email" | ||
370 | msgstr "email" | ||
371 | |||
372 | msgid "this article appears wrong?" | ||
373 | msgstr "ця стаття виглядає не так, як треба?" | ||
374 | |||
375 | msgid "No link available here!" | ||
376 | msgstr "Немає доступних посилань!" | ||
377 | |||
378 | msgid "Poching a link" | ||
379 | msgstr "Зберігання посилання" | ||
380 | |||
381 | msgid "by filling this field" | ||
382 | msgstr "заповнивши це поле" | ||
383 | |||
384 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
385 | msgstr "з допомогою закладки: перетягніть і відпустіть посилання на панель закладок" | ||
386 | |||
387 | msgid "your version" | ||
388 | msgstr "ваша версія:" | ||
389 | |||
390 | msgid "latest stable version" | ||
391 | msgstr "остання стабільна версія" | ||
392 | |||
393 | msgid "a more recent stable version is available." | ||
394 | msgstr "є новіша стабільна версія." | ||
395 | |||
396 | msgid "you are up to date." | ||
397 | msgstr "у вас остання версія." | ||
398 | |||
399 | msgid "latest dev version" | ||
400 | msgstr "остання версія в розробці" | ||
401 | |||
402 | msgid "a more recent development version is available." | ||
403 | msgstr "доступна новіша версія в розробці." | ||
404 | |||
405 | msgid "Please execute the import script locally, it can take a very long time." | ||
406 | msgstr "Будь ласка, виконайте сценарій імпорту локально, оскільки це може тривати досить довго." | ||
407 | |||
408 | msgid "More infos in the official doc:" | ||
409 | msgstr "Більше інформації в офіційній документації:" | ||
410 | |||
411 | msgid "import from Pocket" | ||
412 | msgstr "імпорт з Pocket-а" | ||
413 | |||
414 | msgid "import from Readability" | ||
415 | msgstr "імпорт з Readability" | ||
416 | |||
417 | msgid "import from Instapaper" | ||
418 | msgstr "імпорт з Instapaper" | ||
419 | |||
420 | msgid "Tags" | ||
421 | msgstr "Теги" | ||
422 | |||
423 | msgid "Untitled" | ||
424 | msgstr "Без назви" | ||
425 | |||
426 | msgid "the link has been added successfully" | ||
427 | msgstr "посилання успішно додано" | ||
428 | |||
429 | msgid "error during insertion : the link wasn't added" | ||
430 | msgstr "помилка при вставці: посилання не додано" | ||
431 | |||
432 | msgid "the link has been deleted successfully" | ||
433 | msgstr "посилання успішно видалено" | ||
434 | |||
435 | msgid "the link wasn't deleted" | ||
436 | msgstr "посилання не було видалено" | ||
437 | |||
438 | msgid "Article not found!" | ||
439 | msgstr "Статтю не знайдено!" | ||
440 | |||
441 | msgid "previous" | ||
442 | msgstr "попередня" | ||
443 | |||
444 | msgid "next" | ||
445 | msgstr "наступна" | ||
446 | |||
447 | msgid "in demo mode, you can't update your password" | ||
448 | msgstr "в демонстраційному режимі ви не можете змінювати свій пароль" | ||
449 | |||
450 | msgid "your password has been updated" | ||
451 | msgstr "ваш пароль змінено" | ||
452 | |||
453 | msgid "the two fields have to be filled & the password must be the same in the two fields" | ||
454 | msgstr "обидва поля повинні бути заповнені і пароль повинен співпадати в обох" | ||
455 | |||
456 | msgid "still using the \"" | ||
457 | msgstr "досі використовується \"" | ||
458 | |||
459 | msgid "that theme does not seem to be installed" | ||
460 | msgstr "виглядає, що цю тему не було встановлено" | ||
461 | |||
462 | msgid "you have changed your theme preferences" | ||
463 | msgstr "ви змінили налаштування своєї теми" | ||
464 | |||
465 | msgid "that language does not seem to be installed" | ||
466 | msgstr "виглядає, що цю мову не було встановлено" | ||
467 | |||
468 | msgid "you have changed your language preferences" | ||
469 | msgstr "ви змінили свої налаштування мови" | ||
470 | |||
471 | msgid "login failed: you have to fill all fields" | ||
472 | msgstr "увійти не вдалося: ви повинні заповнити всі поля" | ||
473 | |||
474 | msgid "welcome to your wallabag" | ||
475 | msgstr "ласкаво просимо до вашого wallabag" | ||
476 | |||
477 | msgid "login failed: bad login or password" | ||
478 | msgstr "увійти не вдалося: не вірний логін або пароль" | ||
479 | |||
480 | msgid "import from instapaper completed" | ||
481 | msgstr "імпорт з instapaper-а завершено" | ||
482 | |||
483 | msgid "import from pocket completed" | ||
484 | msgstr "імпорт з pocket-а завершено" | ||
485 | |||
486 | msgid "import from Readability completed. " | ||
487 | msgstr "імпорт з Readability завершено" | ||
488 | |||
489 | msgid "import from Poche completed. " | ||
490 | msgstr "імпорт з Poche завершено." | ||
491 | |||
492 | msgid "Unknown import provider." | ||
493 | msgstr "Невідомий провайдер імпорту." | ||
494 | |||
495 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
496 | msgstr "Неповний файл inc/poche/define.inc.php, будь ласка, визначте \"" | ||
497 | |||
498 | msgid "Could not find required \"" | ||
499 | msgstr "Не вдалося знайти потрібний \"" | ||
500 | |||
501 | msgid "Uh, there is a problem while generating feeds." | ||
502 | msgstr "Ох, є проблема при створенні завантажень (feeds)." | ||
503 | |||
504 | msgid "Cache deleted." | ||
505 | msgstr "Кеш очищено." | ||
506 | |||
507 | msgid "Oops, it seems you don't have PHP 5." | ||
508 | msgstr "Упс, здається, у вас немає PHP 5." | ||
509 | |||
510 | #~ msgid "You can poche a link by several methods:" | ||
511 | #~ msgstr "Ви можете зберегти посилання кількома способами:" | ||
512 | |||
513 | #~ msgid "poche it!" | ||
514 | #~ msgstr "зберегти!" | ||
515 | |||
516 | #~ msgid "Updating poche" | ||
517 | #~ msgstr "Оновлення poche" | ||
518 | |||
519 | #, fuzzy | ||
520 | #~ msgid "Export your poche datas" | ||
521 | #~ msgstr "Експортувати ваші дані з poche" | ||
522 | |||
523 | #, fuzzy | ||
524 | #~ msgid "to export your poche datas." | ||
525 | #~ msgstr "щоб експортувати ваші дані poche." | ||
526 | |||
527 | #~ msgid "Import from poche" | ||
528 | #~ msgstr "Імпорт з poche" | ||
529 | |||
530 | #~ msgid "welcome to your poche" | ||
531 | #~ msgstr "ласкаво просимо до вашого poche" | ||
532 | |||
533 | #~ msgid "see you soon!" | ||
534 | #~ msgstr "бувайте, ще побачимось!" | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/css/jquery-ui-1.10.4.custom.css b/src/Wallabag/Wallabag/Resources/views/_global/public/css/jquery-ui-1.10.4.custom.css deleted file mode 100644 index 5690172f..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/css/jquery-ui-1.10.4.custom.css +++ /dev/null | |||
@@ -1,560 +0,0 @@ | |||
1 | /*! jQuery UI - v1.10.4 - 2014-03-09 | ||
2 | * http://jqueryui.com | ||
3 | * Includes: jquery.ui.core.css, jquery.ui.autocomplete.css, jquery.ui.menu.css, jquery.ui.theme.css | ||
4 | * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px | ||
5 | * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ | ||
6 | |||
7 | /* Layout helpers | ||
8 | ----------------------------------*/ | ||
9 | .ui-helper-hidden { | ||
10 | display: none; | ||
11 | } | ||
12 | .ui-helper-hidden-accessible { | ||
13 | border: 0; | ||
14 | clip: rect(0 0 0 0); | ||
15 | height: 1px; | ||
16 | margin: -1px; | ||
17 | overflow: hidden; | ||
18 | padding: 0; | ||
19 | position: absolute; | ||
20 | width: 1px; | ||
21 | } | ||
22 | .ui-helper-reset { | ||
23 | margin: 0; | ||
24 | padding: 0; | ||
25 | border: 0; | ||
26 | outline: 0; | ||
27 | line-height: 1.3; | ||
28 | text-decoration: none; | ||
29 | font-size: 100%; | ||
30 | list-style: none; | ||
31 | } | ||
32 | .ui-helper-clearfix:before, | ||
33 | .ui-helper-clearfix:after { | ||
34 | content: ""; | ||
35 | display: table; | ||
36 | border-collapse: collapse; | ||
37 | } | ||
38 | .ui-helper-clearfix:after { | ||
39 | clear: both; | ||
40 | } | ||
41 | .ui-helper-clearfix { | ||
42 | min-height: 0; /* support: IE7 */ | ||
43 | } | ||
44 | .ui-helper-zfix { | ||
45 | width: 100%; | ||
46 | height: 100%; | ||
47 | top: 0; | ||
48 | left: 0; | ||
49 | position: absolute; | ||
50 | opacity: 0; | ||
51 | filter:Alpha(Opacity=0); | ||
52 | } | ||
53 | |||
54 | .ui-front { | ||
55 | z-index: 100; | ||
56 | } | ||
57 | |||
58 | |||
59 | /* Interaction Cues | ||
60 | ----------------------------------*/ | ||
61 | .ui-state-disabled { | ||
62 | cursor: default !important; | ||
63 | } | ||
64 | |||
65 | |||
66 | /* Icons | ||
67 | ----------------------------------*/ | ||
68 | |||
69 | /* states and images */ | ||
70 | .ui-icon { | ||
71 | display: block; | ||
72 | text-indent: -99999px; | ||
73 | overflow: hidden; | ||
74 | background-repeat: no-repeat; | ||
75 | } | ||
76 | |||
77 | |||
78 | /* Misc visuals | ||
79 | ----------------------------------*/ | ||
80 | |||
81 | /* Overlays */ | ||
82 | .ui-widget-overlay { | ||
83 | position: fixed; | ||
84 | top: 0; | ||
85 | left: 0; | ||
86 | width: 100%; | ||
87 | height: 100%; | ||
88 | } | ||
89 | .ui-autocomplete { | ||
90 | position: absolute; | ||
91 | top: 0; | ||
92 | left: 0; | ||
93 | cursor: default; | ||
94 | } | ||
95 | .ui-menu { | ||
96 | list-style: none; | ||
97 | padding: 2px; | ||
98 | margin: 0; | ||
99 | display: block; | ||
100 | outline: none; | ||
101 | } | ||
102 | .ui-menu .ui-menu { | ||
103 | margin-top: -3px; | ||
104 | position: absolute; | ||
105 | } | ||
106 | .ui-menu .ui-menu-item { | ||
107 | margin: 0; | ||
108 | padding: 0; | ||
109 | width: 100%; | ||
110 | /* support: IE10, see #8844 */ | ||
111 | list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); | ||
112 | } | ||
113 | .ui-menu .ui-menu-divider { | ||
114 | margin: 5px -2px 5px -2px; | ||
115 | height: 0; | ||
116 | font-size: 0; | ||
117 | line-height: 0; | ||
118 | border-width: 1px 0 0 0; | ||
119 | } | ||
120 | .ui-menu .ui-menu-item a { | ||
121 | text-decoration: none; | ||
122 | display: block; | ||
123 | padding: 2px .4em; | ||
124 | line-height: 1.5; | ||
125 | min-height: 0; /* support: IE7 */ | ||
126 | font-weight: normal; | ||
127 | } | ||
128 | .ui-menu .ui-menu-item a.ui-state-focus, | ||
129 | .ui-menu .ui-menu-item a.ui-state-active { | ||
130 | font-weight: normal; | ||
131 | margin: -1px; | ||
132 | } | ||
133 | |||
134 | .ui-menu .ui-state-disabled { | ||
135 | font-weight: normal; | ||
136 | margin: .4em 0 .2em; | ||
137 | line-height: 1.5; | ||
138 | } | ||
139 | .ui-menu .ui-state-disabled a { | ||
140 | cursor: default; | ||
141 | } | ||
142 | |||
143 | /* icon support */ | ||
144 | .ui-menu-icons { | ||
145 | position: relative; | ||
146 | } | ||
147 | .ui-menu-icons .ui-menu-item a { | ||
148 | position: relative; | ||
149 | padding-left: 2em; | ||
150 | } | ||
151 | |||
152 | /* left-aligned */ | ||
153 | .ui-menu .ui-icon { | ||
154 | position: absolute; | ||
155 | top: .2em; | ||
156 | left: .2em; | ||
157 | } | ||
158 | |||
159 | /* right-aligned */ | ||
160 | .ui-menu .ui-menu-icon { | ||
161 | position: static; | ||
162 | float: right; | ||
163 | } | ||
164 | |||
165 | /* Component containers | ||
166 | ----------------------------------*/ | ||
167 | .ui-widget { | ||
168 | font-family: Verdana,Arial,sans-serif; | ||
169 | font-size: 1.1em; | ||
170 | } | ||
171 | .ui-widget .ui-widget { | ||
172 | font-size: 1em; | ||
173 | } | ||
174 | .ui-widget input, | ||
175 | .ui-widget select, | ||
176 | .ui-widget textarea, | ||
177 | .ui-widget button { | ||
178 | font-family: Verdana,Arial,sans-serif; | ||
179 | font-size: 1em; | ||
180 | } | ||
181 | .ui-widget-content { | ||
182 | border: 1px solid #aaaaaa; | ||
183 | background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; | ||
184 | color: #222222; | ||
185 | } | ||
186 | .ui-widget-content a { | ||
187 | color: #222222; | ||
188 | } | ||
189 | .ui-widget-header { | ||
190 | border: 1px solid #aaaaaa; | ||
191 | background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; | ||
192 | color: #222222; | ||
193 | font-weight: bold; | ||
194 | } | ||
195 | .ui-widget-header a { | ||
196 | color: #222222; | ||
197 | } | ||
198 | |||
199 | /* Interaction states | ||
200 | ----------------------------------*/ | ||
201 | .ui-state-default, | ||
202 | .ui-widget-content .ui-state-default, | ||
203 | .ui-widget-header .ui-state-default { | ||
204 | border: 1px solid #d3d3d3; | ||
205 | background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; | ||
206 | font-weight: normal; | ||
207 | color: #555555; | ||
208 | } | ||
209 | .ui-state-default a, | ||
210 | .ui-state-default a:link, | ||
211 | .ui-state-default a:visited { | ||
212 | color: #555555; | ||
213 | text-decoration: none; | ||
214 | } | ||
215 | .ui-state-hover, | ||
216 | .ui-widget-content .ui-state-hover, | ||
217 | .ui-widget-header .ui-state-hover, | ||
218 | .ui-state-focus, | ||
219 | .ui-widget-content .ui-state-focus, | ||
220 | .ui-widget-header .ui-state-focus { | ||
221 | border: 1px solid #999999; | ||
222 | background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; | ||
223 | font-weight: normal; | ||
224 | color: #212121; | ||
225 | } | ||
226 | .ui-state-hover a, | ||
227 | .ui-state-hover a:hover, | ||
228 | .ui-state-hover a:link, | ||
229 | .ui-state-hover a:visited, | ||
230 | .ui-state-focus a, | ||
231 | .ui-state-focus a:hover, | ||
232 | .ui-state-focus a:link, | ||
233 | .ui-state-focus a:visited { | ||
234 | color: #212121; | ||
235 | text-decoration: none; | ||
236 | } | ||
237 | .ui-state-active, | ||
238 | .ui-widget-content .ui-state-active, | ||
239 | .ui-widget-header .ui-state-active { | ||
240 | border: 1px solid #aaaaaa; | ||
241 | background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; | ||
242 | font-weight: normal; | ||
243 | color: #212121; | ||
244 | } | ||
245 | .ui-state-active a, | ||
246 | .ui-state-active a:link, | ||
247 | .ui-state-active a:visited { | ||
248 | color: #212121; | ||
249 | text-decoration: none; | ||
250 | } | ||
251 | |||
252 | /* Interaction Cues | ||
253 | ----------------------------------*/ | ||
254 | .ui-state-highlight, | ||
255 | .ui-widget-content .ui-state-highlight, | ||
256 | .ui-widget-header .ui-state-highlight { | ||
257 | border: 1px solid #fcefa1; | ||
258 | background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; | ||
259 | color: #363636; | ||
260 | } | ||
261 | .ui-state-highlight a, | ||
262 | .ui-widget-content .ui-state-highlight a, | ||
263 | .ui-widget-header .ui-state-highlight a { | ||
264 | color: #363636; | ||
265 | } | ||
266 | .ui-state-error, | ||
267 | .ui-widget-content .ui-state-error, | ||
268 | .ui-widget-header .ui-state-error { | ||
269 | border: 1px solid #cd0a0a; | ||
270 | background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; | ||
271 | color: #cd0a0a; | ||
272 | } | ||
273 | .ui-state-error a, | ||
274 | .ui-widget-content .ui-state-error a, | ||
275 | .ui-widget-header .ui-state-error a { | ||
276 | color: #cd0a0a; | ||
277 | } | ||
278 | .ui-state-error-text, | ||
279 | .ui-widget-content .ui-state-error-text, | ||
280 | .ui-widget-header .ui-state-error-text { | ||
281 | color: #cd0a0a; | ||
282 | } | ||
283 | .ui-priority-primary, | ||
284 | .ui-widget-content .ui-priority-primary, | ||
285 | .ui-widget-header .ui-priority-primary { | ||
286 | font-weight: bold; | ||
287 | } | ||
288 | .ui-priority-secondary, | ||
289 | .ui-widget-content .ui-priority-secondary, | ||
290 | .ui-widget-header .ui-priority-secondary { | ||
291 | opacity: .7; | ||
292 | filter:Alpha(Opacity=70); | ||
293 | font-weight: normal; | ||
294 | } | ||
295 | .ui-state-disabled, | ||
296 | .ui-widget-content .ui-state-disabled, | ||
297 | .ui-widget-header .ui-state-disabled { | ||
298 | opacity: .35; | ||
299 | filter:Alpha(Opacity=35); | ||
300 | background-image: none; | ||
301 | } | ||
302 | .ui-state-disabled .ui-icon { | ||
303 | filter:Alpha(Opacity=35); /* For IE8 - See #6059 */ | ||
304 | } | ||
305 | |||
306 | /* Icons | ||
307 | ----------------------------------*/ | ||
308 | |||
309 | /* states and images */ | ||
310 | .ui-icon { | ||
311 | width: 16px; | ||
312 | height: 16px; | ||
313 | } | ||
314 | .ui-icon, | ||
315 | .ui-widget-content .ui-icon { | ||
316 | background-image: url(images/ui-icons_222222_256x240.png); | ||
317 | } | ||
318 | .ui-widget-header .ui-icon { | ||
319 | background-image: url(images/ui-icons_222222_256x240.png); | ||
320 | } | ||
321 | .ui-state-default .ui-icon { | ||
322 | background-image: url(images/ui-icons_888888_256x240.png); | ||
323 | } | ||
324 | .ui-state-hover .ui-icon, | ||
325 | .ui-state-focus .ui-icon { | ||
326 | background-image: url(images/ui-icons_454545_256x240.png); | ||
327 | } | ||
328 | .ui-state-active .ui-icon { | ||
329 | background-image: url(images/ui-icons_454545_256x240.png); | ||
330 | } | ||
331 | .ui-state-highlight .ui-icon { | ||
332 | background-image: url(images/ui-icons_2e83ff_256x240.png); | ||
333 | } | ||
334 | .ui-state-error .ui-icon, | ||
335 | .ui-state-error-text .ui-icon { | ||
336 | background-image: url(images/ui-icons_cd0a0a_256x240.png); | ||
337 | } | ||
338 | |||
339 | /* positioning */ | ||
340 | .ui-icon-blank { background-position: 16px 16px; } | ||
341 | .ui-icon-carat-1-n { background-position: 0 0; } | ||
342 | .ui-icon-carat-1-ne { background-position: -16px 0; } | ||
343 | .ui-icon-carat-1-e { background-position: -32px 0; } | ||
344 | .ui-icon-carat-1-se { background-position: -48px 0; } | ||
345 | .ui-icon-carat-1-s { background-position: -64px 0; } | ||
346 | .ui-icon-carat-1-sw { background-position: -80px 0; } | ||
347 | .ui-icon-carat-1-w { background-position: -96px 0; } | ||
348 | .ui-icon-carat-1-nw { background-position: -112px 0; } | ||
349 | .ui-icon-carat-2-n-s { background-position: -128px 0; } | ||
350 | .ui-icon-carat-2-e-w { background-position: -144px 0; } | ||
351 | .ui-icon-triangle-1-n { background-position: 0 -16px; } | ||
352 | .ui-icon-triangle-1-ne { background-position: -16px -16px; } | ||
353 | .ui-icon-triangle-1-e { background-position: -32px -16px; } | ||
354 | .ui-icon-triangle-1-se { background-position: -48px -16px; } | ||
355 | .ui-icon-triangle-1-s { background-position: -64px -16px; } | ||
356 | .ui-icon-triangle-1-sw { background-position: -80px -16px; } | ||
357 | .ui-icon-triangle-1-w { background-position: -96px -16px; } | ||
358 | .ui-icon-triangle-1-nw { background-position: -112px -16px; } | ||
359 | .ui-icon-triangle-2-n-s { background-position: -128px -16px; } | ||
360 | .ui-icon-triangle-2-e-w { background-position: -144px -16px; } | ||
361 | .ui-icon-arrow-1-n { background-position: 0 -32px; } | ||
362 | .ui-icon-arrow-1-ne { background-position: -16px -32px; } | ||
363 | .ui-icon-arrow-1-e { background-position: -32px -32px; } | ||
364 | .ui-icon-arrow-1-se { background-position: -48px -32px; } | ||
365 | .ui-icon-arrow-1-s { background-position: -64px -32px; } | ||
366 | .ui-icon-arrow-1-sw { background-position: -80px -32px; } | ||
367 | .ui-icon-arrow-1-w { background-position: -96px -32px; } | ||
368 | .ui-icon-arrow-1-nw { background-position: -112px -32px; } | ||
369 | .ui-icon-arrow-2-n-s { background-position: -128px -32px; } | ||
370 | .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } | ||
371 | .ui-icon-arrow-2-e-w { background-position: -160px -32px; } | ||
372 | .ui-icon-arrow-2-se-nw { background-position: -176px -32px; } | ||
373 | .ui-icon-arrowstop-1-n { background-position: -192px -32px; } | ||
374 | .ui-icon-arrowstop-1-e { background-position: -208px -32px; } | ||
375 | .ui-icon-arrowstop-1-s { background-position: -224px -32px; } | ||
376 | .ui-icon-arrowstop-1-w { background-position: -240px -32px; } | ||
377 | .ui-icon-arrowthick-1-n { background-position: 0 -48px; } | ||
378 | .ui-icon-arrowthick-1-ne { background-position: -16px -48px; } | ||
379 | .ui-icon-arrowthick-1-e { background-position: -32px -48px; } | ||
380 | .ui-icon-arrowthick-1-se { background-position: -48px -48px; } | ||
381 | .ui-icon-arrowthick-1-s { background-position: -64px -48px; } | ||
382 | .ui-icon-arrowthick-1-sw { background-position: -80px -48px; } | ||
383 | .ui-icon-arrowthick-1-w { background-position: -96px -48px; } | ||
384 | .ui-icon-arrowthick-1-nw { background-position: -112px -48px; } | ||
385 | .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } | ||
386 | .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } | ||
387 | .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } | ||
388 | .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } | ||
389 | .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } | ||
390 | .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } | ||
391 | .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } | ||
392 | .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } | ||
393 | .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } | ||
394 | .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } | ||
395 | .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } | ||
396 | .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } | ||
397 | .ui-icon-arrowreturn-1-w { background-position: -64px -64px; } | ||
398 | .ui-icon-arrowreturn-1-n { background-position: -80px -64px; } | ||
399 | .ui-icon-arrowreturn-1-e { background-position: -96px -64px; } | ||
400 | .ui-icon-arrowreturn-1-s { background-position: -112px -64px; } | ||
401 | .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } | ||
402 | .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } | ||
403 | .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } | ||
404 | .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } | ||
405 | .ui-icon-arrow-4 { background-position: 0 -80px; } | ||
406 | .ui-icon-arrow-4-diag { background-position: -16px -80px; } | ||
407 | .ui-icon-extlink { background-position: -32px -80px; } | ||
408 | .ui-icon-newwin { background-position: -48px -80px; } | ||
409 | .ui-icon-refresh { background-position: -64px -80px; } | ||
410 | .ui-icon-shuffle { background-position: -80px -80px; } | ||
411 | .ui-icon-transfer-e-w { background-position: -96px -80px; } | ||
412 | .ui-icon-transferthick-e-w { background-position: -112px -80px; } | ||
413 | .ui-icon-folder-collapsed { background-position: 0 -96px; } | ||
414 | .ui-icon-folder-open { background-position: -16px -96px; } | ||
415 | .ui-icon-document { background-position: -32px -96px; } | ||
416 | .ui-icon-document-b { background-position: -48px -96px; } | ||
417 | .ui-icon-note { background-position: -64px -96px; } | ||
418 | .ui-icon-mail-closed { background-position: -80px -96px; } | ||
419 | .ui-icon-mail-open { background-position: -96px -96px; } | ||
420 | .ui-icon-suitcase { background-position: -112px -96px; } | ||
421 | .ui-icon-comment { background-position: -128px -96px; } | ||
422 | .ui-icon-person { background-position: -144px -96px; } | ||
423 | .ui-icon-print { background-position: -160px -96px; } | ||
424 | .ui-icon-trash { background-position: -176px -96px; } | ||
425 | .ui-icon-locked { background-position: -192px -96px; } | ||
426 | .ui-icon-unlocked { background-position: -208px -96px; } | ||
427 | .ui-icon-bookmark { background-position: -224px -96px; } | ||
428 | .ui-icon-tag { background-position: -240px -96px; } | ||
429 | .ui-icon-home { background-position: 0 -112px; } | ||
430 | .ui-icon-flag { background-position: -16px -112px; } | ||
431 | .ui-icon-calendar { background-position: -32px -112px; } | ||
432 | .ui-icon-cart { background-position: -48px -112px; } | ||
433 | .ui-icon-pencil { background-position: -64px -112px; } | ||
434 | .ui-icon-clock { background-position: -80px -112px; } | ||
435 | .ui-icon-disk { background-position: -96px -112px; } | ||
436 | .ui-icon-calculator { background-position: -112px -112px; } | ||
437 | .ui-icon-zoomin { background-position: -128px -112px; } | ||
438 | .ui-icon-zoomout { background-position: -144px -112px; } | ||
439 | .ui-icon-search { background-position: -160px -112px; } | ||
440 | .ui-icon-wrench { background-position: -176px -112px; } | ||
441 | .ui-icon-gear { background-position: -192px -112px; } | ||
442 | .ui-icon-heart { background-position: -208px -112px; } | ||
443 | .ui-icon-star { background-position: -224px -112px; } | ||
444 | .ui-icon-link { background-position: -240px -112px; } | ||
445 | .ui-icon-cancel { background-position: 0 -128px; } | ||
446 | .ui-icon-plus { background-position: -16px -128px; } | ||
447 | .ui-icon-plusthick { background-position: -32px -128px; } | ||
448 | .ui-icon-minus { background-position: -48px -128px; } | ||
449 | .ui-icon-minusthick { background-position: -64px -128px; } | ||
450 | .ui-icon-close { background-position: -80px -128px; } | ||
451 | .ui-icon-closethick { background-position: -96px -128px; } | ||
452 | .ui-icon-key { background-position: -112px -128px; } | ||
453 | .ui-icon-lightbulb { background-position: -128px -128px; } | ||
454 | .ui-icon-scissors { background-position: -144px -128px; } | ||
455 | .ui-icon-clipboard { background-position: -160px -128px; } | ||
456 | .ui-icon-copy { background-position: -176px -128px; } | ||
457 | .ui-icon-contact { background-position: -192px -128px; } | ||
458 | .ui-icon-image { background-position: -208px -128px; } | ||
459 | .ui-icon-video { background-position: -224px -128px; } | ||
460 | .ui-icon-script { background-position: -240px -128px; } | ||
461 | .ui-icon-alert { background-position: 0 -144px; } | ||
462 | .ui-icon-info { background-position: -16px -144px; } | ||
463 | .ui-icon-notice { background-position: -32px -144px; } | ||
464 | .ui-icon-help { background-position: -48px -144px; } | ||
465 | .ui-icon-check { background-position: -64px -144px; } | ||
466 | .ui-icon-bullet { background-position: -80px -144px; } | ||
467 | .ui-icon-radio-on { background-position: -96px -144px; } | ||
468 | .ui-icon-radio-off { background-position: -112px -144px; } | ||
469 | .ui-icon-pin-w { background-position: -128px -144px; } | ||
470 | .ui-icon-pin-s { background-position: -144px -144px; } | ||
471 | .ui-icon-play { background-position: 0 -160px; } | ||
472 | .ui-icon-pause { background-position: -16px -160px; } | ||
473 | .ui-icon-seek-next { background-position: -32px -160px; } | ||
474 | .ui-icon-seek-prev { background-position: -48px -160px; } | ||
475 | .ui-icon-seek-end { background-position: -64px -160px; } | ||
476 | .ui-icon-seek-start { background-position: -80px -160px; } | ||
477 | /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ | ||
478 | .ui-icon-seek-first { background-position: -80px -160px; } | ||
479 | .ui-icon-stop { background-position: -96px -160px; } | ||
480 | .ui-icon-eject { background-position: -112px -160px; } | ||
481 | .ui-icon-volume-off { background-position: -128px -160px; } | ||
482 | .ui-icon-volume-on { background-position: -144px -160px; } | ||
483 | .ui-icon-power { background-position: 0 -176px; } | ||
484 | .ui-icon-signal-diag { background-position: -16px -176px; } | ||
485 | .ui-icon-signal { background-position: -32px -176px; } | ||
486 | .ui-icon-battery-0 { background-position: -48px -176px; } | ||
487 | .ui-icon-battery-1 { background-position: -64px -176px; } | ||
488 | .ui-icon-battery-2 { background-position: -80px -176px; } | ||
489 | .ui-icon-battery-3 { background-position: -96px -176px; } | ||
490 | .ui-icon-circle-plus { background-position: 0 -192px; } | ||
491 | .ui-icon-circle-minus { background-position: -16px -192px; } | ||
492 | .ui-icon-circle-close { background-position: -32px -192px; } | ||
493 | .ui-icon-circle-triangle-e { background-position: -48px -192px; } | ||
494 | .ui-icon-circle-triangle-s { background-position: -64px -192px; } | ||
495 | .ui-icon-circle-triangle-w { background-position: -80px -192px; } | ||
496 | .ui-icon-circle-triangle-n { background-position: -96px -192px; } | ||
497 | .ui-icon-circle-arrow-e { background-position: -112px -192px; } | ||
498 | .ui-icon-circle-arrow-s { background-position: -128px -192px; } | ||
499 | .ui-icon-circle-arrow-w { background-position: -144px -192px; } | ||
500 | .ui-icon-circle-arrow-n { background-position: -160px -192px; } | ||
501 | .ui-icon-circle-zoomin { background-position: -176px -192px; } | ||
502 | .ui-icon-circle-zoomout { background-position: -192px -192px; } | ||
503 | .ui-icon-circle-check { background-position: -208px -192px; } | ||
504 | .ui-icon-circlesmall-plus { background-position: 0 -208px; } | ||
505 | .ui-icon-circlesmall-minus { background-position: -16px -208px; } | ||
506 | .ui-icon-circlesmall-close { background-position: -32px -208px; } | ||
507 | .ui-icon-squaresmall-plus { background-position: -48px -208px; } | ||
508 | .ui-icon-squaresmall-minus { background-position: -64px -208px; } | ||
509 | .ui-icon-squaresmall-close { background-position: -80px -208px; } | ||
510 | .ui-icon-grip-dotted-vertical { background-position: 0 -224px; } | ||
511 | .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } | ||
512 | .ui-icon-grip-solid-vertical { background-position: -32px -224px; } | ||
513 | .ui-icon-grip-solid-horizontal { background-position: -48px -224px; } | ||
514 | .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } | ||
515 | .ui-icon-grip-diagonal-se { background-position: -80px -224px; } | ||
516 | |||
517 | |||
518 | /* Misc visuals | ||
519 | ----------------------------------*/ | ||
520 | |||
521 | /* Corner radius */ | ||
522 | .ui-corner-all, | ||
523 | .ui-corner-top, | ||
524 | .ui-corner-left, | ||
525 | .ui-corner-tl { | ||
526 | border-top-left-radius: 4px; | ||
527 | } | ||
528 | .ui-corner-all, | ||
529 | .ui-corner-top, | ||
530 | .ui-corner-right, | ||
531 | .ui-corner-tr { | ||
532 | border-top-right-radius: 4px; | ||
533 | } | ||
534 | .ui-corner-all, | ||
535 | .ui-corner-bottom, | ||
536 | .ui-corner-left, | ||
537 | .ui-corner-bl { | ||
538 | border-bottom-left-radius: 4px; | ||
539 | } | ||
540 | .ui-corner-all, | ||
541 | .ui-corner-bottom, | ||
542 | .ui-corner-right, | ||
543 | .ui-corner-br { | ||
544 | border-bottom-right-radius: 4px; | ||
545 | } | ||
546 | |||
547 | /* Overlays */ | ||
548 | .ui-widget-overlay { | ||
549 | background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; | ||
550 | opacity: .3; | ||
551 | filter: Alpha(Opacity=30); | ||
552 | } | ||
553 | .ui-widget-shadow { | ||
554 | margin: -8px 0 0 -8px; | ||
555 | padding: 8px; | ||
556 | background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; | ||
557 | opacity: .3; | ||
558 | filter: Alpha(Opacity=30); | ||
559 | border-radius: 8px; | ||
560 | } | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/css/jquery-ui-1.10.4.custom.min.css b/src/Wallabag/Wallabag/Resources/views/_global/public/css/jquery-ui-1.10.4.custom.min.css deleted file mode 100644 index 4dba92a8..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/css/jquery-ui-1.10.4.custom.min.css +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | /*! jQuery UI - v1.10.4 - 2014-03-09 | ||
2 | * http://jqueryui.com | ||
3 | * Includes: jquery.ui.core.css, jquery.ui.autocomplete.css, jquery.ui.menu.css, jquery.ui.theme.css | ||
4 | * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px | ||
5 | * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ | ||
6 | |||
7 | .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-114.png b/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-114.png deleted file mode 100755 index 0e96edd5..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-114.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-120.png b/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-120.png deleted file mode 100755 index dc5aab1c..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-120.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-144.png b/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-144.png deleted file mode 100755 index 1d005db6..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-144.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-152.png b/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-152.png deleted file mode 100755 index f915231f..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-152.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-57.png b/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-57.png deleted file mode 100755 index 5aa19ed9..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-57.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-72.png b/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-72.png deleted file mode 100755 index b8b48e1b..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-72.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-76.png b/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-76.png deleted file mode 100755 index 9f9dba27..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon-76.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon.png b/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon.png deleted file mode 100755 index 9cf29e2b..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/apple-touch-icon.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/favicon.ico b/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/favicon.ico deleted file mode 100755 index 0346558b..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/appicon/favicon.ico +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/icons/carrot-icon--black.png b/src/Wallabag/Wallabag/Resources/views/_global/public/img/icons/carrot-icon--black.png deleted file mode 100644 index 6da7925b..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/icons/carrot-icon--black.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/icons/carrot-icon--white.png b/src/Wallabag/Wallabag/Resources/views/_global/public/img/icons/carrot-icon--white.png deleted file mode 100644 index a70044b6..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/icons/carrot-icon--white.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/icons/diaspora-icon--black.png b/src/Wallabag/Wallabag/Resources/views/_global/public/img/icons/diaspora-icon--black.png deleted file mode 100644 index 32bca194..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/icons/diaspora-icon--black.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/img/icons/diaspora-icon--white.png b/src/Wallabag/Wallabag/Resources/views/_global/public/img/icons/diaspora-icon--white.png deleted file mode 100644 index fc48d47c..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/img/icons/diaspora-icon--white.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/js/autoClose.js b/src/Wallabag/Wallabag/Resources/views/_global/public/js/autoClose.js deleted file mode 100644 index e9145b7e..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/js/autoClose.js +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | $(document).ready(function() { | ||
2 | current_url = window.location.href | ||
3 | if (current_url.match("&closewin=true")) { | ||
4 | window.close(); | ||
5 | } | ||
6 | }); | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/js/autoCompleteTags.js b/src/Wallabag/Wallabag/Resources/views/_global/public/js/autoCompleteTags.js deleted file mode 100755 index 90bc982c..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/js/autoCompleteTags.js +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | jQuery(function($) { | ||
2 | |||
3 | function split( val ) { | ||
4 | return val.split( /,\s*/ ); | ||
5 | } | ||
6 | function extractLast( term ) { | ||
7 | return split( term ).pop(); | ||
8 | } | ||
9 | |||
10 | |||
11 | $("#value").bind("keydown", function(event) { | ||
12 | if (event.keyCode === $.ui.keyCode.TAB && $(this).data("ui-autocomplete").menu.active) { | ||
13 | event.preventDefault(); | ||
14 | } | ||
15 | }).autocomplete({ | ||
16 | source : function(request, response) { | ||
17 | $.getJSON("./?view=tags", { | ||
18 | term : extractLast(request.term), | ||
19 | //id: $(':hidden#entry_id').val() | ||
20 | }, response); | ||
21 | }, | ||
22 | search : function() { | ||
23 | // custom minLength | ||
24 | var term = extractLast(this.value); | ||
25 | if (term.length < 1) { | ||
26 | return false; | ||
27 | } | ||
28 | }, | ||
29 | focus : function() { | ||
30 | // prevent value inserted on focus | ||
31 | return false; | ||
32 | }, | ||
33 | select : function(event, ui) { | ||
34 | var terms = split(this.value); | ||
35 | // remove the current input | ||
36 | terms.pop(); | ||
37 | // add the selected item | ||
38 | terms.push(ui.item.value); | ||
39 | // add placeholder to get the comma-and-space at the end | ||
40 | terms.push(""); | ||
41 | this.value = terms.join(", "); | ||
42 | return false; | ||
43 | } | ||
44 | }); | ||
45 | |||
46 | |||
47 | }); | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/js/jquery-2.0.3.min.js b/src/Wallabag/Wallabag/Resources/views/_global/public/js/jquery-2.0.3.min.js deleted file mode 100644 index a4dd0a2f..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/js/jquery-2.0.3.min.js +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | (function(e,undefined){var t,n,r=typeof undefined,i=e.location,o=e.document,s=o.documentElement,a=e.jQuery,u=e.$,l={},c=[],p="2.0.3",f=c.concat,h=c.push,d=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,x=function(e,n){return new x.fn.init(e,n,t)},b=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^-ms-/,N=/-([\da-z])/gi,E=function(e,t){return t.toUpperCase()},S=function(){o.removeEventListener("DOMContentLoaded",S,!1),e.removeEventListener("load",S,!1),x.ready()};x.fn=x.prototype={jquery:p,constructor:x,init:function(e,t,n){var r,i;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:T.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),C.test(r[1])&&x.isPlainObject(t))for(r in t)x.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=o.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?n.ready(e):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return d.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},a=2),"object"==typeof s||x.isFunction(s)||(s={}),u===a&&(s=this,--a);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(x.isPlainObject(r)||(i=x.isArray(r)))?(i?(i=!1,o=n&&x.isArray(n)?n:[]):o=n&&x.isPlainObject(n)?n:{},s[t]=x.extend(l,o,r)):r!==undefined&&(s[t]=r));return s},x.extend({expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=a),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){(e===!0?--x.readyWait:x.isReady)||(x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(o,[x]),x.fn.trigger&&x(o).trigger("ready").off("ready")))},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if("object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:JSON.parse,parseXML:function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=undefined}return(!t||t.getElementsByTagName("parsererror").length)&&x.error("Invalid XML: "+e),t},noop:function(){},globalEval:function(e){var t,n=eval;e=x.trim(e),e&&(1===e.indexOf("use strict")?(t=o.createElement("script"),t.text=e,o.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(k,"ms-").replace(N,E)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,s=j(e);if(n){if(s){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(s){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:function(e){return null==e?"":v.call(e)},makeArray:function(e,t){var n=t||[];return null!=e&&(j(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:g.call(t,e,n)},merge:function(e,t){var n=t.length,r=e.length,i=0;if("number"==typeof n)for(;n>i;i++)e[r++]=t[i];else while(t[i]!==undefined)e[r++]=t[i++];return e.length=r,e},grep:function(e,t,n){var r,i=[],o=0,s=e.length;for(n=!!n;s>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,s=j(e),a=[];if(s)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(a[a.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(a[a.length]=r);return f.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),x.isFunction(e)?(r=d.call(arguments,2),i=function(){return e.apply(t||this,r.concat(d.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):undefined},access:function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===x.type(n)){i=!0;for(a in n)x.access(e,t,a,n[a],!0,o,s)}else if(r!==undefined&&(i=!0,x.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(x(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},now:Date.now,swap:function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i}}),x.ready.promise=function(t){return n||(n=x.Deferred(),"complete"===o.readyState?setTimeout(x.ready):(o.addEventListener("DOMContentLoaded",S,!1),e.addEventListener("load",S,!1))),n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function j(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}t=x(o),function(e,undefined){var t,n,r,i,o,s,a,u,l,c,p,f,h,d,g,m,y,v="sizzle"+-new Date,b=e.document,w=0,T=0,C=st(),k=st(),N=st(),E=!1,S=function(e,t){return e===t?(E=!0,0):0},j=typeof undefined,D=1<<31,A={}.hasOwnProperty,L=[],q=L.pop,H=L.push,O=L.push,F=L.slice,P=L.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",W="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",$=W.replace("w","w#"),B="\\["+M+"*("+W+")"+M+"*(?:([*^$|!~]?=)"+M+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+$+")|)|)"+M+"*\\]",I=":("+W+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+B.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=RegExp("^"+M+"*,"+M+"*"),X=RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=RegExp(M+"*[+~]"),Y=RegExp("="+M+"*([^\\]'\"]*)"+M+"*\\]","g"),V=RegExp(I),G=RegExp("^"+$+"$"),J={ID:RegExp("^#("+W+")"),CLASS:RegExp("^\\.("+W+")"),TAG:RegExp("^("+W.replace("w","w*")+")"),ATTR:RegExp("^"+B),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:RegExp("^(?:"+R+")$","i"),needsContext:RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Q=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/^(?:input|select|textarea|button)$/i,et=/^h\d$/i,tt=/'|\\/g,nt=RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),rt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{O.apply(L=F.call(b.childNodes),b.childNodes),L[b.childNodes.length].nodeType}catch(it){O={apply:L.length?function(e,t){H.apply(e,F.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function ot(e,t,r,i){var o,s,a,u,l,f,g,m,x,w;if((t?t.ownerDocument||t:b)!==p&&c(t),t=t||p,r=r||[],!e||"string"!=typeof e)return r;if(1!==(u=t.nodeType)&&9!==u)return[];if(h&&!i){if(o=K.exec(e))if(a=o[1]){if(9===u){if(s=t.getElementById(a),!s||!s.parentNode)return r;if(s.id===a)return r.push(s),r}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(a))&&y(t,s)&&s.id===a)return r.push(s),r}else{if(o[2])return O.apply(r,t.getElementsByTagName(e)),r;if((a=o[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&(!d||!d.test(e))){if(m=g=v,x=t,w=9===u&&e,1===u&&"object"!==t.nodeName.toLowerCase()){f=gt(e),(g=t.getAttribute("id"))?m=g.replace(tt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=f.length;while(l--)f[l]=m+mt(f[l]);x=U.test(e)&&t.parentNode||t,w=f.join(",")}if(w)try{return O.apply(r,x.querySelectorAll(w)),r}catch(T){}finally{g||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,r,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>i.cacheLength&&delete t[e.shift()],t[n]=r}return t}function at(e){return e[v]=!0,e}function ut(e){var t=p.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function lt(e,t){var n=e.split("|"),r=e.length;while(r--)i.attrHandle[n[r]]=t}function ct(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return at(function(t){return t=+t,at(function(n,r){var i,o=e([],n.length,t),s=o.length;while(s--)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}s=ot.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},n=ot.support={},c=ot.setDocument=function(e){var t=e?e.ownerDocument||e:b,r=t.defaultView;return t!==p&&9===t.nodeType&&t.documentElement?(p=t,f=t.documentElement,h=!s(t),r&&r.attachEvent&&r!==r.top&&r.attachEvent("onbeforeunload",function(){c()}),n.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ut(function(e){return e.appendChild(t.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),n.getById=ut(function(e){return f.appendChild(e).id=v,!t.getElementsByName||!t.getElementsByName(v).length}),n.getById?(i.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){return e.getAttribute("id")===t}}):(delete i.find.ID,i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=n.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==j?t.getElementsByTagName(e):undefined}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.CLASS=n.getElementsByClassName&&function(e,t){return typeof t.getElementsByClassName!==j&&h?t.getElementsByClassName(e):undefined},g=[],d=[],(n.qsa=Q.test(t.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||d.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll(":checked").length||d.push(":checked")}),ut(function(e){var n=t.createElement("input");n.setAttribute("type","hidden"),e.appendChild(n).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&d.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||d.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),d.push(",.*:")})),(n.matchesSelector=Q.test(m=f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&ut(function(e){n.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",I)}),d=d.length&&RegExp(d.join("|")),g=g.length&&RegExp(g.join("|")),y=Q.test(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},S=f.compareDocumentPosition?function(e,r){if(e===r)return E=!0,0;var i=r.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(r);return i?1&i||!n.sortDetached&&r.compareDocumentPosition(e)===i?e===t||y(b,e)?-1:r===t||y(b,r)?1:l?P.call(l,e)-P.call(l,r):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,n){var r,i=0,o=e.parentNode,s=n.parentNode,a=[e],u=[n];if(e===n)return E=!0,0;if(!o||!s)return e===t?-1:n===t?1:o?-1:s?1:l?P.call(l,e)-P.call(l,n):0;if(o===s)return ct(e,n);r=e;while(r=r.parentNode)a.unshift(r);r=n;while(r=r.parentNode)u.unshift(r);while(a[i]===u[i])i++;return i?ct(a[i],u[i]):a[i]===b?-1:u[i]===b?1:0},t):p},ot.matches=function(e,t){return ot(e,null,null,t)},ot.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Y,"='$1']"),!(!n.matchesSelector||!h||g&&g.test(t)||d&&d.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return ot(t,p,null,[e]).length>0},ot.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},ot.attr=function(e,t){(e.ownerDocument||e)!==p&&c(e);var r=i.attrHandle[t.toLowerCase()],o=r&&A.call(i.attrHandle,t.toLowerCase())?r(e,t,!h):undefined;return o===undefined?n.attributes||!h?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null:o},ot.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},ot.uniqueSort=function(e){var t,r=[],i=0,o=0;if(E=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(S),E){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return e},o=ot.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=ot.selectors={cacheLength:50,createPseudo:at,match:J,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(nt,rt),e[3]=(e[4]||e[5]||"").replace(nt,rt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ot.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ot.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return J.CHILD.test(e[0])?null:(e[3]&&e[4]!==undefined?e[2]=e[4]:n&&V.test(n)&&(t=gt(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(nt,rt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=ot.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,h,d,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,y=a&&t.nodeName.toLowerCase(),x=!u&&!a;if(m){if(o){while(g){p=t;while(p=p[g])if(a?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&x){c=m[v]||(m[v]={}),l=c[e]||[],h=l[0]===w&&l[1],f=l[0]===w&&l[2],p=h&&m.childNodes[h];while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[w,h,f];break}}else if(x&&(l=(t[v]||(t[v]={}))[e])&&l[0]===w)f=l[1];else while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if((a?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(x&&((p[v]||(p[v]={}))[e]=[w,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ot.error("unsupported pseudo: "+e);return r[v]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?at(function(e,n){var i,o=r(e,t),s=o.length;while(s--)i=P.call(e,o[s]),e[i]=!(n[i]=o[s])}):function(e){return r(e,0,n)}):r}},pseudos:{not:at(function(e){var t=[],n=[],r=a(e.replace(z,"$1"));return r[v]?at(function(e,t,n,i){var o,s=r(e,null,i,[]),a=e.length;while(a--)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:at(function(e){return function(t){return ot(e,t).length>0}}),contains:at(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:at(function(e){return G.test(e||"")||ot.error("unsupported lang: "+e),e=e.replace(nt,rt).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return et.test(e.nodeName)},input:function(e){return Z.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},i.pseudos.nth=i.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[t]=pt(t);for(t in{submit:!0,reset:!0})i.pseudos[t]=ft(t);function dt(){}dt.prototype=i.filters=i.pseudos,i.setFilters=new dt;function gt(e,t){var n,r,o,s,a,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);a=e,u=[],l=i.preFilter;while(a){(!n||(r=_.exec(a)))&&(r&&(a=a.slice(r[0].length)||a),u.push(o=[])),n=!1,(r=X.exec(a))&&(n=r.shift(),o.push({value:n,type:r[0].replace(z," ")}),a=a.slice(n.length));for(s in i.filter)!(r=J[s].exec(a))||l[s]&&!(r=l[s](r))||(n=r.shift(),o.push({value:n,type:s,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?ot.error(e):k(e,u).slice(0)}function mt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function yt(e,t,n){var i=t.dir,o=n&&"parentNode"===i,s=T++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,a){var u,l,c,p=w+" "+s;if(a){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,a))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[v]||(t[v]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,a)||r,l[1]===!0)return!0}}function vt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,s=[],a=0,u=e.length,l=null!=t;for(;u>a;a++)(o=e[a])&&(!n||n(o,r,i))&&(s.push(o),l&&t.push(a));return s}function bt(e,t,n,r,i,o){return r&&!r[v]&&(r=bt(r)),i&&!i[v]&&(i=bt(i,o)),at(function(o,s,a,u){var l,c,p,f=[],h=[],d=s.length,g=o||Ct(t||"*",a.nodeType?[a]:a,[]),m=!e||!o&&t?g:xt(g,f,e,a,u),y=n?i||(o?e:d||r)?[]:s:m;if(n&&n(m,y,a,u),r){l=xt(y,h),r(l,[],a,u),c=l.length;while(c--)(p=l[c])&&(y[h[c]]=!(m[h[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?P.call(o,p):f[c])>-1&&(o[l]=!(s[l]=p))}}else y=xt(y===s?y.splice(d,y.length):y),i?i(null,s,y,u):O.apply(s,y)})}function wt(e){var t,n,r,o=e.length,s=i.relative[e[0].type],a=s||i.relative[" "],l=s?1:0,c=yt(function(e){return e===t},a,!0),p=yt(function(e){return P.call(t,e)>-1},a,!0),f=[function(e,n,r){return!s&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>l;l++)if(n=i.relative[e[l].type])f=[yt(vt(f),n)];else{if(n=i.filter[e[l].type].apply(null,e[l].matches),n[v]){for(r=++l;o>r;r++)if(i.relative[e[r].type])break;return bt(l>1&&vt(f),l>1&&mt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&wt(e.slice(l,r)),o>r&&wt(e=e.slice(r)),o>r&&mt(e))}f.push(n)}return vt(f)}function Tt(e,t){var n=0,o=t.length>0,s=e.length>0,a=function(a,l,c,f,h){var d,g,m,y=[],v=0,x="0",b=a&&[],T=null!=h,C=u,k=a||s&&i.find.TAG("*",h&&l.parentNode||l),N=w+=null==C?1:Math.random()||.1;for(T&&(u=l!==p&&l,r=n);null!=(d=k[x]);x++){if(s&&d){g=0;while(m=e[g++])if(m(d,l,c)){f.push(d);break}T&&(w=N,r=++n)}o&&((d=!m&&d)&&v--,a&&b.push(d))}if(v+=x,o&&x!==v){g=0;while(m=t[g++])m(b,y,l,c);if(a){if(v>0)while(x--)b[x]||y[x]||(y[x]=q.call(f));y=xt(y)}O.apply(f,y),T&&!a&&y.length>0&&v+t.length>1&&ot.uniqueSort(f)}return T&&(w=N,u=C),b};return o?at(a):a}a=ot.compile=function(e,t){var n,r=[],i=[],o=N[e+" "];if(!o){t||(t=gt(e)),n=t.length;while(n--)o=wt(t[n]),o[v]?r.push(o):i.push(o);o=N(e,Tt(i,r))}return o};function Ct(e,t,n){var r=0,i=t.length;for(;i>r;r++)ot(e,t[r],n);return n}function kt(e,t,r,o){var s,u,l,c,p,f=gt(e);if(!o&&1===f.length){if(u=f[0]=f[0].slice(0),u.length>2&&"ID"===(l=u[0]).type&&n.getById&&9===t.nodeType&&h&&i.relative[u[1].type]){if(t=(i.find.ID(l.matches[0].replace(nt,rt),t)||[])[0],!t)return r;e=e.slice(u.shift().value.length)}s=J.needsContext.test(e)?0:u.length;while(s--){if(l=u[s],i.relative[c=l.type])break;if((p=i.find[c])&&(o=p(l.matches[0].replace(nt,rt),U.test(u[0].type)&&t.parentNode||t))){if(u.splice(s,1),e=o.length&&mt(u),!e)return O.apply(r,o),r;break}}}return a(e,f)(o,t,!h,r,U.test(e)),r}n.sortStable=v.split("").sort(S).join("")===v,n.detectDuplicates=E,c(),n.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(p.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||lt("type|href|height|width",function(e,t,n){return n?undefined:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||lt("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?undefined:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||lt(R,function(e,t,n){var r;return n?undefined:(r=e.getAttributeNode(t))&&r.specified?r.value:e[t]===!0?t.toLowerCase():null}),x.find=ot,x.expr=ot.selectors,x.expr[":"]=x.expr.pseudos,x.unique=ot.uniqueSort,x.text=ot.getText,x.isXMLDoc=ot.isXML,x.contains=ot.contains}(e);var D={};function A(e){var t=D[e]={};return x.each(e.match(w)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?D[e]||A(e):x.extend({},e);var t,n,r,i,o,s,a=[],u=!e.once&&[],l=function(p){for(t=e.memory&&p,n=!0,s=i||0,i=0,o=a.length,r=!0;a&&o>s;s++)if(a[s].apply(p[0],p[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,a&&(u?u.length&&l(u.shift()):t?a=[]:c.disable())},c={add:function(){if(a){var n=a.length;(function s(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&c.has(n)||a.push(n):n&&n.length&&"string"!==r&&s(n)})})(arguments),r?o=a.length:t&&(i=n,l(t))}return this},remove:function(){return a&&x.each(arguments,function(e,t){var n;while((n=x.inArray(t,a,n))>-1)a.splice(n,1),r&&(o>=n&&o--,s>=n&&s--)}),this},has:function(e){return e?x.inArray(e,a)>-1:!(!a||!a.length)},empty:function(){return a=[],o=0,this},disable:function(){return a=u=t=undefined,this},disabled:function(){return!a},lock:function(){return u=undefined,t||c.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!a||n&&!u||(t=t||[],t=[e,t.slice?t.slice():t],r?u.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var s=o[0],a=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=d.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),s=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?d.call(arguments):r,n===a?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},a,u,l;if(r>1)for(a=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(s(t,l,n)).fail(o.reject).progress(s(t,u,a)):--i;return i||o.resolveWith(l,n),o.promise()}}),x.support=function(t){var n=o.createElement("input"),r=o.createDocumentFragment(),i=o.createElement("div"),s=o.createElement("select"),a=s.appendChild(o.createElement("option"));return n.type?(n.type="checkbox",t.checkOn=""!==n.value,t.optSelected=a.selected,t.reliableMarginRight=!0,t.boxSizingReliable=!0,t.pixelPosition=!1,n.checked=!0,t.noCloneChecked=n.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!a.disabled,n=o.createElement("input"),n.value="t",n.type="radio",t.radioValue="t"===n.value,n.setAttribute("checked","t"),n.setAttribute("name","t"),r.appendChild(n),t.checkClone=r.cloneNode(!0).cloneNode(!0).lastChild.checked,t.focusinBubbles="onfocusin"in e,i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===i.style.backgroundClip,x(function(){var n,r,s="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",a=o.getElementsByTagName("body")[0];a&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",a.appendChild(n).appendChild(i),i.innerHTML="",i.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",x.swap(a,null!=a.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===i.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(i,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(i,null)||{width:"4px"}).width,r=i.appendChild(o.createElement("div")),r.style.cssText=i.style.cssText=s,r.style.marginRight=r.style.width="0",i.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),a.removeChild(n))}),t):t}({});var L,q,H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,O=/([A-Z])/g;function F(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=x.expando+Math.random()}F.uid=1,F.accepts=function(e){return e.nodeType?1===e.nodeType||9===e.nodeType:!0},F.prototype={key:function(e){if(!F.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=F.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,x.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(x.isEmptyObject(o))x.extend(this.cache[i],t);else for(r in t)o[r]=t[r];return o},get:function(e,t){var n=this.cache[this.key(e)];return t===undefined?n:n[t]},access:function(e,t,n){var r;return t===undefined||t&&"string"==typeof t&&n===undefined?(r=this.get(e,t),r!==undefined?r:this.get(e,x.camelCase(t))):(this.set(e,t,n),n!==undefined?n:t)},remove:function(e,t){var n,r,i,o=this.key(e),s=this.cache[o];if(t===undefined)this.cache[o]={};else{x.isArray(t)?r=t.concat(t.map(x.camelCase)):(i=x.camelCase(t),t in s?r=[t,i]:(r=i,r=r in s?[r]:r.match(w)||[])),n=r.length;while(n--)delete s[r[n]]}},hasData:function(e){return!x.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}},L=new F,q=new F,x.extend({acceptData:F.accepts,hasData:function(e){return L.hasData(e)||q.hasData(e)},data:function(e,t,n){return L.access(e,t,n)},removeData:function(e,t){L.remove(e,t)},_data:function(e,t,n){return q.access(e,t,n)},_removeData:function(e,t){q.remove(e,t)}}),x.fn.extend({data:function(e,t){var n,r,i=this[0],o=0,s=null;if(e===undefined){if(this.length&&(s=L.get(i),1===i.nodeType&&!q.get(i,"hasDataAttrs"))){for(n=i.attributes;n.length>o;o++)r=n[o].name,0===r.indexOf("data-")&&(r=x.camelCase(r.slice(5)),P(i,r,s[r]));q.set(i,"hasDataAttrs",!0)}return s}return"object"==typeof e?this.each(function(){L.set(this,e)}):x.access(this,function(t){var n,r=x.camelCase(e);if(i&&t===undefined){if(n=L.get(i,e),n!==undefined)return n;if(n=L.get(i,r),n!==undefined)return n;if(n=P(i,r,undefined),n!==undefined)return n}else this.each(function(){var n=L.get(this,r);L.set(this,r,t),-1!==e.indexOf("-")&&n!==undefined&&L.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){L.remove(this,e)})}});function P(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(O,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:H.test(n)?JSON.parse(n):n}catch(i){}L.set(e,t,n)}else n=undefined;return n}x.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=q.get(e,t),n&&(!r||x.isArray(n)?r=q.access(e,t,x.makeArray(n)):r.push(n)),r||[]):undefined},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),s=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return q.get(e,n)||q.access(e,n,{empty:x.Callbacks("once memory").add(function(){q.remove(e,[t+"queue",n])})})}}),x.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),n>arguments.length?x.queue(this[0],e):t===undefined?this:this.each(function(){var n=x.queue(this,e,t);x._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=x.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=undefined),e=e||"fx";while(s--)n=q.get(o[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var R,M,W=/[\t\r\n\f]/g,$=/\r/g,B=/^(?:input|select|textarea|button)$/i;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[x.propFix[e]||e]})},addClass:function(e){var t,n,r,i,o,s=0,a=this.length,u="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,s=0,a=this.length,u=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,i=0,o=x(this),s=e.match(w)||[];while(t=s[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===r||"boolean"===n)&&(this.className&&q.set(this,"__className__",this.className),this.className=this.className||e===!1?"":q.get(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(W," ").indexOf(t)>=0)return!0;return!1},val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=x.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,x(this).val()):e,null==i?i="":"number"==typeof i?i+="":x.isArray(i)&&(i=x.map(i,function(e){return null==e?"":e+""})),t=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&t.set(this,i,"value")!==undefined||(this.value=i))});if(i)return t=x.valHooks[i.type]||x.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,"string"==typeof n?n.replace($,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;for(;a>u;u++)if(n=r[u],!(!n.selected&&u!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),s=i.length;while(s--)r=i[s],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,t,n){var i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===r?x.prop(e,t,n):(1===s&&x.isXMLDoc(e)||(t=t.toLowerCase(),i=x.attrHooks[t]||(x.expr.match.bool.test(t)?M:R)),n===undefined?i&&"get"in i&&null!==(o=i.get(e,t))?o:(o=x.find.attr(e,t),null==o?undefined:o):null!==n?i&&"set"in i&&(o=i.set(e,n,t))!==undefined?o:(e.setAttribute(t,n+""),n):(x.removeAttr(e,t),undefined))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!x.isXMLDoc(e),o&&(t=x.propFix[t]||t,i=x.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||B.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),M={set:function(e,t,n){return t===!1?x.removeAttr(e,n):e.setAttribute(n,n),n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,t){var n=x.expr.attrHandle[t]||x.find.attr;x.expr.attrHandle[t]=function(e,t,r){var i=x.expr.attrHandle[t],o=r?undefined:(x.expr.attrHandle[t]=undefined)!=n(e,t,r)?t.toLowerCase():null;return x.expr.attrHandle[t]=i,o}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,t){return x.isArray(t)?e.checked=x.inArray(x(e).val(),t)>=0:undefined}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var I=/^key/,z=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,X=/^([^.]*)(?:\.(.+)|)$/;function U(){return!0}function Y(){return!1}function V(){try{return o.activeElement}catch(e){}}x.event={global:{},add:function(e,t,n,i,o){var s,a,u,l,c,p,f,h,d,g,m,y=q.get(e);if(y){n.handler&&(s=n,n=s.handler,o=s.selector),n.guid||(n.guid=x.guid++),(l=y.events)||(l=y.events={}),(a=y.handle)||(a=y.handle=function(e){return typeof x===r||e&&x.event.triggered===e.type?undefined:x.event.dispatch.apply(a.elem,arguments)},a.elem=e),t=(t||"").match(w)||[""],c=t.length;while(c--)u=X.exec(t[c])||[],d=m=u[1],g=(u[2]||"").split(".").sort(),d&&(f=x.event.special[d]||{},d=(o?f.delegateType:f.bindType)||d,f=x.event.special[d]||{},p=x.extend({type:d,origType:m,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&x.expr.match.needsContext.test(o),namespace:g.join(".")},s),(h=l[d])||(h=l[d]=[],h.delegateCount=0,f.setup&&f.setup.call(e,i,g,a)!==!1||e.addEventListener&&e.addEventListener(d,a,!1)),f.add&&(f.add.call(e,p),p.handler.guid||(p.handler.guid=n.guid)),o?h.splice(h.delegateCount++,0,p):h.push(p),x.event.global[d]=!0);e=null}},remove:function(e,t,n,r,i){var o,s,a,u,l,c,p,f,h,d,g,m=q.hasData(e)&&q.get(e);if(m&&(u=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(a=X.exec(t[l])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){p=x.event.special[h]||{},h=(r?p.delegateType:p.bindType)||h,f=u[h]||[],a=a[2]&&RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=f.length;while(o--)c=f[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(f.splice(o,1),c.selector&&f.delegateCount--,p.remove&&p.remove.call(e,c));s&&!f.length&&(p.teardown&&p.teardown.call(e,d,m.handle)!==!1||x.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)x.event.remove(e,h+t[l],n,r,!0);x.isEmptyObject(u)&&(delete m.handle,q.remove(e,"events"))}},trigger:function(t,n,r,i){var s,a,u,l,c,p,f,h=[r||o],d=y.call(t,"type")?t.type:t,g=y.call(t,"namespace")?t.namespace.split("."):[];if(a=u=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!_.test(d+x.event.triggered)&&(d.indexOf(".")>=0&&(g=d.split("."),d=g.shift(),g.sort()),c=0>d.indexOf(":")&&"on"+d,t=t[x.expando]?t:new x.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=null==n?[t]:x.makeArray(n,[t]),f=x.event.special[d]||{},i||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!i&&!f.noBubble&&!x.isWindow(r)){for(l=f.delegateType||d,_.test(l+d)||(a=a.parentNode);a;a=a.parentNode)h.push(a),u=a;u===(r.ownerDocument||o)&&h.push(u.defaultView||u.parentWindow||e)}s=0;while((a=h[s++])&&!t.isPropagationStopped())t.type=s>1?l:f.bindType||d,p=(q.get(a,"events")||{})[t.type]&&q.get(a,"handle"),p&&p.apply(a,n),p=c&&a[c],p&&x.acceptData(a)&&p.apply&&p.apply(a,n)===!1&&t.preventDefault();return t.type=d,i||t.isDefaultPrevented()||f._default&&f._default.apply(h.pop(),n)!==!1||!x.acceptData(r)||c&&x.isFunction(r[d])&&!x.isWindow(r)&&(u=r[c],u&&(r[c]=null),x.event.triggered=d,r[d](),x.event.triggered=undefined,u&&(r[c]=u)),t.result}},dispatch:function(e){e=x.event.fix(e);var t,n,r,i,o,s=[],a=d.call(arguments),u=(q.get(this,"events")||{})[e.type]||[],l=x.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),t=0;while((i=s[t++])&&!e.isPropagationStopped()){e.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,r=((x.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a),r!==undefined&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;a>n;n++)o=t[n],i=o.selector+" ",r[i]===undefined&&(r[i]=o.needsContext?x(i,this).index(u)>=0:x.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return t.length>a&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,s=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||o,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||s===undefined||(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,s=e,a=this.fixHooks[i];a||(this.fixHooks[i]=a=z.test(i)?this.mouseHooks:I.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new x.Event(s),t=r.length;while(t--)n=r[t],e[n]=s[n];return e.target||(e.target=o),3===e.target.nodeType&&(e.target=e.target.parentNode),a.filter?a.filter(e,s):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==V()&&this.focus?(this.focus(),!1):undefined},delegateType:"focusin"},blur:{trigger:function(){return this===V()&&this.blur?(this.blur(),!1):undefined},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&x.nodeName(this,"input")?(this.click(),!1):undefined},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==undefined&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},x.Event=function(e,t){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.getPreventDefault&&e.getPreventDefault()?U:Y):this.type=e,t&&x.extend(this,t),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,undefined):new x.Event(e,t)},x.Event.prototype={isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=U,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=U,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=U,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=undefined);for(s in e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=undefined):null==r&&("string"==typeof t?(r=n,n=undefined):(r=n,n=t,t=undefined)),r===!1)r=Y;else if(!r)return this;return 1===i&&(o=r,r=function(e){return x().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=x.guid++)),this.each(function(){x.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,x(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=undefined),n===!1&&(n=Y),this.each(function(){x.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?x.event.trigger(e,t,n,!0):undefined}});var G=/^.[^:#\[\.,]*$/,J=/^(?:parents|prev(?:Until|All))/,Q=x.expr.match.needsContext,K={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t=x(e,this),n=t.length;return this.filter(function(){var e=0;for(;n>e;e++)if(x.contains(this,t[e]))return!0})},not:function(e){return this.pushStack(et(this,e||[],!0))},filter:function(e){return this.pushStack(et(this,e||[],!1))},is:function(e){return!!et(this,"string"==typeof e&&Q.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],s=Q.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(s?s.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?g.call(x(e),this[0]):g.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function Z(e,t){while((e=e[t])&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return Z(e,"nextSibling")},prev:function(e){return Z(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return e.contentDocument||x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(K[e]||x.unique(i),J.test(e)&&i.reverse()),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,t,n){var r=[],i=n!==undefined;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&x(e).is(n))break;r.push(e)}return r},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function et(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(G.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return g.call(t,e)>=0!==n})}var tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,nt=/<([\w:]+)/,rt=/<|&#?\w+;/,it=/<(?:script|style|link)/i,ot=/^(?:checkbox|radio)$/i,st=/checked\s*(?:[^=]|=\s*.checked.)/i,at=/^$|\/(?:java|ecma)script/i,ut=/^true\/(.*)/,lt=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ct={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ct.optgroup=ct.option,ct.tbody=ct.tfoot=ct.colgroup=ct.caption=ct.thead,ct.th=ct.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===undefined?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(mt(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&dt(mt(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++)1===e.nodeType&&(x.cleanData(mt(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!it.test(e)&&!ct[(nt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(tt,"<$1></$2>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(x.cleanData(mt(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=f.apply([],e);var r,i,o,s,a,u,l=0,c=this.length,p=this,h=c-1,d=e[0],g=x.isFunction(d);if(g||!(1>=c||"string"!=typeof d||x.support.checkClone)&&st.test(d))return this.each(function(r){var i=p.eq(r);g&&(e[0]=d.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(r=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),i=r.firstChild,1===r.childNodes.length&&(r=i),i)){for(o=x.map(mt(r,"script"),ft),s=o.length;c>l;l++)a=r,l!==h&&(a=x.clone(a,!0,!0),s&&x.merge(o,mt(a,"script"))),t.call(this[l],a,l);if(s)for(u=o[o.length-1].ownerDocument,x.map(o,ht),l=0;s>l;l++)a=o[l],at.test(a.type||"")&&!q.access(a,"globalEval")&&x.contains(u,a)&&(a.src?x._evalUrl(a.src):x.globalEval(a.textContent.replace(lt,"")))}return this}}),x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=[],i=x(e),o=i.length-1,s=0;for(;o>=s;s++)n=s===o?this:this.clone(!0),x(i[s])[t](n),h.apply(r,n.get());return this.pushStack(r)}}),x.extend({clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=x.contains(e.ownerDocument,e);if(!(x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(s=mt(a),o=mt(e),r=0,i=o.length;i>r;r++)yt(o[r],s[r]);if(t)if(n)for(o=o||mt(e),s=s||mt(a),r=0,i=o.length;i>r;r++)gt(o[r],s[r]);else gt(e,a);return s=mt(a,"script"),s.length>0&&dt(s,!u&&mt(e,"script")),a},buildFragment:function(e,t,n,r){var i,o,s,a,u,l,c=0,p=e.length,f=t.createDocumentFragment(),h=[];for(;p>c;c++)if(i=e[c],i||0===i)if("object"===x.type(i))x.merge(h,i.nodeType?[i]:i);else if(rt.test(i)){o=o||f.appendChild(t.createElement("div")),s=(nt.exec(i)||["",""])[1].toLowerCase(),a=ct[s]||ct._default,o.innerHTML=a[1]+i.replace(tt,"<$1></$2>")+a[2],l=a[0];while(l--)o=o.lastChild;x.merge(h,o.childNodes),o=f.firstChild,o.textContent=""}else h.push(t.createTextNode(i));f.textContent="",c=0;while(i=h[c++])if((!r||-1===x.inArray(i,r))&&(u=x.contains(i.ownerDocument,i),o=mt(f.appendChild(i),"script"),u&&dt(o),n)){l=0;while(i=o[l++])at.test(i.type||"")&&n.push(i)}return f},cleanData:function(e){var t,n,r,i,o,s,a=x.event.special,u=0;for(;(n=e[u])!==undefined;u++){if(F.accepts(n)&&(o=n[q.expando],o&&(t=q.cache[o]))){if(r=Object.keys(t.events||{}),r.length)for(s=0;(i=r[s])!==undefined;s++)a[i]?x.event.remove(n,i):x.removeEvent(n,i,t.handle);q.cache[o]&&delete q.cache[o]}delete L.cache[n[L.expando]]}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}});function pt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function ft(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function ht(e){var t=ut.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function dt(e,t){var n=e.length,r=0;for(;n>r;r++)q.set(e[r],"globalEval",!t||q.get(t[r],"globalEval"))}function gt(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(q.hasData(e)&&(o=q.access(e),s=q.set(t,o),l=o.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)x.event.add(t,i,l[i][n])}L.hasData(e)&&(a=L.access(e),u=x.extend({},a),L.set(t,u))}}function mt(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return t===undefined||t&&x.nodeName(e,t)?x.merge([e],n):n}function yt(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ot.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}x.fn.extend({wrapAll:function(e){var t;return x.isFunction(e)?this.each(function(t){x(this).wrapAll(e.call(this,t))}):(this[0]&&(t=x(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var vt,xt,bt=/^(none|table(?!-c[ea]).+)/,wt=/^margin/,Tt=RegExp("^("+b+")(.*)$","i"),Ct=RegExp("^("+b+")(?!px)[a-z%]+$","i"),kt=RegExp("^([+-])=("+b+")","i"),Nt={BODY:"block"},Et={position:"absolute",visibility:"hidden",display:"block"},St={letterSpacing:0,fontWeight:400},jt=["Top","Right","Bottom","Left"],Dt=["Webkit","O","Moz","ms"];function At(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Dt.length;while(i--)if(t=Dt[i]+n,t in e)return t;return r}function Lt(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function qt(t){return e.getComputedStyle(t,null)}function Ht(e,t){var n,r,i,o=[],s=0,a=e.length;for(;a>s;s++)r=e[s],r.style&&(o[s]=q.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&Lt(r)&&(o[s]=q.access(r,"olddisplay",Rt(r.nodeName)))):o[s]||(i=Lt(r),(n&&"none"!==n||!i)&&q.set(r,"olddisplay",i?n:x.css(r,"display"))));for(s=0;a>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}x.fn.extend({css:function(e,t){return x.access(this,function(e,t,n){var r,i,o={},s=0;if(x.isArray(t)){for(r=qt(e),i=t.length;i>s;s++)o[t[s]]=x.css(e,t[s],!1,r);return o}return n!==undefined?x.style(e,t,n):x.css(e,t)},e,t,arguments.length>1)},show:function(){return Ht(this,!0)},hide:function(){return Ht(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Lt(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=vt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=x.camelCase(t),u=e.style;return t=x.cssProps[a]||(x.cssProps[a]=At(u,a)),s=x.cssHooks[t]||x.cssHooks[a],n===undefined?s&&"get"in s&&(i=s.get(e,!1,r))!==undefined?i:u[t]:(o=typeof n,"string"===o&&(i=kt.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(x.css(e,t)),o="number"),null==n||"number"===o&&isNaN(n)||("number"!==o||x.cssNumber[a]||(n+="px"),x.support.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&(n=s.set(e,n,r))===undefined||(u[t]=n)),undefined)}},css:function(e,t,n,r){var i,o,s,a=x.camelCase(t);return t=x.cssProps[a]||(x.cssProps[a]=At(e.style,a)),s=x.cssHooks[t]||x.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),i===undefined&&(i=vt(e,t,r)),"normal"===i&&t in St&&(i=St[t]),""===n||n?(o=parseFloat(i),n===!0||x.isNumeric(o)?o||0:i):i}}),vt=function(e,t,n){var r,i,o,s=n||qt(e),a=s?s.getPropertyValue(t)||s[t]:undefined,u=e.style;return s&&(""!==a||x.contains(e.ownerDocument,e)||(a=x.style(e,t)),Ct.test(a)&&wt.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=s.width,u.width=r,u.minWidth=i,u.maxWidth=o)),a};function Ot(e,t,n){var r=Tt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Ft(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;for(;4>o;o+=2)"margin"===n&&(s+=x.css(e,n+jt[o],!0,i)),r?("content"===n&&(s-=x.css(e,"padding"+jt[o],!0,i)),"margin"!==n&&(s-=x.css(e,"border"+jt[o]+"Width",!0,i))):(s+=x.css(e,"padding"+jt[o],!0,i),"padding"!==n&&(s+=x.css(e,"border"+jt[o]+"Width",!0,i)));return s}function Pt(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=qt(e),s=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=vt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Ct.test(i))return i;r=s&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+Ft(e,t,n||(s?"border":"content"),r,o)+"px"}function Rt(e){var t=o,n=Nt[e];return n||(n=Mt(e,t),"none"!==n&&n||(xt=(xt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(xt[0].contentWindow||xt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=Mt(e,t),xt.detach()),Nt[e]=n),n}function Mt(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,t){x.cssHooks[t]={get:function(e,n,r){return n?0===e.offsetWidth&&bt.test(x.css(e,"display"))?x.swap(e,Et,function(){return Pt(e,t,r)}):Pt(e,t,r):undefined},set:function(e,n,r){var i=r&&qt(e);return Ot(e,n,r?Ft(e,t,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,t){return t?x.swap(e,{display:"inline-block"},vt,[e,"marginRight"]):undefined}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,t){x.cssHooks[t]={get:function(e,n){return n?(n=vt(e,t),Ct.test(n)?x(e).position()[t]+"px":n):undefined}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+jt[r]+t]=o[r]||o[r-2]||o[0];return i}},wt.test(e)||(x.cssHooks[e+t].set=Ot)});var Wt=/%20/g,$t=/\[\]$/,Bt=/\r?\n/g,It=/^(?:submit|button|image|reset|file)$/i,zt=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&zt.test(this.nodeName)&&!It.test(e)&&(this.checked||!ot.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(Bt,"\r\n")}}):{name:t.name,value:n.replace(Bt,"\r\n")}}).get()}}),x.param=function(e,t){var n,r=[],i=function(e,t){t=x.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(t===undefined&&(t=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){i(this.name,this.value)});else for(n in e)_t(n,e[n],t,i);return r.join("&").replace(Wt,"+")};function _t(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||$t.test(e)?r(e,i):_t(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)_t(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Xt,Ut,Yt=x.now(),Vt=/\?/,Gt=/#.*$/,Jt=/([?&])_=[^&]*/,Qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Kt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Zt=/^(?:GET|HEAD)$/,en=/^\/\//,tn=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,nn=x.fn.load,rn={},on={},sn="*/".concat("*");try{Ut=i.href}catch(an){Ut=o.createElement("a"),Ut.href="",Ut=Ut.href}Xt=tn.exec(Ut.toLowerCase())||[];function un(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function ln(e,t,n,r){var i={},o=e===on;function s(a){var u;return i[a]=!0,x.each(e[a]||[],function(e,a){var l=a(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):undefined:(t.dataTypes.unshift(l),s(l),!1)}),u}return s(t.dataTypes[0])||!i["*"]&&s("*")}function cn(e,t){var n,r,i=x.ajaxSettings.flatOptions||{};for(n in t)t[n]!==undefined&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,t,n){if("string"!=typeof e&&nn)return nn.apply(this,arguments);var r,i,o,s=this,a=e.indexOf(" ");return a>=0&&(r=e.slice(a),e=e.slice(0,a)),x.isFunction(t)?(n=t,t=undefined):t&&"object"==typeof t&&(i="POST"),s.length>0&&x.ajax({url:e,type:i,dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?x("<div>").append(x.parseHTML(e)).find(r):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ut,type:"GET",isLocal:Kt.test(Xt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":sn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?cn(cn(e,x.ajaxSettings),t):cn(x.ajaxSettings,e)},ajaxPrefilter:un(rn),ajaxTransport:un(on),ajax:function(e,t){"object"==typeof e&&(t=e,e=undefined),t=t||{};var n,r,i,o,s,a,u,l,c=x.ajaxSetup({},t),p=c.context||c,f=c.context&&(p.nodeType||p.jquery)?x(p):x.event,h=x.Deferred(),d=x.Callbacks("once memory"),g=c.statusCode||{},m={},y={},v=0,b="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===v){if(!o){o={};while(t=Qt.exec(i))o[t[1].toLowerCase()]=t[2]}t=o[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===v?i:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return v||(e=y[n]=y[n]||e,m[e]=t),this},overrideMimeType:function(e){return v||(c.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>v)for(t in e)g[t]=[g[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||b;return n&&n.abort(t),k(0,t),this}};if(h.promise(T).complete=d.add,T.success=T.done,T.error=T.fail,c.url=((e||c.url||Ut)+"").replace(Gt,"").replace(en,Xt[1]+"//"),c.type=t.method||t.type||c.method||c.type,c.dataTypes=x.trim(c.dataType||"*").toLowerCase().match(w)||[""],null==c.crossDomain&&(a=tn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===Xt[1]&&a[2]===Xt[2]&&(a[3]||("http:"===a[1]?"80":"443"))===(Xt[3]||("http:"===Xt[1]?"80":"443")))),c.data&&c.processData&&"string"!=typeof c.data&&(c.data=x.param(c.data,c.traditional)),ln(rn,c,t,T),2===v)return T;u=c.global,u&&0===x.active++&&x.event.trigger("ajaxStart"),c.type=c.type.toUpperCase(),c.hasContent=!Zt.test(c.type),r=c.url,c.hasContent||(c.data&&(r=c.url+=(Vt.test(r)?"&":"?")+c.data,delete c.data),c.cache===!1&&(c.url=Jt.test(r)?r.replace(Jt,"$1_="+Yt++):r+(Vt.test(r)?"&":"?")+"_="+Yt++)),c.ifModified&&(x.lastModified[r]&&T.setRequestHeader("If-Modified-Since",x.lastModified[r]),x.etag[r]&&T.setRequestHeader("If-None-Match",x.etag[r])),(c.data&&c.hasContent&&c.contentType!==!1||t.contentType)&&T.setRequestHeader("Content-Type",c.contentType),T.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+("*"!==c.dataTypes[0]?", "+sn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)T.setRequestHeader(l,c.headers[l]);if(c.beforeSend&&(c.beforeSend.call(p,T,c)===!1||2===v))return T.abort();b="abort";for(l in{success:1,error:1,complete:1})T[l](c[l]);if(n=ln(on,c,t,T)){T.readyState=1,u&&f.trigger("ajaxSend",[T,c]),c.async&&c.timeout>0&&(s=setTimeout(function(){T.abort("timeout")},c.timeout));try{v=1,n.send(m,k)}catch(C){if(!(2>v))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,t,o,a){var l,m,y,b,w,C=t;2!==v&&(v=2,s&&clearTimeout(s),n=undefined,i=a||"",T.readyState=e>0?4:0,l=e>=200&&300>e||304===e,o&&(b=pn(c,T,o)),b=fn(c,b,T,l),l?(c.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(x.lastModified[r]=w),w=T.getResponseHeader("etag"),w&&(x.etag[r]=w)),204===e||"HEAD"===c.type?C="nocontent":304===e?C="notmodified":(C=b.state,m=b.data,y=b.error,l=!y)):(y=C,(e||!C)&&(C="error",0>e&&(e=0))),T.status=e,T.statusText=(t||C)+"",l?h.resolveWith(p,[m,C,T]):h.rejectWith(p,[T,C,y]),T.statusCode(g),g=undefined,u&&f.trigger(l?"ajaxSuccess":"ajaxError",[T,c,l?m:y]),d.fireWith(p,[T,C]),u&&(f.trigger("ajaxComplete",[T,c]),--x.active||x.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,t){return x.get(e,undefined,t,"script")}}),x.each(["get","post"],function(e,t){x[t]=function(e,n,r,i){return x.isFunction(n)&&(i=i||r,r=n,n=undefined),x.ajax({url:e,type:t,dataType:i,data:n,success:r})}});function pn(e,t,n){var r,i,o,s,a=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),r===undefined&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}return o?(o!==u[0]&&u.unshift(o),n[o]):undefined}function fn(e,t,n,r){var i,o,s,a,u,l={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)l[s.toLowerCase()]=e.converters[s];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(s=l[u+" "+o]||l["* "+o],!s)for(i in l)if(a=i.split(" "),a[1]===o&&(s=l[u+" "+a[0]]||l["* "+a[0]])){s===!0?s=l[i]:l[i]!==!0&&(o=a[0],c.unshift(a[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(p){return{state:"parsererror",error:s?p:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===undefined&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),x.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=x("<script>").prop({async:!0,charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),o.head.appendChild(t[0])},abort:function(){n&&n()}}}});var hn=[],dn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=hn.pop()||x.expando+"_"+Yt++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,s,a=t.jsonp!==!1&&(dn.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&dn.test(t.data)&&"data");return a||"jsonp"===t.dataTypes[0]?(i=t.jsonpCallback=x.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(dn,"$1"+i):t.jsonp!==!1&&(t.url+=(Vt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return s||x.error(i+" was not called"),s[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){s=arguments},r.always(function(){e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,hn.push(i)),s&&x.isFunction(o)&&o(s[0]),s=o=undefined}),"script"):undefined}),x.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var gn=x.ajaxSettings.xhr(),mn={0:200,1223:204},yn=0,vn={};e.ActiveXObject&&x(e).on("unload",function(){for(var e in vn)vn[e]();vn=undefined}),x.support.cors=!!gn&&"withCredentials"in gn,x.support.ajax=gn=!!gn,x.ajaxTransport(function(e){var t;return x.support.cors||gn&&!e.crossDomain?{send:function(n,r){var i,o,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)s[i]=e.xhrFields[i];e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(i in n)s.setRequestHeader(i,n[i]);t=function(e){return function(){t&&(delete vn[o],t=s.onload=s.onerror=null,"abort"===e?s.abort():"error"===e?r(s.status||404,s.statusText):r(mn[s.status]||s.status,s.statusText,"string"==typeof s.responseText?{text:s.responseText}:undefined,s.getAllResponseHeaders()))}},s.onload=t(),s.onerror=t("error"),t=vn[o=yn++]=t("abort"),s.send(e.hasContent&&e.data||null)},abort:function(){t&&t()}}:undefined});var xn,bn,wn=/^(?:toggle|show|hide)$/,Tn=RegExp("^(?:([+-])=|)("+b+")([a-z%]*)$","i"),Cn=/queueHooks$/,kn=[An],Nn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Tn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),s=(x.cssNumber[e]||"px"!==o&&+r)&&Tn.exec(x.css(n.elem,e)),a=1,u=20;if(s&&s[3]!==o){o=o||s[3],i=i||[],s=+r||1;do a=a||".5",s/=a,x.style(n.elem,e,s+o);while(a!==(a=n.cur()/r)&&1!==a&&--u)}return i&&(s=n.start=+s||+r||0,n.unit=o,n.end=i[1]?s+(i[1]+1)*i[2]:+i[2]),n}]};function En(){return setTimeout(function(){xn=undefined}),xn=x.now()}function Sn(e,t,n){var r,i=(Nn[t]||[]).concat(Nn["*"]),o=0,s=i.length;for(;s>o;o++)if(r=i[o].call(n,t,e))return r}function jn(e,t,n){var r,i,o=0,s=kn.length,a=x.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=xn||En(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,s=0,u=l.tweens.length;for(;u>s;s++)l.tweens[s].run(o);return a.notifyWith(e,[l,o,n]),1>o&&u?n:(a.resolveWith(e,[l]),!1)},l=a.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:xn||En(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?a.resolveWith(e,[l,t]):a.rejectWith(e,[l,t]),this}}),c=l.props;for(Dn(c,l.opts.specialEasing);s>o;o++)if(r=kn[o].call(l,e,c,l.opts))return r;return x.map(c,Sn,l),x.isFunction(l.opts.start)&&l.opts.start.call(e,l),x.fx.timer(x.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function Dn(e,t){var n,r,i,o,s;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),s=x.cssHooks[r],s&&"expand"in s){o=s.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(jn,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Nn[n]=Nn[n]||[],Nn[n].unshift(t)},prefilter:function(e,t){t?kn.unshift(e):kn.push(e)}});function An(e,t,n){var r,i,o,s,a,u,l=this,c={},p=e.style,f=e.nodeType&&Lt(e),h=q.get(e,"fxshow");n.queue||(a=x._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,u=a.empty.fire,a.empty.fire=function(){a.unqueued||u()}),a.unqueued++,l.always(function(){l.always(function(){a.unqueued--,x.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(p.display="inline-block")),n.overflow&&(p.overflow="hidden",l.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],wn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show")){if("show"!==i||!h||h[r]===undefined)continue;f=!0}c[r]=h&&h[r]||x.style(e,r)}if(!x.isEmptyObject(c)){h?"hidden"in h&&(f=h.hidden):h=q.access(e,"fxshow",{}),o&&(h.hidden=!f),f?x(e).show():l.done(function(){x(e).hide()}),l.done(function(){var t;q.remove(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)s=Sn(f?h[r]:0,r,l),r in h||(h[r]=s.start,f&&(s.end=s.start,s.start="width"===r||"height"===r?1:0))}}function Ln(e,t,n,r,i){return new Ln.prototype.init(e,t,n,r,i)}x.Tween=Ln,Ln.prototype={constructor:Ln,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=Ln.propHooks[this.prop];return e&&e.get?e.get(this):Ln.propHooks._default.get(this)},run:function(e){var t,n=Ln.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ln.propHooks._default.set(this),this}},Ln.prototype.init.prototype=Ln.prototype,Ln.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Ln.propHooks.scrollTop=Ln.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(qn(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Lt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),s=function(){var t=jn(this,x.extend({},e),o);(i||q.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||o.queue===!1?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=undefined),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=x.timers,s=q.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&Cn.test(i)&&r(s[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));(t||!n)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=q.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,s=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;s>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function qn(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=jt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:qn("show"),slideUp:qn("hide"),slideToggle:qn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=Ln.prototype.init,x.fx.tick=function(){var e,t=x.timers,n=0;for(xn=x.now();t.length>n;n++)e=t[n],e()||t[n]!==e||t.splice(n--,1);t.length||x.fx.stop(),xn=undefined},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){bn||(bn=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(bn),bn=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===undefined?this:this.each(function(t){x.offset.setOffset(this,e,t)});var t,n,i=this[0],o={top:0,left:0},s=i&&i.ownerDocument;if(s)return t=s.documentElement,x.contains(t,i)?(typeof i.getBoundingClientRect!==r&&(o=i.getBoundingClientRect()),n=Hn(s),{top:o.top+n.pageYOffset-t.clientTop,left:o.left+n.pageXOffset-t.clientLeft}):o},x.offset={setOffset:function(e,t,n){var r,i,o,s,a,u,l,c=x.css(e,"position"),p=x(e),f={};"static"===c&&(e.style.position="relative"),a=p.offset(),o=x.css(e,"top"),u=x.css(e,"left"),l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1,l?(r=p.position(),s=r.top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(u)||0),x.isFunction(t)&&(t=t.call(e,n,a)),null!=t.top&&(f.top=t.top-a.top+s),null!=t.left&&(f.left=t.left-a.left+i),"using"in t?t.using.call(e,f):p.css(f)}},x.fn.extend({position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===x.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(r=e.offset()),r.top+=x.css(e[0],"borderTopWidth",!0),r.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-x.css(n,"marginTop",!0),left:t.left-r.left-x.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,n){var r="pageYOffset"===n;x.fn[t]=function(i){return x.access(this,function(t,i,o){var s=Hn(t);return o===undefined?s?s[n]:t[i]:(s?s.scrollTo(r?e.pageXOffset:o,r?o:e.pageYOffset):t[i]=o,undefined)},t,i,arguments.length,null)}});function Hn(e){return x.isWindow(e)?e:9===e.nodeType&&e.defaultView}x.each({Height:"height",Width:"width"},function(e,t){x.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){x.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),s=n||(r===!0||i===!0?"margin":"border");return x.access(this,function(t,n,r){var i;return x.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):r===undefined?x.css(t,n,s):x.style(t,n,r,s)},t,o?r:undefined,o,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}),"object"==typeof e&&"object"==typeof e.document&&(e.jQuery=e.$=x)})(window); \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/js/jquery-ui-1.10.4.custom.js b/src/Wallabag/Wallabag/Resources/views/_global/public/js/jquery-ui-1.10.4.custom.js deleted file mode 100644 index 6f599fca..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/js/jquery-ui-1.10.4.custom.js +++ /dev/null | |||
@@ -1,2519 +0,0 @@ | |||
1 | /*! jQuery UI - v1.10.4 - 2014-03-08 | ||
2 | * http://jqueryui.com | ||
3 | * Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.position.js, jquery.ui.autocomplete.js, jquery.ui.menu.js | ||
4 | * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ | ||
5 | |||
6 | (function( $, undefined ) { | ||
7 | |||
8 | var uuid = 0, | ||
9 | runiqueId = /^ui-id-\d+$/; | ||
10 | |||
11 | // $.ui might exist from components with no dependencies, e.g., $.ui.position | ||
12 | $.ui = $.ui || {}; | ||
13 | |||
14 | $.extend( $.ui, { | ||
15 | version: "1.10.4", | ||
16 | |||
17 | keyCode: { | ||
18 | BACKSPACE: 8, | ||
19 | COMMA: 188, | ||
20 | DELETE: 46, | ||
21 | DOWN: 40, | ||
22 | END: 35, | ||
23 | ENTER: 13, | ||
24 | ESCAPE: 27, | ||
25 | HOME: 36, | ||
26 | LEFT: 37, | ||
27 | NUMPAD_ADD: 107, | ||
28 | NUMPAD_DECIMAL: 110, | ||
29 | NUMPAD_DIVIDE: 111, | ||
30 | NUMPAD_ENTER: 108, | ||
31 | NUMPAD_MULTIPLY: 106, | ||
32 | NUMPAD_SUBTRACT: 109, | ||
33 | PAGE_DOWN: 34, | ||
34 | PAGE_UP: 33, | ||
35 | PERIOD: 190, | ||
36 | RIGHT: 39, | ||
37 | SPACE: 32, | ||
38 | TAB: 9, | ||
39 | UP: 38 | ||
40 | } | ||
41 | }); | ||
42 | |||
43 | // plugins | ||
44 | $.fn.extend({ | ||
45 | focus: (function( orig ) { | ||
46 | return function( delay, fn ) { | ||
47 | return typeof delay === "number" ? | ||
48 | this.each(function() { | ||
49 | var elem = this; | ||
50 | setTimeout(function() { | ||
51 | $( elem ).focus(); | ||
52 | if ( fn ) { | ||
53 | fn.call( elem ); | ||
54 | } | ||
55 | }, delay ); | ||
56 | }) : | ||
57 | orig.apply( this, arguments ); | ||
58 | }; | ||
59 | })( $.fn.focus ), | ||
60 | |||
61 | scrollParent: function() { | ||
62 | var scrollParent; | ||
63 | if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) { | ||
64 | scrollParent = this.parents().filter(function() { | ||
65 | return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); | ||
66 | }).eq(0); | ||
67 | } else { | ||
68 | scrollParent = this.parents().filter(function() { | ||
69 | return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); | ||
70 | }).eq(0); | ||
71 | } | ||
72 | |||
73 | return (/fixed/).test(this.css("position")) || !scrollParent.length ? $(document) : scrollParent; | ||
74 | }, | ||
75 | |||
76 | zIndex: function( zIndex ) { | ||
77 | if ( zIndex !== undefined ) { | ||
78 | return this.css( "zIndex", zIndex ); | ||
79 | } | ||
80 | |||
81 | if ( this.length ) { | ||
82 | var elem = $( this[ 0 ] ), position, value; | ||
83 | while ( elem.length && elem[ 0 ] !== document ) { | ||
84 | // Ignore z-index if position is set to a value where z-index is ignored by the browser | ||
85 | // This makes behavior of this function consistent across browsers | ||
86 | // WebKit always returns auto if the element is positioned | ||
87 | position = elem.css( "position" ); | ||
88 | if ( position === "absolute" || position === "relative" || position === "fixed" ) { | ||
89 | // IE returns 0 when zIndex is not specified | ||
90 | // other browsers return a string | ||
91 | // we ignore the case of nested elements with an explicit value of 0 | ||
92 | // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> | ||
93 | value = parseInt( elem.css( "zIndex" ), 10 ); | ||
94 | if ( !isNaN( value ) && value !== 0 ) { | ||
95 | return value; | ||
96 | } | ||
97 | } | ||
98 | elem = elem.parent(); | ||
99 | } | ||
100 | } | ||
101 | |||
102 | return 0; | ||
103 | }, | ||
104 | |||
105 | uniqueId: function() { | ||
106 | return this.each(function() { | ||
107 | if ( !this.id ) { | ||
108 | this.id = "ui-id-" + (++uuid); | ||
109 | } | ||
110 | }); | ||
111 | }, | ||
112 | |||
113 | removeUniqueId: function() { | ||
114 | return this.each(function() { | ||
115 | if ( runiqueId.test( this.id ) ) { | ||
116 | $( this ).removeAttr( "id" ); | ||
117 | } | ||
118 | }); | ||
119 | } | ||
120 | }); | ||
121 | |||
122 | // selectors | ||
123 | function focusable( element, isTabIndexNotNaN ) { | ||
124 | var map, mapName, img, | ||
125 | nodeName = element.nodeName.toLowerCase(); | ||
126 | if ( "area" === nodeName ) { | ||
127 | map = element.parentNode; | ||
128 | mapName = map.name; | ||
129 | if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { | ||
130 | return false; | ||
131 | } | ||
132 | img = $( "img[usemap=#" + mapName + "]" )[0]; | ||
133 | return !!img && visible( img ); | ||
134 | } | ||
135 | return ( /input|select|textarea|button|object/.test( nodeName ) ? | ||
136 | !element.disabled : | ||
137 | "a" === nodeName ? | ||
138 | element.href || isTabIndexNotNaN : | ||
139 | isTabIndexNotNaN) && | ||
140 | // the element and all of its ancestors must be visible | ||
141 | visible( element ); | ||
142 | } | ||
143 | |||
144 | function visible( element ) { | ||
145 | return $.expr.filters.visible( element ) && | ||
146 | !$( element ).parents().addBack().filter(function() { | ||
147 | return $.css( this, "visibility" ) === "hidden"; | ||
148 | }).length; | ||
149 | } | ||
150 | |||
151 | $.extend( $.expr[ ":" ], { | ||
152 | data: $.expr.createPseudo ? | ||
153 | $.expr.createPseudo(function( dataName ) { | ||
154 | return function( elem ) { | ||
155 | return !!$.data( elem, dataName ); | ||
156 | }; | ||
157 | }) : | ||
158 | // support: jQuery <1.8 | ||
159 | function( elem, i, match ) { | ||
160 | return !!$.data( elem, match[ 3 ] ); | ||
161 | }, | ||
162 | |||
163 | focusable: function( element ) { | ||
164 | return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); | ||
165 | }, | ||
166 | |||
167 | tabbable: function( element ) { | ||
168 | var tabIndex = $.attr( element, "tabindex" ), | ||
169 | isTabIndexNaN = isNaN( tabIndex ); | ||
170 | return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); | ||
171 | } | ||
172 | }); | ||
173 | |||
174 | // support: jQuery <1.8 | ||
175 | if ( !$( "<a>" ).outerWidth( 1 ).jquery ) { | ||
176 | $.each( [ "Width", "Height" ], function( i, name ) { | ||
177 | var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], | ||
178 | type = name.toLowerCase(), | ||
179 | orig = { | ||
180 | innerWidth: $.fn.innerWidth, | ||
181 | innerHeight: $.fn.innerHeight, | ||
182 | outerWidth: $.fn.outerWidth, | ||
183 | outerHeight: $.fn.outerHeight | ||
184 | }; | ||
185 | |||
186 | function reduce( elem, size, border, margin ) { | ||
187 | $.each( side, function() { | ||
188 | size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; | ||
189 | if ( border ) { | ||
190 | size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; | ||
191 | } | ||
192 | if ( margin ) { | ||
193 | size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; | ||
194 | } | ||
195 | }); | ||
196 | return size; | ||
197 | } | ||
198 | |||
199 | $.fn[ "inner" + name ] = function( size ) { | ||
200 | if ( size === undefined ) { | ||
201 | return orig[ "inner" + name ].call( this ); | ||
202 | } | ||
203 | |||
204 | return this.each(function() { | ||
205 | $( this ).css( type, reduce( this, size ) + "px" ); | ||
206 | }); | ||
207 | }; | ||
208 | |||
209 | $.fn[ "outer" + name] = function( size, margin ) { | ||
210 | if ( typeof size !== "number" ) { | ||
211 | return orig[ "outer" + name ].call( this, size ); | ||
212 | } | ||
213 | |||
214 | return this.each(function() { | ||
215 | $( this).css( type, reduce( this, size, true, margin ) + "px" ); | ||
216 | }); | ||
217 | }; | ||
218 | }); | ||
219 | } | ||
220 | |||
221 | // support: jQuery <1.8 | ||
222 | if ( !$.fn.addBack ) { | ||
223 | $.fn.addBack = function( selector ) { | ||
224 | return this.add( selector == null ? | ||
225 | this.prevObject : this.prevObject.filter( selector ) | ||
226 | ); | ||
227 | }; | ||
228 | } | ||
229 | |||
230 | // support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) | ||
231 | if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { | ||
232 | $.fn.removeData = (function( removeData ) { | ||
233 | return function( key ) { | ||
234 | if ( arguments.length ) { | ||
235 | return removeData.call( this, $.camelCase( key ) ); | ||
236 | } else { | ||
237 | return removeData.call( this ); | ||
238 | } | ||
239 | }; | ||
240 | })( $.fn.removeData ); | ||
241 | } | ||
242 | |||
243 | |||
244 | |||
245 | |||
246 | |||
247 | // deprecated | ||
248 | $.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); | ||
249 | |||
250 | $.support.selectstart = "onselectstart" in document.createElement( "div" ); | ||
251 | $.fn.extend({ | ||
252 | disableSelection: function() { | ||
253 | return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) + | ||
254 | ".ui-disableSelection", function( event ) { | ||
255 | event.preventDefault(); | ||
256 | }); | ||
257 | }, | ||
258 | |||
259 | enableSelection: function() { | ||
260 | return this.unbind( ".ui-disableSelection" ); | ||
261 | } | ||
262 | }); | ||
263 | |||
264 | $.extend( $.ui, { | ||
265 | // $.ui.plugin is deprecated. Use $.widget() extensions instead. | ||
266 | plugin: { | ||
267 | add: function( module, option, set ) { | ||
268 | var i, | ||
269 | proto = $.ui[ module ].prototype; | ||
270 | for ( i in set ) { | ||
271 | proto.plugins[ i ] = proto.plugins[ i ] || []; | ||
272 | proto.plugins[ i ].push( [ option, set[ i ] ] ); | ||
273 | } | ||
274 | }, | ||
275 | call: function( instance, name, args ) { | ||
276 | var i, | ||
277 | set = instance.plugins[ name ]; | ||
278 | if ( !set || !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) { | ||
279 | return; | ||
280 | } | ||
281 | |||
282 | for ( i = 0; i < set.length; i++ ) { | ||
283 | if ( instance.options[ set[ i ][ 0 ] ] ) { | ||
284 | set[ i ][ 1 ].apply( instance.element, args ); | ||
285 | } | ||
286 | } | ||
287 | } | ||
288 | }, | ||
289 | |||
290 | // only used by resizable | ||
291 | hasScroll: function( el, a ) { | ||
292 | |||
293 | //If overflow is hidden, the element might have extra content, but the user wants to hide it | ||
294 | if ( $( el ).css( "overflow" ) === "hidden") { | ||
295 | return false; | ||
296 | } | ||
297 | |||
298 | var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop", | ||
299 | has = false; | ||
300 | |||
301 | if ( el[ scroll ] > 0 ) { | ||
302 | return true; | ||
303 | } | ||
304 | |||
305 | // TODO: determine which cases actually cause this to happen | ||
306 | // if the element doesn't have the scroll set, see if it's possible to | ||
307 | // set the scroll | ||
308 | el[ scroll ] = 1; | ||
309 | has = ( el[ scroll ] > 0 ); | ||
310 | el[ scroll ] = 0; | ||
311 | return has; | ||
312 | } | ||
313 | }); | ||
314 | |||
315 | })( jQuery ); | ||
316 | (function( $, undefined ) { | ||
317 | |||
318 | var uuid = 0, | ||
319 | slice = Array.prototype.slice, | ||
320 | _cleanData = $.cleanData; | ||
321 | $.cleanData = function( elems ) { | ||
322 | for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { | ||
323 | try { | ||
324 | $( elem ).triggerHandler( "remove" ); | ||
325 | // http://bugs.jquery.com/ticket/8235 | ||
326 | } catch( e ) {} | ||
327 | } | ||
328 | _cleanData( elems ); | ||
329 | }; | ||
330 | |||
331 | $.widget = function( name, base, prototype ) { | ||
332 | var fullName, existingConstructor, constructor, basePrototype, | ||
333 | // proxiedPrototype allows the provided prototype to remain unmodified | ||
334 | // so that it can be used as a mixin for multiple widgets (#8876) | ||
335 | proxiedPrototype = {}, | ||
336 | namespace = name.split( "." )[ 0 ]; | ||
337 | |||
338 | name = name.split( "." )[ 1 ]; | ||
339 | fullName = namespace + "-" + name; | ||
340 | |||
341 | if ( !prototype ) { | ||
342 | prototype = base; | ||
343 | base = $.Widget; | ||
344 | } | ||
345 | |||
346 | // create selector for plugin | ||
347 | $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { | ||
348 | return !!$.data( elem, fullName ); | ||
349 | }; | ||
350 | |||
351 | $[ namespace ] = $[ namespace ] || {}; | ||
352 | existingConstructor = $[ namespace ][ name ]; | ||
353 | constructor = $[ namespace ][ name ] = function( options, element ) { | ||
354 | // allow instantiation without "new" keyword | ||
355 | if ( !this._createWidget ) { | ||
356 | return new constructor( options, element ); | ||
357 | } | ||
358 | |||
359 | // allow instantiation without initializing for simple inheritance | ||
360 | // must use "new" keyword (the code above always passes args) | ||
361 | if ( arguments.length ) { | ||
362 | this._createWidget( options, element ); | ||
363 | } | ||
364 | }; | ||
365 | // extend with the existing constructor to carry over any static properties | ||
366 | $.extend( constructor, existingConstructor, { | ||
367 | version: prototype.version, | ||
368 | // copy the object used to create the prototype in case we need to | ||
369 | // redefine the widget later | ||
370 | _proto: $.extend( {}, prototype ), | ||
371 | // track widgets that inherit from this widget in case this widget is | ||
372 | // redefined after a widget inherits from it | ||
373 | _childConstructors: [] | ||
374 | }); | ||
375 | |||
376 | basePrototype = new base(); | ||
377 | // we need to make the options hash a property directly on the new instance | ||
378 | // otherwise we'll modify the options hash on the prototype that we're | ||
379 | // inheriting from | ||
380 | basePrototype.options = $.widget.extend( {}, basePrototype.options ); | ||
381 | $.each( prototype, function( prop, value ) { | ||
382 | if ( !$.isFunction( value ) ) { | ||
383 | proxiedPrototype[ prop ] = value; | ||
384 | return; | ||
385 | } | ||
386 | proxiedPrototype[ prop ] = (function() { | ||
387 | var _super = function() { | ||
388 | return base.prototype[ prop ].apply( this, arguments ); | ||
389 | }, | ||
390 | _superApply = function( args ) { | ||
391 | return base.prototype[ prop ].apply( this, args ); | ||
392 | }; | ||
393 | return function() { | ||
394 | var __super = this._super, | ||
395 | __superApply = this._superApply, | ||
396 | returnValue; | ||
397 | |||
398 | this._super = _super; | ||
399 | this._superApply = _superApply; | ||
400 | |||
401 | returnValue = value.apply( this, arguments ); | ||
402 | |||
403 | this._super = __super; | ||
404 | this._superApply = __superApply; | ||
405 | |||
406 | return returnValue; | ||
407 | }; | ||
408 | })(); | ||
409 | }); | ||
410 | constructor.prototype = $.widget.extend( basePrototype, { | ||
411 | // TODO: remove support for widgetEventPrefix | ||
412 | // always use the name + a colon as the prefix, e.g., draggable:start | ||
413 | // don't prefix for widgets that aren't DOM-based | ||
414 | widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name | ||
415 | }, proxiedPrototype, { | ||
416 | constructor: constructor, | ||
417 | namespace: namespace, | ||
418 | widgetName: name, | ||
419 | widgetFullName: fullName | ||
420 | }); | ||
421 | |||
422 | // If this widget is being redefined then we need to find all widgets that | ||
423 | // are inheriting from it and redefine all of them so that they inherit from | ||
424 | // the new version of this widget. We're essentially trying to replace one | ||
425 | // level in the prototype chain. | ||
426 | if ( existingConstructor ) { | ||
427 | $.each( existingConstructor._childConstructors, function( i, child ) { | ||
428 | var childPrototype = child.prototype; | ||
429 | |||
430 | // redefine the child widget using the same prototype that was | ||
431 | // originally used, but inherit from the new version of the base | ||
432 | $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); | ||
433 | }); | ||
434 | // remove the list of existing child constructors from the old constructor | ||
435 | // so the old child constructors can be garbage collected | ||
436 | delete existingConstructor._childConstructors; | ||
437 | } else { | ||
438 | base._childConstructors.push( constructor ); | ||
439 | } | ||
440 | |||
441 | $.widget.bridge( name, constructor ); | ||
442 | }; | ||
443 | |||
444 | $.widget.extend = function( target ) { | ||
445 | var input = slice.call( arguments, 1 ), | ||
446 | inputIndex = 0, | ||
447 | inputLength = input.length, | ||
448 | key, | ||
449 | value; | ||
450 | for ( ; inputIndex < inputLength; inputIndex++ ) { | ||
451 | for ( key in input[ inputIndex ] ) { | ||
452 | value = input[ inputIndex ][ key ]; | ||
453 | if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { | ||
454 | // Clone objects | ||
455 | if ( $.isPlainObject( value ) ) { | ||
456 | target[ key ] = $.isPlainObject( target[ key ] ) ? | ||
457 | $.widget.extend( {}, target[ key ], value ) : | ||
458 | // Don't extend strings, arrays, etc. with objects | ||
459 | $.widget.extend( {}, value ); | ||
460 | // Copy everything else by reference | ||
461 | } else { | ||
462 | target[ key ] = value; | ||
463 | } | ||
464 | } | ||
465 | } | ||
466 | } | ||
467 | return target; | ||
468 | }; | ||
469 | |||
470 | $.widget.bridge = function( name, object ) { | ||
471 | var fullName = object.prototype.widgetFullName || name; | ||
472 | $.fn[ name ] = function( options ) { | ||
473 | var isMethodCall = typeof options === "string", | ||
474 | args = slice.call( arguments, 1 ), | ||
475 | returnValue = this; | ||
476 | |||
477 | // allow multiple hashes to be passed on init | ||
478 | options = !isMethodCall && args.length ? | ||
479 | $.widget.extend.apply( null, [ options ].concat(args) ) : | ||
480 | options; | ||
481 | |||
482 | if ( isMethodCall ) { | ||
483 | this.each(function() { | ||
484 | var methodValue, | ||
485 | instance = $.data( this, fullName ); | ||
486 | if ( !instance ) { | ||
487 | return $.error( "cannot call methods on " + name + " prior to initialization; " + | ||
488 | "attempted to call method '" + options + "'" ); | ||
489 | } | ||
490 | if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { | ||
491 | return $.error( "no such method '" + options + "' for " + name + " widget instance" ); | ||
492 | } | ||
493 | methodValue = instance[ options ].apply( instance, args ); | ||
494 | if ( methodValue !== instance && methodValue !== undefined ) { | ||
495 | returnValue = methodValue && methodValue.jquery ? | ||
496 | returnValue.pushStack( methodValue.get() ) : | ||
497 | methodValue; | ||
498 | return false; | ||
499 | } | ||
500 | }); | ||
501 | } else { | ||
502 | this.each(function() { | ||
503 | var instance = $.data( this, fullName ); | ||
504 | if ( instance ) { | ||
505 | instance.option( options || {} )._init(); | ||
506 | } else { | ||
507 | $.data( this, fullName, new object( options, this ) ); | ||
508 | } | ||
509 | }); | ||
510 | } | ||
511 | |||
512 | return returnValue; | ||
513 | }; | ||
514 | }; | ||
515 | |||
516 | $.Widget = function( /* options, element */ ) {}; | ||
517 | $.Widget._childConstructors = []; | ||
518 | |||
519 | $.Widget.prototype = { | ||
520 | widgetName: "widget", | ||
521 | widgetEventPrefix: "", | ||
522 | defaultElement: "<div>", | ||
523 | options: { | ||
524 | disabled: false, | ||
525 | |||
526 | // callbacks | ||
527 | create: null | ||
528 | }, | ||
529 | _createWidget: function( options, element ) { | ||
530 | element = $( element || this.defaultElement || this )[ 0 ]; | ||
531 | this.element = $( element ); | ||
532 | this.uuid = uuid++; | ||
533 | this.eventNamespace = "." + this.widgetName + this.uuid; | ||
534 | this.options = $.widget.extend( {}, | ||
535 | this.options, | ||
536 | this._getCreateOptions(), | ||
537 | options ); | ||
538 | |||
539 | this.bindings = $(); | ||
540 | this.hoverable = $(); | ||
541 | this.focusable = $(); | ||
542 | |||
543 | if ( element !== this ) { | ||
544 | $.data( element, this.widgetFullName, this ); | ||
545 | this._on( true, this.element, { | ||
546 | remove: function( event ) { | ||
547 | if ( event.target === element ) { | ||
548 | this.destroy(); | ||
549 | } | ||
550 | } | ||
551 | }); | ||
552 | this.document = $( element.style ? | ||
553 | // element within the document | ||
554 | element.ownerDocument : | ||
555 | // element is window or document | ||
556 | element.document || element ); | ||
557 | this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); | ||
558 | } | ||
559 | |||
560 | this._create(); | ||
561 | this._trigger( "create", null, this._getCreateEventData() ); | ||
562 | this._init(); | ||
563 | }, | ||
564 | _getCreateOptions: $.noop, | ||
565 | _getCreateEventData: $.noop, | ||
566 | _create: $.noop, | ||
567 | _init: $.noop, | ||
568 | |||
569 | destroy: function() { | ||
570 | this._destroy(); | ||
571 | // we can probably remove the unbind calls in 2.0 | ||
572 | // all event bindings should go through this._on() | ||
573 | this.element | ||
574 | .unbind( this.eventNamespace ) | ||
575 | // 1.9 BC for #7810 | ||
576 | // TODO remove dual storage | ||
577 | .removeData( this.widgetName ) | ||
578 | .removeData( this.widgetFullName ) | ||
579 | // support: jquery <1.6.3 | ||
580 | // http://bugs.jquery.com/ticket/9413 | ||
581 | .removeData( $.camelCase( this.widgetFullName ) ); | ||
582 | this.widget() | ||
583 | .unbind( this.eventNamespace ) | ||
584 | .removeAttr( "aria-disabled" ) | ||
585 | .removeClass( | ||
586 | this.widgetFullName + "-disabled " + | ||
587 | "ui-state-disabled" ); | ||
588 | |||
589 | // clean up events and states | ||
590 | this.bindings.unbind( this.eventNamespace ); | ||
591 | this.hoverable.removeClass( "ui-state-hover" ); | ||
592 | this.focusable.removeClass( "ui-state-focus" ); | ||
593 | }, | ||
594 | _destroy: $.noop, | ||
595 | |||
596 | widget: function() { | ||
597 | return this.element; | ||
598 | }, | ||
599 | |||
600 | option: function( key, value ) { | ||
601 | var options = key, | ||
602 | parts, | ||
603 | curOption, | ||
604 | i; | ||
605 | |||
606 | if ( arguments.length === 0 ) { | ||
607 | // don't return a reference to the internal hash | ||
608 | return $.widget.extend( {}, this.options ); | ||
609 | } | ||
610 | |||
611 | if ( typeof key === "string" ) { | ||
612 | // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } | ||
613 | options = {}; | ||
614 | parts = key.split( "." ); | ||
615 | key = parts.shift(); | ||
616 | if ( parts.length ) { | ||
617 | curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); | ||
618 | for ( i = 0; i < parts.length - 1; i++ ) { | ||
619 | curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; | ||
620 | curOption = curOption[ parts[ i ] ]; | ||
621 | } | ||
622 | key = parts.pop(); | ||
623 | if ( arguments.length === 1 ) { | ||
624 | return curOption[ key ] === undefined ? null : curOption[ key ]; | ||
625 | } | ||
626 | curOption[ key ] = value; | ||
627 | } else { | ||
628 | if ( arguments.length === 1 ) { | ||
629 | return this.options[ key ] === undefined ? null : this.options[ key ]; | ||
630 | } | ||
631 | options[ key ] = value; | ||
632 | } | ||
633 | } | ||
634 | |||
635 | this._setOptions( options ); | ||
636 | |||
637 | return this; | ||
638 | }, | ||
639 | _setOptions: function( options ) { | ||
640 | var key; | ||
641 | |||
642 | for ( key in options ) { | ||
643 | this._setOption( key, options[ key ] ); | ||
644 | } | ||
645 | |||
646 | return this; | ||
647 | }, | ||
648 | _setOption: function( key, value ) { | ||
649 | this.options[ key ] = value; | ||
650 | |||
651 | if ( key === "disabled" ) { | ||
652 | this.widget() | ||
653 | .toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value ) | ||
654 | .attr( "aria-disabled", value ); | ||
655 | this.hoverable.removeClass( "ui-state-hover" ); | ||
656 | this.focusable.removeClass( "ui-state-focus" ); | ||
657 | } | ||
658 | |||
659 | return this; | ||
660 | }, | ||
661 | |||
662 | enable: function() { | ||
663 | return this._setOption( "disabled", false ); | ||
664 | }, | ||
665 | disable: function() { | ||
666 | return this._setOption( "disabled", true ); | ||
667 | }, | ||
668 | |||
669 | _on: function( suppressDisabledCheck, element, handlers ) { | ||
670 | var delegateElement, | ||
671 | instance = this; | ||
672 | |||
673 | // no suppressDisabledCheck flag, shuffle arguments | ||
674 | if ( typeof suppressDisabledCheck !== "boolean" ) { | ||
675 | handlers = element; | ||
676 | element = suppressDisabledCheck; | ||
677 | suppressDisabledCheck = false; | ||
678 | } | ||
679 | |||
680 | // no element argument, shuffle and use this.element | ||
681 | if ( !handlers ) { | ||
682 | handlers = element; | ||
683 | element = this.element; | ||
684 | delegateElement = this.widget(); | ||
685 | } else { | ||
686 | // accept selectors, DOM elements | ||
687 | element = delegateElement = $( element ); | ||
688 | this.bindings = this.bindings.add( element ); | ||
689 | } | ||
690 | |||
691 | $.each( handlers, function( event, handler ) { | ||
692 | function handlerProxy() { | ||
693 | // allow widgets to customize the disabled handling | ||
694 | // - disabled as an array instead of boolean | ||
695 | // - disabled class as method for disabling individual parts | ||
696 | if ( !suppressDisabledCheck && | ||
697 | ( instance.options.disabled === true || | ||
698 | $( this ).hasClass( "ui-state-disabled" ) ) ) { | ||
699 | return; | ||
700 | } | ||
701 | return ( typeof handler === "string" ? instance[ handler ] : handler ) | ||
702 | .apply( instance, arguments ); | ||
703 | } | ||
704 | |||
705 | // copy the guid so direct unbinding works | ||
706 | if ( typeof handler !== "string" ) { | ||
707 | handlerProxy.guid = handler.guid = | ||
708 | handler.guid || handlerProxy.guid || $.guid++; | ||
709 | } | ||
710 | |||
711 | var match = event.match( /^(\w+)\s*(.*)$/ ), | ||
712 | eventName = match[1] + instance.eventNamespace, | ||
713 | selector = match[2]; | ||
714 | if ( selector ) { | ||
715 | delegateElement.delegate( selector, eventName, handlerProxy ); | ||
716 | } else { | ||
717 | element.bind( eventName, handlerProxy ); | ||
718 | } | ||
719 | }); | ||
720 | }, | ||
721 | |||
722 | _off: function( element, eventName ) { | ||
723 | eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; | ||
724 | element.unbind( eventName ).undelegate( eventName ); | ||
725 | }, | ||
726 | |||
727 | _delay: function( handler, delay ) { | ||
728 | function handlerProxy() { | ||
729 | return ( typeof handler === "string" ? instance[ handler ] : handler ) | ||
730 | .apply( instance, arguments ); | ||
731 | } | ||
732 | var instance = this; | ||
733 | return setTimeout( handlerProxy, delay || 0 ); | ||
734 | }, | ||
735 | |||
736 | _hoverable: function( element ) { | ||
737 | this.hoverable = this.hoverable.add( element ); | ||
738 | this._on( element, { | ||
739 | mouseenter: function( event ) { | ||
740 | $( event.currentTarget ).addClass( "ui-state-hover" ); | ||
741 | }, | ||
742 | mouseleave: function( event ) { | ||
743 | $( event.currentTarget ).removeClass( "ui-state-hover" ); | ||
744 | } | ||
745 | }); | ||
746 | }, | ||
747 | |||
748 | _focusable: function( element ) { | ||
749 | this.focusable = this.focusable.add( element ); | ||
750 | this._on( element, { | ||
751 | focusin: function( event ) { | ||
752 | $( event.currentTarget ).addClass( "ui-state-focus" ); | ||
753 | }, | ||
754 | focusout: function( event ) { | ||
755 | $( event.currentTarget ).removeClass( "ui-state-focus" ); | ||
756 | } | ||
757 | }); | ||
758 | }, | ||
759 | |||
760 | _trigger: function( type, event, data ) { | ||
761 | var prop, orig, | ||
762 | callback = this.options[ type ]; | ||
763 | |||
764 | data = data || {}; | ||
765 | event = $.Event( event ); | ||
766 | event.type = ( type === this.widgetEventPrefix ? | ||
767 | type : | ||
768 | this.widgetEventPrefix + type ).toLowerCase(); | ||
769 | // the original event may come from any element | ||
770 | // so we need to reset the target on the new event | ||
771 | event.target = this.element[ 0 ]; | ||
772 | |||
773 | // copy original event properties over to the new event | ||
774 | orig = event.originalEvent; | ||
775 | if ( orig ) { | ||
776 | for ( prop in orig ) { | ||
777 | if ( !( prop in event ) ) { | ||
778 | event[ prop ] = orig[ prop ]; | ||
779 | } | ||
780 | } | ||
781 | } | ||
782 | |||
783 | this.element.trigger( event, data ); | ||
784 | return !( $.isFunction( callback ) && | ||
785 | callback.apply( this.element[0], [ event ].concat( data ) ) === false || | ||
786 | event.isDefaultPrevented() ); | ||
787 | } | ||
788 | }; | ||
789 | |||
790 | $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { | ||
791 | $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { | ||
792 | if ( typeof options === "string" ) { | ||
793 | options = { effect: options }; | ||
794 | } | ||
795 | var hasOptions, | ||
796 | effectName = !options ? | ||
797 | method : | ||
798 | options === true || typeof options === "number" ? | ||
799 | defaultEffect : | ||
800 | options.effect || defaultEffect; | ||
801 | options = options || {}; | ||
802 | if ( typeof options === "number" ) { | ||
803 | options = { duration: options }; | ||
804 | } | ||
805 | hasOptions = !$.isEmptyObject( options ); | ||
806 | options.complete = callback; | ||
807 | if ( options.delay ) { | ||
808 | element.delay( options.delay ); | ||
809 | } | ||
810 | if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { | ||
811 | element[ method ]( options ); | ||
812 | } else if ( effectName !== method && element[ effectName ] ) { | ||
813 | element[ effectName ]( options.duration, options.easing, callback ); | ||
814 | } else { | ||
815 | element.queue(function( next ) { | ||
816 | $( this )[ method ](); | ||
817 | if ( callback ) { | ||
818 | callback.call( element[ 0 ] ); | ||
819 | } | ||
820 | next(); | ||
821 | }); | ||
822 | } | ||
823 | }; | ||
824 | }); | ||
825 | |||
826 | })( jQuery ); | ||
827 | (function( $, undefined ) { | ||
828 | |||
829 | $.ui = $.ui || {}; | ||
830 | |||
831 | var cachedScrollbarWidth, | ||
832 | max = Math.max, | ||
833 | abs = Math.abs, | ||
834 | round = Math.round, | ||
835 | rhorizontal = /left|center|right/, | ||
836 | rvertical = /top|center|bottom/, | ||
837 | roffset = /[\+\-]\d+(\.[\d]+)?%?/, | ||
838 | rposition = /^\w+/, | ||
839 | rpercent = /%$/, | ||
840 | _position = $.fn.position; | ||
841 | |||
842 | function getOffsets( offsets, width, height ) { | ||
843 | return [ | ||
844 | parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ), | ||
845 | parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 ) | ||
846 | ]; | ||
847 | } | ||
848 | |||
849 | function parseCss( element, property ) { | ||
850 | return parseInt( $.css( element, property ), 10 ) || 0; | ||
851 | } | ||
852 | |||
853 | function getDimensions( elem ) { | ||
854 | var raw = elem[0]; | ||
855 | if ( raw.nodeType === 9 ) { | ||
856 | return { | ||
857 | width: elem.width(), | ||
858 | height: elem.height(), | ||
859 | offset: { top: 0, left: 0 } | ||
860 | }; | ||
861 | } | ||
862 | if ( $.isWindow( raw ) ) { | ||
863 | return { | ||
864 | width: elem.width(), | ||
865 | height: elem.height(), | ||
866 | offset: { top: elem.scrollTop(), left: elem.scrollLeft() } | ||
867 | }; | ||
868 | } | ||
869 | if ( raw.preventDefault ) { | ||
870 | return { | ||
871 | width: 0, | ||
872 | height: 0, | ||
873 | offset: { top: raw.pageY, left: raw.pageX } | ||
874 | }; | ||
875 | } | ||
876 | return { | ||
877 | width: elem.outerWidth(), | ||
878 | height: elem.outerHeight(), | ||
879 | offset: elem.offset() | ||
880 | }; | ||
881 | } | ||
882 | |||
883 | $.position = { | ||
884 | scrollbarWidth: function() { | ||
885 | if ( cachedScrollbarWidth !== undefined ) { | ||
886 | return cachedScrollbarWidth; | ||
887 | } | ||
888 | var w1, w2, | ||
889 | div = $( "<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ), | ||
890 | innerDiv = div.children()[0]; | ||
891 | |||
892 | $( "body" ).append( div ); | ||
893 | w1 = innerDiv.offsetWidth; | ||
894 | div.css( "overflow", "scroll" ); | ||
895 | |||
896 | w2 = innerDiv.offsetWidth; | ||
897 | |||
898 | if ( w1 === w2 ) { | ||
899 | w2 = div[0].clientWidth; | ||
900 | } | ||
901 | |||
902 | div.remove(); | ||
903 | |||
904 | return (cachedScrollbarWidth = w1 - w2); | ||
905 | }, | ||
906 | getScrollInfo: function( within ) { | ||
907 | var overflowX = within.isWindow || within.isDocument ? "" : | ||
908 | within.element.css( "overflow-x" ), | ||
909 | overflowY = within.isWindow || within.isDocument ? "" : | ||
910 | within.element.css( "overflow-y" ), | ||
911 | hasOverflowX = overflowX === "scroll" || | ||
912 | ( overflowX === "auto" && within.width < within.element[0].scrollWidth ), | ||
913 | hasOverflowY = overflowY === "scroll" || | ||
914 | ( overflowY === "auto" && within.height < within.element[0].scrollHeight ); | ||
915 | return { | ||
916 | width: hasOverflowY ? $.position.scrollbarWidth() : 0, | ||
917 | height: hasOverflowX ? $.position.scrollbarWidth() : 0 | ||
918 | }; | ||
919 | }, | ||
920 | getWithinInfo: function( element ) { | ||
921 | var withinElement = $( element || window ), | ||
922 | isWindow = $.isWindow( withinElement[0] ), | ||
923 | isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9; | ||
924 | return { | ||
925 | element: withinElement, | ||
926 | isWindow: isWindow, | ||
927 | isDocument: isDocument, | ||
928 | offset: withinElement.offset() || { left: 0, top: 0 }, | ||
929 | scrollLeft: withinElement.scrollLeft(), | ||
930 | scrollTop: withinElement.scrollTop(), | ||
931 | width: isWindow ? withinElement.width() : withinElement.outerWidth(), | ||
932 | height: isWindow ? withinElement.height() : withinElement.outerHeight() | ||
933 | }; | ||
934 | } | ||
935 | }; | ||
936 | |||
937 | $.fn.position = function( options ) { | ||
938 | if ( !options || !options.of ) { | ||
939 | return _position.apply( this, arguments ); | ||
940 | } | ||
941 | |||
942 | // make a copy, we don't want to modify arguments | ||
943 | options = $.extend( {}, options ); | ||
944 | |||
945 | var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, | ||
946 | target = $( options.of ), | ||
947 | within = $.position.getWithinInfo( options.within ), | ||
948 | scrollInfo = $.position.getScrollInfo( within ), | ||
949 | collision = ( options.collision || "flip" ).split( " " ), | ||
950 | offsets = {}; | ||
951 | |||
952 | dimensions = getDimensions( target ); | ||
953 | if ( target[0].preventDefault ) { | ||
954 | // force left top to allow flipping | ||
955 | options.at = "left top"; | ||
956 | } | ||
957 | targetWidth = dimensions.width; | ||
958 | targetHeight = dimensions.height; | ||
959 | targetOffset = dimensions.offset; | ||
960 | // clone to reuse original targetOffset later | ||
961 | basePosition = $.extend( {}, targetOffset ); | ||
962 | |||
963 | // force my and at to have valid horizontal and vertical positions | ||
964 | // if a value is missing or invalid, it will be converted to center | ||
965 | $.each( [ "my", "at" ], function() { | ||
966 | var pos = ( options[ this ] || "" ).split( " " ), | ||
967 | horizontalOffset, | ||
968 | verticalOffset; | ||
969 | |||
970 | if ( pos.length === 1) { | ||
971 | pos = rhorizontal.test( pos[ 0 ] ) ? | ||
972 | pos.concat( [ "center" ] ) : | ||
973 | rvertical.test( pos[ 0 ] ) ? | ||
974 | [ "center" ].concat( pos ) : | ||
975 | [ "center", "center" ]; | ||
976 | } | ||
977 | pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center"; | ||
978 | pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center"; | ||
979 | |||
980 | // calculate offsets | ||
981 | horizontalOffset = roffset.exec( pos[ 0 ] ); | ||
982 | verticalOffset = roffset.exec( pos[ 1 ] ); | ||
983 | offsets[ this ] = [ | ||
984 | horizontalOffset ? horizontalOffset[ 0 ] : 0, | ||
985 | verticalOffset ? verticalOffset[ 0 ] : 0 | ||
986 | ]; | ||
987 | |||
988 | // reduce to just the positions without the offsets | ||
989 | options[ this ] = [ | ||
990 | rposition.exec( pos[ 0 ] )[ 0 ], | ||
991 | rposition.exec( pos[ 1 ] )[ 0 ] | ||
992 | ]; | ||
993 | }); | ||
994 | |||
995 | // normalize collision option | ||
996 | if ( collision.length === 1 ) { | ||
997 | collision[ 1 ] = collision[ 0 ]; | ||
998 | } | ||
999 | |||
1000 | if ( options.at[ 0 ] === "right" ) { | ||
1001 | basePosition.left += targetWidth; | ||
1002 | } else if ( options.at[ 0 ] === "center" ) { | ||
1003 | basePosition.left += targetWidth / 2; | ||
1004 | } | ||
1005 | |||
1006 | if ( options.at[ 1 ] === "bottom" ) { | ||
1007 | basePosition.top += targetHeight; | ||
1008 | } else if ( options.at[ 1 ] === "center" ) { | ||
1009 | basePosition.top += targetHeight / 2; | ||
1010 | } | ||
1011 | |||
1012 | atOffset = getOffsets( offsets.at, targetWidth, targetHeight ); | ||
1013 | basePosition.left += atOffset[ 0 ]; | ||
1014 | basePosition.top += atOffset[ 1 ]; | ||
1015 | |||
1016 | return this.each(function() { | ||
1017 | var collisionPosition, using, | ||
1018 | elem = $( this ), | ||
1019 | elemWidth = elem.outerWidth(), | ||
1020 | elemHeight = elem.outerHeight(), | ||
1021 | marginLeft = parseCss( this, "marginLeft" ), | ||
1022 | marginTop = parseCss( this, "marginTop" ), | ||
1023 | collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width, | ||
1024 | collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height, | ||
1025 | position = $.extend( {}, basePosition ), | ||
1026 | myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() ); | ||
1027 | |||
1028 | if ( options.my[ 0 ] === "right" ) { | ||
1029 | position.left -= elemWidth; | ||
1030 | } else if ( options.my[ 0 ] === "center" ) { | ||
1031 | position.left -= elemWidth / 2; | ||
1032 | } | ||
1033 | |||
1034 | if ( options.my[ 1 ] === "bottom" ) { | ||
1035 | position.top -= elemHeight; | ||
1036 | } else if ( options.my[ 1 ] === "center" ) { | ||
1037 | position.top -= elemHeight / 2; | ||
1038 | } | ||
1039 | |||
1040 | position.left += myOffset[ 0 ]; | ||
1041 | position.top += myOffset[ 1 ]; | ||
1042 | |||
1043 | // if the browser doesn't support fractions, then round for consistent results | ||
1044 | if ( !$.support.offsetFractions ) { | ||
1045 | position.left = round( position.left ); | ||
1046 | position.top = round( position.top ); | ||
1047 | } | ||
1048 | |||
1049 | collisionPosition = { | ||
1050 | marginLeft: marginLeft, | ||
1051 | marginTop: marginTop | ||
1052 | }; | ||
1053 | |||
1054 | $.each( [ "left", "top" ], function( i, dir ) { | ||
1055 | if ( $.ui.position[ collision[ i ] ] ) { | ||
1056 | $.ui.position[ collision[ i ] ][ dir ]( position, { | ||
1057 | targetWidth: targetWidth, | ||
1058 | targetHeight: targetHeight, | ||
1059 | elemWidth: elemWidth, | ||
1060 | elemHeight: elemHeight, | ||
1061 | collisionPosition: collisionPosition, | ||
1062 | collisionWidth: collisionWidth, | ||
1063 | collisionHeight: collisionHeight, | ||
1064 | offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ], | ||
1065 | my: options.my, | ||
1066 | at: options.at, | ||
1067 | within: within, | ||
1068 | elem : elem | ||
1069 | }); | ||
1070 | } | ||
1071 | }); | ||
1072 | |||
1073 | if ( options.using ) { | ||
1074 | // adds feedback as second argument to using callback, if present | ||
1075 | using = function( props ) { | ||
1076 | var left = targetOffset.left - position.left, | ||
1077 | right = left + targetWidth - elemWidth, | ||
1078 | top = targetOffset.top - position.top, | ||
1079 | bottom = top + targetHeight - elemHeight, | ||
1080 | feedback = { | ||
1081 | target: { | ||
1082 | element: target, | ||
1083 | left: targetOffset.left, | ||
1084 | top: targetOffset.top, | ||
1085 | width: targetWidth, | ||
1086 | height: targetHeight | ||
1087 | }, | ||
1088 | element: { | ||
1089 | element: elem, | ||
1090 | left: position.left, | ||
1091 | top: position.top, | ||
1092 | width: elemWidth, | ||
1093 | height: elemHeight | ||
1094 | }, | ||
1095 | horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", | ||
1096 | vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" | ||
1097 | }; | ||
1098 | if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) { | ||
1099 | feedback.horizontal = "center"; | ||
1100 | } | ||
1101 | if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) { | ||
1102 | feedback.vertical = "middle"; | ||
1103 | } | ||
1104 | if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) { | ||
1105 | feedback.important = "horizontal"; | ||
1106 | } else { | ||
1107 | feedback.important = "vertical"; | ||
1108 | } | ||
1109 | options.using.call( this, props, feedback ); | ||
1110 | }; | ||
1111 | } | ||
1112 | |||
1113 | elem.offset( $.extend( position, { using: using } ) ); | ||
1114 | }); | ||
1115 | }; | ||
1116 | |||
1117 | $.ui.position = { | ||
1118 | fit: { | ||
1119 | left: function( position, data ) { | ||
1120 | var within = data.within, | ||
1121 | withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, | ||
1122 | outerWidth = within.width, | ||
1123 | collisionPosLeft = position.left - data.collisionPosition.marginLeft, | ||
1124 | overLeft = withinOffset - collisionPosLeft, | ||
1125 | overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, | ||
1126 | newOverRight; | ||
1127 | |||
1128 | // element is wider than within | ||
1129 | if ( data.collisionWidth > outerWidth ) { | ||
1130 | // element is initially over the left side of within | ||
1131 | if ( overLeft > 0 && overRight <= 0 ) { | ||
1132 | newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset; | ||
1133 | position.left += overLeft - newOverRight; | ||
1134 | // element is initially over right side of within | ||
1135 | } else if ( overRight > 0 && overLeft <= 0 ) { | ||
1136 | position.left = withinOffset; | ||
1137 | // element is initially over both left and right sides of within | ||
1138 | } else { | ||
1139 | if ( overLeft > overRight ) { | ||
1140 | position.left = withinOffset + outerWidth - data.collisionWidth; | ||
1141 | } else { | ||
1142 | position.left = withinOffset; | ||
1143 | } | ||
1144 | } | ||
1145 | // too far left -> align with left edge | ||
1146 | } else if ( overLeft > 0 ) { | ||
1147 | position.left += overLeft; | ||
1148 | // too far right -> align with right edge | ||
1149 | } else if ( overRight > 0 ) { | ||
1150 | position.left -= overRight; | ||
1151 | // adjust based on position and margin | ||
1152 | } else { | ||
1153 | position.left = max( position.left - collisionPosLeft, position.left ); | ||
1154 | } | ||
1155 | }, | ||
1156 | top: function( position, data ) { | ||
1157 | var within = data.within, | ||
1158 | withinOffset = within.isWindow ? within.scrollTop : within.offset.top, | ||
1159 | outerHeight = data.within.height, | ||
1160 | collisionPosTop = position.top - data.collisionPosition.marginTop, | ||
1161 | overTop = withinOffset - collisionPosTop, | ||
1162 | overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, | ||
1163 | newOverBottom; | ||
1164 | |||
1165 | // element is taller than within | ||
1166 | if ( data.collisionHeight > outerHeight ) { | ||
1167 | // element is initially over the top of within | ||
1168 | if ( overTop > 0 && overBottom <= 0 ) { | ||
1169 | newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset; | ||
1170 | position.top += overTop - newOverBottom; | ||
1171 | // element is initially over bottom of within | ||
1172 | } else if ( overBottom > 0 && overTop <= 0 ) { | ||
1173 | position.top = withinOffset; | ||
1174 | // element is initially over both top and bottom of within | ||
1175 | } else { | ||
1176 | if ( overTop > overBottom ) { | ||
1177 | position.top = withinOffset + outerHeight - data.collisionHeight; | ||
1178 | } else { | ||
1179 | position.top = withinOffset; | ||
1180 | } | ||
1181 | } | ||
1182 | // too far up -> align with top | ||
1183 | } else if ( overTop > 0 ) { | ||
1184 | position.top += overTop; | ||
1185 | // too far down -> align with bottom edge | ||
1186 | } else if ( overBottom > 0 ) { | ||
1187 | position.top -= overBottom; | ||
1188 | // adjust based on position and margin | ||
1189 | } else { | ||
1190 | position.top = max( position.top - collisionPosTop, position.top ); | ||
1191 | } | ||
1192 | } | ||
1193 | }, | ||
1194 | flip: { | ||
1195 | left: function( position, data ) { | ||
1196 | var within = data.within, | ||
1197 | withinOffset = within.offset.left + within.scrollLeft, | ||
1198 | outerWidth = within.width, | ||
1199 | offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, | ||
1200 | collisionPosLeft = position.left - data.collisionPosition.marginLeft, | ||
1201 | overLeft = collisionPosLeft - offsetLeft, | ||
1202 | overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, | ||
1203 | myOffset = data.my[ 0 ] === "left" ? | ||
1204 | -data.elemWidth : | ||
1205 | data.my[ 0 ] === "right" ? | ||
1206 | data.elemWidth : | ||
1207 | 0, | ||
1208 | atOffset = data.at[ 0 ] === "left" ? | ||
1209 | data.targetWidth : | ||
1210 | data.at[ 0 ] === "right" ? | ||
1211 | -data.targetWidth : | ||
1212 | 0, | ||
1213 | offset = -2 * data.offset[ 0 ], | ||
1214 | newOverRight, | ||
1215 | newOverLeft; | ||
1216 | |||
1217 | if ( overLeft < 0 ) { | ||
1218 | newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset; | ||
1219 | if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { | ||
1220 | position.left += myOffset + atOffset + offset; | ||
1221 | } | ||
1222 | } | ||
1223 | else if ( overRight > 0 ) { | ||
1224 | newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft; | ||
1225 | if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { | ||
1226 | position.left += myOffset + atOffset + offset; | ||
1227 | } | ||
1228 | } | ||
1229 | }, | ||
1230 | top: function( position, data ) { | ||
1231 | var within = data.within, | ||
1232 | withinOffset = within.offset.top + within.scrollTop, | ||
1233 | outerHeight = within.height, | ||
1234 | offsetTop = within.isWindow ? within.scrollTop : within.offset.top, | ||
1235 | collisionPosTop = position.top - data.collisionPosition.marginTop, | ||
1236 | overTop = collisionPosTop - offsetTop, | ||
1237 | overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, | ||
1238 | top = data.my[ 1 ] === "top", | ||
1239 | myOffset = top ? | ||
1240 | -data.elemHeight : | ||
1241 | data.my[ 1 ] === "bottom" ? | ||
1242 | data.elemHeight : | ||
1243 | 0, | ||
1244 | atOffset = data.at[ 1 ] === "top" ? | ||
1245 | data.targetHeight : | ||
1246 | data.at[ 1 ] === "bottom" ? | ||
1247 | -data.targetHeight : | ||
1248 | 0, | ||
1249 | offset = -2 * data.offset[ 1 ], | ||
1250 | newOverTop, | ||
1251 | newOverBottom; | ||
1252 | if ( overTop < 0 ) { | ||
1253 | newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset; | ||
1254 | if ( ( position.top + myOffset + atOffset + offset) > overTop && ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) ) { | ||
1255 | position.top += myOffset + atOffset + offset; | ||
1256 | } | ||
1257 | } | ||
1258 | else if ( overBottom > 0 ) { | ||
1259 | newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; | ||
1260 | if ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) { | ||
1261 | position.top += myOffset + atOffset + offset; | ||
1262 | } | ||
1263 | } | ||
1264 | } | ||
1265 | }, | ||
1266 | flipfit: { | ||
1267 | left: function() { | ||
1268 | $.ui.position.flip.left.apply( this, arguments ); | ||
1269 | $.ui.position.fit.left.apply( this, arguments ); | ||
1270 | }, | ||
1271 | top: function() { | ||
1272 | $.ui.position.flip.top.apply( this, arguments ); | ||
1273 | $.ui.position.fit.top.apply( this, arguments ); | ||
1274 | } | ||
1275 | } | ||
1276 | }; | ||
1277 | |||
1278 | // fraction support test | ||
1279 | (function () { | ||
1280 | var testElement, testElementParent, testElementStyle, offsetLeft, i, | ||
1281 | body = document.getElementsByTagName( "body" )[ 0 ], | ||
1282 | div = document.createElement( "div" ); | ||
1283 | |||
1284 | //Create a "fake body" for testing based on method used in jQuery.support | ||
1285 | testElement = document.createElement( body ? "div" : "body" ); | ||
1286 | testElementStyle = { | ||
1287 | visibility: "hidden", | ||
1288 | width: 0, | ||
1289 | height: 0, | ||
1290 | border: 0, | ||
1291 | margin: 0, | ||
1292 | background: "none" | ||
1293 | }; | ||
1294 | if ( body ) { | ||
1295 | $.extend( testElementStyle, { | ||
1296 | position: "absolute", | ||
1297 | left: "-1000px", | ||
1298 | top: "-1000px" | ||
1299 | }); | ||
1300 | } | ||
1301 | for ( i in testElementStyle ) { | ||
1302 | testElement.style[ i ] = testElementStyle[ i ]; | ||
1303 | } | ||
1304 | testElement.appendChild( div ); | ||
1305 | testElementParent = body || document.documentElement; | ||
1306 | testElementParent.insertBefore( testElement, testElementParent.firstChild ); | ||
1307 | |||
1308 | div.style.cssText = "position: absolute; left: 10.7432222px;"; | ||
1309 | |||
1310 | offsetLeft = $( div ).offset().left; | ||
1311 | $.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11; | ||
1312 | |||
1313 | testElement.innerHTML = ""; | ||
1314 | testElementParent.removeChild( testElement ); | ||
1315 | })(); | ||
1316 | |||
1317 | }( jQuery ) ); | ||
1318 | (function( $, undefined ) { | ||
1319 | |||
1320 | $.widget( "ui.autocomplete", { | ||
1321 | version: "1.10.4", | ||
1322 | defaultElement: "<input>", | ||
1323 | options: { | ||
1324 | appendTo: null, | ||
1325 | autoFocus: false, | ||
1326 | delay: 300, | ||
1327 | minLength: 1, | ||
1328 | position: { | ||
1329 | my: "left top", | ||
1330 | at: "left bottom", | ||
1331 | collision: "none" | ||
1332 | }, | ||
1333 | source: null, | ||
1334 | |||
1335 | // callbacks | ||
1336 | change: null, | ||
1337 | close: null, | ||
1338 | focus: null, | ||
1339 | open: null, | ||
1340 | response: null, | ||
1341 | search: null, | ||
1342 | select: null | ||
1343 | }, | ||
1344 | |||
1345 | requestIndex: 0, | ||
1346 | pending: 0, | ||
1347 | |||
1348 | _create: function() { | ||
1349 | // Some browsers only repeat keydown events, not keypress events, | ||
1350 | // so we use the suppressKeyPress flag to determine if we've already | ||
1351 | // handled the keydown event. #7269 | ||
1352 | // Unfortunately the code for & in keypress is the same as the up arrow, | ||
1353 | // so we use the suppressKeyPressRepeat flag to avoid handling keypress | ||
1354 | // events when we know the keydown event was used to modify the | ||
1355 | // search term. #7799 | ||
1356 | var suppressKeyPress, suppressKeyPressRepeat, suppressInput, | ||
1357 | nodeName = this.element[0].nodeName.toLowerCase(), | ||
1358 | isTextarea = nodeName === "textarea", | ||
1359 | isInput = nodeName === "input"; | ||
1360 | |||
1361 | this.isMultiLine = | ||
1362 | // Textareas are always multi-line | ||
1363 | isTextarea ? true : | ||
1364 | // Inputs are always single-line, even if inside a contentEditable element | ||
1365 | // IE also treats inputs as contentEditable | ||
1366 | isInput ? false : | ||
1367 | // All other element types are determined by whether or not they're contentEditable | ||
1368 | this.element.prop( "isContentEditable" ); | ||
1369 | |||
1370 | this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ]; | ||
1371 | this.isNewMenu = true; | ||
1372 | |||
1373 | this.element | ||
1374 | .addClass( "ui-autocomplete-input" ) | ||
1375 | .attr( "autocomplete", "off" ); | ||
1376 | |||
1377 | this._on( this.element, { | ||
1378 | keydown: function( event ) { | ||
1379 | if ( this.element.prop( "readOnly" ) ) { | ||
1380 | suppressKeyPress = true; | ||
1381 | suppressInput = true; | ||
1382 | suppressKeyPressRepeat = true; | ||
1383 | return; | ||
1384 | } | ||
1385 | |||
1386 | suppressKeyPress = false; | ||
1387 | suppressInput = false; | ||
1388 | suppressKeyPressRepeat = false; | ||
1389 | var keyCode = $.ui.keyCode; | ||
1390 | switch( event.keyCode ) { | ||
1391 | case keyCode.PAGE_UP: | ||
1392 | suppressKeyPress = true; | ||
1393 | this._move( "previousPage", event ); | ||
1394 | break; | ||
1395 | case keyCode.PAGE_DOWN: | ||
1396 | suppressKeyPress = true; | ||
1397 | this._move( "nextPage", event ); | ||
1398 | break; | ||
1399 | case keyCode.UP: | ||
1400 | suppressKeyPress = true; | ||
1401 | this._keyEvent( "previous", event ); | ||
1402 | break; | ||
1403 | case keyCode.DOWN: | ||
1404 | suppressKeyPress = true; | ||
1405 | this._keyEvent( "next", event ); | ||
1406 | break; | ||
1407 | case keyCode.ENTER: | ||
1408 | case keyCode.NUMPAD_ENTER: | ||
1409 | // when menu is open and has focus | ||
1410 | if ( this.menu.active ) { | ||
1411 | // #6055 - Opera still allows the keypress to occur | ||
1412 | // which causes forms to submit | ||
1413 | suppressKeyPress = true; | ||
1414 | event.preventDefault(); | ||
1415 | this.menu.select( event ); | ||
1416 | } | ||
1417 | break; | ||
1418 | case keyCode.TAB: | ||
1419 | if ( this.menu.active ) { | ||
1420 | this.menu.select( event ); | ||
1421 | } | ||
1422 | break; | ||
1423 | case keyCode.ESCAPE: | ||
1424 | if ( this.menu.element.is( ":visible" ) ) { | ||
1425 | this._value( this.term ); | ||
1426 | this.close( event ); | ||
1427 | // Different browsers have different default behavior for escape | ||
1428 | // Single press can mean undo or clear | ||
1429 | // Double press in IE means clear the whole form | ||
1430 | event.preventDefault(); | ||
1431 | } | ||
1432 | break; | ||
1433 | default: | ||
1434 | suppressKeyPressRepeat = true; | ||
1435 | // search timeout should be triggered before the input value is changed | ||
1436 | this._searchTimeout( event ); | ||
1437 | break; | ||
1438 | } | ||
1439 | }, | ||
1440 | keypress: function( event ) { | ||
1441 | if ( suppressKeyPress ) { | ||
1442 | suppressKeyPress = false; | ||
1443 | if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { | ||
1444 | event.preventDefault(); | ||
1445 | } | ||
1446 | return; | ||
1447 | } | ||
1448 | if ( suppressKeyPressRepeat ) { | ||
1449 | return; | ||
1450 | } | ||
1451 | |||
1452 | // replicate some key handlers to allow them to repeat in Firefox and Opera | ||
1453 | var keyCode = $.ui.keyCode; | ||
1454 | switch( event.keyCode ) { | ||
1455 | case keyCode.PAGE_UP: | ||
1456 | this._move( "previousPage", event ); | ||
1457 | break; | ||
1458 | case keyCode.PAGE_DOWN: | ||
1459 | this._move( "nextPage", event ); | ||
1460 | break; | ||
1461 | case keyCode.UP: | ||
1462 | this._keyEvent( "previous", event ); | ||
1463 | break; | ||
1464 | case keyCode.DOWN: | ||
1465 | this._keyEvent( "next", event ); | ||
1466 | break; | ||
1467 | } | ||
1468 | }, | ||
1469 | input: function( event ) { | ||
1470 | if ( suppressInput ) { | ||
1471 | suppressInput = false; | ||
1472 | event.preventDefault(); | ||
1473 | return; | ||
1474 | } | ||
1475 | this._searchTimeout( event ); | ||
1476 | }, | ||
1477 | focus: function() { | ||
1478 | this.selectedItem = null; | ||
1479 | this.previous = this._value(); | ||
1480 | }, | ||
1481 | blur: function( event ) { | ||
1482 | if ( this.cancelBlur ) { | ||
1483 | delete this.cancelBlur; | ||
1484 | return; | ||
1485 | } | ||
1486 | |||
1487 | clearTimeout( this.searching ); | ||
1488 | this.close( event ); | ||
1489 | this._change( event ); | ||
1490 | } | ||
1491 | }); | ||
1492 | |||
1493 | this._initSource(); | ||
1494 | this.menu = $( "<ul>" ) | ||
1495 | .addClass( "ui-autocomplete ui-front" ) | ||
1496 | .appendTo( this._appendTo() ) | ||
1497 | .menu({ | ||
1498 | // disable ARIA support, the live region takes care of that | ||
1499 | role: null | ||
1500 | }) | ||
1501 | .hide() | ||
1502 | .data( "ui-menu" ); | ||
1503 | |||
1504 | this._on( this.menu.element, { | ||
1505 | mousedown: function( event ) { | ||
1506 | // prevent moving focus out of the text field | ||
1507 | event.preventDefault(); | ||
1508 | |||
1509 | // IE doesn't prevent moving focus even with event.preventDefault() | ||
1510 | // so we set a flag to know when we should ignore the blur event | ||
1511 | this.cancelBlur = true; | ||
1512 | this._delay(function() { | ||
1513 | delete this.cancelBlur; | ||
1514 | }); | ||
1515 | |||
1516 | // clicking on the scrollbar causes focus to shift to the body | ||
1517 | // but we can't detect a mouseup or a click immediately afterward | ||
1518 | // so we have to track the next mousedown and close the menu if | ||
1519 | // the user clicks somewhere outside of the autocomplete | ||
1520 | var menuElement = this.menu.element[ 0 ]; | ||
1521 | if ( !$( event.target ).closest( ".ui-menu-item" ).length ) { | ||
1522 | this._delay(function() { | ||
1523 | var that = this; | ||
1524 | this.document.one( "mousedown", function( event ) { | ||
1525 | if ( event.target !== that.element[ 0 ] && | ||
1526 | event.target !== menuElement && | ||
1527 | !$.contains( menuElement, event.target ) ) { | ||
1528 | that.close(); | ||
1529 | } | ||
1530 | }); | ||
1531 | }); | ||
1532 | } | ||
1533 | }, | ||
1534 | menufocus: function( event, ui ) { | ||
1535 | // support: Firefox | ||
1536 | // Prevent accidental activation of menu items in Firefox (#7024 #9118) | ||
1537 | if ( this.isNewMenu ) { | ||
1538 | this.isNewMenu = false; | ||
1539 | if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) { | ||
1540 | this.menu.blur(); | ||
1541 | |||
1542 | this.document.one( "mousemove", function() { | ||
1543 | $( event.target ).trigger( event.originalEvent ); | ||
1544 | }); | ||
1545 | |||
1546 | return; | ||
1547 | } | ||
1548 | } | ||
1549 | |||
1550 | var item = ui.item.data( "ui-autocomplete-item" ); | ||
1551 | if ( false !== this._trigger( "focus", event, { item: item } ) ) { | ||
1552 | // use value to match what will end up in the input, if it was a key event | ||
1553 | if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) { | ||
1554 | this._value( item.value ); | ||
1555 | } | ||
1556 | } else { | ||
1557 | // Normally the input is populated with the item's value as the | ||
1558 | // menu is navigated, causing screen readers to notice a change and | ||
1559 | // announce the item. Since the focus event was canceled, this doesn't | ||
1560 | // happen, so we update the live region so that screen readers can | ||
1561 | // still notice the change and announce it. | ||
1562 | this.liveRegion.text( item.value ); | ||
1563 | } | ||
1564 | }, | ||
1565 | menuselect: function( event, ui ) { | ||
1566 | var item = ui.item.data( "ui-autocomplete-item" ), | ||
1567 | previous = this.previous; | ||
1568 | |||
1569 | // only trigger when focus was lost (click on menu) | ||
1570 | if ( this.element[0] !== this.document[0].activeElement ) { | ||
1571 | this.element.focus(); | ||
1572 | this.previous = previous; | ||
1573 | // #6109 - IE triggers two focus events and the second | ||
1574 | // is asynchronous, so we need to reset the previous | ||
1575 | // term synchronously and asynchronously :-( | ||
1576 | this._delay(function() { | ||
1577 | this.previous = previous; | ||
1578 | this.selectedItem = item; | ||
1579 | }); | ||
1580 | } | ||
1581 | |||
1582 | if ( false !== this._trigger( "select", event, { item: item } ) ) { | ||
1583 | this._value( item.value ); | ||
1584 | } | ||
1585 | // reset the term after the select event | ||
1586 | // this allows custom select handling to work properly | ||
1587 | this.term = this._value(); | ||
1588 | |||
1589 | this.close( event ); | ||
1590 | this.selectedItem = item; | ||
1591 | } | ||
1592 | }); | ||
1593 | |||
1594 | this.liveRegion = $( "<span>", { | ||
1595 | role: "status", | ||
1596 | "aria-live": "polite" | ||
1597 | }) | ||
1598 | .addClass( "ui-helper-hidden-accessible" ) | ||
1599 | .insertBefore( this.element ); | ||
1600 | |||
1601 | // turning off autocomplete prevents the browser from remembering the | ||
1602 | // value when navigating through history, so we re-enable autocomplete | ||
1603 | // if the page is unloaded before the widget is destroyed. #7790 | ||
1604 | this._on( this.window, { | ||
1605 | beforeunload: function() { | ||
1606 | this.element.removeAttr( "autocomplete" ); | ||
1607 | } | ||
1608 | }); | ||
1609 | }, | ||
1610 | |||
1611 | _destroy: function() { | ||
1612 | clearTimeout( this.searching ); | ||
1613 | this.element | ||
1614 | .removeClass( "ui-autocomplete-input" ) | ||
1615 | .removeAttr( "autocomplete" ); | ||
1616 | this.menu.element.remove(); | ||
1617 | this.liveRegion.remove(); | ||
1618 | }, | ||
1619 | |||
1620 | _setOption: function( key, value ) { | ||
1621 | this._super( key, value ); | ||
1622 | if ( key === "source" ) { | ||
1623 | this._initSource(); | ||
1624 | } | ||
1625 | if ( key === "appendTo" ) { | ||
1626 | this.menu.element.appendTo( this._appendTo() ); | ||
1627 | } | ||
1628 | if ( key === "disabled" && value && this.xhr ) { | ||
1629 | this.xhr.abort(); | ||
1630 | } | ||
1631 | }, | ||
1632 | |||
1633 | _appendTo: function() { | ||
1634 | var element = this.options.appendTo; | ||
1635 | |||
1636 | if ( element ) { | ||
1637 | element = element.jquery || element.nodeType ? | ||
1638 | $( element ) : | ||
1639 | this.document.find( element ).eq( 0 ); | ||
1640 | } | ||
1641 | |||
1642 | if ( !element ) { | ||
1643 | element = this.element.closest( ".ui-front" ); | ||
1644 | } | ||
1645 | |||
1646 | if ( !element.length ) { | ||
1647 | element = this.document[0].body; | ||
1648 | } | ||
1649 | |||
1650 | return element; | ||
1651 | }, | ||
1652 | |||
1653 | _initSource: function() { | ||
1654 | var array, url, | ||
1655 | that = this; | ||
1656 | if ( $.isArray(this.options.source) ) { | ||
1657 | array = this.options.source; | ||
1658 | this.source = function( request, response ) { | ||
1659 | response( $.ui.autocomplete.filter( array, request.term ) ); | ||
1660 | }; | ||
1661 | } else if ( typeof this.options.source === "string" ) { | ||
1662 | url = this.options.source; | ||
1663 | this.source = function( request, response ) { | ||
1664 | if ( that.xhr ) { | ||
1665 | that.xhr.abort(); | ||
1666 | } | ||
1667 | that.xhr = $.ajax({ | ||
1668 | url: url, | ||
1669 | data: request, | ||
1670 | dataType: "json", | ||
1671 | success: function( data ) { | ||
1672 | response( data ); | ||
1673 | }, | ||
1674 | error: function() { | ||
1675 | response( [] ); | ||
1676 | } | ||
1677 | }); | ||
1678 | }; | ||
1679 | } else { | ||
1680 | this.source = this.options.source; | ||
1681 | } | ||
1682 | }, | ||
1683 | |||
1684 | _searchTimeout: function( event ) { | ||
1685 | clearTimeout( this.searching ); | ||
1686 | this.searching = this._delay(function() { | ||
1687 | // only search if the value has changed | ||
1688 | if ( this.term !== this._value() ) { | ||
1689 | this.selectedItem = null; | ||
1690 | this.search( null, event ); | ||
1691 | } | ||
1692 | }, this.options.delay ); | ||
1693 | }, | ||
1694 | |||
1695 | search: function( value, event ) { | ||
1696 | value = value != null ? value : this._value(); | ||
1697 | |||
1698 | // always save the actual value, not the one passed as an argument | ||
1699 | this.term = this._value(); | ||
1700 | |||
1701 | if ( value.length < this.options.minLength ) { | ||
1702 | return this.close( event ); | ||
1703 | } | ||
1704 | |||
1705 | if ( this._trigger( "search", event ) === false ) { | ||
1706 | return; | ||
1707 | } | ||
1708 | |||
1709 | return this._search( value ); | ||
1710 | }, | ||
1711 | |||
1712 | _search: function( value ) { | ||
1713 | this.pending++; | ||
1714 | this.element.addClass( "ui-autocomplete-loading" ); | ||
1715 | this.cancelSearch = false; | ||
1716 | |||
1717 | this.source( { term: value }, this._response() ); | ||
1718 | }, | ||
1719 | |||
1720 | _response: function() { | ||
1721 | var index = ++this.requestIndex; | ||
1722 | |||
1723 | return $.proxy(function( content ) { | ||
1724 | if ( index === this.requestIndex ) { | ||
1725 | this.__response( content ); | ||
1726 | } | ||
1727 | |||
1728 | this.pending--; | ||
1729 | if ( !this.pending ) { | ||
1730 | this.element.removeClass( "ui-autocomplete-loading" ); | ||
1731 | } | ||
1732 | }, this ); | ||
1733 | }, | ||
1734 | |||
1735 | __response: function( content ) { | ||
1736 | if ( content ) { | ||
1737 | content = this._normalize( content ); | ||
1738 | } | ||
1739 | this._trigger( "response", null, { content: content } ); | ||
1740 | if ( !this.options.disabled && content && content.length && !this.cancelSearch ) { | ||
1741 | this._suggest( content ); | ||
1742 | this._trigger( "open" ); | ||
1743 | } else { | ||
1744 | // use ._close() instead of .close() so we don't cancel future searches | ||
1745 | this._close(); | ||
1746 | } | ||
1747 | }, | ||
1748 | |||
1749 | close: function( event ) { | ||
1750 | this.cancelSearch = true; | ||
1751 | this._close( event ); | ||
1752 | }, | ||
1753 | |||
1754 | _close: function( event ) { | ||
1755 | if ( this.menu.element.is( ":visible" ) ) { | ||
1756 | this.menu.element.hide(); | ||
1757 | this.menu.blur(); | ||
1758 | this.isNewMenu = true; | ||
1759 | this._trigger( "close", event ); | ||
1760 | } | ||
1761 | }, | ||
1762 | |||
1763 | _change: function( event ) { | ||
1764 | if ( this.previous !== this._value() ) { | ||
1765 | this._trigger( "change", event, { item: this.selectedItem } ); | ||
1766 | } | ||
1767 | }, | ||
1768 | |||
1769 | _normalize: function( items ) { | ||
1770 | // assume all items have the right format when the first item is complete | ||
1771 | if ( items.length && items[0].label && items[0].value ) { | ||
1772 | return items; | ||
1773 | } | ||
1774 | return $.map( items, function( item ) { | ||
1775 | if ( typeof item === "string" ) { | ||
1776 | return { | ||
1777 | label: item, | ||
1778 | value: item | ||
1779 | }; | ||
1780 | } | ||
1781 | return $.extend({ | ||
1782 | label: item.label || item.value, | ||
1783 | value: item.value || item.label | ||
1784 | }, item ); | ||
1785 | }); | ||
1786 | }, | ||
1787 | |||
1788 | _suggest: function( items ) { | ||
1789 | var ul = this.menu.element.empty(); | ||
1790 | this._renderMenu( ul, items ); | ||
1791 | this.isNewMenu = true; | ||
1792 | this.menu.refresh(); | ||
1793 | |||
1794 | // size and position menu | ||
1795 | ul.show(); | ||
1796 | this._resizeMenu(); | ||
1797 | ul.position( $.extend({ | ||
1798 | of: this.element | ||
1799 | }, this.options.position )); | ||
1800 | |||
1801 | if ( this.options.autoFocus ) { | ||
1802 | this.menu.next(); | ||
1803 | } | ||
1804 | }, | ||
1805 | |||
1806 | _resizeMenu: function() { | ||
1807 | var ul = this.menu.element; | ||
1808 | ul.outerWidth( Math.max( | ||
1809 | // Firefox wraps long text (possibly a rounding bug) | ||
1810 | // so we add 1px to avoid the wrapping (#7513) | ||
1811 | ul.width( "" ).outerWidth() + 1, | ||
1812 | this.element.outerWidth() | ||
1813 | ) ); | ||
1814 | }, | ||
1815 | |||
1816 | _renderMenu: function( ul, items ) { | ||
1817 | var that = this; | ||
1818 | $.each( items, function( index, item ) { | ||
1819 | that._renderItemData( ul, item ); | ||
1820 | }); | ||
1821 | }, | ||
1822 | |||
1823 | _renderItemData: function( ul, item ) { | ||
1824 | return this._renderItem( ul, item ).data( "ui-autocomplete-item", item ); | ||
1825 | }, | ||
1826 | |||
1827 | _renderItem: function( ul, item ) { | ||
1828 | return $( "<li>" ) | ||
1829 | .append( $( "<a>" ).text( item.label ) ) | ||
1830 | .appendTo( ul ); | ||
1831 | }, | ||
1832 | |||
1833 | _move: function( direction, event ) { | ||
1834 | if ( !this.menu.element.is( ":visible" ) ) { | ||
1835 | this.search( null, event ); | ||
1836 | return; | ||
1837 | } | ||
1838 | if ( this.menu.isFirstItem() && /^previous/.test( direction ) || | ||
1839 | this.menu.isLastItem() && /^next/.test( direction ) ) { | ||
1840 | this._value( this.term ); | ||
1841 | this.menu.blur(); | ||
1842 | return; | ||
1843 | } | ||
1844 | this.menu[ direction ]( event ); | ||
1845 | }, | ||
1846 | |||
1847 | widget: function() { | ||
1848 | return this.menu.element; | ||
1849 | }, | ||
1850 | |||
1851 | _value: function() { | ||
1852 | return this.valueMethod.apply( this.element, arguments ); | ||
1853 | }, | ||
1854 | |||
1855 | _keyEvent: function( keyEvent, event ) { | ||
1856 | if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { | ||
1857 | this._move( keyEvent, event ); | ||
1858 | |||
1859 | // prevents moving cursor to beginning/end of the text field in some browsers | ||
1860 | event.preventDefault(); | ||
1861 | } | ||
1862 | } | ||
1863 | }); | ||
1864 | |||
1865 | $.extend( $.ui.autocomplete, { | ||
1866 | escapeRegex: function( value ) { | ||
1867 | return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); | ||
1868 | }, | ||
1869 | filter: function(array, term) { | ||
1870 | var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" ); | ||
1871 | return $.grep( array, function(value) { | ||
1872 | return matcher.test( value.label || value.value || value ); | ||
1873 | }); | ||
1874 | } | ||
1875 | }); | ||
1876 | |||
1877 | |||
1878 | // live region extension, adding a `messages` option | ||
1879 | // NOTE: This is an experimental API. We are still investigating | ||
1880 | // a full solution for string manipulation and internationalization. | ||
1881 | $.widget( "ui.autocomplete", $.ui.autocomplete, { | ||
1882 | options: { | ||
1883 | messages: { | ||
1884 | noResults: "No search results.", | ||
1885 | results: function( amount ) { | ||
1886 | return amount + ( amount > 1 ? " results are" : " result is" ) + | ||
1887 | " available, use up and down arrow keys to navigate."; | ||
1888 | } | ||
1889 | } | ||
1890 | }, | ||
1891 | |||
1892 | __response: function( content ) { | ||
1893 | var message; | ||
1894 | this._superApply( arguments ); | ||
1895 | if ( this.options.disabled || this.cancelSearch ) { | ||
1896 | return; | ||
1897 | } | ||
1898 | if ( content && content.length ) { | ||
1899 | message = this.options.messages.results( content.length ); | ||
1900 | } else { | ||
1901 | message = this.options.messages.noResults; | ||
1902 | } | ||
1903 | this.liveRegion.text( message ); | ||
1904 | } | ||
1905 | }); | ||
1906 | |||
1907 | }( jQuery )); | ||
1908 | (function( $, undefined ) { | ||
1909 | |||
1910 | $.widget( "ui.menu", { | ||
1911 | version: "1.10.4", | ||
1912 | defaultElement: "<ul>", | ||
1913 | delay: 300, | ||
1914 | options: { | ||
1915 | icons: { | ||
1916 | submenu: "ui-icon-carat-1-e" | ||
1917 | }, | ||
1918 | menus: "ul", | ||
1919 | position: { | ||
1920 | my: "left top", | ||
1921 | at: "right top" | ||
1922 | }, | ||
1923 | role: "menu", | ||
1924 | |||
1925 | // callbacks | ||
1926 | blur: null, | ||
1927 | focus: null, | ||
1928 | select: null | ||
1929 | }, | ||
1930 | |||
1931 | _create: function() { | ||
1932 | this.activeMenu = this.element; | ||
1933 | // flag used to prevent firing of the click handler | ||
1934 | // as the event bubbles up through nested menus | ||
1935 | this.mouseHandled = false; | ||
1936 | this.element | ||
1937 | .uniqueId() | ||
1938 | .addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" ) | ||
1939 | .toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length ) | ||
1940 | .attr({ | ||
1941 | role: this.options.role, | ||
1942 | tabIndex: 0 | ||
1943 | }) | ||
1944 | // need to catch all clicks on disabled menu | ||
1945 | // not possible through _on | ||
1946 | .bind( "click" + this.eventNamespace, $.proxy(function( event ) { | ||
1947 | if ( this.options.disabled ) { | ||
1948 | event.preventDefault(); | ||
1949 | } | ||
1950 | }, this )); | ||
1951 | |||
1952 | if ( this.options.disabled ) { | ||
1953 | this.element | ||
1954 | .addClass( "ui-state-disabled" ) | ||
1955 | .attr( "aria-disabled", "true" ); | ||
1956 | } | ||
1957 | |||
1958 | this._on({ | ||
1959 | // Prevent focus from sticking to links inside menu after clicking | ||
1960 | // them (focus should always stay on UL during navigation). | ||
1961 | "mousedown .ui-menu-item > a": function( event ) { | ||
1962 | event.preventDefault(); | ||
1963 | }, | ||
1964 | "click .ui-state-disabled > a": function( event ) { | ||
1965 | event.preventDefault(); | ||
1966 | }, | ||
1967 | "click .ui-menu-item:has(a)": function( event ) { | ||
1968 | var target = $( event.target ).closest( ".ui-menu-item" ); | ||
1969 | if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) { | ||
1970 | this.select( event ); | ||
1971 | |||
1972 | // Only set the mouseHandled flag if the event will bubble, see #9469. | ||
1973 | if ( !event.isPropagationStopped() ) { | ||
1974 | this.mouseHandled = true; | ||
1975 | } | ||
1976 | |||
1977 | // Open submenu on click | ||
1978 | if ( target.has( ".ui-menu" ).length ) { | ||
1979 | this.expand( event ); | ||
1980 | } else if ( !this.element.is( ":focus" ) && $( this.document[ 0 ].activeElement ).closest( ".ui-menu" ).length ) { | ||
1981 | |||
1982 | // Redirect focus to the menu | ||
1983 | this.element.trigger( "focus", [ true ] ); | ||
1984 | |||
1985 | // If the active item is on the top level, let it stay active. | ||
1986 | // Otherwise, blur the active item since it is no longer visible. | ||
1987 | if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) { | ||
1988 | clearTimeout( this.timer ); | ||
1989 | } | ||
1990 | } | ||
1991 | } | ||
1992 | }, | ||
1993 | "mouseenter .ui-menu-item": function( event ) { | ||
1994 | var target = $( event.currentTarget ); | ||
1995 | // Remove ui-state-active class from siblings of the newly focused menu item | ||
1996 | // to avoid a jump caused by adjacent elements both having a class with a border | ||
1997 | target.siblings().children( ".ui-state-active" ).removeClass( "ui-state-active" ); | ||
1998 | this.focus( event, target ); | ||
1999 | }, | ||
2000 | mouseleave: "collapseAll", | ||
2001 | "mouseleave .ui-menu": "collapseAll", | ||
2002 | focus: function( event, keepActiveItem ) { | ||
2003 | // If there's already an active item, keep it active | ||
2004 | // If not, activate the first item | ||
2005 | var item = this.active || this.element.children( ".ui-menu-item" ).eq( 0 ); | ||
2006 | |||
2007 | if ( !keepActiveItem ) { | ||
2008 | this.focus( event, item ); | ||
2009 | } | ||
2010 | }, | ||
2011 | blur: function( event ) { | ||
2012 | this._delay(function() { | ||
2013 | if ( !$.contains( this.element[0], this.document[0].activeElement ) ) { | ||
2014 | this.collapseAll( event ); | ||
2015 | } | ||
2016 | }); | ||
2017 | }, | ||
2018 | keydown: "_keydown" | ||
2019 | }); | ||
2020 | |||
2021 | this.refresh(); | ||
2022 | |||
2023 | // Clicks outside of a menu collapse any open menus | ||
2024 | this._on( this.document, { | ||
2025 | click: function( event ) { | ||
2026 | if ( !$( event.target ).closest( ".ui-menu" ).length ) { | ||
2027 | this.collapseAll( event ); | ||
2028 | } | ||
2029 | |||
2030 | // Reset the mouseHandled flag | ||
2031 | this.mouseHandled = false; | ||
2032 | } | ||
2033 | }); | ||
2034 | }, | ||
2035 | |||
2036 | _destroy: function() { | ||
2037 | // Destroy (sub)menus | ||
2038 | this.element | ||
2039 | .removeAttr( "aria-activedescendant" ) | ||
2040 | .find( ".ui-menu" ).addBack() | ||
2041 | .removeClass( "ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons" ) | ||
2042 | .removeAttr( "role" ) | ||
2043 | .removeAttr( "tabIndex" ) | ||
2044 | .removeAttr( "aria-labelledby" ) | ||
2045 | .removeAttr( "aria-expanded" ) | ||
2046 | .removeAttr( "aria-hidden" ) | ||
2047 | .removeAttr( "aria-disabled" ) | ||
2048 | .removeUniqueId() | ||
2049 | .show(); | ||
2050 | |||
2051 | // Destroy menu items | ||
2052 | this.element.find( ".ui-menu-item" ) | ||
2053 | .removeClass( "ui-menu-item" ) | ||
2054 | .removeAttr( "role" ) | ||
2055 | .removeAttr( "aria-disabled" ) | ||
2056 | .children( "a" ) | ||
2057 | .removeUniqueId() | ||
2058 | .removeClass( "ui-corner-all ui-state-hover" ) | ||
2059 | .removeAttr( "tabIndex" ) | ||
2060 | .removeAttr( "role" ) | ||
2061 | .removeAttr( "aria-haspopup" ) | ||
2062 | .children().each( function() { | ||
2063 | var elem = $( this ); | ||
2064 | if ( elem.data( "ui-menu-submenu-carat" ) ) { | ||
2065 | elem.remove(); | ||
2066 | } | ||
2067 | }); | ||
2068 | |||
2069 | // Destroy menu dividers | ||
2070 | this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" ); | ||
2071 | }, | ||
2072 | |||
2073 | _keydown: function( event ) { | ||
2074 | var match, prev, character, skip, regex, | ||
2075 | preventDefault = true; | ||
2076 | |||
2077 | function escape( value ) { | ||
2078 | return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ); | ||
2079 | } | ||
2080 | |||
2081 | switch ( event.keyCode ) { | ||
2082 | case $.ui.keyCode.PAGE_UP: | ||
2083 | this.previousPage( event ); | ||
2084 | break; | ||
2085 | case $.ui.keyCode.PAGE_DOWN: | ||
2086 | this.nextPage( event ); | ||
2087 | break; | ||
2088 | case $.ui.keyCode.HOME: | ||
2089 | this._move( "first", "first", event ); | ||
2090 | break; | ||
2091 | case $.ui.keyCode.END: | ||
2092 | this._move( "last", "last", event ); | ||
2093 | break; | ||
2094 | case $.ui.keyCode.UP: | ||
2095 | this.previous( event ); | ||
2096 | break; | ||
2097 | case $.ui.keyCode.DOWN: | ||
2098 | this.next( event ); | ||
2099 | break; | ||
2100 | case $.ui.keyCode.LEFT: | ||
2101 | this.collapse( event ); | ||
2102 | break; | ||
2103 | case $.ui.keyCode.RIGHT: | ||
2104 | if ( this.active && !this.active.is( ".ui-state-disabled" ) ) { | ||
2105 | this.expand( event ); | ||
2106 | } | ||
2107 | break; | ||
2108 | case $.ui.keyCode.ENTER: | ||
2109 | case $.ui.keyCode.SPACE: | ||
2110 | this._activate( event ); | ||
2111 | break; | ||
2112 | case $.ui.keyCode.ESCAPE: | ||
2113 | this.collapse( event ); | ||
2114 | break; | ||
2115 | default: | ||
2116 | preventDefault = false; | ||
2117 | prev = this.previousFilter || ""; | ||
2118 | character = String.fromCharCode( event.keyCode ); | ||
2119 | skip = false; | ||
2120 | |||
2121 | clearTimeout( this.filterTimer ); | ||
2122 | |||
2123 | if ( character === prev ) { | ||
2124 | skip = true; | ||
2125 | } else { | ||
2126 | character = prev + character; | ||
2127 | } | ||
2128 | |||
2129 | regex = new RegExp( "^" + escape( character ), "i" ); | ||
2130 | match = this.activeMenu.children( ".ui-menu-item" ).filter(function() { | ||
2131 | return regex.test( $( this ).children( "a" ).text() ); | ||
2132 | }); | ||
2133 | match = skip && match.index( this.active.next() ) !== -1 ? | ||
2134 | this.active.nextAll( ".ui-menu-item" ) : | ||
2135 | match; | ||
2136 | |||
2137 | // If no matches on the current filter, reset to the last character pressed | ||
2138 | // to move down the menu to the first item that starts with that character | ||
2139 | if ( !match.length ) { | ||
2140 | character = String.fromCharCode( event.keyCode ); | ||
2141 | regex = new RegExp( "^" + escape( character ), "i" ); | ||
2142 | match = this.activeMenu.children( ".ui-menu-item" ).filter(function() { | ||
2143 | return regex.test( $( this ).children( "a" ).text() ); | ||
2144 | }); | ||
2145 | } | ||
2146 | |||
2147 | if ( match.length ) { | ||
2148 | this.focus( event, match ); | ||
2149 | if ( match.length > 1 ) { | ||
2150 | this.previousFilter = character; | ||
2151 | this.filterTimer = this._delay(function() { | ||
2152 | delete this.previousFilter; | ||
2153 | }, 1000 ); | ||
2154 | } else { | ||
2155 | delete this.previousFilter; | ||
2156 | } | ||
2157 | } else { | ||
2158 | delete this.previousFilter; | ||
2159 | } | ||
2160 | } | ||
2161 | |||
2162 | if ( preventDefault ) { | ||
2163 | event.preventDefault(); | ||
2164 | } | ||
2165 | }, | ||
2166 | |||
2167 | _activate: function( event ) { | ||
2168 | if ( !this.active.is( ".ui-state-disabled" ) ) { | ||
2169 | if ( this.active.children( "a[aria-haspopup='true']" ).length ) { | ||
2170 | this.expand( event ); | ||
2171 | } else { | ||
2172 | this.select( event ); | ||
2173 | } | ||
2174 | } | ||
2175 | }, | ||
2176 | |||
2177 | refresh: function() { | ||
2178 | var menus, | ||
2179 | icon = this.options.icons.submenu, | ||
2180 | submenus = this.element.find( this.options.menus ); | ||
2181 | |||
2182 | this.element.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length ); | ||
2183 | |||
2184 | // Initialize nested menus | ||
2185 | submenus.filter( ":not(.ui-menu)" ) | ||
2186 | .addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" ) | ||
2187 | .hide() | ||
2188 | .attr({ | ||
2189 | role: this.options.role, | ||
2190 | "aria-hidden": "true", | ||
2191 | "aria-expanded": "false" | ||
2192 | }) | ||
2193 | .each(function() { | ||
2194 | var menu = $( this ), | ||
2195 | item = menu.prev( "a" ), | ||
2196 | submenuCarat = $( "<span>" ) | ||
2197 | .addClass( "ui-menu-icon ui-icon " + icon ) | ||
2198 | .data( "ui-menu-submenu-carat", true ); | ||
2199 | |||
2200 | item | ||
2201 | .attr( "aria-haspopup", "true" ) | ||
2202 | .prepend( submenuCarat ); | ||
2203 | menu.attr( "aria-labelledby", item.attr( "id" ) ); | ||
2204 | }); | ||
2205 | |||
2206 | menus = submenus.add( this.element ); | ||
2207 | |||
2208 | // Don't refresh list items that are already adapted | ||
2209 | menus.children( ":not(.ui-menu-item):has(a)" ) | ||
2210 | .addClass( "ui-menu-item" ) | ||
2211 | .attr( "role", "presentation" ) | ||
2212 | .children( "a" ) | ||
2213 | .uniqueId() | ||
2214 | .addClass( "ui-corner-all" ) | ||
2215 | .attr({ | ||
2216 | tabIndex: -1, | ||
2217 | role: this._itemRole() | ||
2218 | }); | ||
2219 | |||
2220 | // Initialize unlinked menu-items containing spaces and/or dashes only as dividers | ||
2221 | menus.children( ":not(.ui-menu-item)" ).each(function() { | ||
2222 | var item = $( this ); | ||
2223 | // hyphen, em dash, en dash | ||
2224 | if ( !/[^\-\u2014\u2013\s]/.test( item.text() ) ) { | ||
2225 | item.addClass( "ui-widget-content ui-menu-divider" ); | ||
2226 | } | ||
2227 | }); | ||
2228 | |||
2229 | // Add aria-disabled attribute to any disabled menu item | ||
2230 | menus.children( ".ui-state-disabled" ).attr( "aria-disabled", "true" ); | ||
2231 | |||
2232 | // If the active item has been removed, blur the menu | ||
2233 | if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { | ||
2234 | this.blur(); | ||
2235 | } | ||
2236 | }, | ||
2237 | |||
2238 | _itemRole: function() { | ||
2239 | return { | ||
2240 | menu: "menuitem", | ||
2241 | listbox: "option" | ||
2242 | }[ this.options.role ]; | ||
2243 | }, | ||
2244 | |||
2245 | _setOption: function( key, value ) { | ||
2246 | if ( key === "icons" ) { | ||
2247 | this.element.find( ".ui-menu-icon" ) | ||
2248 | .removeClass( this.options.icons.submenu ) | ||
2249 | .addClass( value.submenu ); | ||
2250 | } | ||
2251 | this._super( key, value ); | ||
2252 | }, | ||
2253 | |||
2254 | focus: function( event, item ) { | ||
2255 | var nested, focused; | ||
2256 | this.blur( event, event && event.type === "focus" ); | ||
2257 | |||
2258 | this._scrollIntoView( item ); | ||
2259 | |||
2260 | this.active = item.first(); | ||
2261 | focused = this.active.children( "a" ).addClass( "ui-state-focus" ); | ||
2262 | // Only update aria-activedescendant if there's a role | ||
2263 | // otherwise we assume focus is managed elsewhere | ||
2264 | if ( this.options.role ) { | ||
2265 | this.element.attr( "aria-activedescendant", focused.attr( "id" ) ); | ||
2266 | } | ||
2267 | |||
2268 | // Highlight active parent menu item, if any | ||
2269 | this.active | ||
2270 | .parent() | ||
2271 | .closest( ".ui-menu-item" ) | ||
2272 | .children( "a:first" ) | ||
2273 | .addClass( "ui-state-active" ); | ||
2274 | |||
2275 | if ( event && event.type === "keydown" ) { | ||
2276 | this._close(); | ||
2277 | } else { | ||
2278 | this.timer = this._delay(function() { | ||
2279 | this._close(); | ||
2280 | }, this.delay ); | ||
2281 | } | ||
2282 | |||
2283 | nested = item.children( ".ui-menu" ); | ||
2284 | if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) { | ||
2285 | this._startOpening(nested); | ||
2286 | } | ||
2287 | this.activeMenu = item.parent(); | ||
2288 | |||
2289 | this._trigger( "focus", event, { item: item } ); | ||
2290 | }, | ||
2291 | |||
2292 | _scrollIntoView: function( item ) { | ||
2293 | var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight; | ||
2294 | if ( this._hasScroll() ) { | ||
2295 | borderTop = parseFloat( $.css( this.activeMenu[0], "borderTopWidth" ) ) || 0; | ||
2296 | paddingTop = parseFloat( $.css( this.activeMenu[0], "paddingTop" ) ) || 0; | ||
2297 | offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop; | ||
2298 | scroll = this.activeMenu.scrollTop(); | ||
2299 | elementHeight = this.activeMenu.height(); | ||
2300 | itemHeight = item.height(); | ||
2301 | |||
2302 | if ( offset < 0 ) { | ||
2303 | this.activeMenu.scrollTop( scroll + offset ); | ||
2304 | } else if ( offset + itemHeight > elementHeight ) { | ||
2305 | this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight ); | ||
2306 | } | ||
2307 | } | ||
2308 | }, | ||
2309 | |||
2310 | blur: function( event, fromFocus ) { | ||
2311 | if ( !fromFocus ) { | ||
2312 | clearTimeout( this.timer ); | ||
2313 | } | ||
2314 | |||
2315 | if ( !this.active ) { | ||
2316 | return; | ||
2317 | } | ||
2318 | |||
2319 | this.active.children( "a" ).removeClass( "ui-state-focus" ); | ||
2320 | this.active = null; | ||
2321 | |||
2322 | this._trigger( "blur", event, { item: this.active } ); | ||
2323 | }, | ||
2324 | |||
2325 | _startOpening: function( submenu ) { | ||
2326 | clearTimeout( this.timer ); | ||
2327 | |||
2328 | // Don't open if already open fixes a Firefox bug that caused a .5 pixel | ||
2329 | // shift in the submenu position when mousing over the carat icon | ||
2330 | if ( submenu.attr( "aria-hidden" ) !== "true" ) { | ||
2331 | return; | ||
2332 | } | ||
2333 | |||
2334 | this.timer = this._delay(function() { | ||
2335 | this._close(); | ||
2336 | this._open( submenu ); | ||
2337 | }, this.delay ); | ||
2338 | }, | ||
2339 | |||
2340 | _open: function( submenu ) { | ||
2341 | var position = $.extend({ | ||
2342 | of: this.active | ||
2343 | }, this.options.position ); | ||
2344 | |||
2345 | clearTimeout( this.timer ); | ||
2346 | this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) ) | ||
2347 | .hide() | ||
2348 | .attr( "aria-hidden", "true" ); | ||
2349 | |||
2350 | submenu | ||
2351 | .show() | ||
2352 | .removeAttr( "aria-hidden" ) | ||
2353 | .attr( "aria-expanded", "true" ) | ||
2354 | .position( position ); | ||
2355 | }, | ||
2356 | |||
2357 | collapseAll: function( event, all ) { | ||
2358 | clearTimeout( this.timer ); | ||
2359 | this.timer = this._delay(function() { | ||
2360 | // If we were passed an event, look for the submenu that contains the event | ||
2361 | var currentMenu = all ? this.element : | ||
2362 | $( event && event.target ).closest( this.element.find( ".ui-menu" ) ); | ||
2363 | |||
2364 | // If we found no valid submenu ancestor, use the main menu to close all sub menus anyway | ||
2365 | if ( !currentMenu.length ) { | ||
2366 | currentMenu = this.element; | ||
2367 | } | ||
2368 | |||
2369 | this._close( currentMenu ); | ||
2370 | |||
2371 | this.blur( event ); | ||
2372 | this.activeMenu = currentMenu; | ||
2373 | }, this.delay ); | ||
2374 | }, | ||
2375 | |||
2376 | // With no arguments, closes the currently active menu - if nothing is active | ||
2377 | // it closes all menus. If passed an argument, it will search for menus BELOW | ||
2378 | _close: function( startMenu ) { | ||
2379 | if ( !startMenu ) { | ||
2380 | startMenu = this.active ? this.active.parent() : this.element; | ||
2381 | } | ||
2382 | |||
2383 | startMenu | ||
2384 | .find( ".ui-menu" ) | ||
2385 | .hide() | ||
2386 | .attr( "aria-hidden", "true" ) | ||
2387 | .attr( "aria-expanded", "false" ) | ||
2388 | .end() | ||
2389 | .find( "a.ui-state-active" ) | ||
2390 | .removeClass( "ui-state-active" ); | ||
2391 | }, | ||
2392 | |||
2393 | collapse: function( event ) { | ||
2394 | var newItem = this.active && | ||
2395 | this.active.parent().closest( ".ui-menu-item", this.element ); | ||
2396 | if ( newItem && newItem.length ) { | ||
2397 | this._close(); | ||
2398 | this.focus( event, newItem ); | ||
2399 | } | ||
2400 | }, | ||
2401 | |||
2402 | expand: function( event ) { | ||
2403 | var newItem = this.active && | ||
2404 | this.active | ||
2405 | .children( ".ui-menu " ) | ||
2406 | .children( ".ui-menu-item" ) | ||
2407 | .first(); | ||
2408 | |||
2409 | if ( newItem && newItem.length ) { | ||
2410 | this._open( newItem.parent() ); | ||
2411 | |||
2412 | // Delay so Firefox will not hide activedescendant change in expanding submenu from AT | ||
2413 | this._delay(function() { | ||
2414 | this.focus( event, newItem ); | ||
2415 | }); | ||
2416 | } | ||
2417 | }, | ||
2418 | |||
2419 | next: function( event ) { | ||
2420 | this._move( "next", "first", event ); | ||
2421 | }, | ||
2422 | |||
2423 | previous: function( event ) { | ||
2424 | this._move( "prev", "last", event ); | ||
2425 | }, | ||
2426 | |||
2427 | isFirstItem: function() { | ||
2428 | return this.active && !this.active.prevAll( ".ui-menu-item" ).length; | ||
2429 | }, | ||
2430 | |||
2431 | isLastItem: function() { | ||
2432 | return this.active && !this.active.nextAll( ".ui-menu-item" ).length; | ||
2433 | }, | ||
2434 | |||
2435 | _move: function( direction, filter, event ) { | ||
2436 | var next; | ||
2437 | if ( this.active ) { | ||
2438 | if ( direction === "first" || direction === "last" ) { | ||
2439 | next = this.active | ||
2440 | [ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" ) | ||
2441 | .eq( -1 ); | ||
2442 | } else { | ||
2443 | next = this.active | ||
2444 | [ direction + "All" ]( ".ui-menu-item" ) | ||
2445 | .eq( 0 ); | ||
2446 | } | ||
2447 | } | ||
2448 | if ( !next || !next.length || !this.active ) { | ||
2449 | next = this.activeMenu.children( ".ui-menu-item" )[ filter ](); | ||
2450 | } | ||
2451 | |||
2452 | this.focus( event, next ); | ||
2453 | }, | ||
2454 | |||
2455 | nextPage: function( event ) { | ||
2456 | var item, base, height; | ||
2457 | |||
2458 | if ( !this.active ) { | ||
2459 | this.next( event ); | ||
2460 | return; | ||
2461 | } | ||
2462 | if ( this.isLastItem() ) { | ||
2463 | return; | ||
2464 | } | ||
2465 | if ( this._hasScroll() ) { | ||
2466 | base = this.active.offset().top; | ||
2467 | height = this.element.height(); | ||
2468 | this.active.nextAll( ".ui-menu-item" ).each(function() { | ||
2469 | item = $( this ); | ||
2470 | return item.offset().top - base - height < 0; | ||
2471 | }); | ||
2472 | |||
2473 | this.focus( event, item ); | ||
2474 | } else { | ||
2475 | this.focus( event, this.activeMenu.children( ".ui-menu-item" ) | ||
2476 | [ !this.active ? "first" : "last" ]() ); | ||
2477 | } | ||
2478 | }, | ||
2479 | |||
2480 | previousPage: function( event ) { | ||
2481 | var item, base, height; | ||
2482 | if ( !this.active ) { | ||
2483 | this.next( event ); | ||
2484 | return; | ||
2485 | } | ||
2486 | if ( this.isFirstItem() ) { | ||
2487 | return; | ||
2488 | } | ||
2489 | if ( this._hasScroll() ) { | ||
2490 | base = this.active.offset().top; | ||
2491 | height = this.element.height(); | ||
2492 | this.active.prevAll( ".ui-menu-item" ).each(function() { | ||
2493 | item = $( this ); | ||
2494 | return item.offset().top - base + height > 0; | ||
2495 | }); | ||
2496 | |||
2497 | this.focus( event, item ); | ||
2498 | } else { | ||
2499 | this.focus( event, this.activeMenu.children( ".ui-menu-item" ).first() ); | ||
2500 | } | ||
2501 | }, | ||
2502 | |||
2503 | _hasScroll: function() { | ||
2504 | return this.element.outerHeight() < this.element.prop( "scrollHeight" ); | ||
2505 | }, | ||
2506 | |||
2507 | select: function( event ) { | ||
2508 | // TODO: It should never be possible to not have an active item at this | ||
2509 | // point, but the tests don't trigger mouseenter before click. | ||
2510 | this.active = this.active || $( event.target ).closest( ".ui-menu-item" ); | ||
2511 | var ui = { item: this.active }; | ||
2512 | if ( !this.active.has( ".ui-menu" ).length ) { | ||
2513 | this.collapseAll( event, true ); | ||
2514 | } | ||
2515 | this._trigger( "select", event, ui ); | ||
2516 | } | ||
2517 | }); | ||
2518 | |||
2519 | }( jQuery )); | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/js/jquery-ui-1.10.4.custom.min.js b/src/Wallabag/Wallabag/Resources/views/_global/public/js/jquery-ui-1.10.4.custom.min.js deleted file mode 100644 index 31635026..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/js/jquery-ui-1.10.4.custom.min.js +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | /*! jQuery UI - v1.10.4 - 2014-03-08 | ||
2 | * http://jqueryui.com | ||
3 | * Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.position.js, jquery.ui.autocomplete.js, jquery.ui.menu.js | ||
4 | * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ | ||
5 | |||
6 | (function(e,t){function i(t,i){var s,a,o,r=t.nodeName.toLowerCase();return"area"===r?(s=t.parentNode,a=s.name,t.href&&a&&"map"===s.nodeName.toLowerCase()?(o=e("img[usemap=#"+a+"]")[0],!!o&&n(o)):!1):(/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||i:i)&&n(t)}function n(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var s=0,a=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,n){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),n&&n.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var n,s,a=e(this[0]);a.length&&a[0]!==document;){if(n=a.css("position"),("absolute"===n||"relative"===n||"fixed"===n)&&(s=parseInt(a.css("zIndex"),10),!isNaN(s)&&0!==s))return s;a=a.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++s)})},removeUniqueId:function(){return this.each(function(){a.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,n){return!!e.data(t,n[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var n=e.attr(t,"tabindex"),s=isNaN(n);return(s||n>=0)&&i(t,!s)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,n){function s(t,i,n,s){return e.each(a,function(){i-=parseFloat(e.css(t,"padding"+this))||0,n&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var a="Width"===n?["Left","Right"]:["Top","Bottom"],o=n.toLowerCase(),r={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+n]=function(i){return i===t?r["inner"+n].call(this):this.each(function(){e(this).css(o,s(this,i)+"px")})},e.fn["outer"+n]=function(t,i){return"number"!=typeof t?r["outer"+n].call(this,t):this.each(function(){e(this).css(o,s(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,n){var s,a=e.ui[t].prototype;for(s in n)a.plugins[s]=a.plugins[s]||[],a.plugins[s].push([i,n[s]])},call:function(e,t,i){var n,s=e.plugins[t];if(s&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(n=0;s.length>n;n++)e.options[s[n][0]]&&s[n][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var n=i&&"left"===i?"scrollLeft":"scrollTop",s=!1;return t[n]>0?!0:(t[n]=1,s=t[n]>0,t[n]=0,s)}})})(jQuery);(function(t,e){var i=0,s=Array.prototype.slice,n=t.cleanData;t.cleanData=function(e){for(var i,s=0;null!=(i=e[s]);s++)try{t(i).triggerHandler("remove")}catch(o){}n(e)},t.widget=function(i,s,n){var o,a,r,h,l={},c=i.split(".")[0];i=i.split(".")[1],o=c+"-"+i,n||(n=s,s=t.Widget),t.expr[":"][o.toLowerCase()]=function(e){return!!t.data(e,o)},t[c]=t[c]||{},a=t[c][i],r=t[c][i]=function(t,i){return this._createWidget?(arguments.length&&this._createWidget(t,i),e):new r(t,i)},t.extend(r,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),h=new s,h.options=t.widget.extend({},h.options),t.each(n,function(i,n){return t.isFunction(n)?(l[i]=function(){var t=function(){return s.prototype[i].apply(this,arguments)},e=function(t){return s.prototype[i].apply(this,t)};return function(){var i,s=this._super,o=this._superApply;return this._super=t,this._superApply=e,i=n.apply(this,arguments),this._super=s,this._superApply=o,i}}(),e):(l[i]=n,e)}),r.prototype=t.widget.extend(h,{widgetEventPrefix:a?h.widgetEventPrefix||i:i},l,{constructor:r,namespace:c,widgetName:i,widgetFullName:o}),a?(t.each(a._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,r,i._proto)}),delete a._childConstructors):s._childConstructors.push(r),t.widget.bridge(i,r)},t.widget.extend=function(i){for(var n,o,a=s.call(arguments,1),r=0,h=a.length;h>r;r++)for(n in a[r])o=a[r][n],a[r].hasOwnProperty(n)&&o!==e&&(i[n]=t.isPlainObject(o)?t.isPlainObject(i[n])?t.widget.extend({},i[n],o):t.widget.extend({},o):o);return i},t.widget.bridge=function(i,n){var o=n.prototype.widgetFullName||i;t.fn[i]=function(a){var r="string"==typeof a,h=s.call(arguments,1),l=this;return a=!r&&h.length?t.widget.extend.apply(null,[a].concat(h)):a,r?this.each(function(){var s,n=t.data(this,o);return n?t.isFunction(n[a])&&"_"!==a.charAt(0)?(s=n[a].apply(n,h),s!==n&&s!==e?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):e):t.error("no such method '"+a+"' for "+i+" widget instance"):t.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+a+"'")}):this.each(function(){var e=t.data(this,o);e?e.option(a||{})._init():t.data(this,o,new n(a,this))}),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this.bindings=t(),this.hoverable=t(),this.focusable=t(),s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(i,s){var n,o,a,r=i;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof i)if(r={},n=i.split("."),i=n.shift(),n.length){for(o=r[i]=t.widget.extend({},this.options[i]),a=0;n.length-1>a;a++)o[n[a]]=o[n[a]]||{},o=o[n[a]];if(i=n.pop(),1===arguments.length)return o[i]===e?null:o[i];o[i]=s}else{if(1===arguments.length)return this.options[i]===e?null:this.options[i];r[i]=s}return this._setOptions(r),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,"disabled"===t&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!e).attr("aria-disabled",e),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var o,a=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=o=t(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,o=this.widget()),t.each(n,function(n,r){function h(){return i||a.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof r?a[r]:r).apply(a,arguments):e}"string"!=typeof r&&(h.guid=r.guid=r.guid||h.guid||t.guid++);var l=n.match(/^(\w+)\s*(.*)$/),c=l[1]+a.eventNamespace,u=l[2];u?o.delegate(u,c,h):s.bind(c,h)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(e).undelegate(e)},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass("ui-state-hover")},mouseleave:function(e){t(e.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass("ui-state-focus")},focusout:function(e){t(e.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}})})(jQuery);(function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var a,o=Math.max,r=Math.abs,l=Math.round,h=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(a!==e)return a;var i,s,n=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,a="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:a?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},t.fn.position=function(e){if(!e||!e.of)return f.apply(this,arguments);e=t.extend({},e);var a,p,g,m,v,_,b=t(e.of),y=t.position.getWithinInfo(e.within),k=t.position.getScrollInfo(y),w=(e.collision||"flip").split(" "),D={};return _=n(b),b[0].preventDefault&&(e.at="left top"),p=_.width,g=_.height,m=_.offset,v=t.extend({},m),t.each(["my","at"],function(){var t,i,s=(e[this]||"").split(" ");1===s.length&&(s=h.test(s[0])?s.concat(["center"]):c.test(s[0])?["center"].concat(s):["center","center"]),s[0]=h.test(s[0])?s[0]:"center",s[1]=c.test(s[1])?s[1]:"center",t=u.exec(s[0]),i=u.exec(s[1]),D[this]=[t?t[0]:0,i?i[0]:0],e[this]=[d.exec(s[0])[0],d.exec(s[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===e.at[0]?v.left+=p:"center"===e.at[0]&&(v.left+=p/2),"bottom"===e.at[1]?v.top+=g:"center"===e.at[1]&&(v.top+=g/2),a=i(D.at,p,g),v.left+=a[0],v.top+=a[1],this.each(function(){var n,h,c=t(this),u=c.outerWidth(),d=c.outerHeight(),f=s(this,"marginLeft"),_=s(this,"marginTop"),x=u+f+s(this,"marginRight")+k.width,C=d+_+s(this,"marginBottom")+k.height,M=t.extend({},v),T=i(D.my,c.outerWidth(),c.outerHeight());"right"===e.my[0]?M.left-=u:"center"===e.my[0]&&(M.left-=u/2),"bottom"===e.my[1]?M.top-=d:"center"===e.my[1]&&(M.top-=d/2),M.left+=T[0],M.top+=T[1],t.support.offsetFractions||(M.left=l(M.left),M.top=l(M.top)),n={marginLeft:f,marginTop:_},t.each(["left","top"],function(i,s){t.ui.position[w[i]]&&t.ui.position[w[i]][s](M,{targetWidth:p,targetHeight:g,elemWidth:u,elemHeight:d,collisionPosition:n,collisionWidth:x,collisionHeight:C,offset:[a[0]+T[0],a[1]+T[1]],my:e.my,at:e.at,within:y,elem:c})}),e.using&&(h=function(t){var i=m.left-M.left,s=i+p-u,n=m.top-M.top,a=n+g-d,l={target:{element:b,left:m.left,top:m.top,width:p,height:g},element:{element:c,left:M.left,top:M.top,width:u,height:d},horizontal:0>s?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(l.horizontal="center"),d>g&&g>r(n+a)&&(l.vertical="middle"),l.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",e.using.call(this,t,l)}),c.offset(t.extend(M,{using:h}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,a=n.offset.left+n.scrollLeft,o=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-o-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-o-a,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,a=n.offset.top+n.scrollTop,o=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-o-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-o-a,t.top+p+f+g>c&&(0>s||r(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,t.top+p+f+g>u&&(i>0||u>r(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)e.style[a]=s[a];e.appendChild(r),i=o||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()})(jQuery);(function(e){e.widget("ui.autocomplete",{version:"1.10.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,undefined;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:case a.NUMPAD_ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),undefined):(this._searchTimeout(e),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(e),this._change(e),undefined)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",t,{item:s})?t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):undefined},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({label:t.label||t.value,value:t.value||t.label},t)})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").append(e("<a>").text(i.label)).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[e](t),undefined):(this.search(null,t),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var t;this._superApply(arguments),this.options.disabled||this.cancelSearch||(t=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.text(t))}})})(jQuery);(function(t){t.widget("ui.menu",{version:"1.10.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,t.proxy(function(t){this.options.disabled&&t.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(t){t.preventDefault()},"click .ui-state-disabled > a":function(t){t.preventDefault()},"click .ui-menu-item:has(a)":function(e){var i=t(e.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&t(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){var i=t(e.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.children(".ui-menu-item").eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){t(e.target).closest(".ui-menu").length||this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){function i(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,a,o,r,l=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:l=!1,n=this.previousFilter||"",a=String.fromCharCode(e.keyCode),o=!1,clearTimeout(this.filterTimer),a===n?o=!0:a=n+a,r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())}),s=o&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(a=String.fromCharCode(e.keyCode),r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())})),s.length?(this.focus(e,s),s.length>1?(this.previousFilter=a,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}l&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i=this.options.icons.submenu,s=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),s=e.prev("a"),n=t("<span>").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",s.attr("id"))}),e=s.add(this.element),e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),e.children(":not(.ui-menu-item)").each(function(){var e=t(this);/[^\-\u2014\u2013\s]/.test(e.text())||e.addClass("ui-widget-content ui-menu-divider")}),e.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=e.height(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(e),undefined)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(e),undefined)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)}})})(jQuery); \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/js/popupForm.js b/src/Wallabag/Wallabag/Resources/views/_global/public/js/popupForm.js deleted file mode 100644 index d233e600..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/js/popupForm.js +++ /dev/null | |||
@@ -1,72 +0,0 @@ | |||
1 | $(document).ready(function() { | ||
2 | |||
3 | $("#search-form").hide(); | ||
4 | $("#bagit-form").hide(); | ||
5 | |||
6 | //--------------------------------------------------------------------------- | ||
7 | // Toggle the "Search" popup in the sidebar | ||
8 | //--------------------------------------------------------------------------- | ||
9 | function toggleSearch() { | ||
10 | $("#search-form").toggle(); | ||
11 | $("#search").toggleClass("current"); | ||
12 | $("#search").toggleClass("active-current"); | ||
13 | $("#search-arrow").toggleClass("arrow-down"); | ||
14 | if ($("#search").hasClass("current")) { | ||
15 | $("#content").addClass("opacity03"); | ||
16 | } else { | ||
17 | $("#content").removeClass("opacity03"); | ||
18 | } | ||
19 | } | ||
20 | |||
21 | //--------------------------------------------------------------------------- | ||
22 | // Toggle the "Save a Link" popup in the sidebar | ||
23 | //--------------------------------------------------------------------------- | ||
24 | function toggleBagit() { | ||
25 | $("#bagit-form").toggle(); | ||
26 | $("#bagit").toggleClass("current"); | ||
27 | $("#bagit").toggleClass("active-current"); | ||
28 | $("#bagit-arrow").toggleClass("arrow-down"); | ||
29 | if ($("#bagit").hasClass("current")) { | ||
30 | $("#content").addClass("opacity03"); | ||
31 | } else { | ||
32 | $("#content").removeClass("opacity03"); | ||
33 | } | ||
34 | } | ||
35 | |||
36 | //--------------------------------------------------------------------------- | ||
37 | // Close all #links popups in the sidebar | ||
38 | //--------------------------------------------------------------------------- | ||
39 | function closePopups() { | ||
40 | $("#links .messages").hide(); | ||
41 | $("#links > li > a").removeClass("active-current"); | ||
42 | $("#links > li > a").removeClass("current"); | ||
43 | $("[id$=-arrow]").removeClass("arrow-down"); | ||
44 | $("#content").removeClass("opacity03"); | ||
45 | } | ||
46 | |||
47 | $("#search").click(function(){ | ||
48 | closePopups(); | ||
49 | toggleSearch(); | ||
50 | $("#searchfield").focus(); | ||
51 | }); | ||
52 | |||
53 | $("#bagit").click(function(){ | ||
54 | closePopups(); | ||
55 | toggleBagit(); | ||
56 | $("#plainurl").focus(); | ||
57 | }); | ||
58 | |||
59 | $("#search-form-close").click(function(){ | ||
60 | toggleSearch(); | ||
61 | }); | ||
62 | |||
63 | $("#bagit-form-close").click(function(){ | ||
64 | toggleBagit(); | ||
65 | }); | ||
66 | |||
67 | // $("#").click(function(){ | ||
68 | // toggleSearch(); | ||
69 | // }); | ||
70 | |||
71 | |||
72 | }); | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/js/restoreScroll.js b/src/Wallabag/Wallabag/Resources/views/_global/public/js/restoreScroll.js deleted file mode 100644 index 331c9e19..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/js/restoreScroll.js +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | function supportsLocalStorage() { | ||
2 | try { | ||
3 | return 'localStorage' in window && window['localStorage'] !== null; | ||
4 | } catch (e) { | ||
5 | return false; | ||
6 | } | ||
7 | } | ||
8 | |||
9 | function savePercent(id, percent) { | ||
10 | if (!supportsLocalStorage()) { return false; } | ||
11 | localStorage["poche.article." + id + ".percent"] = percent; | ||
12 | return true; | ||
13 | } | ||
14 | |||
15 | function retrievePercent(id) { | ||
16 | if (!supportsLocalStorage()) { return false; } | ||
17 | |||
18 | var bheight = $(document).height(); | ||
19 | var percent = localStorage["poche.article." + id + ".percent"]; | ||
20 | var scroll = bheight * percent; | ||
21 | |||
22 | $('html,body').animate({scrollTop: scroll}, 'fast'); | ||
23 | |||
24 | return true; | ||
25 | } \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/_global/public/js/saveLink.js b/src/Wallabag/Wallabag/Resources/views/_global/public/js/saveLink.js deleted file mode 100755 index a7acd84c..00000000 --- a/src/Wallabag/Wallabag/Resources/views/_global/public/js/saveLink.js +++ /dev/null | |||
@@ -1,109 +0,0 @@ | |||
1 | $.fn.ready(function() { | ||
2 | |||
3 | var $bagit = $('#bagit'), | ||
4 | $bagitForm = $('#bagit-form'), | ||
5 | $bagitFormForm = $('#bagit-form-form'); | ||
6 | |||
7 | /* ========================================================================== | ||
8 | bag it link and close button | ||
9 | ========================================================================== */ | ||
10 | |||
11 | function toggleSaveLinkForm(url, event) { | ||
12 | $("#add-link-result").empty(); | ||
13 | |||
14 | $bagit.toggleClass("active-current"); | ||
15 | |||
16 | //only if bag-it link is not presented on page | ||
17 | if ( $bagit.length === 0 ) { | ||
18 | if ( event !== 'undefined' && event ) { | ||
19 | $bagitForm.css( {position:"absolute", top:event.pageY, left:event.pageX-200}); | ||
20 | } | ||
21 | else { | ||
22 | $bagitForm.css( {position:"relative", top:"auto", left:"auto"}); | ||
23 | } | ||
24 | } | ||
25 | |||
26 | if ($("#search-form").length != 0) { | ||
27 | $("#search").removeClass("current"); | ||
28 | $("#search-arrow").removeClass("arrow-down"); | ||
29 | $("#search-form").hide(); | ||
30 | } | ||
31 | $bagitForm.toggle(); | ||
32 | $('#content').toggleClass("opacity03"); | ||
33 | if (url !== 'undefined' && url) { | ||
34 | $('#plainurl').val(url); | ||
35 | } | ||
36 | $('#plainurl').focus(); | ||
37 | } | ||
38 | |||
39 | //--------------------------------------------------------------------------- | ||
40 | // These two functions are now taken care of in popupForm.js | ||
41 | //--------------------------------------------------------------------------- | ||
42 | |||
43 | // $bagit.click(function(){ | ||
44 | // $bagit.toggleClass("current"); | ||
45 | // $("#bagit-arrow").toggleClass("arrow-down"); | ||
46 | // toggleSaveLinkForm(); | ||
47 | // }); | ||
48 | |||
49 | // $("#bagit-form-close").click(function(){ | ||
50 | // $bagit.removeClass("current"); | ||
51 | // $("#bagit-arrow").removeClass("arrow-down"); | ||
52 | // toggleSaveLinkForm(); | ||
53 | // }); | ||
54 | |||
55 | |||
56 | //send "bag it link" form request via ajax | ||
57 | $bagitFormForm.submit( function(event) { | ||
58 | $("body").css("cursor", "wait"); | ||
59 | $("#add-link-result").empty(); | ||
60 | |||
61 | $.ajax({ | ||
62 | type: $bagitFormForm.attr('method'), | ||
63 | url: $bagitFormForm.attr('action'), | ||
64 | data: $bagitFormForm.serialize(), | ||
65 | success: function(data) { | ||
66 | $('#add-link-result').html("Done!"); | ||
67 | $('#plainurl').val(''); | ||
68 | $('#plainurl').blur(''); | ||
69 | $("body").css("cursor", "auto"); | ||
70 | //setTimeout( function() { toggleSaveLinkForm(); }, 1000); //close form after 1000 delay | ||
71 | }, | ||
72 | error: function(data) { | ||
73 | $('#add-link-result').html("Failed!"); | ||
74 | $("body").css("cursor", "auto"); | ||
75 | } | ||
76 | }); | ||
77 | |||
78 | event.preventDefault(); | ||
79 | }); | ||
80 | |||
81 | /* ========================================================================== | ||
82 | Keyboard gestion | ||
83 | ========================================================================== */ | ||
84 | |||
85 | $(window).keydown(function(e){ | ||
86 | if ( ( e.target.tagName.toLowerCase() !== 'input' && e.keyCode == 83 ) || (e.keyCode == 27 && $bagitForm.is(':visible') ) ) { | ||
87 | $bagit.removeClass("current"); | ||
88 | $("#bagit-arrow").removeClass("arrow-down"); | ||
89 | toggleSaveLinkForm(); | ||
90 | return false; | ||
91 | } | ||
92 | }); | ||
93 | |||
94 | /* ========================================================================== | ||
95 | Process all links inside an article | ||
96 | ========================================================================== */ | ||
97 | |||
98 | $("article a[href^='http']").after(function() { | ||
99 | return " <a href=\"" + $(this).attr('href') + "\" class=\"add-to-wallabag-link-after\" alt=\"add to wallabag\" title=\"add to wallabag\"></a> "; | ||
100 | }); | ||
101 | |||
102 | $(".add-to-wallabag-link-after").click(function(event){ | ||
103 | toggleSaveLinkForm($(this).attr('href'), event); | ||
104 | event.preventDefault(); | ||
105 | }); | ||
106 | |||
107 | }); | ||
108 | |||
109 | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/README.md b/src/Wallabag/Wallabag/Resources/views/baggy/README.md deleted file mode 100755 index 1f0054a4..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/README.md +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | # Baggy Theme | ||
2 | |||
3 | theme created by Thomas LEBEAU alias Courgette http://thomaslebeau.fr/ \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/_display-mode.twig b/src/Wallabag/Wallabag/Resources/views/baggy/_display-mode.twig deleted file mode 100755 index 382dd5f1..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/_display-mode.twig +++ /dev/null | |||
@@ -1,5 +0,0 @@ | |||
1 | <div id="display-mode"> | ||
2 | <a href="javascript: void(null);" id="listmode" class="listmode"> | ||
3 | <img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/blank.png" alt="{% trans "toggle view mode" %}" title="{% trans "toggle view mode" %}" width="16" height="16"> | ||
4 | </a> | ||
5 | </div> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/_head.twig b/src/Wallabag/Wallabag/Resources/views/baggy/_head.twig deleted file mode 100755 index a88d4186..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/_head.twig +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-152.png" sizes="152x152"> | ||
2 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-152.png" sizes="152x152"> | ||
3 | |||
4 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-144.png" sizes="144x144"> | ||
5 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-144.png" sizes="144x144"> | ||
6 | |||
7 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-120.png" sizes="120x120"> | ||
8 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-120.png" sizes="120x120"> | ||
9 | |||
10 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-114.png" sizes="114x114"> | ||
11 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-114.png" sizes="114x114"> | ||
12 | |||
13 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-76.png" sizes="76x76"> | ||
14 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-76.png" sizes="76x76"> | ||
15 | |||
16 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-72.png" sizes="72x72"> | ||
17 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-72.png" sizes="72x72"> | ||
18 | |||
19 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-57.png" sizes="57x57"> | ||
20 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-57.png" sizes="57x57"> | ||
21 | |||
22 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon.png"> | ||
23 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon.png"> | ||
24 | |||
25 | <link rel="shortcut icon" type="image/x-icon" href="{{ poche_url }}themes/_global/img/appicon/favicon.ico" sizes="16x16"> | ||
26 | |||
27 | <link rel="stylesheet" href="{{ poche_url }}themes/{{theme}}/css/ratatouille.css" media="all"> | ||
28 | <link rel="stylesheet" href="{{ poche_url }}themes/{{theme}}/css/font.css" media="all"> | ||
29 | <link rel="stylesheet" href="{{ poche_url }}themes/{{theme}}/css/main.css" media="all"> | ||
30 | <link rel="stylesheet" href="{{ poche_url }}themes/{{theme}}/css/messages.css" media="all"> | ||
31 | <link rel="stylesheet" href="{{ poche_url }}themes/{{theme}}/css/print.css" media="print"> | ||
32 | |||
33 | <script src="{{ poche_url }}themes/_global/js/jquery-2.0.3.min.js"></script> | ||
34 | <script src="{{ poche_url }}themes/_global/js/autoClose.js"></script> | ||
35 | <script src="{{ poche_url }}themes/{{theme}}/js/jquery.cookie.js"></script> | ||
36 | <script src="{{ poche_url }}themes/{{theme}}/js/init.js"></script> | ||
37 | <script src="{{ poche_url }}themes/_global/js/saveLink.js"></script> | ||
38 | <script src="{{ poche_url }}themes/_global/js/popupForm.js"></script> | ||
39 | <script src="{{ poche_url }}themes/{{theme}}/js/closeMessage.js"></script> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/_menu.twig b/src/Wallabag/Wallabag/Resources/views/baggy/_menu.twig deleted file mode 100644 index 8b80f65d..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/_menu.twig +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | <button id="menu" class="icon icon-menu desktopHide"><span>Menu</span></button> | ||
2 | <ul id="links" class="links"> | ||
3 | <li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "unread" %}</a></li> | ||
4 | <li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li> | ||
5 | <li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li> | ||
6 | <li><a href="./?view=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li> | ||
7 | <li style="position: relative;"><a href="javascript: void(null);" id="bagit">{% trans "save a link" %}</a> | ||
8 | {% include '_pocheit-form.twig' %} | ||
9 | </li> | ||
10 | <li style="position: relative;"><a href="javascript: void(null);" id="search">{% trans "search" %}</a> | ||
11 | {% include '_search-form.twig' %} | ||
12 | </li> | ||
13 | <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li> | ||
14 | <li><a href="./?view=about" {% if view == 'about' %}class="current"{% endif %}>{% trans "about" %}</a></li> | ||
15 | <li><a class="icon icon-power" href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li> | ||
16 | </ul> | ||
17 | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/_pocheit-form.twig b/src/Wallabag/Wallabag/Resources/views/baggy/_pocheit-form.twig deleted file mode 100755 index bf2ae903..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/_pocheit-form.twig +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | <div id="bagit-form" class="messages info popup-form"> | ||
2 | <form method="get" action="index.php" target="_blank" id="bagit-form-form"> | ||
3 | <h2>{% trans "Save a link" %}</h2> | ||
4 | <a href="javascript: void(null);" id="bagit-form-close" class="close-button--popup close-button">×</a> | ||
5 | <input type="hidden" name="autoclose" value="1" /> | ||
6 | <input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" /> | ||
7 | <span id="add-link-result"></span> | ||
8 | <input type="submit" value="{% trans "save link!" %}" /> | ||
9 | </form> | ||
10 | </div> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/_search-form.twig b/src/Wallabag/Wallabag/Resources/views/baggy/_search-form.twig deleted file mode 100644 index 73f7951f..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/_search-form.twig +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | <div id="search-form" class="messages info popup-form"> | ||
2 | <form method="get" action="index.php"> | ||
3 | <h2>{%trans "Search" %}</h2> | ||
4 | <a href="javascript: void(null);" id="search-form-close" class="close-button--popup close-button">×</a> | ||
5 | <input type="hidden" name="view" value="search"></input> | ||
6 | <input required placeholder="{% trans "Enter your search here" %}" type="text" name="search" id="searchfield"><br> | ||
7 | <input id="submit-search" type="submit" value="{% trans "Search" %}"></input> | ||
8 | </form> | ||
9 | </div> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/_top.twig b/src/Wallabag/Wallabag/Resources/views/baggy/_top.twig deleted file mode 100755 index a31c0925..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/_top.twig +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | <header class="w600p center mbm"> | ||
2 | <h1 class="logo"> | ||
3 | {% if view == 'home' %}{% block logo %}<img width="100" height="100" src="{{ poche_url }}themes/{{theme}}/img/logo-w.png" alt="wallabag logo" />{% endblock %} | ||
4 | {% else %}<a href="./" title="{% trans "return home" %}" >{{ block('logo') }}</a> | ||
5 | {% endif %} | ||
6 | </h1> | ||
7 | </header> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/about.twig b/src/Wallabag/Wallabag/Resources/views/baggy/about.twig deleted file mode 100755 index d18fe156..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/about.twig +++ /dev/null | |||
@@ -1,84 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | |||
3 | {% block title %}{% trans "About" %}{% endblock %} | ||
4 | {% block menu %} | ||
5 | {% include '_menu.twig' %} | ||
6 | {% endblock %} | ||
7 | {% block content %} | ||
8 | <h2>{% trans "About wallabag" %}</h2> | ||
9 | |||
10 | <dl> | ||
11 | <dt>{% trans "Project website" %}</dt> | ||
12 | <dd><a href="https://www.wallabag.org">https://www.wallabag.org</a></dd> | ||
13 | |||
14 | <dt>{% trans "Main developer" %}</dt> | ||
15 | <dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans "website" %}</a></dd> | ||
16 | |||
17 | <dt>{% trans "Contributors:" %}</dt> | ||
18 | <dd><a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans "on Github" %}</a></dd> | ||
19 | |||
20 | <dt>{% trans "Bug reports" %}</dt> | ||
21 | <dd><a href="https://support.wallabag.org">{% trans "On our support website" %}</a> {% trans "or" %} <a href="https://github.com/wallabag/wallabag/issues">{% trans "on Github" %}</a></dd> | ||
22 | |||
23 | <dt>{% trans "License" %}</dt> | ||
24 | <dd><a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dd> | ||
25 | |||
26 | <dt>{% trans "Version" %}</dt> | ||
27 | <dd>{{ constant('WALLABAG') }}</dd> | ||
28 | </dl> | ||
29 | |||
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> | ||
33 | |||
34 | <dl> | ||
35 | <dt>{% trans "Documentation" %}</dt> | ||
36 | <dd><a href="docs/">Offline documentation</a> and <a href="https://doc.wallabag.org/">online documentation</a> (up to date)</dd> | ||
37 | |||
38 | <dt>{% trans "Support" %}</dt> | ||
39 | <dd><a href="http://support.wallabag.org/">http://support.wallabag.org/</a></dd> | ||
40 | </dl> | ||
41 | |||
42 | <h2>{% trans "Helping wallabag" %}</h2> | ||
43 | |||
44 | <p>{% trans "wallabag is free and opensource. You can help us:" %}</p> | ||
45 | |||
46 | <dl> | ||
47 | <dt><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb">{% trans "via Paypal" %}</a></dt> | ||
48 | |||
49 | <dt><a href="https://flattr.com/thing/1265480">{% trans "via Flattr" %}</a></dt> | ||
50 | </dl> | ||
51 | |||
52 | <h2>{% trans "Credits" %}</h2> | ||
53 | <dl> | ||
54 | <dt>PHP Readability</dt> | ||
55 | <dd><a href="https://bitbucket.org/fivefilters/php-readability">https://bitbucket.org/fivefilters/php-readability</a></dd> | ||
56 | |||
57 | <dt>Full Text RSS</dt> | ||
58 | <dd><a href="http://code.fivefilters.org/full-text-rss/src">http://code.fivefilters.org/full-text-rss/src</a></dd> | ||
59 | |||
60 | <dt>logo by Maylis Agniel</dt> | ||
61 | <dd><a href="https://github.com/wallabag/logo">https://github.com/wallabag/logo</a></dd> | ||
62 | |||
63 | <dt>icons</dt> | ||
64 | <dd><a href="http://icomoon.io">http://icomoon.io</a></dd> | ||
65 | |||
66 | <dt>PHP Simple HTML DOM Parser</dt> | ||
67 | <dd><a href="http://simplehtmldom.sourceforge.net/">http://simplehtmldom.sourceforge.net/</a></dd> | ||
68 | |||
69 | <dt>Session</dt> | ||
70 | <dd><a href="https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php">https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php</a></dd> | ||
71 | |||
72 | <dt>Twig</dt> | ||
73 | <dd><a href="http://twig.sensiolabs.org">http://twig.sensiolabs.org</a></dd> | ||
74 | |||
75 | <dt>Flash messages</dt> | ||
76 | <dd><a href="https://github.com/plasticbrain/PHP-Flash-Messages">https://github.com/plasticbrain/PHP-Flash-Messages</a></dd> | ||
77 | |||
78 | <dt>Pagination</dt> | ||
79 | <dd><a href="https://github.com/daveismyname/pagination">https://github.com/daveismyname/pagination</a></dd> | ||
80 | |||
81 | <dt>PHPePub</dt> | ||
82 | <dd><a href="https://github.com/Grandt/PHPePub/">https://github.com/Grandt/PHPePub/</a></dd> | ||
83 | </dl> | ||
84 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/config.twig b/src/Wallabag/Wallabag/Resources/views/baggy/config.twig deleted file mode 100755 index 6031f489..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/config.twig +++ /dev/null | |||
@@ -1,187 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | |||
3 | {% block title %}{% trans "config" %}{% endblock %} | ||
4 | {% block menu %} | ||
5 | {% include '_menu.twig' %} | ||
6 | {% endblock %} | ||
7 | {% block content %} | ||
8 | <h2>{% trans "Saving articles" %}</h2> | ||
9 | <p>{% trans "There are several ways to save an article:" %} {% trans "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" %}</p> | ||
10 | <p> | ||
11 | <form method="get" action="index.php"> | ||
12 | <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label><br> | ||
13 | <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" /> | ||
14 | <input type="submit" value="{% trans "bag it!" %}" /> | ||
15 | </form> | ||
16 | </p> | ||
17 | <h3>Browser Plugins</h3> | ||
18 | <ul> | ||
19 | <li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans "Firefox Add-On" %}</a></li> | ||
20 | <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans "Chrome Extension" %}</a></li> | ||
21 | </ul> | ||
22 | <h3>Mobile Apps</h3> | ||
23 | <ul> | ||
24 | <li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via Google Play" %}</a></li> | ||
25 | <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li> | ||
26 | <li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" target="_blank">{% trans "download the application" %}</a></li> | ||
27 | </ul> | ||
28 | <h3>{% trans "Bookmarklet" %}</h3> | ||
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> | ||
31 | </p> | ||
32 | |||
33 | <h2>{% trans "Feeds" %}</h2> | ||
34 | {% if token == '' %} | ||
35 | <p>{% trans "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&action=generate'>here to generate it</a>." %}</p> | ||
36 | {% else %} | ||
37 | <ul> | ||
38 | <li><a href="?feed&type=home&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Unread feed" %}</a></li> | ||
39 | <li><a href="?feed&type=fav&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li> | ||
40 | <li><a href="?feed&type=archive&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li> | ||
41 | </ul> | ||
42 | <p class="more-info"> | ||
43 | {% trans "Your token:" %} <strong>{{token}}</strong><br> | ||
44 | {% trans "Your user id:" %} <strong>{{user_id}}</strong><br> | ||
45 | {% trans "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." %} | ||
46 | </p> | ||
47 | {% endif %} | ||
48 | |||
49 | <h2>{% trans "Change your theme" %}</h2> | ||
50 | <form method="post" action="?updatetheme" name="changethemeform"> | ||
51 | <fieldset class="w500p inline"> | ||
52 | <div class="row"> | ||
53 | <label class="col w150p" for="theme">{% trans "Theme:" %}</label> | ||
54 | <select class="col" id="theme" name="theme"> | ||
55 | {% for key, theme in themes %} | ||
56 | <option value="{{ key }}" {{ theme.current ? 'selected' : '' }}>{{ theme.name }}</option> | ||
57 | {% endfor %} | ||
58 | </select> | ||
59 | </div> | ||
60 | <div class="row mts txtcenter"> | ||
61 | <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button> | ||
62 | </div> | ||
63 | </fieldset> | ||
64 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
65 | <input type="hidden" name="token" value="{{ token }}"> | ||
66 | </form> | ||
67 | |||
68 | <h2>{% trans "Change your language" %}</h2> | ||
69 | <form method="post" action="?updatelanguage" name="changelanguageform"> | ||
70 | <fieldset class="w500p inline"> | ||
71 | <div class="row"> | ||
72 | <label class="col w150p" for="language">{% trans "Language:" %}</label> | ||
73 | <select class="col" id="language" name="language"> | ||
74 | {% for language in languages %} | ||
75 | <option value="{{ language.value }}" {{ language.current ? 'selected' : '' }}>{{ language.name }}</option> | ||
76 | {% endfor %} | ||
77 | </select> | ||
78 | </div> | ||
79 | <div class="row mts txtcenter"> | ||
80 | <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button> | ||
81 | </div> | ||
82 | </fieldset> | ||
83 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
84 | <input type="hidden" name="token" value="{{ token }}"> | ||
85 | </form> | ||
86 | |||
87 | <h2><a name="import"></a>{% trans "Import" %}</h2> | ||
88 | <p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p> | ||
89 | <p>{% trans "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required." %}</p> | ||
90 | <form method="post" action="?import" name="uploadfile" enctype="multipart/form-data"> | ||
91 | <fieldset class="w500p"> | ||
92 | <div class="row"> | ||
93 | <label class="col w150p" for="file">{% trans "File:" %}</label> | ||
94 | <input class="col" type="file" id="file" name="file" tabindex="4" required="required"> | ||
95 | </div> | ||
96 | <div class="row mts txtcenter"> | ||
97 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> | ||
98 | </div> | ||
99 | </fieldset> | ||
100 | </form> | ||
101 | <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p> | ||
102 | <p class="more-info">{% trans "Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p> | ||
103 | |||
104 | <h2>{% trans "Export your wallabag data" %}</h2> | ||
105 | <p><a href="?export" target="_blank">{% trans "Export JSON" %}</a><br> | ||
106 | <span class="more-info">Data will be exported in a single JSON file.</span></p> | ||
107 | |||
108 | <h2>{% trans "Fancy an E-Book ?" %}</h2> | ||
109 | <p>{% trans "Click to get all your articles in one ebook :" %} | ||
110 | <ul> | ||
111 | <li><a href="./?epub&method=all" title="{% trans 'Generate ePub file' %}">ePub 3</a></li> | ||
112 | <li><a href="./?mobi&method=all" title="{% trans 'Generate Mobi file' %}">Mobi</a></li> | ||
113 | <li><a href="./?pdf&method=all" title="{% trans 'Generate PDF file' %}">PDF</a></li> | ||
114 | </ul> | ||
115 | |||
116 | <span class="more-info">{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</span></p> | ||
117 | |||
118 | <h2><a name="cache"></a>{% trans "Cache" %}</h2> | ||
119 | <p><a href="?empty-cache">{% trans "Delete Cache" %}</a><br> | ||
120 | <span class="more-info">Deleting the cache may help with display or other problems.</span></p> | ||
121 | |||
122 | {% if http_auth == 0 %} | ||
123 | <h2>{% trans "Change your password" %}</h2> | ||
124 | <form method="post" action="?config" name="loginform"> | ||
125 | <fieldset class="w500p"> | ||
126 | <div class="row"> | ||
127 | <label class="col w150p" for="password">{% trans "New password:" %}</label> | ||
128 | <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2"> | ||
129 | </div> | ||
130 | <div class="row"> | ||
131 | <label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label> | ||
132 | <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3"> | ||
133 | </div> | ||
134 | <div class="row mts txtcenter"> | ||
135 | <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button> | ||
136 | </div> | ||
137 | </fieldset> | ||
138 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
139 | <input type="hidden" name="token" value="{{ token }}"> | ||
140 | </form> | ||
141 | {% endif %} | ||
142 | |||
143 | <h2>{% trans 'Add user' %}</h2> | ||
144 | <form method="post" action="?newuser"> | ||
145 | <fieldset class="w500p"> | ||
146 | <div class="row"> | ||
147 | <label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label> | ||
148 | <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}" required> | ||
149 | </div> | ||
150 | <div class="row"> | ||
151 | <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label> | ||
152 | <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans 'Password' %}" required> | ||
153 | </div> | ||
154 | <div class="row"> | ||
155 | <label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label> | ||
156 | <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}"> | ||
157 | </div> | ||
158 | <div class="row mts txtcenter"> | ||
159 | <button type="submit">{% trans "Add user" %}</button> | ||
160 | </div> | ||
161 | </fieldset> | ||
162 | </form> | ||
163 | |||
164 | <h2>{% trans "Delete account" %}</h2> | ||
165 | {% if not only_user %}<form method="post" action="?deluser"> | ||
166 | <p>{% trans "You can delete your account by entering your password and validating." %}<br /><b>{% trans "Be careful, data will be erased forever (that is a very long time)." %}</b></p> | ||
167 | <fieldset class="w500p"> | ||
168 | <div class="row"> | ||
169 | <label class="col w150p" for="password4deletinguser">{% trans "Type here your password" %}</label> | ||
170 | <input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}"> | ||
171 | </div> | ||
172 | <div class="row mts txtcenter"> | ||
173 | <button type="submit">{% trans "Delete account" %}</button> | ||
174 | </div> | ||
175 | </form> | ||
176 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}</p> | ||
177 | <p>{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %} | ||
178 | |||
179 | <h2>{% trans "Upgrading wallabag" %}</h2> | ||
180 | <ul> | ||
181 | <li>{% trans "Installed version" %}: <strong>{{ constant('WALLABAG') }}</strong></li> | ||
182 | <li>{% trans "Latest stable version" %}: {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li> | ||
183 | {% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %}: {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li> | ||
184 | </ul> | ||
185 | <p class="more-info">{% trans "You can clear cache to check the latest release." %}</p> | ||
186 | |||
187 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/edit-tags.twig b/src/Wallabag/Wallabag/Resources/views/baggy/edit-tags.twig deleted file mode 100755 index 15f15560..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/edit-tags.twig +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | {% block title %}edit tags{% endblock %} | ||
3 | {% block menu %} | ||
4 | {% include '_menu.twig' %} | ||
5 | {% endblock %} | ||
6 | {% block content %} | ||
7 | |||
8 | <script src="{{ poche_url }}themes/_global/js/jquery-ui-1.10.4.custom.min.js"></script> | ||
9 | <script src="{{ poche_url }}themes/_global/js/autoCompleteTags.js"></script> | ||
10 | <link rel="stylesheet" href="{{ poche_url }}themes/_global/css/jquery-ui-1.10.4.custom.min.css" media="all"> | ||
11 | |||
12 | <div id="article"> | ||
13 | <h2>{{ entry.title|raw }}</21> | ||
14 | </div> | ||
15 | {% if tags is empty %} | ||
16 | <div class="notags">{% trans "no tags" %}</div> | ||
17 | {% endif %} | ||
18 | <ul> | ||
19 | {% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&tag_id={{ tag.id }}&id={{ entry_id }}">✘</a></li>{% endfor %} | ||
20 | </ul> | ||
21 | <form method="post" action="./?action=add_tag"> | ||
22 | <input type="hidden" name="entry_id" value="{{ entry_id }}" /> | ||
23 | <label for="value">{% trans "Add tags:" %}</label><input type="text" placeholder="{% trans "interview" %}, {% trans "editorial" %}, {% trans "video" %}" id="value" name="value" required="required" /> | ||
24 | <input type="submit" value="Tag" /> | ||
25 | <p>{% trans "Start typing for auto complete." %}<br> | ||
26 | {% trans "You can enter multiple tags, separated by commas." %}</p> | ||
27 | </form> | ||
28 | <a class="icon icon-reply return" href="./?view=view&id={{ entry_id }}">{% trans "return to article" %}</a> | ||
29 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/home.twig b/src/Wallabag/Wallabag/Resources/views/baggy/home.twig deleted file mode 100755 index 93515080..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/home.twig +++ /dev/null | |||
@@ -1,81 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | {% block title %} | ||
3 | {% if view == 'fav' %} | ||
4 | {% trans "favorites" %} | ||
5 | {% elseif view == 'archive' %} | ||
6 | {% trans "archive" %} | ||
7 | {% else %} | ||
8 | {% trans "unread" %} | ||
9 | {% endif %} | ||
10 | {% endblock %} | ||
11 | {% block menu %} | ||
12 | {% include '_menu.twig' %} | ||
13 | {% endblock %} | ||
14 | {% block content %} | ||
15 | {% if tag %} | ||
16 | <h3>{% trans "Tag" %}: <b>{{ tag.value }}</b></h3> | ||
17 | {% endif %} | ||
18 | {% if entries is empty %} | ||
19 | <div class="messages warning"><p>{% trans "No articles found." %}</p></div> | ||
20 | {% else %} | ||
21 | <div> | ||
22 | {% include '_display-mode.twig' %} | ||
23 | {% include '_sorting.twig' %} | ||
24 | </div> | ||
25 | {% block pager %} | ||
26 | {% if nb_results > 1 %} | ||
27 | <div class="results"> | ||
28 | <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %} {% trans %}found for « {{ search_term }} »{% endtrans %}{% endif %}</div> | ||
29 | {{ page_links | raw }} | ||
30 | </div> | ||
31 | {% elseif nb_results == 1 %} | ||
32 | {% if search_term is defined %} | ||
33 | <div class="results"> | ||
34 | <div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div> | ||
35 | </div> | ||
36 | {% endif %} | ||
37 | {% endif %} | ||
38 | {% endblock %} | ||
39 | <div id="list-entries" class="list-entries"> | ||
40 | {% for entry in entries %} | ||
41 | <div id="entry-{{ entry.id|e }}" class="entrie"> | ||
42 | <h2><a href="index.php?view=view&id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2> | ||
43 | {% if entry.content| getReadingTime > 0 %} | ||
44 | <div class="estimatedTime"><span class="tool reading-time">{% trans "estimated reading time :" %} {{ entry.content| getReadingTime }} min</span></div> | ||
45 | {% else %} | ||
46 | <div class="estimatedTime"><span class="tool reading-time">{% trans "estimated reading time :" %} <small class="inferieur"><</small> 1 min</span></div> | ||
47 | {% endif %} | ||
48 | <ul class="tools links"> | ||
49 | <li><a title="{% trans "Toggle mark as read" %}" class="tool icon-check icon {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "Toggle mark as read" %}</span></a></li> | ||
50 | <li><a title="{% trans "toggle favorite" %}" class="tool icon-star icon {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li> | ||
51 | <li><a title="{% trans "delete" %}" class="tool delete icon-trash icon" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li> | ||
52 | <li><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}" class="tool link icon-link icon"><span>{{ entry.url | e | getDomain }}</span></a></li> | ||
53 | </ul> | ||
54 | <p>{{ entry.content|striptags|slice(0, 300) }}...</p> | ||
55 | </div> | ||
56 | |||
57 | {% endfor %} | ||
58 | </div> | ||
59 | {{ block('pager') }} | ||
60 | {% if view == 'home' %}{% if nb_results > 1 %}<p><a title="{% trans "Mark all the entries as read" %}" href="./?action=archive_all">{% trans "Mark all the entries as read" %}</a></p>{% endif %}{% endif %} | ||
61 | {% if searchterm is defined %}<a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}">{% trans "Tag these results as" %} {{ searchterm }}</a>{% endif %}<br /> | ||
62 | |||
63 | {% if searchterm is defined %}<a title="{% trans "Delete results matching" %} {{ searchterm }}" href="./?action=delete&search={{ searchterm }}">{% trans "Delete results matching" %} {{ searchterm }}</a>{% endif %}<br /> | ||
64 | |||
65 | {% if tag %}<a title="{% trans "Mark all articles from this tag as read" %}" href="./?action=toggle_archive&tag_id={{ tag.id }}">{% trans "Mark all articles from this tag as read" %}</a><br />{% endif %} | ||
66 | |||
67 | {% if tag %} | ||
68 | {% if constant('EPUB') == 1 %}<a title="{% trans "Download the articles from this tag in an epub file" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download as ePub3" %}</a>{% endif %} | ||
69 | {% if constant('MOBI') == 1 %}<a title="{% trans "Download the articles from this tag in a mobi file" %}" href="./?mobi&method=tag&value={{ tag.value }}">{% trans "Download as Mobi" %}</a>{% endif %} | ||
70 | {% if constant('PDF') == 1 %}<a title="{% trans "Download the articles from this tag in a pdf file" %}" href="./?pdf&method=tag&value={{ tag.value }}">{% trans "Download as PDF" %}</a>{% endif %} | ||
71 | {% elseif searchterm is defined %} | ||
72 | {% if constant('EPUB') == 1 %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ searchterm }}">{% trans "Download as ePub3" %}</a>{% endif %} | ||
73 | {% if constant('MOBI') == 1 %}<a title="{% trans "Download the articles from this search in a mobi file" %}" href="./?mobi&method=search&value={{ searchterm }}">{% trans "Download as Mobi" %}</a>{% endif %} | ||
74 | {% if constant('PDF') == 1 %}<a title="{% trans "Download the articles from this search in a pdf file" %}" href="./?pdf&method=search&value={{ searchterm }}">{% trans "Download as PDF" %}</a>{% endif %} | ||
75 | {% else %} | ||
76 | {% if constant('EPUB') == 1 %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download as ePub3" %}</a>{% endif %} | ||
77 | {% if constant('MOBI') == 1 %}<a title="{% trans "Download the articles from this category in a mobi file" %}" href="./?mobi&method=category&value={{ view }}">{% trans "Download as Mobi" %}</a>{% endif %} | ||
78 | {% if constant('PDF') == 1 %}<a title="{% trans "Download the articles from this category in a pdf file" %}" href="./?pdf&method=category&value={{ view }}">{% trans "Download as PDF" %}</a>{% endif %} | ||
79 | {% endif %} | ||
80 | {% endif %} | ||
81 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/layout-login.twig b/src/Wallabag/Wallabag/Resources/views/baggy/layout-login.twig deleted file mode 100644 index 4078fbb0..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/layout-login.twig +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <!--[if lte IE 6]><html class="no-js ie6 ie67 ie678" lang="{{ lang }}"><![endif]--> | ||
3 | <!--[if lte IE 7]><html class="no-js ie7 ie67 ie678" lang="{{ lang }}"><![endif]--> | ||
4 | <!--[if IE 8]><html class="no-js ie8 ie678" lang="{{ lang }}"><![endif]--> | ||
5 | <!--[if gt IE 8]><html class="no-js" lang="{{ lang }}"><![endif]--> | ||
6 | <html lang="{{ lang }}"> | ||
7 | <head> | ||
8 | <meta name="viewport" content="initial-scale=1.0"> | ||
9 | <meta charset="utf-8"> | ||
10 | <!--[if IE]> | ||
11 | <meta http-equiv="X-UA-Compatible" content="IE=10"> | ||
12 | <![endif]--> | ||
13 | <title>{% block title %}{% endblock %} - wallabag</title> | ||
14 | {% include '_head.twig' %} | ||
15 | {% include '_bookmarklet.twig' %} | ||
16 | </head> | ||
17 | <body class="login"> | ||
18 | {% include '_top.twig' %} | ||
19 | <div id="main"> | ||
20 | {% block menu %}{% endblock %} | ||
21 | {% block precontent %}{% endblock %} | ||
22 | {% block messages %} | ||
23 | {% include '_messages.twig' %} | ||
24 | {% endblock %} | ||
25 | <div id="content" class="w600p center"> | ||
26 | {% block content %}{% endblock %} | ||
27 | </div> | ||
28 | </div> | ||
29 | {% include '_footer.twig' %} | ||
30 | </body> | ||
31 | </html> \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/layout.twig b/src/Wallabag/Wallabag/Resources/views/baggy/layout.twig deleted file mode 100755 index 8de12749..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/layout.twig +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <!--[if lte IE 6]><html class="no-js ie6 ie67 ie678" lang="{{ lang }}"><![endif]--> | ||
3 | <!--[if lte IE 7]><html class="no-js ie7 ie67 ie678" lang="{{ lang }}"><![endif]--> | ||
4 | <!--[if IE 8]><html class="no-js ie8 ie678" lang="{{ lang }}"><![endif]--> | ||
5 | <!--[if gt IE 8]><html class="no-js" lang="{{ lang }}"><![endif]--> | ||
6 | <html lang="{{ lang }}"> | ||
7 | <head> | ||
8 | <meta name="viewport" content="initial-scale=1.0"> | ||
9 | <meta charset="utf-8"> | ||
10 | <!--[if IE]> | ||
11 | <meta http-equiv="X-UA-Compatible" content="IE=10"> | ||
12 | <![endif]--> | ||
13 | <title>{% block title %}{% endblock %} - wallabag</title> | ||
14 | {% include '_head.twig' %} | ||
15 | {% include '_bookmarklet.twig' %} | ||
16 | </head> | ||
17 | <body> | ||
18 | {% include '_top.twig' %} | ||
19 | <div id="main"> | ||
20 | {% block menu %}{% endblock %} | ||
21 | {% block precontent %}{% endblock %} | ||
22 | {% block messages %} | ||
23 | {% include '_messages.twig' %} | ||
24 | {% if includeImport %} | ||
25 | {% include '_import.twig' %} | ||
26 | {% endif %} | ||
27 | {% endblock %} | ||
28 | <div id="content" class="w600p center"> | ||
29 | {% block content %}{% endblock %} | ||
30 | </div> | ||
31 | </div> | ||
32 | {% include '_footer.twig' %} | ||
33 | </body> | ||
34 | </html> \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/login.twig b/src/Wallabag/Wallabag/Resources/views/baggy/login.twig deleted file mode 100644 index 58290e9c..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/login.twig +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | {% extends "layout-login.twig" %} | ||
2 | |||
3 | {% block title %}{% trans "login to your wallabag" %}{% endblock %} | ||
4 | {% block content %} | ||
5 | {% if http_auth == 0 %} | ||
6 | <form method="post" action="?login" name="loginform"> | ||
7 | <fieldset class="w500p center"> | ||
8 | <h2 class="mbs txtcenter">{% trans "Login to wallabag" %}</h2> | ||
9 | {% if constant('MODE_DEMO') == 1 %}<p>{% trans "you are in demo mode, some features may be disabled." %}</p>{% endif %} | ||
10 | <div class="row"> | ||
11 | <label class="col w150p" for="login">{% trans "Username" %}</label> | ||
12 | <input class="col" type="text" id="login" name="login" placeholder="{% trans "Username" %}" tabindex="1" autofocus {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} /> | ||
13 | </div> | ||
14 | |||
15 | <div class="row"> | ||
16 | <label class="col w150p" for="password">{% trans "Password" %}</label> | ||
17 | <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2" {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} /> | ||
18 | </div> | ||
19 | <div class="row"> | ||
20 | |||
21 | <div class="col"> | ||
22 | <input type="checkbox" id="longlastingsession" name="longlastingsession" tabindex="3" /> <label for="longlastingsession">{% trans "Stay signed in" %}</label><br /> | ||
23 | <small class="inbl">{% trans "(Do not check on public computers)" %}</small> | ||
24 | </div> | ||
25 | </div> | ||
26 | <div class="row mts txtcenter"> | ||
27 | <button class="bouton" type="submit" tabindex="4">{% trans "Sign in" %}</button> | ||
28 | </div> | ||
29 | </fieldset> | ||
30 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
31 | <input type="hidden" name="token" value="{{ token }}"> | ||
32 | </form> | ||
33 | {% endif %} | ||
34 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/css/font.css b/src/Wallabag/Wallabag/Resources/views/baggy/public/css/font.css deleted file mode 100755 index 7c02a16f..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/css/font.css +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | @font-face { | ||
2 | font-family: 'PT Sans'; | ||
3 | font-style: normal; | ||
4 | font-weight: 700; | ||
5 | src: local('PT Sans Bold'), local('PTSans-Bold'), url(../fonts/ptsans.woff) format('woff'); | ||
6 | } | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/css/main.css b/src/Wallabag/Wallabag/Resources/views/baggy/public/css/main.css deleted file mode 100755 index 1df82910..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/css/main.css +++ /dev/null | |||
@@ -1,1071 +0,0 @@ | |||
1 | /* ========================================================================== | ||
2 | Sommaire | ||
3 | |||
4 | 1 = Style Guide | ||
5 | 2 = Layout | ||
6 | 3 = Pictos | ||
7 | 4 = Messages | ||
8 | 5 = Article | ||
9 | 6 = Media queries | ||
10 | |||
11 | ========================================================================== */ | ||
12 | |||
13 | html { | ||
14 | min-height: 100%; | ||
15 | } | ||
16 | |||
17 | body { | ||
18 | background-color: #EEE; | ||
19 | } | ||
20 | |||
21 | .login { | ||
22 | background-color: #333; | ||
23 | } | ||
24 | |||
25 | .login #main { | ||
26 | padding: 0; | ||
27 | margin: 0; | ||
28 | } | ||
29 | |||
30 | .login form { | ||
31 | background-color: #FFF; | ||
32 | padding: 1.5em; | ||
33 | box-shadow: 0 1px 8px rgba(0,0,0,0.9); | ||
34 | width: 20em; | ||
35 | position: absolute; | ||
36 | top: 8em; | ||
37 | left: 50%; | ||
38 | margin-left: -10em; | ||
39 | } | ||
40 | |||
41 | .login .logo { | ||
42 | position: absolute; | ||
43 | top: 2em; | ||
44 | left: 50%; | ||
45 | margin-left: -55px; | ||
46 | } | ||
47 | |||
48 | /* ========================================================================== | ||
49 | 1 = Style Guide | ||
50 | ========================================================================== */ | ||
51 | |||
52 | ::selection { | ||
53 | color: #FFF; | ||
54 | background-color: #000; | ||
55 | } | ||
56 | |||
57 | .desktopHide { | ||
58 | display: none; | ||
59 | } | ||
60 | |||
61 | .logo { | ||
62 | position: fixed; | ||
63 | z-index: 20; | ||
64 | top: 0.4em; | ||
65 | left: 0.6em; | ||
66 | } | ||
67 | |||
68 | h2, h3, h4 { | ||
69 | font-family: 'PT Sans', sans-serif; | ||
70 | text-transform: uppercase; | ||
71 | } | ||
72 | |||
73 | p, li, label { | ||
74 | color: #666; | ||
75 | } | ||
76 | |||
77 | a { | ||
78 | color: #000; | ||
79 | font-weight: bold; | ||
80 | } | ||
81 | |||
82 | a:hover, a:focus { | ||
83 | text-decoration: none; | ||
84 | } | ||
85 | |||
86 | form fieldset { | ||
87 | border:0; | ||
88 | padding: 0; | ||
89 | margin: 0; | ||
90 | } | ||
91 | |||
92 | form input[type="text"], select, form input[type="password"], form input[type="url"], form input[type="email"] { | ||
93 | border: 1px solid #999; | ||
94 | padding: 0.5em 1em; | ||
95 | min-width: 12em; | ||
96 | color: #666; | ||
97 | } | ||
98 | |||
99 | @media screen and (-webkit-min-device-pixel-ratio:0){ | ||
100 | select{ | ||
101 | -webkit-appearance: none; | ||
102 | border-radius: 0; | ||
103 | background: #FFF url(../img/bg-select.png) no-repeat right center; | ||
104 | } | ||
105 | } | ||
106 | |||
107 | .inline .row { | ||
108 | display: inline-block; | ||
109 | margin-right: 0.5em; | ||
110 | } | ||
111 | |||
112 | .inline label { | ||
113 | min-width: 6em; | ||
114 | } | ||
115 | |||
116 | fieldset label { | ||
117 | display: inline-block; | ||
118 | min-width: 12.5em; | ||
119 | color: #666; | ||
120 | } | ||
121 | |||
122 | label { | ||
123 | margin-right: 0.5em; | ||
124 | } | ||
125 | |||
126 | form .row { | ||
127 | margin-bottom: 0.5em; | ||
128 | } | ||
129 | |||
130 | form button, input[type="submit"] { | ||
131 | cursor:pointer; | ||
132 | background-color: #000; | ||
133 | color: #FFF; | ||
134 | border:0; | ||
135 | padding: 0.5em 1em; | ||
136 | display: inline-block; | ||
137 | border:1px solid #000; | ||
138 | } | ||
139 | |||
140 | form button:hover, form button:focus, input[type="submit"]:hover, input[type="submit"]:focus { | ||
141 | background-color: #FFF; | ||
142 | color: #000; | ||
143 | -webkit-transition: all 0.5s ease; | ||
144 | -moz-transition: all 0.5s ease; | ||
145 | -ms-transition: all 0.5s ease; | ||
146 | -o-transition: all 0.5s ease; | ||
147 | transition: all 0.5s ease; | ||
148 | } | ||
149 | |||
150 | #bookmarklet { | ||
151 | cursor: move; | ||
152 | } | ||
153 | |||
154 | h2:after { | ||
155 | content: ""; | ||
156 | height: 4px; | ||
157 | width: 70px; | ||
158 | background-color: #000; | ||
159 | display: block; | ||
160 | } | ||
161 | |||
162 | .links { | ||
163 | padding: 0; | ||
164 | margin: 0; | ||
165 | } | ||
166 | .links li { | ||
167 | list-style: none; | ||
168 | margin: 0; | ||
169 | padding: 0; | ||
170 | } | ||
171 | |||
172 | |||
173 | #links { | ||
174 | position: fixed; | ||
175 | top: 0; | ||
176 | width: 10em; | ||
177 | left: 0; | ||
178 | text-align: right; | ||
179 | background-color: #333; | ||
180 | padding-top: 9.5em; | ||
181 | height: 100%; | ||
182 | box-shadow:inset -4px 0 20px rgba(0,0,0,0.6); | ||
183 | z-index: 15; | ||
184 | } | ||
185 | |||
186 | #main { | ||
187 | margin-left: 13em; | ||
188 | position: relative; | ||
189 | z-index: 10; | ||
190 | padding-right: 5%; | ||
191 | padding-bottom: 1em; | ||
192 | } | ||
193 | |||
194 | #links > li > a { | ||
195 | display: block; | ||
196 | padding: 0.5em 2em 0.5em 1em; | ||
197 | color: #FFF; | ||
198 | position: relative; | ||
199 | text-transform: uppercase; | ||
200 | text-decoration: none; | ||
201 | font-weight: normal; | ||
202 | font-family: 'PT Sans', sans-serif; | ||
203 | -webkit-transition: all 0.5s ease; | ||
204 | -moz-transition: all 0.5s ease; | ||
205 | -ms-transition: all 0.5s ease; | ||
206 | -o-transition: all 0.5s ease; | ||
207 | transition: all 0.5s ease; | ||
208 | } | ||
209 | |||
210 | #links > li > a:hover, #links > li > a:focus { | ||
211 | background-color: #999; | ||
212 | color: #000; | ||
213 | } | ||
214 | |||
215 | #links .current:after { | ||
216 | content: ""; | ||
217 | width: 0; | ||
218 | height: 0; | ||
219 | position: absolute; | ||
220 | border-style: solid; | ||
221 | border-width: 10px; | ||
222 | border-color: transparent #EEE transparent transparent; | ||
223 | right: 0; | ||
224 | top: 50%; | ||
225 | margin-top: -10px; | ||
226 | } | ||
227 | |||
228 | #links li:last-child { | ||
229 | position: fixed; | ||
230 | bottom: 1em; | ||
231 | width: 10em; | ||
232 | } | ||
233 | |||
234 | #links li:last-child a:before { | ||
235 | font-size: 1.2em; | ||
236 | position: relative; | ||
237 | top: 2px; | ||
238 | } | ||
239 | |||
240 | |||
241 | #sort { | ||
242 | padding: 0; | ||
243 | list-style-type: none; | ||
244 | opacity: 0.5; | ||
245 | display: inline-block; | ||
246 | } | ||
247 | |||
248 | #sort li { | ||
249 | display: inline; | ||
250 | font-size: 0.9em; | ||
251 | } | ||
252 | |||
253 | #sort li + li { | ||
254 | margin-left: 10px; | ||
255 | } | ||
256 | |||
257 | #sort a { | ||
258 | padding: 2px 2px 0; | ||
259 | vertical-align: middle; | ||
260 | } | ||
261 | |||
262 | #sort img { | ||
263 | vertical-align: baseline; | ||
264 | } | ||
265 | #sort img:hover { | ||
266 | cursor: pointer; | ||
267 | } | ||
268 | |||
269 | #display-mode { | ||
270 | float: right; | ||
271 | vertical-align: middle; | ||
272 | margin-top: 10px; | ||
273 | margin-bottom: 10px; | ||
274 | opacity: 0.5; | ||
275 | } | ||
276 | #listmode { | ||
277 | width: 16px; | ||
278 | display: inline-block; | ||
279 | text-decoration: none; | ||
280 | } | ||
281 | #listmode a:hover { | ||
282 | opacity: 1; | ||
283 | } | ||
284 | #listmode.tablemode { | ||
285 | background-image: url("../img/baggy/table.png"); | ||
286 | background-repeat: no-repeat; | ||
287 | background-position: bottom; | ||
288 | } | ||
289 | #listmode.listmode { | ||
290 | background-image: url("../img/baggy/list.png"); | ||
291 | background-repeat: no-repeat; | ||
292 | background-position: bottom; | ||
293 | } | ||
294 | |||
295 | |||
296 | /* ========================================================================== | ||
297 | 2 = Layout | ||
298 | ========================================================================== */ | ||
299 | |||
300 | #content { | ||
301 | margin-top: 5em; | ||
302 | min-height: 30em; | ||
303 | } | ||
304 | |||
305 | footer { | ||
306 | text-align: right; | ||
307 | position: relative; | ||
308 | bottom: 0; | ||
309 | right: 5em; | ||
310 | color: #999; | ||
311 | font-size: 0.8em; | ||
312 | font-style: italic; | ||
313 | z-index: 20; | ||
314 | } | ||
315 | |||
316 | footer a { | ||
317 | color: #999; | ||
318 | font-weight: normal; | ||
319 | } | ||
320 | |||
321 | .list-entries { | ||
322 | letter-spacing:-5px; | ||
323 | } | ||
324 | |||
325 | .listmode .entrie { | ||
326 | width: 100%!important; | ||
327 | margin-left: 0!important; | ||
328 | } | ||
329 | |||
330 | .list-entries + .results { | ||
331 | margin-bottom: 2em; | ||
332 | } | ||
333 | |||
334 | .estimatedTime .reading-time { | ||
335 | color: #999; | ||
336 | font-style: italic; | ||
337 | font-weight: normal; | ||
338 | font-size: 0.9em; | ||
339 | } | ||
340 | |||
341 | .estimatedTime small { | ||
342 | position: relative; | ||
343 | top: -1px; | ||
344 | } | ||
345 | |||
346 | .entrie { | ||
347 | background-color: #FFF; | ||
348 | letter-spacing:normal; | ||
349 | box-shadow: 0 3px 7px rgba(0,0,0,0.3); | ||
350 | display: inline-block; | ||
351 | width: 32%; | ||
352 | margin-bottom: 1.5em; | ||
353 | vertical-align: top; | ||
354 | margin-left: 1.5%; | ||
355 | position: relative; | ||
356 | overflow: hidden; | ||
357 | padding: 1.5em 1.5em 3em 1.5em; | ||
358 | |||
359 | /* Removing CSS transitions because they make the switch from list view to | ||
360 | * table view jerky | ||
361 | */ | ||
362 | /* -webkit-transition: all 0.5s ease; */ | ||
363 | /* -moz-transition: all 0.5s ease; */ | ||
364 | /* -ms-transition: all 0.5s ease; */ | ||
365 | /* -o-transition: all 0.5s ease; */ | ||
366 | /* transition: all 0.5s ease; */ | ||
367 | } | ||
368 | |||
369 | .entrie:before { | ||
370 | content: ""; | ||
371 | width: 0; | ||
372 | height: 0; | ||
373 | border-style:solid; | ||
374 | border-color: transparent transparent #000 transparent; | ||
375 | border-width: 10px; | ||
376 | position: absolute; | ||
377 | bottom: 0.3em; | ||
378 | z-index: 10; | ||
379 | right: 1.5em; | ||
380 | -webkit-transition: all 0.5s ease; | ||
381 | -moz-transition: all 0.5s ease; | ||
382 | -ms-transition: all 0.5s ease; | ||
383 | -o-transition: all 0.5s ease; | ||
384 | transition: all 0.5s ease; | ||
385 | } | ||
386 | |||
387 | .entrie:after { | ||
388 | content: ""; | ||
389 | position: absolute; | ||
390 | height: 7px; | ||
391 | width: 100%; | ||
392 | bottom: 0; | ||
393 | left: 0; | ||
394 | background-color: #000; | ||
395 | -webkit-transition: all 0.5s ease; | ||
396 | -moz-transition: all 0.5s ease; | ||
397 | -ms-transition: all 0.5s ease; | ||
398 | -o-transition: all 0.5s ease; | ||
399 | transition: all 0.5s ease; | ||
400 | } | ||
401 | |||
402 | .entrie:hover { | ||
403 | box-shadow: 0 3px 10px rgba(0,0,0,1); | ||
404 | } | ||
405 | |||
406 | .entrie:hover:after { | ||
407 | height: 40px; | ||
408 | } | ||
409 | |||
410 | .entrie:hover:before { | ||
411 | bottom: 2.4em; | ||
412 | } | ||
413 | |||
414 | .entrie:hover h2 a { | ||
415 | color: #666; | ||
416 | } | ||
417 | |||
418 | .entrie h2 { | ||
419 | text-transform: none; | ||
420 | margin-bottom: 0; | ||
421 | line-height: 1.2; | ||
422 | } | ||
423 | |||
424 | .entrie h2:after { | ||
425 | content: none; | ||
426 | } | ||
427 | |||
428 | |||
429 | .entrie h2 a { | ||
430 | display: block; | ||
431 | text-decoration: none; | ||
432 | color: #000; | ||
433 | word-wrap: break-word; | ||
434 | -webkit-transition: all 0.5s ease; | ||
435 | -moz-transition: all 0.5s ease; | ||
436 | -ms-transition: all 0.5s ease; | ||
437 | -o-transition: all 0.5s ease; | ||
438 | transition: all 0.5s ease; | ||
439 | } | ||
440 | /* | ||
441 | .entrie h2 a:after { | ||
442 | content: ""; | ||
443 | position: absolute; | ||
444 | top: 0; | ||
445 | width: 100%; | ||
446 | height: 100%; | ||
447 | left: 0; | ||
448 | } | ||
449 | */ | ||
450 | |||
451 | .entrie p { | ||
452 | color: #666; | ||
453 | font-size: 0.9em; | ||
454 | line-height: 1.7; | ||
455 | } | ||
456 | |||
457 | .entrie h2 a:first-letter { | ||
458 | text-transform: uppercase; | ||
459 | } | ||
460 | |||
461 | .entrie:hover .tools { | ||
462 | bottom: 0; | ||
463 | } | ||
464 | |||
465 | .entrie .tools { | ||
466 | position: absolute; | ||
467 | bottom: -50px; | ||
468 | left: 0; | ||
469 | width: 100%; | ||
470 | z-index: 10; | ||
471 | padding-right: 0.5em; | ||
472 | text-align: right; | ||
473 | -webkit-transition: all 0.5s ease; | ||
474 | -moz-transition: all 0.5s ease; | ||
475 | -ms-transition: all 0.5s ease; | ||
476 | -o-transition: all 0.5s ease; | ||
477 | transition: all 0.5s ease; | ||
478 | } | ||
479 | |||
480 | .entrie .tools a { | ||
481 | color: #666; | ||
482 | text-decoration: none; | ||
483 | display: block; | ||
484 | padding: 0.4em; | ||
485 | } | ||
486 | |||
487 | .entrie .tools a:hover { | ||
488 | color: #FFF; | ||
489 | } | ||
490 | |||
491 | .entrie .tools li { | ||
492 | display: inline-block; | ||
493 | } | ||
494 | |||
495 | .entrie:nth-child(3n+1) { | ||
496 | margin-left: 0; | ||
497 | } | ||
498 | |||
499 | .results { | ||
500 | letter-spacing: -5px; | ||
501 | padding: 0 0 0.5em; | ||
502 | } | ||
503 | |||
504 | .results > * { | ||
505 | display: inline-block; | ||
506 | vertical-align: top; | ||
507 | letter-spacing: normal; | ||
508 | width: 50%; | ||
509 | } | ||
510 | |||
511 | .pagination { | ||
512 | text-align: right; | ||
513 | margin-bottom:50px; | ||
514 | } | ||
515 | |||
516 | .nb-results { | ||
517 | text-align: left; | ||
518 | font-style: italic; | ||
519 | color: #999; | ||
520 | } | ||
521 | |||
522 | .pagination > * { | ||
523 | display: inline-block; | ||
524 | margin-left: 0.5em; | ||
525 | } | ||
526 | |||
527 | .pagination a { | ||
528 | color: #999; | ||
529 | text-decoration: none; | ||
530 | } | ||
531 | |||
532 | .pagination a:hover, .pagination a:focus { | ||
533 | text-decoration: underline; | ||
534 | } | ||
535 | |||
536 | .pagination .disabled { | ||
537 | display: none; | ||
538 | } | ||
539 | |||
540 | /* ========================================================================== | ||
541 | 2.1 = "save a link" related styles | ||
542 | ========================================================================== */ | ||
543 | |||
544 | .popup-form { | ||
545 | background: rgba(0,0,0,0.5); | ||
546 | position: absolute; | ||
547 | top: 0; | ||
548 | left: 10em; | ||
549 | z-index: 20; | ||
550 | height: 100%; | ||
551 | width: 100%; | ||
552 | margin: 0; | ||
553 | margin-top: -30% !important; /* TODO: get rid of !important here; overridden by .messages selector */ | ||
554 | padding: 2em; | ||
555 | display: none; | ||
556 | border-left: 1px #EEE solid; | ||
557 | } | ||
558 | |||
559 | .popup-form form { | ||
560 | background-color: #FFF; | ||
561 | position: absolute; | ||
562 | top: 0; | ||
563 | left: 0; | ||
564 | z-index: 20; | ||
565 | border: 10px solid #000; | ||
566 | width: 400px; | ||
567 | height: 200px; | ||
568 | padding: 2em; | ||
569 | } | ||
570 | |||
571 | #bagit-form-form .addurl { | ||
572 | margin-left: 0; | ||
573 | } | ||
574 | |||
575 | .closeMessage, | ||
576 | .close-button { | ||
577 | background-color: #000; | ||
578 | color: #FFF; | ||
579 | font-size: 1.2em; | ||
580 | line-height: 1.6; | ||
581 | width: 1.6em; | ||
582 | height: 1.6em; | ||
583 | text-align: center; | ||
584 | text-decoration: none; | ||
585 | } | ||
586 | .closeMessage:hover, | ||
587 | .closeMessage:focus, | ||
588 | .close-button:hover, | ||
589 | .close-button:focus { | ||
590 | background-color: #999; | ||
591 | color: #000; | ||
592 | } | ||
593 | |||
594 | .close-button--popup { | ||
595 | display: inline-block; | ||
596 | position: absolute; | ||
597 | top: 0; | ||
598 | right: 0; | ||
599 | font-size: 1.4em; | ||
600 | } | ||
601 | |||
602 | .active-current { | ||
603 | background-color: #999; | ||
604 | } | ||
605 | |||
606 | .active-current:after { | ||
607 | content: ""; | ||
608 | width: 0; | ||
609 | height: 0; | ||
610 | position: absolute; | ||
611 | border-style: solid; | ||
612 | border-width: 10px; | ||
613 | border-color: transparent #EEE transparent transparent; | ||
614 | right: 0; | ||
615 | top: 50%; | ||
616 | margin-top: -10px; | ||
617 | } | ||
618 | |||
619 | .opacity03 { | ||
620 | opacity: 0.3; | ||
621 | } | ||
622 | |||
623 | .add-to-wallabag-link-after { | ||
624 | background-color: #000; | ||
625 | color: #fff; | ||
626 | padding: 0 3px 2px 3px; | ||
627 | } | ||
628 | |||
629 | a.add-to-wallabag-link-after { | ||
630 | visibility: hidden; | ||
631 | position: absolute; | ||
632 | opacity: 0; | ||
633 | transition-duration: 2s; | ||
634 | transition-timing-function: ease-out; | ||
635 | } | ||
636 | |||
637 | #article article a:hover + a.add-to-wallabag-link-after, a.add-to-wallabag-link-after:hover { | ||
638 | opacity: 1; | ||
639 | visibility: visible; | ||
640 | transition-duration: .3s; | ||
641 | transition-timing-function: ease-in; | ||
642 | } | ||
643 | |||
644 | a.add-to-wallabag-link-after:after { | ||
645 | content: "w"; | ||
646 | } | ||
647 | |||
648 | #add-link-result { | ||
649 | font-weight: bold; | ||
650 | font-size: 0.9em; | ||
651 | } | ||
652 | |||
653 | /* ========================================================================== | ||
654 | 3 = Pictos | ||
655 | ========================================================================== */ | ||
656 | |||
657 | @font-face { | ||
658 | font-family: 'icomoon'; | ||
659 | src:url('../fonts/icomoon.eot?-s0mcsx'); | ||
660 | src:url('../fonts/icomoon.eot?#iefix-s0mcsx') format('embedded-opentype'), | ||
661 | url('../fonts/icomoon.woff?-s0mcsx') format('woff'), | ||
662 | url('../fonts/icomoon.ttf?-s0mcsx') format('truetype'), | ||
663 | url('../fonts/icomoon.svg?-s0mcsx#icomoon') format('svg'); | ||
664 | font-weight: normal; | ||
665 | font-style: normal; | ||
666 | } | ||
667 | |||
668 | .icon span, | ||
669 | .icon-image span { | ||
670 | position: absolute; | ||
671 | top: -9999px; | ||
672 | } | ||
673 | |||
674 | [class^="icon-"]:before, [class*=" icon-"]:before { | ||
675 | font-family: 'icomoon'; | ||
676 | speak: none; | ||
677 | font-style: normal; | ||
678 | font-weight: normal; | ||
679 | font-variant: normal; | ||
680 | text-transform: none; | ||
681 | line-height: 1; | ||
682 | |||
683 | /* Better Font Rendering =========== */ | ||
684 | -webkit-font-smoothing: antialiased; | ||
685 | -moz-osx-font-smoothing: grayscale; | ||
686 | } | ||
687 | |||
688 | .icon-flattr:before { | ||
689 | content: "\e800"; | ||
690 | } | ||
691 | .icon-mail:before { | ||
692 | content: "\e80a"; | ||
693 | } | ||
694 | .icon-up-open:before { | ||
695 | content: "\e80b"; | ||
696 | } | ||
697 | .icon-star:before { | ||
698 | content: "\e805"; | ||
699 | } | ||
700 | .icon-check:before { | ||
701 | content: "\e804"; | ||
702 | } | ||
703 | .icon-link:before { | ||
704 | content: "\e801"; | ||
705 | } | ||
706 | .icon-reply:before { | ||
707 | content: "\e806"; | ||
708 | } | ||
709 | .icon-menu:before { | ||
710 | content: "\e802"; | ||
711 | } | ||
712 | .icon-clock:before { | ||
713 | content: "\e803"; | ||
714 | } | ||
715 | .icon-twitter:before { | ||
716 | content: "\e807"; | ||
717 | } | ||
718 | .icon-down-open:before { | ||
719 | content: "\e809"; | ||
720 | } | ||
721 | .icon-trash:before { | ||
722 | content: "\e80c"; | ||
723 | } | ||
724 | .icon-delete:before { | ||
725 | content: "\e600"; | ||
726 | } | ||
727 | .icon-power:before { | ||
728 | content: "\e601"; | ||
729 | } | ||
730 | .icon-arrow-up-thick:before { | ||
731 | content: "\e602"; | ||
732 | } | ||
733 | .icon-rss:before { | ||
734 | content: "\e808"; | ||
735 | } | ||
736 | .icon-print:before { | ||
737 | content: "\e80d"; | ||
738 | } | ||
739 | |||
740 | |||
741 | /* .icon-image class, for image-based icons | ||
742 | ========================================================================== */ | ||
743 | |||
744 | .icon-image { | ||
745 | background-size: 16px 16px; | ||
746 | background-repeat: no-repeat; | ||
747 | background-position: center; | ||
748 | padding-right: 1em !important; | ||
749 | padding-left: 1em !important; | ||
750 | } | ||
751 | |||
752 | /* Carrot (http://carrot.org) */ | ||
753 | .icon-image--carrot { | ||
754 | background-image: url('../../_global/img/icons/carrot-icon--white.png'); | ||
755 | } | ||
756 | |||
757 | /* Diaspora */ | ||
758 | .icon-image--diaspora { | ||
759 | background-image: url('../../_global/img/icons/diaspora-icon--black.png'); | ||
760 | }} | ||
761 | |||
762 | /* ========================================================================== | ||
763 | Icon selected | ||
764 | ========================================================================== */ | ||
765 | |||
766 | .icon-star.fav:before { | ||
767 | color: #FFF; | ||
768 | } | ||
769 | |||
770 | .icon-check.archive:before { | ||
771 | color: #FFF; | ||
772 | } | ||
773 | |||
774 | /* ========================================================================== | ||
775 | 4 = Messages | ||
776 | ========================================================================== */ | ||
777 | |||
778 | .messages { | ||
779 | text-align: left; | ||
780 | margin-top: 1em; | ||
781 | } | ||
782 | |||
783 | .messages > * { display: inline-block;} | ||
784 | |||
785 | .warning { | ||
786 | /* font-size: 3em; | ||
787 | color: #999; | ||
788 | font-style: italic; | ||
789 | position: absolute; | ||
790 | top: 50%; | ||
791 | left: 0; | ||
792 | width: 100%; | ||
793 | text-align: center; | ||
794 | padding-right: 5%; | ||
795 | margin-top: -2em;*/ | ||
796 | font-weight: bold; | ||
797 | display: block; | ||
798 | width: 100%; | ||
799 | } | ||
800 | |||
801 | .more-info { | ||
802 | font-size: 0.85em; | ||
803 | line-height: 1.5; | ||
804 | color: #aaa; | ||
805 | } | ||
806 | |||
807 | .more-info a { | ||
808 | color: #aaa; | ||
809 | } | ||
810 | |||
811 | /* ========================================================================== | ||
812 | 5 = Article | ||
813 | ========================================================================== */ | ||
814 | |||
815 | #article { | ||
816 | width: 70%; | ||
817 | margin-bottom: 3em; | ||
818 | text-align: justify; | ||
819 | } | ||
820 | |||
821 | #article .tags { | ||
822 | margin-bottom: 1em; | ||
823 | } | ||
824 | |||
825 | #article i { | ||
826 | font-style: normal; | ||
827 | } | ||
828 | |||
829 | blockquote { | ||
830 | border:1px solid #999; | ||
831 | background-color: #FFF; | ||
832 | padding: 1em; | ||
833 | margin: 0; | ||
834 | } | ||
835 | |||
836 | #article h1 { | ||
837 | text-align: left; | ||
838 | } | ||
839 | |||
840 | #article h2, #article h3, #article h4 { | ||
841 | text-transform: none; | ||
842 | } | ||
843 | |||
844 | #article h2:after { | ||
845 | content: none; | ||
846 | } | ||
847 | |||
848 | .topPosF { | ||
849 | position: fixed; | ||
850 | right: 20%; | ||
851 | bottom: 2em; | ||
852 | font-size: 1.5em; | ||
853 | } | ||
854 | |||
855 | #article_toolbar { | ||
856 | margin-bottom: 1em; | ||
857 | } | ||
858 | |||
859 | #article_toolbar li { | ||
860 | display: inline-block; | ||
861 | } | ||
862 | |||
863 | #article_toolbar a { | ||
864 | background-color: #000; | ||
865 | padding: 0.3em 0.5em 0.2em; | ||
866 | color: #FFF; | ||
867 | text-decoration: none; | ||
868 | } | ||
869 | |||
870 | #article_toolbar a:hover, #article_toolbar a:focus { | ||
871 | background-color: #999; | ||
872 | } | ||
873 | |||
874 | .shaarli:before { | ||
875 | content: "*"; | ||
876 | } | ||
877 | |||
878 | .return { | ||
879 | text-decoration: none; | ||
880 | margin-top: 1em; | ||
881 | display: block; | ||
882 | } | ||
883 | |||
884 | .return:before { | ||
885 | margin-right: 0.5em; | ||
886 | } | ||
887 | |||
888 | .notags { | ||
889 | font-style: italic; | ||
890 | color: #999; | ||
891 | } | ||
892 | |||
893 | .icon-rss { | ||
894 | background-color: #000; | ||
895 | color: #FFF; | ||
896 | padding: 0.2em 0.5em; | ||
897 | } | ||
898 | |||
899 | .icon-rss:before { | ||
900 | position: relative; | ||
901 | top: 2px; | ||
902 | } | ||
903 | |||
904 | .list-tags li { | ||
905 | margin-bottom: 0.5em; | ||
906 | } | ||
907 | |||
908 | .list-tags .icon-rss:hover, .list-tags .icon-rss:focus { | ||
909 | background-color: #FFF; | ||
910 | color: #000; | ||
911 | text-decoration: none; | ||
912 | } | ||
913 | |||
914 | .list-tags a { | ||
915 | text-decoration: none; | ||
916 | } | ||
917 | |||
918 | .list-tags a:hover, .list-tags a:focus { | ||
919 | text-decoration: underline; | ||
920 | } | ||
921 | |||
922 | pre code { | ||
923 | font-family: "Courier New", Courier, monospace; | ||
924 | border: 1px solid #ccc; | ||
925 | font-size: 0.96em; | ||
926 | } | ||
927 | |||
928 | |||
929 | /* ========================================================================== | ||
930 | 6 = Media Queries | ||
931 | ========================================================================== */ | ||
932 | |||
933 | @media screen and (max-width: 1050px) { | ||
934 | .entrie { | ||
935 | width: 49%; | ||
936 | } | ||
937 | .entrie:nth-child(3n+1) { | ||
938 | margin-left: 1.5%; | ||
939 | } | ||
940 | .entrie:nth-child(2n+1) { | ||
941 | margin-left: 0; | ||
942 | } | ||
943 | } | ||
944 | |||
945 | @media screen and (max-width: 900px) { | ||
946 | #article { | ||
947 | width: 80%; | ||
948 | } | ||
949 | .topPosF { | ||
950 | right: 2.5em; | ||
951 | } | ||
952 | } | ||
953 | |||
954 | @media screen and (max-width: 700px) { | ||
955 | .entrie { | ||
956 | width: 100%; | ||
957 | margin-left: 0; | ||
958 | } | ||
959 | #display-mode { | ||
960 | display: none; | ||
961 | } | ||
962 | } | ||
963 | |||
964 | @media screen and (max-width: 500px) { | ||
965 | .entrie { | ||
966 | width: 100%; | ||
967 | margin-left: 0; | ||
968 | } | ||
969 | body > header { | ||
970 | background-color: #333; | ||
971 | position: fixed; | ||
972 | top: 0; | ||
973 | width: 100%; | ||
974 | height: 3em; | ||
975 | z-index: 11; | ||
976 | } | ||
977 | #links li:last-child { | ||
978 | position: static; | ||
979 | width: auto; | ||
980 | } | ||
981 | #links li:last-child a:before { | ||
982 | content: none; | ||
983 | } | ||
984 | .logo { | ||
985 | width: 1.25em; | ||
986 | height: 1.25em; | ||
987 | left: 0; | ||
988 | top: 0; | ||
989 | } | ||
990 | .login > header { | ||
991 | position: static; | ||
992 | } | ||
993 | .login form { | ||
994 | width: 100%; | ||
995 | position: static; | ||
996 | margin-left: 0; | ||
997 | } | ||
998 | .login .logo { | ||
999 | width: auto; | ||
1000 | height: auto; | ||
1001 | top: 0.5em; | ||
1002 | width: 75px; | ||
1003 | height: 75px; | ||
1004 | margin-left: -37.5px; | ||
1005 | } | ||
1006 | .desktopHide { | ||
1007 | display: block; | ||
1008 | position: fixed; | ||
1009 | z-index: 20; | ||
1010 | top: 0; | ||
1011 | right: 0; | ||
1012 | border:0; | ||
1013 | width: 2.5em; | ||
1014 | height: 2.5em; | ||
1015 | cursor: pointer; | ||
1016 | background-color: #999; | ||
1017 | font-size: 1.2em; | ||
1018 | } | ||
1019 | .desktopHide:hover, .desktopHide:focus { | ||
1020 | background-color: #FFF; | ||
1021 | } | ||
1022 | #links { | ||
1023 | display: none; | ||
1024 | width: 100%; | ||
1025 | height: auto; | ||
1026 | padding-top: 3em; | ||
1027 | } | ||
1028 | #links.menu--open { | ||
1029 | display: block; | ||
1030 | } | ||
1031 | footer { | ||
1032 | position: static; | ||
1033 | margin-right: 3em; | ||
1034 | } | ||
1035 | #main { | ||
1036 | margin-left: 1.5em; | ||
1037 | padding-right: 1.5em; | ||
1038 | position: static; | ||
1039 | margin-top: 3em; | ||
1040 | } | ||
1041 | #article_toolbar .topPosF { | ||
1042 | display: none; | ||
1043 | } | ||
1044 | |||
1045 | #article { | ||
1046 | width: 100%; | ||
1047 | } | ||
1048 | |||
1049 | #article h1 { | ||
1050 | font-size: 1.5em; | ||
1051 | } | ||
1052 | #article_toolbar a { | ||
1053 | padding: 0.3em 0.4em 0.2em; | ||
1054 | } | ||
1055 | |||
1056 | #display-mode { | ||
1057 | display: none; | ||
1058 | } | ||
1059 | |||
1060 | .popup-form, #bagit-form, #search-form { | ||
1061 | left: 0; | ||
1062 | width: 100%; | ||
1063 | border-left: none; | ||
1064 | } | ||
1065 | |||
1066 | .popup-form form, | ||
1067 | #bagit-form form, | ||
1068 | #search-form form { | ||
1069 | width: 100%; | ||
1070 | } | ||
1071 | } | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/css/messages.css b/src/Wallabag/Wallabag/Resources/views/baggy/public/css/messages.css deleted file mode 100755 index 42da70b3..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/css/messages.css +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | .messages.error.install { | ||
2 | border: 1px solid #c42608; | ||
3 | color: #c00 !important; | ||
4 | background: #fff0ef; | ||
5 | text-align: left; | ||
6 | } | ||
7 | |||
8 | .messages.notice.install { | ||
9 | border: 1px solid #ebcd41; | ||
10 | color: #000; | ||
11 | background: #fffcd3; | ||
12 | text-align: left; | ||
13 | } | ||
14 | |||
15 | .messages.success.install { | ||
16 | border: 1px solid #6dc70c; | ||
17 | background: #e0fbcc !important; | ||
18 | text-align: left; | ||
19 | } \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/css/print.css b/src/Wallabag/Wallabag/Resources/views/baggy/public/css/print.css deleted file mode 100755 index 9dd6d295..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/css/print.css +++ /dev/null | |||
@@ -1,62 +0,0 @@ | |||
1 | /* ### Layout ### */ | ||
2 | |||
3 | body { | ||
4 | font-family: Serif; | ||
5 | background-color: #fff; | ||
6 | } | ||
7 | |||
8 | @page { | ||
9 | margin: 1cm; | ||
10 | } | ||
11 | |||
12 | img { | ||
13 | max-width: 100% !important; | ||
14 | } | ||
15 | |||
16 | /* ### Content ### */ | ||
17 | |||
18 | /* Hide useless blocks */ | ||
19 | body > header, | ||
20 | #article_toolbar, | ||
21 | #links, | ||
22 | #sort, | ||
23 | body > footer, | ||
24 | .top_link, | ||
25 | div.tools, | ||
26 | header div, | ||
27 | .messages, | ||
28 | .entrie + .results { | ||
29 | display: none !important; | ||
30 | } | ||
31 | |||
32 | article { | ||
33 | border: none !important; | ||
34 | } | ||
35 | |||
36 | /* Add URL after links */ | ||
37 | .vieworiginal a:after { | ||
38 | content: " (" attr(href) ")"; | ||
39 | } | ||
40 | |||
41 | /* Add explanation after abbr */ | ||
42 | abbr[title]:after { | ||
43 | content: " (" attr(title) ")"; | ||
44 | } | ||
45 | |||
46 | /* Change border on current pager item */ | ||
47 | .pagination span.current { | ||
48 | border-style: dashed; | ||
49 | } | ||
50 | |||
51 | #main { | ||
52 | width: 100%; | ||
53 | padding: 0; | ||
54 | margin: 0; | ||
55 | margin-left: 0; | ||
56 | padding-right: 0; | ||
57 | padding-bottom: 0; | ||
58 | } | ||
59 | |||
60 | #article { | ||
61 | width: 100%; | ||
62 | } | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/css/ratatouille.css b/src/Wallabag/Wallabag/Resources/views/baggy/public/css/ratatouille.css deleted file mode 100644 index b203cbb8..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/css/ratatouille.css +++ /dev/null | |||
@@ -1,211 +0,0 @@ | |||
1 | /* | ||
2 | Ratatouille mini Framework css by Thomas LEBEAU | ||
3 | Base on KNACSS => www.KNACSS.com (2013-10) @author: Raphael Goetter, Alsacreations | ||
4 | and normalize.css | ||
5 | */ | ||
6 | |||
7 | * { | ||
8 | -webkit-box-sizing: border-box; | ||
9 | -moz-box-sizing: border-box; | ||
10 | box-sizing: border-box; | ||
11 | } | ||
12 | |||
13 | html { | ||
14 | font-family: sans-serif; /* 1 */ | ||
15 | -ms-text-size-adjust: 100%; /* 2 */ | ||
16 | -webkit-text-size-adjust: 100%; /* 2 */ | ||
17 | } | ||
18 | |||
19 | body { | ||
20 | font-size: 1em; | ||
21 | line-height:1.5; | ||
22 | margin: 0; | ||
23 | } | ||
24 | |||
25 | /* ========================================================================== | ||
26 | Mise en forme | ||
27 | ========================================================================== */ | ||
28 | |||
29 | h1:first-child, | ||
30 | h2:first-child, | ||
31 | h3:first-child, | ||
32 | h4:first-child, | ||
33 | h5:first-child, | ||
34 | h6:first-child, | ||
35 | p:first-child, | ||
36 | ul:first-child, | ||
37 | ol:first-child, | ||
38 | dl:first-child{ | ||
39 | margin-top: 0; | ||
40 | } | ||
41 | |||
42 | code, | ||
43 | kbd, | ||
44 | pre, | ||
45 | samp { | ||
46 | font-family: monospace, serif; | ||
47 | } | ||
48 | |||
49 | pre { | ||
50 | white-space: pre-wrap; | ||
51 | } | ||
52 | |||
53 | |||
54 | .upper { | ||
55 | text-transform: uppercase; | ||
56 | } | ||
57 | |||
58 | .bold { | ||
59 | font-weight: bold; | ||
60 | } | ||
61 | |||
62 | .inner { | ||
63 | margin: 0 auto; | ||
64 | max-width: 61.25em;/*980px*/ | ||
65 | } | ||
66 | |||
67 | table, img { | ||
68 | max-width: 100%; | ||
69 | height :auto; | ||
70 | } | ||
71 | |||
72 | iframe { | ||
73 | max-width: 100%; | ||
74 | } | ||
75 | |||
76 | .fl { | ||
77 | float: left; | ||
78 | } | ||
79 | |||
80 | .fr { | ||
81 | float: right; | ||
82 | } | ||
83 | |||
84 | table { | ||
85 | border-collapse: collapse; | ||
86 | } | ||
87 | |||
88 | figure { | ||
89 | margin: 0; | ||
90 | } | ||
91 | |||
92 | button, | ||
93 | input, | ||
94 | select, | ||
95 | textarea { | ||
96 | font-family: inherit; | ||
97 | font-size: 100%; | ||
98 | margin: 0; | ||
99 | } | ||
100 | |||
101 | input[type="search"] { | ||
102 | -webkit-appearance: textfield; | ||
103 | } | ||
104 | |||
105 | /* ========================================================================== | ||
106 | Mise en page | ||
107 | ========================================================================== */ | ||
108 | |||
109 | .dib { | ||
110 | display: inline-block; | ||
111 | vertical-align: middle; | ||
112 | } | ||
113 | |||
114 | .dnone { | ||
115 | display: none; | ||
116 | } | ||
117 | |||
118 | .dtable { display:table } | ||
119 | |||
120 | .dtable > * { display:table-row; } | ||
121 | |||
122 | .dtable > * > * { display:table-cell; } | ||
123 | |||
124 | .element-invisible { | ||
125 | border: 0; | ||
126 | clip: rect(0 0 0 0); | ||
127 | height: 1px; | ||
128 | margin: -1px; | ||
129 | overflow: hidden; | ||
130 | padding: 0; | ||
131 | position: absolute; | ||
132 | width: 1px; | ||
133 | } | ||
134 | |||
135 | .small { | ||
136 | font-size:0.8em; | ||
137 | } | ||
138 | |||
139 | .big { | ||
140 | font-size: 1.2em; | ||
141 | } | ||
142 | |||
143 | /*Width*/ | ||
144 | |||
145 | .w100 { width:100%; } | ||
146 | .w90 { width:90%; } | ||
147 | .w80 { width:80%; } | ||
148 | .w70 { width:70%; } | ||
149 | .w60 { width:60%; } | ||
150 | .w50 { width:50%; } | ||
151 | .w40 { width:40%; } | ||
152 | .w30 { width:30%; } | ||
153 | .w20 { width:20%; } | ||
154 | .w10 { width:10%; } | ||
155 | |||
156 | |||
157 | /* ========================================================================== | ||
158 | Internet Explorer | ||
159 | ========================================================================== */ | ||
160 | |||
161 | /*IE8 and IE9*/ | ||
162 | |||
163 | article, | ||
164 | aside, | ||
165 | details, | ||
166 | figcaption, | ||
167 | figure, | ||
168 | footer, | ||
169 | header, | ||
170 | hgroup, | ||
171 | main, | ||
172 | nav, | ||
173 | section, | ||
174 | summary { | ||
175 | display: block; | ||
176 | } | ||
177 | |||
178 | /*IE8 and IE9*/ | ||
179 | |||
180 | audio, | ||
181 | canvas, | ||
182 | video { | ||
183 | display: inline-block; | ||
184 | } | ||
185 | |||
186 | @media screen and (-webkit-min-device-pixel-ratio:0){ | ||
187 | select{ | ||
188 | -webkit-appearance: none; | ||
189 | border-radius: 0; | ||
190 | } | ||
191 | } | ||
192 | |||
193 | /* ========================================================================== | ||
194 | Medias Queries | ||
195 | ========================================================================== */ | ||
196 | |||
197 | /*Desktop 1080px*/ | ||
198 | |||
199 | @media screen and (max-width: 67.50em) { | ||
200 | } | ||
201 | |||
202 | /*Tablet 800px*/ | ||
203 | |||
204 | @media screen and (max-width: 50em) { | ||
205 | } | ||
206 | |||
207 | /*Mobile 640px*/ | ||
208 | |||
209 | @media screen and (max-width: 40em) { | ||
210 | } | ||
211 | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/icomoon.eot b/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/icomoon.eot deleted file mode 100644 index 56323516..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/icomoon.eot +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/icomoon.svg b/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/icomoon.svg deleted file mode 100644 index b4586136..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/icomoon.svg +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | <?xml version="1.0" standalone="no"?> | ||
2 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > | ||
3 | <svg xmlns="http://www.w3.org/2000/svg"> | ||
4 | <metadata> | ||
5 | <json> | ||
6 | { | ||
7 | "fontFamily": "icomoon", | ||
8 | "majorVersion": 1, | ||
9 | "minorVersion": 0, | ||
10 | "version": "Version 1.0", | ||
11 | "fontId": "icomoon", | ||
12 | "psName": "icomoon", | ||
13 | "subFamily": "Regular", | ||
14 | "fullName": "icomoon", | ||
15 | "description": "Generated by IcoMoon" | ||
16 | } | ||
17 | </json> | ||
18 | </metadata> | ||
19 | <defs> | ||
20 | <font id="icomoon" horiz-adv-x="512"> | ||
21 | <font-face units-per-em="512" ascent="480" descent="-32" /> | ||
22 | <missing-glyph horiz-adv-x="512" /> | ||
23 | <glyph unicode=" " d="" horiz-adv-x="256" /> | ||
24 | <glyph unicode="" d="M256 389.333c-94.272 0-170.667-76.416-170.667-170.666s76.394-170.667 170.667-170.667 170.667 76.416 170.667 170.667-76.394 170.666-170.667 170.666zM335.082 169.749c8.341-8.341 8.341-21.824 0-30.166-4.16-4.16-9.622-6.25-15.082-6.25s-10.923 2.091-15.082 6.25l-48.918 48.918-48.917-48.918c-4.16-4.16-9.621-6.25-15.083-6.25s-10.923 2.091-15.083 6.25c-8.341 8.341-8.341 21.824 0 30.166l48.917 48.918-48.917 48.917c-8.341 8.341-8.341 21.824 0 30.166s21.824 8.341 30.166 0l48.917-48.917 48.918 48.917c8.341 8.341 21.824 8.341 30.166 0s8.341-21.824 0-30.166l-48.918-48.917 48.918-48.918z" /> | ||
25 | <glyph unicode="" d="M245.333 73.109c-37.035 0-71.85 14.421-98.048 40.598-26.176 26.197-40.618 61.014-40.618 98.070s14.442 71.872 40.618 98.070c8.341 8.341 21.824 8.341 30.166 0s8.341-21.824 0-30.166c-18.133-18.154-28.118-42.261-28.118-67.904s9.984-49.771 28.118-67.904c18.133-18.134 42.219-28.096 67.882-28.096s49.749 9.984 67.883 28.096c18.154 18.134 28.118 42.24 28.118 67.904s-9.984 49.771-28.118 67.904c-8.341 8.341-8.341 21.824 0 30.166s21.824 8.341 30.166 0c26.176-26.219 40.618-61.035 40.618-98.070s-14.442-71.872-40.618-98.070c-26.197-26.176-61.014-40.597-98.048-40.597zM245.333 234.667c-11.797 0-21.333 9.558-21.333 21.333v106.667c0 11.776 9.536 21.333 21.334 21.333s21.334-9.558 21.334-21.333v-106.667c0-11.776-9.536-21.333-21.334-21.333z" /> | ||
26 | <glyph unicode="" d="M256 401.664l-136.832-136.832c-16.662-16.661-16.662-43.67 0-60.331s43.669-16.661 60.331 0l33.834 33.835v-154.496c0-23.552 19.094-42.666 42.667-42.666 23.552 0 42.666 19.115 42.666 42.666v154.496l33.834-33.835c8.341-8.341 19.243-12.502 30.166-12.502s21.824 4.16 30.166 12.502c16.661 16.661 16.661 43.67 0 60.331l-136.832 136.832z" /> | ||
27 | <glyph unicode="" d="M0 25.856v263.168q0 91.648 43.52 142.336t132.608 50.688h280.576q-2.56-2.56-26.624-27.136t-51.2-51.712-55.808-55.808-48.64-47.616-21.504-18.944q-7.68 0-7.68 8.192v79.872h-24.576q-30.208 0-48.128-3.072t-32.256-13.312-19.968-29.184-6.144-49.152v-134.144zM34.304-34.048q2.56 2.56 27.136 27.136t51.2 51.712 55.808 56.32 48.64 47.616 20.992 18.432q7.68 0 7.68-8.192v-79.872h24.576q59.392 0 82.944 18.432t23.040 76.288v134.144l114.688 114.176v-263.168q0-91.648-43.008-142.336t-133.12-50.688h-280.576z" horiz-adv-x="491" /> | ||
28 | <glyph unicode="" d="M150.528 104.192q7.168 7.168 17.408 7.168t18.432-7.168q16.384-17.408 0-35.84l-21.504-20.48q-28.672-28.672-67.584-28.672-39.936 0-68.608 28.672t-28.672 67.584q0 39.936 28.672 68.608l75.776 75.776q35.84 34.816 73.728 39.424t65.536-22.016q8.192-8.192 8.192-18.432t-8.192-18.432q-18.432-16.384-35.84 0-25.6 24.576-67.584-17.408l-75.776-74.752q-13.312-13.312-13.312-32.768t13.312-31.744q13.312-13.312 32.256-13.312t32.256 13.312zM380.928 398.080q28.672-28.672 28.672-67.584 0-39.936-28.672-68.608l-80.896-80.896q-37.888-36.864-76.8-36.864-31.744 0-57.344 25.6-7.168 7.168-7.168 17.408t7.168 18.432q7.168 7.168 17.92 7.168t17.92-7.168q25.6-24.576 62.464 12.288l80.896 79.872q14.336 14.336 14.336 32.768 0 19.456-14.336 31.744-12.288 13.312-28.672 15.872t-30.72-10.752l-25.6-25.6q-8.192-7.168-18.432-7.168t-17.408 7.168q-17.408 17.408 0 35.84l25.6 25.6q27.648 27.648 65.024 26.112t66.048-31.232z" horiz-adv-x="410" /> | ||
29 | <glyph unicode="" d="M438.784 96v-36.352q0-7.68-5.12-12.8t-13.312-5.632h-401.92q-7.68 0-12.8 5.632t-5.632 12.8v36.352q0 7.68 5.632 12.8t12.8 5.632h401.92q7.68 0 13.312-5.632t5.12-12.8zM438.784 242.432v-36.864q0-7.168-5.12-12.8t-13.312-5.12h-401.92q-7.68 0-12.8 5.12t-5.632 12.8v36.864q0 7.168 5.632 12.8t12.8 5.12h401.92q7.68 0 13.312-5.12t5.12-12.8zM438.784 388.352v-36.352q0-7.68-5.12-12.8t-13.312-5.632h-401.92q-7.68 0-12.8 5.632t-5.632 12.8v36.352q0 7.68 5.632 13.312t12.8 5.12h401.92q7.68 0 13.312-5.12t5.12-13.312z" horiz-adv-x="439" /> | ||
30 | <glyph unicode="" d="M235.52 459.52q97.28 0 166.4-69.12t69.12-166.4-69.12-166.4-166.4-69.12-166.4 69.12-69.12 166.4 69.12 166.4 166.4 69.12zM235.52 39.68q76.8 0 130.56 54.272t53.76 130.048q0 76.8-53.76 130.56t-130.56 53.76q-75.776 0-130.048-53.76t-54.272-130.56q0-75.776 54.272-130.048t130.048-54.272zM253.952 357.12v-124.928l76.8-76.8-25.6-25.6-87.040 87.040v140.288h35.84z" horiz-adv-x="471" /> | ||
31 | <glyph unicode="" d="M127.488 44.8q-17.408 0-28.672 14.336l-92.16 120.832q-8.192 12.288-6.144 26.624t13.312 23.552 26.112 7.168 24.064-14.336l60.416-78.848 151.552 242.688q8.192 12.288 22.016 15.36t27.136-4.096q12.288-8.192 15.36-22.016t-4.096-27.136l-179.2-286.72q-10.24-16.384-28.672-16.384z" horiz-adv-x="342" /> | ||
32 | <glyph unicode="" d="M225.28 449.28l61.44-172.032h163.84l-134.144-100.352 48.128-178.176-139.264 106.496-139.264-106.496 48.128 178.176-134.144 100.352h163.84z" horiz-adv-x="451" /> | ||
33 | <glyph unicode="" d="M460.8 49.92q-44.032 77.824-106.496 100.864t-168.96 23.040v-111.616l-185.344 171.008 185.344 164.864v-98.304q46.080 0 86.016-13.824t67.072-35.84 49.152-48.64 35.328-53.248 22.528-48.64 12.288-35.328z" horiz-adv-x="461" /> | ||
34 | <glyph unicode="" d="M471.040 370.432q-18.432-27.648-48.128-50.176v-12.288q0-66.56-30.72-128t-95.232-103.936-148.48-42.496q-81.92 0-148.48 43.008 7.168-1.024 23.552-1.024 67.584 0 119.808 40.96-31.744 1.024-56.32 19.456t-33.792 48.128q5.12-2.048 17.408-2.048 13.312 0 25.6 3.072-33.792 7.168-55.296 33.792t-21.504 61.44v1.024q18.432-10.24 43.008-12.288-43.008 29.696-43.008 80.896 0 24.576 13.312 48.128 78.848-96.256 199.68-100.352-3.072 9.216-3.072 21.504 0 39.936 28.16 68.096t69.12 28.16q41.984 0 69.632-29.696 30.72 6.144 61.44 22.528-10.24-33.792-41.984-53.248 28.672 4.096 55.296 15.36z" horiz-adv-x="471" /> | ||
35 | <glyph unicode="" d="M109.568 96q0-23.040-15.872-38.912t-38.912-15.872-38.912 15.872-15.872 38.912 15.872 38.912 38.912 15.872 38.912-15.872 15.872-38.912zM256 60.672q0.512-7.68-4.608-13.312-5.632-6.144-13.824-6.144h-38.4q-7.168 0-12.288 4.608t-5.632 11.776q-6.144 65.536-52.736 112.128t-112.128 52.736q-7.168 0.512-11.776 5.632t-4.608 12.288v38.4q0 8.192 6.144 13.312 4.608 5.12 12.288 5.12h1.536q45.568-3.584 87.040-23.040t74.24-51.712q32.256-32.256 51.712-74.24t23.040-87.552zM402.432 60.16q0.512-7.68-5.12-13.312-5.12-5.632-13.312-5.632h-40.96q-7.168 0-12.8 5.12t-5.632 11.776q-3.072 61.44-28.672 116.736t-66.048 96.256-96.256 66.048-116.224 29.184q-7.168 0-12.288 5.632t-5.12 12.288v40.96q0 7.68 5.632 13.312 5.12 5.12 12.8 5.12h0.512q75.264-4.096 143.36-34.304t121.856-83.968q53.248-53.248 83.968-121.856t34.304-143.36z" horiz-adv-x="402" /> | ||
36 | <glyph unicode="" d="M0 314.112l75.776 75.776 180.224-179.712 180.224 179.712 75.776-75.776-256-256-75.776 75.776z" /> | ||
37 | <glyph unicode="" d="M475.648 50.432v219.136q-9.216-10.24-19.968-18.944-76.288-58.368-121.856-96.256-14.336-12.288-23.552-19.456t-24.576-13.824-29.184-6.656h-1.024q-13.312 0-29.184 6.656t-24.576 13.824-23.552 19.456q-45.056 37.888-121.856 96.256-10.752 8.704-19.968 18.944v-219.136q0-4.096 3.072-6.656t6.144-2.56h420.864q3.584 0 6.144 2.56t3.072 6.656zM475.648 350.464v7.168t-0.512 3.584-0.512 3.584-1.536 2.56-2.56 2.048-4.096 1.024h-420.864q-3.584 0-6.144-3.072t-3.072-6.144q0-48.128 41.984-81.408 55.296-43.52 114.688-90.624 2.048-1.024 10.24-8.192t12.8-10.752 12.8-9.216 14.336-7.68 12.288-2.56h1.024q5.632 0 12.288 2.56t14.336 7.68 12.8 9.216 12.8 10.752 10.24 8.192q59.392 47.104 114.688 90.624 15.36 12.288 28.672 33.28t13.312 37.376zM512 361.216v-310.784q0-18.944-13.312-32.256t-32.256-13.824h-420.864q-18.432 0-32.256 13.824t-13.312 32.256v310.784q0 18.944 13.312 32.256t32.256 13.312h420.864q18.944 0 32.256-13.312t13.312-32.256z" /> | ||
38 | <glyph unicode="" d="M0 133.888l256 256 256-256-75.776-75.776-180.224 179.712-180.224-179.712z" /> | ||
39 | <glyph unicode="" d="M25.6 279.296q62.464-35.84 168.96-35.84t168.96 35.84l-27.648-248.832q-1.024-7.168-17.92-18.432t-51.2-22.016-72.192-10.752-71.68 10.752-51.2 22.016-18.432 18.432zM275.456 432.896q48.128-9.216 80.896-28.16t32.768-36.352v-5.12q0-29.696-57.344-50.688t-137.216-20.992-137.216 20.992-57.344 50.688v5.12q0 17.408 32.768 36.352t80.896 28.16l21.504 24.576q11.264 13.312 35.84 13.312h47.104q26.624 0 35.84-13.312zM247.808 375.552h43.008q-47.104 56.32-53.248 64.512-7.168 8.192-16.384 8.192h-52.224q-11.264 0-16.384-8.192l-54.272-64.512h43.008l32.768 33.792h41.984z" horiz-adv-x="389" /> | ||
40 | <glyph unicode="" d="M128 448h256v-64h-256zM480 352h-448c-17.6 0-32-14.4-32-32v-160c0-17.6 14.398-32 32-32h96v-128h256v128h96c17.6 0 32 14.4 32 32v160c0 17.6-14.4 32-32 32zM352 32h-192v160h192v-160zM487.2 304c0-12.813-10.387-23.2-23.199-23.2-12.813 0-23.201 10.387-23.201 23.2s10.388 23.2 23.201 23.2c12.813 0 23.199-10.387 23.199-23.2z" /> | ||
41 | </font></defs></svg> \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/icomoon.ttf b/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/icomoon.ttf deleted file mode 100644 index bb1f21f8..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/icomoon.ttf +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/icomoon.woff b/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/icomoon.woff deleted file mode 100644 index bab13779..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/icomoon.woff +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/ptsans.woff b/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/ptsans.woff deleted file mode 100644 index cf7c62e1..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/fonts/ptsans.woff +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/blank.png b/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/blank.png deleted file mode 100755 index 63e09844..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/blank.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/down.png b/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/down.png deleted file mode 100644 index b9d536a7..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/down.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/list.png b/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/list.png deleted file mode 100755 index bd5aff5a..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/list.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/table.png b/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/table.png deleted file mode 100755 index 859c4cd8..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/table.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/top.png b/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/top.png deleted file mode 100644 index 954a8c0a..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/baggy/top.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/bg-select.png b/src/Wallabag/Wallabag/Resources/views/baggy/public/img/bg-select.png deleted file mode 100644 index 95120441..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/bg-select.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo-other_themes.png b/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo-other_themes.png deleted file mode 100755 index 32543a44..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo-other_themes.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo-w.png b/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo-w.png deleted file mode 100755 index 65dc607b..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo-w.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo-wallabag.svg b/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo-wallabag.svg deleted file mode 100644 index 40193e1c..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo-wallabag.svg +++ /dev/null | |||
@@ -1,300 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In --> | ||
3 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ | ||
4 | <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/"> | ||
5 | ]> | ||
6 | <svg version="1.1" | ||
7 | xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" | ||
8 | x="0px" y="0px" width="800px" height="800px" viewBox="0 0 800 800" overflow="visible" enable-background="new 0 0 800 800" | ||
9 | xml:space="preserve"> | ||
10 | <defs> | ||
11 | </defs> | ||
12 | <image overflow="visible" width="800" height="800" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ | ||
13 | bWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp | ||
14 | bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6 | ||
15 | eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEz | ||
16 | NDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo | ||
17 | dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw | ||
18 | dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv | ||
19 | IiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RS | ||
20 | ZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpD | ||
21 | cmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNl | ||
22 | SUQ9InhtcC5paWQ6MkMyNzEzMDQ4QTgzMTFFM0JGNkJCRDhDMjI5OTRBNkIiIHhtcE1NOkRvY3Vt | ||
23 | ZW50SUQ9InhtcC5kaWQ6MkMyNzEzMDU4QTgzMTFFM0JGNkJCRDhDMjI5OTRBNkIiPiA8eG1wTU06 | ||
24 | RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQzI3MTMwMjhBODMxMUUzQkY2 | ||
25 | QkJEOEMyMjk5NEE2QiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQzI3MTMwMzhBODMxMUUz | ||
26 | QkY2QkJEOEMyMjk5NEE2QiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1w | ||
27 | bWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtTNJDcAADxbSURBVHja7N37ddPK2gfgybf2/9ungm0q | ||
28 | IFSAqYBQAaYCQgWECgIVJFRAqABTAaYCvCvY2RXk85yMDibkYsu6zEjPs5ZWuCSxNZKl96eZkQ6u | ||
29 | rq4CAABAF/5PEwAAAAIIAAAggAAAAAggAACAAAIAACCAAAAAAggAACCAAAAACCAAAIAAAgAAIIAA | ||
30 | AAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCAAAAAAggAACCAAAAA | ||
31 | CCAAAIAAAgAAIIAAAAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAACAAAIAAAggAACAAAIAACCA | ||
32 | AAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAggAAAAAIIAACAAAIA | ||
33 | AAggAACAAAIAACCAAAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAAAIIAAAg | ||
34 | gAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAIAAAgAACCAAAAACCAAAIIAAAAACCAAAgAAC | ||
35 | AAAIIAAAAAIIAAAggAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAIAAAgAACCAAAAACCAAA | ||
36 | IIAAAAACiCYAAAAEEAAAYHD+0ATAWB0cHMQvk/VynP5pkRbY13S9zNfLn+vl63q5uO2brq6utBQw | ||
37 | vvOvgx8w8gDyab0cbfxzDCCv1stKC1FTDLRvU7itvLgthDgHAwIIwPgCyJf1Mrvlv5cpjNx59Ro2 | ||
38 | HK6Xl+G612Nyy//HQPtIAAEQQAAB5K4AsukyhZDPwggbpuG69+x1+vNDHoUbPWvOwcAYmYQOjN3l | ||
39 | Ft8Tr2jPw/VwrX/Wy1m4vuLN+FRzhr6tlx/r5XTL8BF2+D4AAQRgwL7XKEDnqQD9lv7M8G0G0FMB | ||
40 | FEAAAahrscfPxiI09obEK+En4fax/5RrmsJG1et1pEkA9mcOCDDeA+D1HJCoqQNhHM71Yb28D9sN | ||
41 | 7SJP83A9oXzW8O99djPwOgcDY6QHBKC5ieWxByTefjX2iBxr1qJUQ+vitjtrIXwAIIAA/M/XForZ | ||
42 | 01TMKmTzDx4nG8Fj2uJr6RUDCIZgAWM+AP4cgjVNBWhbYg/Lm+DhhrmZp6DY1dydg5v/4BwMjJEe | ||
43 | EIDrYNBmOIiTl+MdswzLysMs/OzxmHS4jwEggAD8T9sPGKyGZcUHH041dy8mKXT0sQ0EEAABBOAX | ||
44 | nzt6nVm47g1xS9duxXaPvR7znl7/q00AIIAAbFqE7iYJxyvx8aF2p5q9Eyfhutejz+e0LG0GAAEE | ||
45 | 4LYQ0qU4J+Rb8ADDNoNeHHL1doT7FoAAAlCAzz28Znya+o/0lWbDR+z1mGfwXmLvh1vwAgggAL9Z | ||
46 | 9Fgsf8ukWB5S+Dgc+X4FIIAAZG4V+r1b0ZkQsrfDFOZy6lEyAR1AAAG406Ln1z9LC7urJvdP7VMA | ||
47 | AghAKb5n8B7mQkit8JHjM1bM/wAQQAAeLBhzIITsHj5ynMi/sHkABBCAUgpGIWQ7ZyHfu4iZ/wEg | ||
48 | gAA8aCWEFCM+zDHnp8ovbCIAAQSgpABShRBPTb+9XY4zfn/mfwAIIABbF465OQ5u0bvpsIBQtrCZ | ||
49 | AAQQgG38m+n7ikOxjmye/046P0tfc2b+B4AAArCVnIfN5DzhuiunhbTBwkcJQAAB2MYy4/dWPWxv | ||
50 | MtJtE3uA5oXsQ+Z/AAggAIMwTSFkjOtdyh3BlnZTAAEEYEhmYXx3xiph3kfF/A8AAQRgcOKdscYy | ||
51 | KX2eQlcp9IAA3OHg6upKKwDjPAAeHNz1X7HQ/VLIasR5Bk9Cfs8uaVLs9fgRypr3crDNNzkHA2Ok | ||
52 | BwSg/OJ86E9KPy0sfOj9ABBAAHZS2m1uZ+vlZKDbIq7bvLD3vPIRAhBAAHZR4i1u34ZhPh+kxIn2 | ||
53 | 332EAAQQgDEY2lCs40JDled/AAggADv5s9D3HYv1k4Fsg9gL9bbQ924OCIAAArBzIV+qWLRPB7AN | ||
54 | jsN4n/YOIIAAUJTSh2JNQ7m9H9HCLggggACMySyU/YDCtzYhgAACQFlKe3ZGZRrKu+3uppVdD0AA | ||
55 | ARijWMgfF/i+S+/9EEAABBCA0XodypqQHt/r3GYDEEAAKFNpt7IdwtwPt+AFEEAARm0eyugFmYZh | ||
56 | 9H78a5cDEEAAdvV1YOtTwm153fkKQAABYCBmaclVHCo2H0hbr+xuAAIIwK4uB7hOOfcwHA+onQUQ | ||
57 | AAEEYGdDnEg8C/n2gry2ywEIIABjdjnQ9cqx0J+HMh+YOKbwCtCog6urK60AjPMAeHBw338P9eD4 | ||
58 | KOQ1TOjbejkc0m61yzc7BwNjpAcE4Harga5XTnNBZgMLHwsfGwABBKCuoQ6lmYd8ngvycmBte+lj | ||
59 | AyCAANT1fcDrNs/gPQzp1rtj2GcABBCAli0GvG45TEaf22cAxskkdGC8B8CDB+cLD/kA+Wq9nPf4 | ||
60 | +j9CPkPBmvKfsOMwLOdgYIz0gADc7WLA69bn/IvDAYaPVTAHBEAAAdjT1wGv26zHEDDEBw8ufFwA | ||
61 | BBCAfV0MfP36CgJHA2zLzz4uANsxBwQY7wHwYKtnxg3tQXmb4pCh//QQPj4NsC13nv8ROQcDY6QH | ||
62 | BOB+Hwa8bpPQfW/EywG240Uw/wNAAAFQXG7l+cADTxcMvwIQQAAacxmGPRdknoJBF47sHwAIIAAP | ||
63 | ezfw9Tvu6HWeD7DtDL8C2JFJ6MB4D4DbTUKvnIVhPr07pAL6UcuFdOxl+WeAbRfbbVX3h52DgTHS | ||
64 | AwKwnSH3gkxSwGrT8QDbbbFP+AAQQAC4Tyw0zwe8fnF+xryl3x1vY/xWKAVAAAHYzZsw7PH+bQwz | ||
65 | i+FjiM/9iGF04SMBIIAAtCmGj6Ff9Y4h5DQ0c2esGGa+rJep/QCAiknowHgPgLtNQt8Ui+rZCJoo | ||
66 | 3uHp+3r565YQUT0dfnnj35cpvMwGGDwqsSfsfRO/yDkYEEAABJBtxAL7R+ju+RnkY7FenjX1y5yD | ||
67 | gTEyBAtgd3EIzivNMMrt/kIzAAggAH2Iw5PMAxiXZ8FDBwEEEIAenYRh35qXn2KP11IzAOzPHBBg | ||
68 | vAfA+nNAboq3mT3SooMOH60ETedgQAABEEDqiJPR452xDrWq8CGAANzPECyA/cV5Ac+C4Vi2KQAP | ||
69 | 0gMCjPcA2FwPyKY2niZOt+Jcj3i3q1XbL+QcDIyRHhCAZsUhO280Q7Hinc2edBE+AMZKDwgw3gNg | ||
70 | Oz0glVm4npzuYYVlWKTg2OmdrpyDgTHSAwLQXkH7KH0l7+30LC1uswsggAAUrZrI/CZ4gF1uzjeC | ||
71 | h5AI0CFDsIDxHgDbHYJ1UxyKdRpMUO9T7OH4mMJHFoHQORgQQAAEkLbN1svb9JV2xZBxsV6+pq/Z | ||
72 | 9UI5BwNjZAgWQLcW4XrYTye3eeW/4eM8GAIHIIAAjFy8Ih8nqb8SRFoTh72dpQWATBiCBYz3ANjP | ||
73 | EKy7xPkhx7ZKa+L8j9jzlFVPiHMwMEZ6QAD6Nwsmp7ftcL38SF8BEEAARisGjy/BAwu7MEltLewB | ||
74 | CCAAo2R+Qj8hJLb5iaYA6Ic5IMB4D4D9zgGJRfDcVujVebi+CUBvnIOBMfpDEwB0qhoGZC5C/6oA | ||
75 | 6En1AB3SAwKM9wDYfQ+I8JGn3u6Q5RwMjJE5IADCx9gdBjcCABBAAIQPhBAAAQQA4UMIAUAAARA+ | ||
76 | EEIABBAA4QMhBAABBED4QAgB6J7b8ALjPQC2cxte4WNY4i16n7T1y52DgTHSAwLQrE/Cx6DEbXmm | ||
77 | GQAEEIAcxUJ1phkGZy6EAAggALk5TYUqww0hx5oBYH/mgADjPQA2NwckFqeukI/Dq/Vy3tQvcw4G | ||
78 | BBAAAWRXR+F63gfjESelLwUQAAEEoOsA4lat43SZQshKAAHYnTkgAPXE0PFJ+LDtARBAALoQC9Cp | ||
79 | Zhgtt+cFEEAAOhPveDXTDKMX5/+caAaA3ZgDAoz3AFhvDsg8uPLNr16sl4s6P+gcDAggAALIfUw6 | ||
80 | 5za1J6U7BwNjZAgWwHZi6DgTPrhj33ArZgABBKBRMXwcagbuYFI6gAAC0JjjcD3hGO4zTwsA9zAH | ||
81 | BBjvAXC7OSDxyvY3rcWWdpoP4hwMjJEeEIC7VfM+YJd9xnwQAAEEoJb4vA/zPthV3GdONAPA7QzB | ||
82 | AsZ7ALx/CFac8+FKNvt4tl4W932DczAggAAIIFEcRvMjuOUu+1mF6/kglwIIwE+GYAH87pPwQQOm | ||
83 | wRwigN/oAQHGewC8vQck3nL3tIWXW4Wfd0Zarpd/d/jZv1IxWxW1U1uvKC/Wy8Vt/+EcDAggAOMO | ||
84 | ILGwj7fcrdv7UYWMrxt/jmHjsoW3H9/j4cbXKqTMbNnsxO3/6Lb9wDkYEEAAxh1AvuxYwMdwsUiB | ||
85 | Y9FS0KhjmkJJXJ4KJVmIPSAvBBAAAQQQQCrbDL1apaDxObPAsY3DFESqQGKOS/d+G4rlHAwIIADj | ||
86 | DCDTcPfQq1UqGj+G6x6PoagCyfOgh6Qrvw3Fcg4GBBCAcQaQeNeroxv/XYWOixE0xSSt/9P0Ve9I | ||
87 | e87XyysBBBBAAMYbQDYfOBivTH9IReJqxE0T2+S5MNKa/z2g0DkYEEAAxhVAqgcOhhQ83oey5nV0 | ||
88 | Yb4RRmhGDLePBBBAAAEYXwCJk87/FTy2Mklh5HXwHJImvFsvJ87BgAACMK4AMhE8apmtl5cpkFDf | ||
89 | o/U5eKUZgLH5P00AjJjwUc8iXE+k/s96eRPGPV+m7n73zv4HjJUeEGC8B8DfH0RIffG2vnF4lonr | ||
90 | 9ztP4eO/oc05GBBAAAQQ9hdDyMtg4nol9nRcbAaPinMwIIAACCA0p3q+SPWww7H1jMSwUd3W+dbh | ||
91 | Vs7BgAACIIDQns2HHU4Huo5Vb0d8iOXioW92DgYEEAABhG5MNwLJLJTdO7JKYeNzCh9bcw4GBBAA | ||
92 | AYR+HKbl6cafc3WZAsfX9HVZ9xc5BwMCCIAAQj5mKYj8tRFKuu4puUwBIy7fN/7cCOdgQAABEEAo | ||
93 | I5hsfn28EUymYbf5JYuNP39NX5cbwaPVZ3U4BwMCCIAAAp1xDgbGyJPQAQAAAQQAABBAAAAABBAA | ||
94 | AEAAAQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAAAQQAAAAAEEAAAQQAAAAAQQAABAAAEAABBAAAAA | ||
95 | AQQAABBAAAAABBAAAEAAAQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAADYyR+aAKC2yXo5XC+z9Pen | ||
96 | G/+3XC//rpdF+vPlANb3MC3TW9b17411LX2bztJ6/pm+Vr6mr0PapgCdO7i6utIKwDgPgAcHdX90 | ||
97 | vl6er5ejHX7mYr18SMVrSaZpfV+mPz9kldbzvLACPYaO1zW26cf0tRbnYEAAARBAHipST8OvV8V3 | ||
98 | FQPIiwKK8xg23qbwUcdlCiInma9n7PE42zF43BR7Q16FGr0/zsGAAAIggNzlOIWPJsTi/FnId7jS | ||
99 | cQofkwZ+V+3ivAMxSH5paD1DWs9zAQRAAAHYN4DEK+Tzhl8+xxDSRG9AKevadPioFUKcgwEBBEAA | ||
100 | uanJno/bCvMn4XreRA6+hf2Gl5USQmLo+NFC+Ng5hDgHAwIIgACy6TAV5W1apMK8b6cpbLVpmQJX | ||
101 | 32LPx6zF3791sHQOBsbIc0AA7i/K2zZruRje9j0cd/A6MdDNM1jXtts79qy89fEBEEAAdi2WuwoG | ||
102 | r3te1y5f//lI1nUe2hviBVA0Q7CA8R4A7x+CdRK6vYp90GNTdH0iGMu6PjgXxDkYGCM9IAC3e9rx | ||
103 | 6816Ws/pSF4zOhzJegIIIABka0wBpOshUY/tXgACCAAMNfAACCAAAAACCAAAIIAAAAACCAAAgAAC | ||
104 | AAAIIAAAAAIIAAAggAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAIAAAgAACCAAAAACCAAA | ||
105 | IIAAAAACCAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAA | ||
106 | AgAACCAAAAACCAAAIIAAAAAIIAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggA | ||
107 | ACCAAAAACCAAAIAAAgAACCAAAAACCAAAIIAAAAAIIAAAgAACAAAIIAAAAAIIAAAggAAAAAggAJCT | ||
108 | pSYAEEAAoCv/agIAAQQgVzNN0LqpJgAQQAAQBAQQAAEEYPRWHb/enz2t50wQAEAAAejf3x2/3uGI | ||
109 | 2ravsPV04CEWQAABYGvTkRTlfYatrttYAAEQQACyLR5jcTwZSfDpI4BMgqFfAAIIgADyi1kP4aOP | ||
110 | oryPMDDrYT09BwRAAAHY2mUPr9n1cKhZj+17NPC27WsfAhBAAArVx9Xrrovy5z2279OBt+3KRwhA | ||
111 | AAHIvYichu56JSY9FOU3A8F0gK8lgAAIIABFFZFvO3qd4wzad97R67zuYd2++vgACCAAu+pjGNYs | ||
112 | tN8LMumpKL8tGExbfo2j0M9cl5WPD4AAArCr7z297llo95a8bf/+XYLQWcG/XwABEEAAGtXXbVSn | ||
113 | 6+VLSyEhFuRHGbXxrKWQMGmxDbex8PEBEEAASgkg0WEqoKcNFuSx0J9n2M7z0GyvTNV2hyPcbwAE | ||
114 | EIDCLXoOId/Wy8mexfk8/Z55xu3cxHucpiDzrcfw0fc+A5C9g6urK60AjPMAeHCwzbfF4v9tJm/5 | ||
115 | IlzfXWn5QJF7mIrx+JyPo5DHfI9dXN5Y1/t6FGZpfZ+GfIaWvUjv/0HOwYAAAiCA3FbMf8u8WF+m | ||
116 | kHE48E22Ssth5qHqP2HLp6A7BwMCCIAAcpt/Qnm9CPRjsV6ebfvNzsHAGJkDAvCwC03Alj5rAoD7 | ||
117 | 6QEBxnsA3L4HZBau76oED9l6+FXkHAyMkR4QgIctggfL8bCLXcIHgAACwH0+aALsIwD7MwQLGO8B | ||
118 | cPshWFGchP4jmIzO7Vbr5dGuP+QcDIyRHhCA7cShNa5wc5d3mgBgO3pAgPEeAHfrAYn0gnCbVajR | ||
119 | +xE5BwNjpAcEYHuxF8SVbm56pQkAtqcHBBjvAXD3HpBKfDL6oRYkXN/56kXdH3YOBgQQAAFkG4cp | ||
120 | hDBusUfsUdjj1rvOwcAYGYIFsLtlMBTrMnjmxSttALA7PSDAeA+A9XtAKvHp6LORNt+T9TJdL59G | ||
121 | uv7v18ubfX+JczAwRnpAAOqLY/+XI1zvV2m9L5oowgu0GOl6AzRCDwgw3gPg/j0gUZwPEntCxnJr | ||
122 | 3hg+zm/829l6mY9k/WPwehYaGnrlHAwIIIy9kAKEkF3Dx5hCSKPhA/qi9qNvhmABNFOYPgnDHo51 | ||
123 | X/jY5v+FDwAEEIAGrVKBejGw9YoF94stw0UMIUOcG3GeAqbwASCAAGRZrA+lCF/WCFXvw3B6Ci5T | ||
124 | qPKkcwABBCBrsQiPV8wXA1iHOsPK4no/CmX3Bi3S+p/bnQEEEKBshyNZz6r3IF49XxVYeO/bi1P1 | ||
125 | Br0IZfWGrNJ7flbYdvOZBAQQgDschfHcsjY6D9e9AbkHkVV6j89Cs5PpL9L6v8s8iFTrX3rPza6m | ||
126 | 6TMJ0Bm34R3KhnQbXsoKIE/DeB/kNl8vL0M+T1BfrJePoZuhRpO0/q9T4ZuDi7T+FyPdH+OT7D+E | ||
127 | socLsiO1HwIIAghjE4vQf8L1lfYxFz3TjTDW9RXo5UbRvepp/Q9TEDvqIYzE9f6cvo75zlYxDMbn | ||
128 | tziBCCAggCCAMHjfUtHZ9HCfks1SUf44fW1qXP5lauOv6esiw6J7mta/WvdZw2ErLt831p+fD8+s | ||
129 | 5iohgIAAggDCoJ2ul+NwffXd8xXuNtkIIodhu7kzlxuhbjHidV/arx4MH7FN41DI95pEAAEBBAGE | ||
130 | oZulAqgqGvWEQPfhI4T6t1pGAAEBRAARQCjOPxtFUHXL1oVmgdbE+TZnG5+7Vbi+6xcCCHTKbXiB | ||
131 | vmyGjVgQxauyJ5oFWhGHPX4Kvw5lE/gBAQQYlc+3/NvbFESmmgcaEYdcxZs+HG/5GQRonSFYQ9mQ | ||
132 | hmBRnup2vHeJD6470UxQ+/N1nEL9beKwx/9opnFS+9E3PSBAX2IBdN/D32Lh9CNcP6sA2F78zHy7 | ||
133 | J3yEMN4HLwICCDByDw0BmYbrSbNxWNZMc8GDweNH+sxM9/zsAbTGEKyhbEhDsCjTQ8Owblqslw/B | ||
134 | 1Vu4GTzehu3nThl+NXJqP/qmBwToUyyEznf4/lm4vpNPNTRrogkZcXg/Dtv3eGwS4IFe6QEZyobU | ||
135 | A0K5Yqj4smeAib0iK03JCMS7Wr0O18/0qBvAPXxw5NR+CCAIIHB9FXe65+9Yhp/Dsy41KQMSg8Z8 | ||
136 | vbxMAWTfz8kTTSqAQJ8MwQJy8LGB3xELszgUJc4p+RTcPYthhI5PaZ8+bSB8hBTSAXqlB2QoG1IP | ||
137 | COUXW/+09Ltjj8jnoGeEMj4HcWjV8/S1aXH/f+RzgNoPAQQBBK7F3ot5y6+x2AgjK01OBmKvxiw0 | ||
138 | M7zqIefr5ZUmR+2HAIIAAtfiHX1OO3y91UYgiV9dFaYLVS/H0xQ8ph2+9iPBGwEEAQQBBH6KxdiX | ||
139 | Hl9/mYLIV4GEBsWAcbgROA57eh/nQe8HAggCCAII/KLNeSB1rDYCyTK4bSnbqYZUPQ7d93Dc51na | ||
140 | n0EAQQBBAIHN82Lm72+Rgsh3oYQUNg5T2KiCR6777TObCwEEAQQBBH73JeMi7r7ibnUjlBi+NSyT | ||
141 | G2FjWth+qvcDAYSs/KEJAPZyWyF6uRFG/g0/55ToMcnbYQobcZv+FX7O35gUvE4L4QPIjR6QoWxI | ||
142 | PSAMw8l6eTvwdVylpQony41wouekXZONQBG//pm+TkM+czWapveD36j96JseEIBuVcXu7I7/r4JI | ||
143 | DCl/p39b3Agv/G6zp6Jq28fp34YcMO5zIXwAOdIDMpQNqQeEYYiF4xfNsJXNMLIZVjZDzF1/LyGg | ||
144 | VareinAjVIQRB4ttee4Ht1L70Tc9IABl2rf43mZOytc93+PTB/6/9PkVOXsvfAC50gMylA2pB4Rh | ||
145 | iAXpN80Ae4nh8lEwp4g7qP3o2/9pAiAj7hIF+3sjfAA50wMylA2pB4ThcFCC+hbBQwd56CCr9kMA | ||
146 | QQABAQQa8iToSUQAIXOGYAG5UTxBPe98fgABBGB3xq5DveB+ohkAAQQA6MIrTQAIIABAFwy9AgQQ | ||
147 | AKATi2DoFSCAAAAdiPOlDL0CBBAAoBMxfKw0AyCAAABte79eLjQDIIAAAG1brJc3mgEQQACAtsW7 | ||
148 | Xb3QDIAAAgC0rZp07mGdgAACALQu9nx43gcggAAArYs9HwvNAAggAM2bagL4RZxwfq4ZgKE4uLq6 | ||
149 | 0gpD2JAHBxqBoXBQgp9i8PCwQZo9yKr96JkeEAAQPgAEEAAQPgAEEIA2zTQBCB+AAAIACB8AAggw | ||
150 | OFNNgPABIIAACCDQrvfCBzAWf2gCICN/aQJGKAaPc80AjIUeECAnU03AiFwKH8AYeRDhUDakBxEy | ||
151 | DP+sl4lmYCTh49l6WWoKuqb2QwBBAIGN86ImYASWKXxcagoEEMbIECwgFzNNwAicr5cnwgcggAD0 | ||
152 | 71ATMGDVfA93ugJGz12wgFy4AxZDtUzBw3wPgKAHBMiHHhCG6DyYbA7wC5PQh7IhTUKnfA5GDEk1 | ||
153 | 5OpCU5DdwVbtR88MwQJyMNMEDMhivbwIJpoD3MoQLCAHhl8xBFWvh1vsAtxDDwiQg6eagMJdpPAh | ||
154 | eAA8wByQoWxIc0AomyegU6pVCh4LTUEp1H70zRAsoG+HwgcFij0d79bLI+EDYDeGYAF9Oyq4AI23 | ||
155 | Vp2mhfE4Xy9vguFWALXoAQH69rzA9xyDR7zy/Wzj68KmHLy43Z8Ecz0ABBCgWNNQ5h2wPtwoQBcp | ||
156 | hLj16nCdBw8UBBBAgOLNCn3fqzv+Pd4J6YkidZDhQ68HgAACDMDzQt/35QPh5EkqWhlO+ACgIW7D | ||
157 | O5QN6Ta8lGe6Xn6U+pHb8vvO1svcphY+ICdqP/qmBwToy9EI1vFV0BNSqlW4vtMVAAIIMBAvC33f | ||
158 | ixohZGFzFxkezfkAEECAgTgMZd79KtQsSg3jKcu50AgggADD8rrg9/69xs+sgqFYJXmnCQAEEGA4 | ||
159 | JqHsidl1b7H72aYvwnm4+zbLAAggQIGOC3//dYtT8wnKICgCtMxteIeyId2Gl3LEW+9OS/641fy5 | ||
160 | aSj3tsNjEUPifzQDQ6f2o296QIAuzQsPH4s9fnZl89cOBV31Hl1oboD2/aEJgA69Lfz9Lwt6r6tU | ||
161 | UP+7Xv4M13cdm2YcAFdpiW38d/q63AgfJx3sP199RAEEEGA45qHs3o+SCtT4AL339/x/DCOTja9V | ||
162 | QAkthZQqXFQh7t8ULJYbXx/SRQBZ+ZgCtM8ckKFsSHNAyF/pcz+i/4T9hgN1ccB9KHzsahJ2f2bL | ||
163 | MrQzbKrt9nMgZRTUfvRNDwjQhZMBhI+2iuomrRoOHyGt8yKDdZv6GAEMg0noQNviFfTXA1iPRQHv | ||
164 | 8cOA96NDHyUAAQRgG2cphJTuYwHvcTng/ei5jxKAAALwkPl6ORrAeqwaKO67uIK/GPC+NOvgNfSy | ||
165 | AAggQMFiMXc6kHVp4vkQXfQCTQe6Lx11tG5HPrYAAghQplhsD2XoVdTE8KuZAFJbV3OIXg5onwUQ | ||
166 | QIBR+RKGM5xlFZqZW/G4g/c6xHkSs47CWxXgjn18AdrlOSBD2ZCeA0I+Ys/HfEDr09RzNbo42Maw | ||
167 | 9GhAbR97I76F7nt2noVhz6dh5NR+9E0PCCB83C0+A+O8gd/TVZvEQn1IV/Dfhn6GlX0KJqQDtEYP | ||
168 | yFA2pB4QhI82xPDxqoHfE4ekzToMTU/CdW9IyWLw+NFz+HwU8n/4JOxM7Uff9IAA+4rDZD4NMHxE | ||
169 | 7xr4HbMOw8fm9ih9MvVZBvt1HP6lJwSgYXpAhrIh9YDQX5E2pAnnm85DM70ffRWxceJ8nMtQ4hX8 | ||
170 | aei392PTZWrHpY87Q6H2o296QIC6DsOwrxA30ftx3GP7HKZwWGJPSE7P46hC9txHHkAAAfotEGNR | ||
171 | Nh3o+sW7Xq0aKFzfZhASS+yhmmT4fuKQsBMffQABBOhefLr5EOYY3CUOuWmq9yOHNqpCyNyuu7e3 | ||
172 | odxeJQABBCjONFwPuRr6g9rehf3nTcQC9XVG61RdwS8lOC4yfm+zcD0/ZeaQACCAAO05DuO4I1As | ||
173 | fJt46OBRpoX+USqej0ayHdoMdLEn5MShAUAAAZo1TYXWaRj+sJPY6/GqwXbLuXj+FPLvDXkT8n8a | ||
174 | +dvgVr0AAgjQmKrXYzaS9Y1Dr1Yj2r5Vb0jOQ+pehGaeRN+mao7NcQBgK54DMpQN6TkgNFtQnYVx | ||
175 | XdW9SMVuU2apKC3FIlz3OOT6rIu4P84LacdXIwuyFEjtR9/0gACVaqLy2IaULENzQ682C9H3BbXB | ||
176 | LG33XIfaxe1zXlA76g0BuIcekKFsSD0g7OckXN+1aWy3F237KdenBRajsU3eZFrwH6c2LcEi6A0h | ||
177 | U2o/BBAEEPo0D9cTaacjXf8nof1hR/NQ5iT+RchzWFZsz7OCwlycW/Q+gAACAogAguAx6uARdTms | ||
178 | J7ZzvOtUiUPb3odmno3SpGridymhLtcwhwACvTAHBMYXPOKdj86Ej06HGK3CdW/LuwLb6jjtM/OM | ||
179 | 3tMydNN71ZRZuJ4bcuIQBKAHZDgbUg8Id4tXieMtV8fe49FX+LitGC01AC5SiFpktG9/CmXdKnqV | ||
180 | 9sGFjyJ9UfshgCCA0JZY4M7DOCeX5xo+Ngvns5D/E8nvEtswDinKZVhWiZP9cxzahgACAggCCLXM | ||
181 | 1svLUMZzE7rS9t2u6pqHcp8yn9sE63koZ3L6ZhvGUHzhI4oAggCCAEJpJuFnb8dUc/yies5HrvMF | ||
182 | pqlwnhXcvrE3ZJHBeyltcnplEdyyFwEEAQQBhELEITzPg96Ou1ykwq6EYS4n4XqeTslt/SaDIrrE | ||
183 | eSEh7aMfgonqCCAIIAggZChe5X2ZwsdUc9xZzOX6ML2Htu1ZKPdJ9DkV0SXOC4ly6lFCAAEBBAFE | ||
184 | 6BA6thALt9KHs5RaPFdWIY87Pc1DuXNsTFJHAEEAQQChc7NwPbxK6NhOqb0e923/0p/XksOwrJJ7 | ||
185 | lUxSRwBBAEEAoVXV8zqepq9unbu96m5MlwPcJ+K8kJJ7Q3IYlhXbMfaEzAttw0UwSR0BBAGEDANI | ||
186 | PMEebpysKEMVOGah3HH/fTpP4WPohVncP0rvDVmF/odlzUPZtz02SR0BBAGErALIl/Dzri/ViWqI | ||
187 | V4RLNtkIGk9DubddFTz6239K7w2J+h6WVfpE/xyCHAIICCD8N4DctSGXafk7nbCWQkmnhU4VNg6D | ||
188 | Ho59Xabg8SGMeyjKLJTfG9L3QwyHEObOQ15Po0cAAQFkhAFkswdkm5P/ZjBZCiaNFIUxYPyVvs40 | ||
189 | SWNWKXSc20cHVUCH0P8tZ49SmCt1vtXQbryAAIIAQmEBJBa98eFb0z1/1SKd1L6nwm8lnPxS9B2m | ||
190 | No7L040/07w4VOdjcAegh4LvaSi/d63PW86W+uDCm8dtk9QRQBBA6DyAVCfSNu/0UgWReJL7O/zs | ||
191 | SalOgEMJGGGjGHl64++0a5lCx7nQu5OTUPZT1EPof27DcWrDkntD+hzWhgACAshIA0hlmk6kfdzK | ||
192 | dTOUVD0pNwPMpraKjc0wEW4JEX+Fnz0Xh8Etb/suPGMvx9jnduzrMF2AKD0sX6QgctlTG5Y8Qb06 | ||
193 | puoNQQBBAKHzALJZhMcQUj3MrtTidHVHoSA0lCuG0c+p2FxqjkaVfiU/hP4fwHcSyu5R0huCAIIA | ||
194 | Qm8B5LYw4iF39CUWk1/T15XmaNU0XPeGHBW+Huehvzs96Q1BAAEBhD0DyG0n11n4+TwKgYSmLVMB | ||
195 | VIUOuneUgsi04HVYhX7nhpyE8ntD3CkLAQQBhCwCiEBCm4FjEUwiz8VQbtn7LvT3FPAh9Ib0ObcG | ||
196 | AQQEEAFkK9MURB4Hz7Xgd9XNBqqw4VbN+RvCJPW4n70I/Q0pigHodSj3As0qtZ95VwKIRkAAIcsA | ||
197 | clcBcyiUjFIVMr6Hnw+upEzzFERKvt1snxPUp+G6N6Tk418ckmWCugACAghFBJC7Qsl0I5hUf6ZM | ||
198 | MVisbgSNlWYZnCEMy3qfCum+lP4UdUOyBBAQQCg2gGwTTP7a+LO5JXlYhJ/PaalChl6N8ZmlInpa | ||
199 | cGB+1mMRPUntd1Rw+73y2RdAQABhKAHkoaKn+vpn+P3p4zRTWGw+tb76u7kaDK2IvkwhpM8iOvYk | ||
200 | nRbcfn0OaUMAQQBBAMlC1VMyDT+vzD7dKJbGPMRrFX4OiYoF17/h16fPCxjUdRLKvd1sDreajcel | ||
201 | L6HcXl7zQgQQEEAYdQDZ1s0wcnOI1+NbioEchoHdFhKqMHHb92yGDmjTPFz3hpSqz1v1RtP18imU | ||
202 | e5EkBrhXPgYCCAggCCDdFg/Thn7XQnNSqFkqoku9kt93EV36kDYhRAABAQQBBOhc6cOJYhEdhxT1 | ||
203 | ORwxhpB5oe3nDlkCCAggCCCAELKjvu+QFZ2EcufVLFL7IYBA4/5PEwCQaQFfeoCKAaTU4UyzUPZ8 | ||
204 | IEAAAUAIGWUIOS84hMyFEEAAAaCPEFLypOQYQj71/B5KDyFzHwNAAAGgSxeFh5BZ6P9KfskhJD5k | ||
205 | cepjAAggAHRdQL8r+P3PQ7/PCCk5hEyCoVhAg9wFaygb0l2wgG6UfHvZ6EW47tHp0yyU+ayVOB9o | ||
206 | 4SNQPrUffdMDAsAu4hX888IDVN+F/yKUObn/pd0fEEAA6CuELAt97zF8fMrgfZR4h7GpXR8QQADo | ||
207 | y7OCQ8hsvRwJIb/x5HNAAAEgW5eFh5DTTN5HbL9HmbRjfA9xjsz5LWEk/v2D3R5ogknoQ9mQJqED | ||
208 | /YhDmuLD/g4LfO85zWfJpR03J+lPNt7Pwq4+HGo/BBAEEEAI6cdFKrhz0vddxlbhukcGAQQEEAQQ | ||
209 | QAhp4/CZ4Xs6WS9ve3x9t9sVQKBV5oAA0ITS54TkFkBehWYnha92+N7nNgEggAAghOzmTej/gYP7 | ||
210 | OE9tuWrwd77YMtQc2pUBAQQAIWQ3L1PBfd9woveZt2VswycNBalpCjNPguFVgAACgBDSuMO0LNJ7 | ||
211 | iYX3u/T3WNDHIU5vCmnLFw2916MUQp6l33dXb8hnuzDQJpPQh7IhTUIH8tP3xPQYOE4G1J6xHc/2 | ||
212 | aM8qjG1un3m4nvMxS+Hk48DajFuo/RBAEECAoevr1rI3C+6hhLrjUO8uWUNsDwQQCmQIFgBta/qB | ||
213 | f5dhu8nUswG2ZVzvk2AuByCAAMCDIeRVQ78r9gK82TKETAbannF+zbPUpiu7FyCAAMDvzlPR3MTz | ||
214 | LR5v+bsmI2jTRymIPDTp/6NdEMiBOSBD2ZDmgADlmK6XT2G/yemLFEAemuh+MMK2jXe7enojfH0M | ||
215 | zQ6Do2BqPwQQBBBgrE7D9YTq2oe+jT+frJfXN4ru+JyPN5oZBBAEEAQQgEq8Wn8W6g2Vunngi79j | ||
216 | Fq57Q+KzPpaaFwQQBBAEEIBwS3CIvSHzPQMIIIBQAJPQAehbnEgeJ1HHOR2LLX9mpdkABBAA2Mci | ||
217 | hZC4XDzwveZ2ABTKEKyhbEhDsIDhmYbrOR1P05+jr+H6bk4rzQP1qP0QQBBAAAABhNEwBAsAABBA | ||
218 | AAAAAQQAAEAAAQAABBAAAAABBAAAEEAAAAABBAAAQAABAAAEEAAAAAEEAAAQQAAAAAEEAABAAAEA | ||
219 | AAQQAAAAAQQAABBAAAAAAQQAAEAAAQAABBAAAAABBAAAEEAAAAABBAAAQAABAAAEEAAAAAEEAAAQ | ||
220 | QAAAAAEEAABAAAEAAAQQAAAAAQQAABBAAAAABBAAAEAAAQAABBAAAAABBAAAEEAAAAAEEAAAQAAB | ||
221 | AAAEEAAAAAEEAAAQQAAAAAQQAABAAAEAAAQQAAAAAQQAABBAAAAABBAAAEAAAQAABBAAAAABBAAA | ||
222 | EEAAAAAEEAAAQAABAAAEEAAAAAEEAAAQQAAAAAQQAABAAAEAABBAAAAAAQQAABBAAAAABBAAAEAA | ||
223 | AQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAAAQQAAAAAEEAAAQQAAAAAQQAABAAAEAABBAAAAAAQQA | ||
224 | ABBAAAAABBAAAEAAAQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAAAQQAAAAAEEAABAAAEAAAQQAABA | ||
225 | AAEAABBAAAAAAQQAAEAAAQAABBAAAGDA/tAEAP81WS+HG39fZPb+Zht/Xq6XS5ssO9O0hLR9lpoE | ||
226 | 4Hd6QICxi4X9t/Xyz3r5srFcrZezjYKyDzEQfUrvZfO9Ve/10ObLwsl6+ZGWahtV+9RJCrcAJAdX | ||
227 | V1daYQgb8uBAI8Du5ilk3CdeyX4Wur+avc17i16tl3ObsheTFBBnD3zfMu1Deq3IgtoPAQQBBPpx | ||
228 | lIrHbazWy5MOC8hpuL6Cvs2V88v03lY2aedO18vxlt97nsIiCCCMniFYwFi93TEQHHX83rYdthO/ | ||
229 | 77XN2bnpDuEjmod+h/MBCCAAPdt1/kSXxeO05XWh+23U9T4EIIAAAAAIIAAAgAACAAAIIAAAAAII | ||
230 | AAAggAAAAAggAACAAAIAAAggAAAAAggAAFCQPzQBmZmsl/l6ebxepunfvq6Xi/WybPi1Zml52uLr | ||
231 | dLk+bZuldYjLn+vl8Mb/f01fV2ndlnZnbpim/abad57e+P+4z/y7Xi439qHLEbTLYfp8TW60SVz3 | ||
232 | 7+nPi/TZWg10v5imNgjpeDnZ+P+4zn9vtMNQ94vpxnH2ZhvcdqxdjOgzwtBcXV1ZBrAMxPF6+Sfu | ||
233 | lncsX+45IO9aSP944HWmDbzOvKP1aTsMfrpnHR5aPqXfkeN67rouJx2+ty87vrcvGe9HR+vl7IHP | ||
234 | wn3Lt/Vy2tBnsulAvuu6zG4Um6c12uVH+rnDAYSu0weOxdph+8/I8S6fEXWTpfe6VSMIIJk43eFA | ||
235 | u08xO9/ydf7Z88Q272h92roKt0/BeFd7nmVWRAog7ZrvWVTdtZ6zwgPIZIfjXUntsUsg/dbwfvEt | ||
236 | 7W8lmdX4nG+zbHWcVTdZBBCLALL7ifyko9epW9RNdizezzLaFicNB4/bgshJJusqgLT3ef7R4j5U | ||
237 | 9axNCjtuXaWr1N9CO0Vnzr2p1ZX+Ly3vF18K6BGZ7Nmr3MjxSt1k6XsxCZ0cPN/x+1/uUTC0+f2b | ||
238 | V/gmO35/DsVBLIzetlzITNJr5D78jHpOQ3NDGB/6zPwo8Op/W0OG5unzm2vxfZLeX9vbq+pVyLU3 | ||
239 | pNpvuzjmvw159rDDfwkg5HJlbBfTzNdn1/fX9wniKHR/5XAmhAzKJPwch97la+ZcbPZx3MmtByBu | ||
240 | o7NUDHf9mrntF/H9dN1zV11Ymvp4IIAAYz8pbp4chZBhhI8+C9+zUF5PyFC3RU4BMacQchr6G2o7 | ||
241 | DXkMWQQBBPivWeh//slhyGsODGUWvAqsX7dJDnNCzjLYL3J4DzEEHff8HhxnEUCALExT0ZaDo5DH | ||
242 | PBjKLPA2i25+Fpxve3z904w+02c9b4dc9kvHWQQQoHe5XTE+tUmKc5xZQRPfy8xm+WX79NEes9D/ | ||
243 | Ff+bIWDeUyj+lNk+4TiLAAL0WpjkdrecaTCZuCRxe73N8H29tml+0fU2yrUnqo99dacHA3b4udUL | ||
244 | ggACdG6SaeEYPbd5iipsc5xzcRTc8WfTLHR7seE40/afhm57g3IN6I6zZOMPTQCjctxA4bhYL5/X | ||
245 | y/KWYuf5HgVP9fyUS5spa7G4mu/5O1br5WK9fL2xveO+8zjs/iydm/vheUHtuUyfp0XDn6dK7BV6 | ||
246 | 1cF6TML+PVCXadvd3C/iPvd0z/3i+S1t3JYmeuLO035xmd73YVr3w422qHucfRWgb57G6EnoGajz | ||
247 | dNw6Tgb2OnXs85Tzbe92FAunuk977nJ4gCeh13O2xz70z5bhZbLH63Q17n4W9ntS9bYP5tv3CeL/ | ||
248 | dHhxY5/3eLJFuJjUPL5W7d2FyZ7H2U9hu16kwz2Os4fqJosnoQNdme9x9TBejXsWfu/1uM0ife+q | ||
249 | xusc2kxZm+wREuO+8yhs1ztxma7Sng90H4rr9SRsd0V+mT5P53tssy7apO5V/8u0fifh4d7Py/R9 | ||
250 | bzLeL/bppYnr9WLLY+dyj+PsLEDPBBAYj7pjf8/D7l32lzWLhKc2U9bqFlerVCztOrzuTY2fmWbe | ||
251 | hotQbwhM3UAWQvs9i4c1270KH8sdf+59jZ/pqvCue5x9n5YujrOemYMAAnRaPO5qGeqPF74I5nMM | ||
252 | Td2A+KLmvnCZ9qMcC8263u3xs29CvSvej1tep9ke67Os+bMfMy2867TFsmaQCDU/Hy70IIAAndin | ||
253 | QNjHsqP3Sb770fkeRWb0dUDtF8PDYo+fj4HsQ42fa3v4UZ2CdhH2u1nAMsN2OKwZcvY9zi4CCCBA | ||
254 | huqceJcNnNiWmn4wYmE1rfFzH/Z83dWA2vCigd9Rp2iftrxedYLpxz1fM8djS1/HWRBAgGyLx119 | ||
255 | buB1/9X0ow6xKyG08c/DZc02bXP4UZ3ffd5AO+SmTtD76GOBAAIMVd0hErAP+1A77ZHT8KOZ/eJ/ | ||
256 | HmsLEEAAaE6dAvZvzdYK7ZqnOj1BeggRQACgweIKAAQQAABAAAEAAAQQAAAAAQQAABBAAAAABBAA | ||
257 | AEAAgU79qQk695cmAFow1QQggEAJ6jxIbabZOm9zsA81H+wvBRBhDAQQ+OlrjZ/J+aFoelp+biPF | ||
258 | 43D0VcA+1fSNhLKhPXH7+YCOkwIIAggM+AQ87ehnhlJ073tSO7abDkqdAvZxA/vg0YDacNbQ53LX | ||
259 | Y0xuvR9NFMw57herHvaJWQABBLININOaJ706V193PSEsOmivOr1ML/d4vXhV77XddPSOwn5XeN9m | ||
260 | vG51ivrHDbzuvKPw2Obxa7pn4XwS8rzq/3eNn9m3J+dlAAEEOjuB7XrQrXu1bNeT5DzTNr6sue51 | ||
261 | i4SzkPcwOborYk/3KLTnA2uPeBzap4d0WjOUfW25LeocX+qGy9h+rwe0T8z3CFOHmX9GQAAha6ua | ||
262 | B95ti+N9rsbHE8MuQ4nqvM7XDtq4bvH4qUbBdBaGNWyGn0Vmnc9qnSBxtEdwyb3grBvOJ+nzWMci | ||
263 | w3aYpbbY9bj/JeR7cWOf4+ykRlt8CiCAwF4BpM4VtG2K40kqZKZ7vL+3W4ads1Dv6uaqgzauW4BM | ||
264 | 0gl/m/WvioO5XXqw6u5H8bNxsuX+dlqzICulPeLn5NuOIX2aPlt1ji+XHQSQuhdR5jsEsuPMw0d1 | ||
265 | LF/V3Ce+7HCemu/4/SCAwB3qXDmapBP5WSqQJzcO6Mfp//ctiKsivLqyf9vr/NjjdRYdtfHFnutf | ||
266 | hYvpjfWfp4LxWzAhcuj26a17mz4nxzcK6Wn6XJ1t/P/Q22OaPjO3tcfNwvQ0fbYOO/7cd/Ua89QO | ||
267 | pzeOH5P099ON/x9qKK229Y+0X8xv2d6zjXONIa4U7+Dq6korDGFDHhyUvgrHoYwhF01brZdHHb3W | ||
268 | POw+5KGX3bmj19n14PcubHcVvwnb9jptFj3POnhfk1QA5V78POsw2P8IzV2Jjr0Vy9DsLayfhG5u | ||
269 | wdtkO7Sli8/wLH1+sw5J69rvWYAe6QEhFxfWu3XnYXgPI6NblyP+rN7lY8MBb9Zg+FiE7p7/8cGu | ||
270 | 8L82X2kGEEAowyp0d8UyJx8G/noMzztN8Iv3GQf7Nx2+1nlwgcNnBAQQHLSzdx66v1L2Prg6x/4X | ||
271 | C95rhv+JRferTI+ny47bQeHd37EdBBCoaRHG1QvSx8k6Fglv7Go0sO8qsH66SEVnLmLwOOnhdd93 | ||
272 | HHpy9koTgABCWQftrrvx+xg20GcBdxFcwWb/z8wLzfCLN5kU3/G40ucE4xfBUKxoEfQIgQBCMVah | ||
273 | 2ytHl+lkfd7ha8bXOsmgWDq3u7GHZXCV97ZjSZ8hZJVBAKgCkBByfZx3nAUBhEJcdFTYbBYMrzo6 | ||
274 | UZxnVLS1vc653zFJgVTG/rwoMIT0UXTG41hXt9zd5r20HUJKKey7OLc4liGAQIMnlzZPYMvw+9XK | ||
275 | eKJoc2jS+5DfFeP4ftoYJlAVYp8zLjYvMn5vu7bbx54/q7HwXbV4HNjVqsf2qCald9kT8S5tg5wK | ||
276 | 0TYDURV8VzXeU1/H2Tct/m7zbihPfBChpfxlwOJ98eMDCq8aXE7C/Q9Si09l/tHg65XwhPD43IEv | ||
277 | Da7v5nMMdmnLo473rX+2fF99PMDx2w7tnctn9aShfShul/nG797lGHCW2fHrZIf9bNflS2jumSFt | ||
278 | arINTjZ+73zH49KQjrM/Ns4ru/7OL+omS+91q0YQQAoxTUXIjz0KmtOw25N65zsUgbctnzouqJsw | ||
279 | S++77glxfsdJd5vi47SnguChbdxXQTvZorD4FvJ7Kvk+n9Xqczq5pS22+Szm2B6bx5NPoZlwdlbA | ||
280 | RY27wljdY/jZHcfvsy3b7DCz4+xZzVD245aLaAKIpbjlYCTF6+AdHByMaXUP0/L4gZPKar18D/s/ | ||
281 | DXiaThjx69MHXu/vjdcreVzu5hOZnzbQxtN7iqb4O+LwhD7ni8Ti8PmNk3p8Xx9D/3MQjtJ72yy+ | ||
282 | 4r4Vh2mdF/BZnaXP6l3h/3JjH3qorWPh9fqWkBF/R3zI5vsCPneTG+1S/f2u4FQdS76G4dyqfJv9 | ||
283 | IqR1XqZ1vm+7Hqf94rbfdZ6OL7nuF7O0/LXFZ+TijuPstx0D1mJd+z0L0GfdKoAIINBD8bVZ5K80 | ||
284 | CzWKtl8KKk3CLUFuLPvFroXcxbr2cxttevWHJhjI0UeQpAyXisXmjPjCg32I24xxMva0xs98t6vQ | ||
285 | N3fBAgAo06zGz7htLwIIAAC1vKzxM27bS+/MAQEo9QBu7heMWbxBxSe1HyXSAwIAUJZZqHeL8AtN | ||
286 | Rw5MQgcA6D5ATNNS3Wp5scXPxTt9xVsOz2u+7mdNTw50wwGUegA3BAtKcxJuf5ZNZRXuvjX5bM/X | ||
287 | jr/3UfyD2o++6QEBAGjfabh+aOJ9pqHerXW38dEmIBd6QABKPYDrAYFSxKFT33p8/VVIvR+R2o++ | ||
288 | mYQOANCuo55f/5VNgAACADAej3t87XdhuwnuIIAAAAxEX08fPw/XE99BAAEAGJHvPYUPQ6/Ikkno | ||
289 | AKUewE1Ch1LE2+7+CHfffrdpb9bL+7v+U+1H3/SAAAC06zKFgrYt1suT+8IH5MBzQAAA2neevp61 | ||
290 | FDw+brwGZM0QLIBSD+CGYEGJZuH6aejx6z5Dslbr5SIFj+UuP6j2QwABQACBcZqmZZb+/le4+0no | ||
291 | MWT8G657O+Kfa99ZS+2HAAIAAIyGSegAAIAAAgAACCAAAAACCAAAIIAAAAAIIAAAgAACAAAIIAAA | ||
292 | AAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAAAgAACCAAAAACCAAAIIAAAAAI | ||
293 | IAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAAAgAAIIAA | ||
294 | AAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCAAAAAAggAACCAAAAA | ||
295 | CCAAAIAAAgAAIIAAAAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCA | ||
296 | AAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAggAAAAAIIAACAAAIA | ||
297 | AAggAACAAAIAACCAAAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAg | ||
298 | gAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAEBt/y/AAEmyIDWRykGwAAAAAElFTkSuQmCC"> | ||
299 | </image> | ||
300 | </svg> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo.png b/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo.png deleted file mode 100755 index 5305c77d..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo.svg b/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo.svg deleted file mode 100644 index 865da440..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/img/logo.svg +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="64" height="64"> | ||
3 | <circle cx="32" cy="32" r="29.5" style="fill:#000" /> | ||
4 | <path d="m 16,18 33,0 0,26 -16.5,6 -16.5,-6 z" fill="#fff" /> | ||
5 | <rect width="9" height="2.5" x="17.5" y="24.5" fill="#000" /> | ||
6 | <rect width="9" height="2.5" x="28" y="24.5" fill="#000" /> | ||
7 | <rect width="9" height="2.5" x="38.5" y="24.5" fill="#000" /> | ||
8 | </svg> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/js/closeMessage.js b/src/Wallabag/Wallabag/Resources/views/baggy/public/js/closeMessage.js deleted file mode 100644 index 527719d5..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/js/closeMessage.js +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | $(function(){ | ||
2 | //--------------------------------------------------------------------------- | ||
3 | // Show the close icon when the user hover over a message | ||
4 | //--------------------------------------------------------------------------- | ||
5 | // $('.messages').on('mouseenter', function(){ | ||
6 | // $(this).find('a.closeMessage').stop(true, true).show(); | ||
7 | // }).on('mouseleave', function(){ | ||
8 | // $(this).find('a.closeMessage').stop(true, true).hide(); | ||
9 | // }); | ||
10 | //--------------------------------------------------------------------------- | ||
11 | // Close the message box when the user clicks the close icon | ||
12 | //--------------------------------------------------------------------------- | ||
13 | $('a.closeMessage').on('click', function(){ | ||
14 | $(this).parents('div.messages').slideUp(300, function(){ $(this).remove(); }); | ||
15 | return false; | ||
16 | }); | ||
17 | }); \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/js/init.js b/src/Wallabag/Wallabag/Resources/views/baggy/public/js/init.js deleted file mode 100755 index 74cbae68..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/js/init.js +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | $.fn.ready(function() { | ||
2 | |||
3 | var $listmode = $('#listmode'), | ||
4 | $listentries = $("#list-entries"); | ||
5 | |||
6 | /* ========================================================================== | ||
7 | Menu | ||
8 | ========================================================================== */ | ||
9 | |||
10 | $("#menu").click(function(){ | ||
11 | $("#links").toggleClass('menu--open'); | ||
12 | if ($('#content').hasClass('opacity03')) { | ||
13 | $('#content').removeClass('opacity03'); | ||
14 | } | ||
15 | }); | ||
16 | |||
17 | /* ========================================================================== | ||
18 | List mode or Table Mode | ||
19 | ========================================================================== */ | ||
20 | |||
21 | $listmode.click(function(){ | ||
22 | if ( $.cookie("listmode") == 1 ) { | ||
23 | // Cookie | ||
24 | $.removeCookie("listmode"); | ||
25 | |||
26 | $listentries.removeClass("listmode"); | ||
27 | $listmode.removeClass("tablemode"); | ||
28 | $listmode.addClass("listmode"); | ||
29 | } | ||
30 | else { | ||
31 | // Cookie | ||
32 | $.cookie("listmode", 1, {expires: 365}); | ||
33 | |||
34 | $listentries.addClass("listmode"); | ||
35 | $listmode.removeClass("listmode"); | ||
36 | $listmode.addClass("tablemode"); | ||
37 | } | ||
38 | |||
39 | }); | ||
40 | |||
41 | /* ========================================================================== | ||
42 | Cookie listmode | ||
43 | ========================================================================== */ | ||
44 | |||
45 | if ( $.cookie("listmode") == 1 ) { | ||
46 | $listentries.addClass("listmode"); | ||
47 | $listmode.removeClass("listmode"); | ||
48 | $listmode.addClass("tablemode"); | ||
49 | } | ||
50 | |||
51 | }); | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/js/jquery.cookie.js b/src/Wallabag/Wallabag/Resources/views/baggy/public/js/jquery.cookie.js deleted file mode 100755 index 92719000..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/js/jquery.cookie.js +++ /dev/null | |||
@@ -1,117 +0,0 @@ | |||
1 | /*! | ||
2 | * jQuery Cookie Plugin v1.4.0 | ||
3 | * https://github.com/carhartl/jquery-cookie | ||
4 | * | ||
5 | * Copyright 2013 Klaus Hartl | ||
6 | * Released under the MIT license | ||
7 | */ | ||
8 | (function (factory) { | ||
9 | if (typeof define === 'function' && define.amd) { | ||
10 | // AMD. Register as anonymous module. | ||
11 | define(['jquery'], factory); | ||
12 | } else { | ||
13 | // Browser globals. | ||
14 | factory(jQuery); | ||
15 | } | ||
16 | }(function ($) { | ||
17 | |||
18 | var pluses = /\+/g; | ||
19 | |||
20 | function encode(s) { | ||
21 | return config.raw ? s : encodeURIComponent(s); | ||
22 | } | ||
23 | |||
24 | function decode(s) { | ||
25 | return config.raw ? s : decodeURIComponent(s); | ||
26 | } | ||
27 | |||
28 | function stringifyCookieValue(value) { | ||
29 | return encode(config.json ? JSON.stringify(value) : String(value)); | ||
30 | } | ||
31 | |||
32 | function parseCookieValue(s) { | ||
33 | if (s.indexOf('"') === 0) { | ||
34 | // This is a quoted cookie as according to RFC2068, unescape... | ||
35 | s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); | ||
36 | } | ||
37 | |||
38 | try { | ||
39 | // Replace server-side written pluses with spaces. | ||
40 | // If we can't decode the cookie, ignore it, it's unusable. | ||
41 | s = decodeURIComponent(s.replace(pluses, ' ')); | ||
42 | } catch(e) { | ||
43 | return; | ||
44 | } | ||
45 | |||
46 | try { | ||
47 | // If we can't parse the cookie, ignore it, it's unusable. | ||
48 | return config.json ? JSON.parse(s) : s; | ||
49 | } catch(e) {} | ||
50 | } | ||
51 | |||
52 | function read(s, converter) { | ||
53 | var value = config.raw ? s : parseCookieValue(s); | ||
54 | return $.isFunction(converter) ? converter(value) : value; | ||
55 | } | ||
56 | |||
57 | var config = $.cookie = function (key, value, options) { | ||
58 | |||
59 | // Write | ||
60 | if (value !== undefined && !$.isFunction(value)) { | ||
61 | options = $.extend({}, config.defaults, options); | ||
62 | |||
63 | if (typeof options.expires === 'number') { | ||
64 | var days = options.expires, t = options.expires = new Date(); | ||
65 | t.setDate(t.getDate() + days); | ||
66 | } | ||
67 | |||
68 | return (document.cookie = [ | ||
69 | encode(key), '=', stringifyCookieValue(value), | ||
70 | options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE | ||
71 | options.path ? '; path=' + options.path : '', | ||
72 | options.domain ? '; domain=' + options.domain : '', | ||
73 | options.secure ? '; secure' : '' | ||
74 | ].join('')); | ||
75 | } | ||
76 | |||
77 | // Read | ||
78 | |||
79 | var result = key ? undefined : {}; | ||
80 | |||
81 | // To prevent the for loop in the first place assign an empty array | ||
82 | // in case there are no cookies at all. Also prevents odd result when | ||
83 | // calling $.cookie(). | ||
84 | var cookies = document.cookie ? document.cookie.split('; ') : []; | ||
85 | |||
86 | for (var i = 0, l = cookies.length; i < l; i++) { | ||
87 | var parts = cookies[i].split('='); | ||
88 | var name = decode(parts.shift()); | ||
89 | var cookie = parts.join('='); | ||
90 | |||
91 | if (key && key === name) { | ||
92 | // If second argument (value) is a function it's a converter... | ||
93 | result = read(cookie, value); | ||
94 | break; | ||
95 | } | ||
96 | |||
97 | // Prevent storing a cookie that we couldn't decode. | ||
98 | if (!key && (cookie = read(cookie)) !== undefined) { | ||
99 | result[name] = cookie; | ||
100 | } | ||
101 | } | ||
102 | |||
103 | return result; | ||
104 | }; | ||
105 | |||
106 | config.defaults = {}; | ||
107 | |||
108 | $.removeCookie = function (key, options) { | ||
109 | if ($.cookie(key) !== undefined) { | ||
110 | // Must not alter options, thus extending a fresh object... | ||
111 | $.cookie(key, '', $.extend({}, options, { expires: -1 })); | ||
112 | return true; | ||
113 | } | ||
114 | return false; | ||
115 | }; | ||
116 | |||
117 | })); | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/public/js/restoreScroll.js b/src/Wallabag/Wallabag/Resources/views/baggy/public/js/restoreScroll.js deleted file mode 100644 index 331c9e19..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/public/js/restoreScroll.js +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | function supportsLocalStorage() { | ||
2 | try { | ||
3 | return 'localStorage' in window && window['localStorage'] !== null; | ||
4 | } catch (e) { | ||
5 | return false; | ||
6 | } | ||
7 | } | ||
8 | |||
9 | function savePercent(id, percent) { | ||
10 | if (!supportsLocalStorage()) { return false; } | ||
11 | localStorage["poche.article." + id + ".percent"] = percent; | ||
12 | return true; | ||
13 | } | ||
14 | |||
15 | function retrievePercent(id) { | ||
16 | if (!supportsLocalStorage()) { return false; } | ||
17 | |||
18 | var bheight = $(document).height(); | ||
19 | var percent = localStorage["poche.article." + id + ".percent"]; | ||
20 | var scroll = bheight * percent; | ||
21 | |||
22 | $('html,body').animate({scrollTop: scroll}, 'fast'); | ||
23 | |||
24 | return true; | ||
25 | } \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/screenshot.jpg b/src/Wallabag/Wallabag/Resources/views/baggy/screenshot.jpg deleted file mode 100755 index 19cd24bb..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/screenshot.jpg +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/tags.twig b/src/Wallabag/Wallabag/Resources/views/baggy/tags.twig deleted file mode 100755 index 65930eb2..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/tags.twig +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | {% block title %}Tags{% endblock %} | ||
3 | {% block menu %} | ||
4 | {% include '_menu.twig' %} | ||
5 | {% endblock %} | ||
6 | {% block content %} | ||
7 | <h2>{% trans "Tags" %}</h2> | ||
8 | <ul class="list-tags"> | ||
9 | {% for tag in tags %}<li>{% if token != '' %}<a class="icon icon-rss" href="?feed&type=tag&user_id={{ user_id }}&tag_id={{ tag.id }}&token={{ token }}" target="_blank"><span>rss</span></a>{% endif %} <a href="./?view=tag&id={{ tag.id }}">{{ tag.value }}</a> ({{ tag.entriescount }}) | ||
10 | </li> | ||
11 | {% endfor %} | ||
12 | </ul> | ||
13 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/theme.ini b/src/Wallabag/Wallabag/Resources/views/baggy/theme.ini deleted file mode 100644 index 31665e18..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/theme.ini +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | name = Baggy | ||
2 | description = Responsive black and white theme especially adapted to smartphones. | ||
3 | requirements[] = default | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/baggy/view.twig b/src/Wallabag/Wallabag/Resources/views/baggy/view.twig deleted file mode 100755 index 1afd9df6..00000000 --- a/src/Wallabag/Wallabag/Resources/views/baggy/view.twig +++ /dev/null | |||
@@ -1,102 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | {% block menu %} | ||
3 | {% include '_menu.twig' %} | ||
4 | {% endblock %} | ||
5 | {% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %} | ||
6 | {% block content %} | ||
7 | {% include '_highlight.twig' %} | ||
8 | <div id="article_toolbar"> | ||
9 | <ul class="links"> | ||
10 | <li class="topPosF"><a href="#top" title="{% trans "Back to top" %}" class="tool top icon icon-arrow-up-thick"><span>{% trans "Back to top" %}</span></a></li> | ||
11 | <li><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}" class="tool link icon icon-link"><span>{{ entry.url | e | getDomain }}</span></a></li> | ||
12 | <li><a title="{% trans "Mark as read" %}" class="tool icon icon-check {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="javascript: void(null);" id="markAsRead"><span>{% trans "Toggle mark as read" %}</span></a></li> | ||
13 | <li><a title="{% trans "Favorite" %}" class="tool icon icon-star {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="javascript: void(null);" id="setFav"><span>{% trans "Toggle favorite" %}</span></a></li> | ||
14 | <li><a title="{% trans "Delete" %}" class="tool delete icon icon-trash" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "Delete" %}</span></a></li> | ||
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 %} | ||
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_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('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('SHOW_PRINTLINK') == 1 %}<li><a title="{% trans "Print" %}" class="tool icon icon-print" href="javascript: window.print();"><span>{% trans "Print" %}</span></a></li>{% endif %} | ||
22 | {% if constant('EPUB') == 1 %}<li><a href="./?epub&method=id&value={{ entry.id|e }}" title="Generate ePub file">EPUB</a></li>{% endif %} | ||
23 | {% if constant('MOBI') == 1 %}<li><a href="./?mobi&method=id&value={{ entry.id|e }}" title="Generate Mobi file">MOBI</a></li>{% endif %} | ||
24 | {% if constant('PDF') == 1 %}<li><a href="./?pdf&method=id&value={{ entry.id|e }}" title="Generate PDF file">PDF</a></li>{% endif %} | ||
25 | <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans "Does this article appear wrong?" %}" class="tool bad-display icon icon-delete"><span>{% trans "Does this article appear wrong?" %}</span></a></li> | ||
26 | </ul> | ||
27 | </div> | ||
28 | <div id="article"> | ||
29 | <header class="mbm"> | ||
30 | <h1>{{ entry.title|raw }}</h1> | ||
31 | </header> | ||
32 | <aside class="tags"> | ||
33 | tags: {% for tag in tags %}<a href="./?view=tag&id={{ tag.id }}">{{ tag.value }}</a> {% endfor %}<a href="./?view=edit-tags&id={{ entry.id|e }}" title="{% trans "Edit tags" %}">✎</a> | ||
34 | </aside> | ||
35 | <article> | ||
36 | {{ content | raw }} | ||
37 | </article> | ||
38 | </div> | ||
39 | <script src="{{ poche_url }}themes/_global/js/restoreScroll.js"></script> | ||
40 | <script type="text/javascript"> | ||
41 | $(document).ready(function() { | ||
42 | |||
43 | // toggle read property of current article | ||
44 | $('#markAsRead').click(function(){ | ||
45 | $("body").css("cursor", "wait"); | ||
46 | $.ajax( { url: './?action=toggle_archive&id={{ entry.id|e }}' }).done( | ||
47 | function( data ) { | ||
48 | if ( data == '1' ) { | ||
49 | if ( $('#markAsRead').hasClass("archive-off") ) { | ||
50 | $('#markAsRead').removeClass("archive-off"); | ||
51 | $('#markAsRead').addClass("archive"); | ||
52 | } | ||
53 | else { | ||
54 | $('#markAsRead').removeClass("archive"); | ||
55 | $('#markAsRead').addClass("archive-off"); | ||
56 | } | ||
57 | } | ||
58 | else { | ||
59 | alert('Error! Pls check if you are logged in.'); | ||
60 | } | ||
61 | }); | ||
62 | $("body").css("cursor", "auto"); | ||
63 | }); | ||
64 | |||
65 | // toggle favorite property of current article | ||
66 | $('#setFav').click(function(){ | ||
67 | $("body").css("cursor", "wait"); | ||
68 | $.ajax( { url: './?action=toggle_fav&id={{ entry.id|e }}' }).done( | ||
69 | function( data ) { | ||
70 | if ( data == '1' ) { | ||
71 | if ( $('#setFav').hasClass("fav-off") ) { | ||
72 | $('#setFav').removeClass("fav-off"); | ||
73 | $('#setFav').addClass("fav"); | ||
74 | } | ||
75 | else { | ||
76 | $('#setFav').removeClass("fav"); | ||
77 | $('#setFav').addClass("fav-off"); | ||
78 | } | ||
79 | } | ||
80 | else { | ||
81 | alert('Error! Pls check if you are logged in.'); | ||
82 | } | ||
83 | }); | ||
84 | $("body").css("cursor", "auto"); | ||
85 | }); | ||
86 | |||
87 | $(window).scroll(function(e){ | ||
88 | var scrollTop = $(window).scrollTop(); | ||
89 | var docHeight = $(document).height(); | ||
90 | var scrollPercent = (scrollTop) / (docHeight); | ||
91 | var scrollPercentRounded = Math.round(scrollPercent*100)/100; | ||
92 | savePercent({{ entry.id|e }}, scrollPercentRounded); | ||
93 | }); | ||
94 | |||
95 | retrievePercent({{ entry.id|e }}); | ||
96 | |||
97 | $(window).resize(function(){ | ||
98 | retrievePercent({{ entry.id|e }}); | ||
99 | }); | ||
100 | }); | ||
101 | </script> | ||
102 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/README.md b/src/Wallabag/Wallabag/Resources/views/dark/README.md deleted file mode 100644 index 92077994..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/README.md +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | # dark theme | ||
2 | |||
3 | theme created by Nicolas Lœuillet aka nico_somb \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/css/style-dark.css b/src/Wallabag/Wallabag/Resources/views/dark/public/css/style-dark.css deleted file mode 100644 index 41782c48..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/css/style-dark.css +++ /dev/null | |||
@@ -1,74 +0,0 @@ | |||
1 | body { | ||
2 | color: #d4d4d4; | ||
3 | background-color: #262627; | ||
4 | } | ||
5 | |||
6 | a, | ||
7 | a:hover, | ||
8 | a:visited { | ||
9 | color: #d4d4d4; | ||
10 | } | ||
11 | |||
12 | a.back span { | ||
13 | background-image: url('../img/dark/left.png'); | ||
14 | } | ||
15 | |||
16 | a.top span { | ||
17 | background-image: url('../img/dark/top.png'); | ||
18 | } | ||
19 | |||
20 | a.fav span, | ||
21 | a.fav-off span:hover { | ||
22 | background-image: url('../img/dark/star-on.png'); | ||
23 | } | ||
24 | |||
25 | a.fav span:hover, | ||
26 | a.fav-off span { | ||
27 | background-image: url('../img/dark/star-off.png'); | ||
28 | } | ||
29 | |||
30 | a.archive span, | ||
31 | a.archive-off span:hover { | ||
32 | background-image: url('../img/dark/checkmark-on.png'); | ||
33 | } | ||
34 | |||
35 | a.archive span:hover, | ||
36 | a.archive-off span { | ||
37 | background-image: url('../img/dark/checkmark-off.png'); | ||
38 | } | ||
39 | |||
40 | a.twitter span { | ||
41 | background-image: url('../img/dark/twitter.png'); | ||
42 | } | ||
43 | |||
44 | a.shaarli span { | ||
45 | background-image: url('../img/dark/shaarli.png'); | ||
46 | } | ||
47 | |||
48 | a.flattr span { | ||
49 | background-image: url('../img/dark/flattr.png'); | ||
50 | } | ||
51 | |||
52 | a.email span { | ||
53 | background-image: url('../img/dark/envelop.png'); | ||
54 | } | ||
55 | |||
56 | a.delete span { | ||
57 | background-image: url('../img/dark/remove.png'); | ||
58 | } | ||
59 | |||
60 | a.link span { | ||
61 | background-image: url('../img/dark/link.png'); | ||
62 | } | ||
63 | |||
64 | a.bad-display span { | ||
65 | background-image: url('../img/dark/bad-display.png'); | ||
66 | } | ||
67 | |||
68 | .pagination a { | ||
69 | color: #aaa; | ||
70 | } | ||
71 | |||
72 | #article_toolbar { | ||
73 | background: #262627; | ||
74 | } \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/backtotop.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/backtotop.png deleted file mode 100644 index c885086d..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/backtotop.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/bad-display.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/bad-display.png deleted file mode 100644 index 66ea2e16..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/bad-display.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/checkmark-off.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/checkmark-off.png deleted file mode 100644 index 661ea997..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/checkmark-off.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/checkmark-on.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/checkmark-on.png deleted file mode 100644 index 5ee8c8d3..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/checkmark-on.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/down.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/down.png deleted file mode 100644 index 4150e17c..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/down.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/envelop.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/envelop.png deleted file mode 100644 index 73d9b0b9..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/envelop.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/flattr.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/flattr.png deleted file mode 100644 index b457d080..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/flattr.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/left.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/left.png deleted file mode 100644 index c2f7a20e..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/left.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/link.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/link.png deleted file mode 100644 index a5b8d8d2..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/link.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/remove.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/remove.png deleted file mode 100644 index 0c3dcfdf..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/remove.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/rss.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/rss.png deleted file mode 100644 index 21bad1a1..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/rss.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/shaarli.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/shaarli.png deleted file mode 100644 index e68ac8b5..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/shaarli.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/star-off.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/star-off.png deleted file mode 100644 index 8194bc2d..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/star-off.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/star-on.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/star-on.png deleted file mode 100644 index 109c3aec..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/star-on.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/top.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/top.png deleted file mode 100644 index d137bd24..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/top.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/twitter.png b/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/twitter.png deleted file mode 100644 index 6ce8a4d9..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/img/dark/twitter.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/public/public b/src/Wallabag/Wallabag/Resources/views/dark/public/public deleted file mode 120000 index fd316b37..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/public/public +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | ../../themes/default/public \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/screenshot.jpg b/src/Wallabag/Wallabag/Resources/views/dark/screenshot.jpg deleted file mode 100644 index daaad6c9..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/screenshot.jpg +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dark/theme.ini b/src/Wallabag/Wallabag/Resources/views/dark/theme.ini deleted file mode 100644 index 4b020d36..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dark/theme.ini +++ /dev/null | |||
@@ -1,2 +0,0 @@ | |||
1 | name = Dark | ||
2 | requirements[] = default | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/_bookmarklet.twig b/src/Wallabag/Wallabag/Resources/views/default/_bookmarklet.twig deleted file mode 100644 index 61996353..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/_bookmarklet.twig +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | <script type="text/javascript"> | ||
2 | top["bookmarklet-url@wallabag.org"]=""+"<!DOCTYPE html>"+"<html>"+"<head>"+"<title>bag it!</title>"+'<link rel="icon" href="{{poche_url}}tpl/img/favicon.ico" />'+"</head>"+"<body>"+"<script>"+"window.onload=function(){"+"window.setTimeout(function(){"+"history.back();"+"},250);"+"};"+"</scr"+"ipt>"+"</body>"+"</html>" | ||
3 | </script> \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/_footer.twig b/src/Wallabag/Wallabag/Resources/views/default/_footer.twig deleted file mode 100644 index 213a4aca..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/_footer.twig +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | <footer class="w600p center mt3 mb3 smaller txtright"> | ||
2 | <p>{% trans "powered by" %} <a href="http://wallabag.org">wallabag</a></p> | ||
3 | {% if constant('DEBUG_POCHE') == 1 %}<p><strong>{% trans "debug mode is on so cache is off." %} {% trans "your wallabag version:" %}{{constant('WALLABAG')}}. {% trans "storage:" %} {{constant('STORAGE')}}</strong></p>{% endif %} | ||
4 | </footer> \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/_head.twig b/src/Wallabag/Wallabag/Resources/views/default/_head.twig deleted file mode 100755 index 277e3833..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/_head.twig +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-152.png" sizes="152x152"> | ||
2 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-152.png" sizes="152x152"> | ||
3 | |||
4 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-144.png" sizes="144x144"> | ||
5 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-144.png" sizes="144x144"> | ||
6 | |||
7 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-120.png" sizes="120x120"> | ||
8 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-120.png" sizes="120x120"> | ||
9 | |||
10 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-114.png" sizes="114x114"> | ||
11 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-114.png" sizes="114x114"> | ||
12 | |||
13 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-76.png" sizes="76x76"> | ||
14 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-76.png" sizes="76x76"> | ||
15 | |||
16 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-72.png" sizes="72x72"> | ||
17 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-72.png" sizes="72x72"> | ||
18 | |||
19 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-57.png" sizes="57x57"> | ||
20 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-57.png" sizes="57x57"> | ||
21 | |||
22 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon.png"> | ||
23 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon.png"> | ||
24 | |||
25 | <link rel="shortcut icon" type="image/x-icon" href="{{ poche_url }}themes/_global/img/appicon/favicon.ico"> | ||
26 | |||
27 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/knacss.css" media="all"> | ||
28 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/style.css" media="all"> | ||
29 | <link rel="stylesheet" href="{{ poche_url }}themes/{{ theme }}/css/style-{{ theme }}.css" media="all" title="{{ theme }} theme"> | ||
30 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/messages.css" media="all"> | ||
31 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/print.css" media="print"> | ||
32 | <script src="{{ poche_url }}themes/_global/js/jquery-2.0.3.min.js"></script> | ||
33 | <script src="{{ poche_url }}themes/_global/js/autoClose.js"></script> | ||
34 | <script src="{{ poche_url }}themes/default/js/closeMessage.js"></script> | ||
35 | <script src="{{ poche_url }}themes/_global/js/saveLink.js"></script> | ||
36 | <script src="{{ poche_url }}themes/_global/js/popupForm.js"></script> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/_highlight.twig b/src/Wallabag/Wallabag/Resources/views/default/_highlight.twig deleted file mode 100755 index cdb7c6bf..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/_highlight.twig +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | {# include excelent highlight.js library for code highligting, see http://highlightjs.org/ #} | ||
2 | <link rel="stylesheet" href="{{ poche_url }}themes/default/highlightjs/styles/github.css"> | ||
3 | <script src="{{ poche_url }}themes/default/highlightjs/highlight.pack.js"></script> | ||
4 | <script>hljs.initHighlightingOnLoad();</script> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/_import.twig b/src/Wallabag/Wallabag/Resources/views/default/_import.twig deleted file mode 100755 index c59b7a15..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/_import.twig +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | <script type="text/javascript"> | ||
2 | <!-- | ||
3 | $(document).ready(function() { | ||
4 | $("body").css("cursor", "wait"); | ||
5 | |||
6 | setTimeout(function(){ | ||
7 | window.location = './?import'; | ||
8 | }, {{ import.delay }} ); | ||
9 | }); | ||
10 | //--> | ||
11 | </script> | ||
12 | <div class="messages warning"> | ||
13 | <p>{% trans "Download required for " %} {{ import.recordsDownloadRequired }} {% trans "records" %}.</p> | ||
14 | <p>{% trans "Downloading next " %} {{ import.recordsUnderDownload }} {% trans "articles, please wait" %}...</p> | ||
15 | </div> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/_menu.twig b/src/Wallabag/Wallabag/Resources/views/default/_menu.twig deleted file mode 100644 index eedf84f1..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/_menu.twig +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | <ul id="links"> | ||
2 | <li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "unread" %}</a></li> | ||
3 | <li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li> | ||
4 | <li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li> | ||
5 | <li><a href="./?view=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li> | ||
6 | <li><a href="javascript: void(null);" id="bagit">{% trans "save a link" %}</a><span id="bagit-arrow"></span></li> | ||
7 | <li><a href="javascript: void(null);" id="search">{% trans "search" %}</a><span id="search-arrow"></span></li> | ||
8 | <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li> | ||
9 | <li><a href="./?view=about" {% if view == 'about' %}class="current"{% endif %}>{% trans "about" %}</a></li> | ||
10 | <li><a href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li> | ||
11 | </ul> | ||
12 | {% include '_pocheit-form.twig' %} | ||
13 | {% include '_search-form.twig' %} | ||
14 | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/_messages.twig b/src/Wallabag/Wallabag/Resources/views/default/_messages.twig deleted file mode 100644 index 679aa098..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/_messages.twig +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | {{ messages | raw }} \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/_pocheit-form.twig b/src/Wallabag/Wallabag/Resources/views/default/_pocheit-form.twig deleted file mode 100755 index 8c982db0..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/_pocheit-form.twig +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | <div id="bagit-form" class="messages info"> | ||
2 | <a href="javascript: void(null);" id="bagit-form-close"> </a> | ||
3 | <form method="get" action="index.php" id="bagit-form-form"> | ||
4 | <input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" /> | ||
5 | <input type="submit" value="{% trans "save link!" %}" /> | ||
6 | <div id="add-link-result"></div> | ||
7 | </form> | ||
8 | </div> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/_search-form.twig b/src/Wallabag/Wallabag/Resources/views/default/_search-form.twig deleted file mode 100755 index 0cf6097a..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/_search-form.twig +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | <div id="search-form" class="messages info"> | ||
2 | <form method="get" action="index.php"> | ||
3 | <p> | ||
4 | <input type="hidden" name="view" value="search"></input> | ||
5 | <label>{% trans "Search" %}</label> : <input type="text" required placeholder="{% trans "Enter your search here" %}" name="search" id="searchfield" /> | ||
6 | <input type="submit" value="{% trans "Search" %} !"></input> | ||
7 | </p> | ||
8 | </form> | ||
9 | </div> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/_sorting.twig b/src/Wallabag/Wallabag/Resources/views/default/_sorting.twig deleted file mode 100755 index 3ce9b949..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/_sorting.twig +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | {% if entries|length > 1 %} | ||
2 | <ul id="sort"> | ||
3 | <li><a href="./?sort=ia&view={{ view }}{% if searchterm is defined %}&search={{ searchterm }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by date asc" %}" title="{% trans "by date asc" %}" /></a> {% trans "by date" %} <a href="./?sort=id&view={{ view }}{% if searchterm is defined %}&search={{ searchterm }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li> | ||
4 | <li><a href="./?sort=ta&view={{ view }}{% if searchterm is defined %}&search={{ searchterm }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by title asc" %}" title="{% trans "by title asc" %}" /></a> {% trans "by title" %} <a href="./?sort=td&view={{ view }}{% if searchterm is defined %}&search={{ searchterm }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li> | ||
5 | </ul> | ||
6 | {% endif %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/_top.twig b/src/Wallabag/Wallabag/Resources/views/default/_top.twig deleted file mode 100755 index 45806f01..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/_top.twig +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | <header class="w600p center mbm"> | ||
2 | <h1> | ||
3 | {% if view == 'home' %}{% block logo %}<img width="100" height="100" src="{{ poche_url }}themes/baggy/img/logo-other_themes.png" alt="wallabag logo" />{% endblock %} | ||
4 | {% else %}<a href="./" title="{% trans "return home" %}" >{{ block('logo') }}</a> | ||
5 | {% endif %} | ||
6 | </h1> | ||
7 | </header> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/about.twig b/src/Wallabag/Wallabag/Resources/views/default/about.twig deleted file mode 100755 index 50ffd8ef..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/about.twig +++ /dev/null | |||
@@ -1,74 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | |||
3 | {% block title %}{% trans "About wallabag" %}{% endblock %} | ||
4 | {% block menu %} | ||
5 | {% include '_menu.twig' %} | ||
6 | {% endblock %} | ||
7 | {% block content %} | ||
8 | <h2>{% trans "About wallabag" %}</h2> | ||
9 | |||
10 | <dl> | ||
11 | <dt>{% trans "Project website" %}</dt> | ||
12 | <dd><a href="http://www.wallabag.org">http://www.wallabag.org</a></dd> | ||
13 | |||
14 | <dt>{% trans "Main developer" %}</dt> | ||
15 | <dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans "website" %}</a></dd> | ||
16 | |||
17 | <dt>{% trans "Contributors:" %}</dt> | ||
18 | <dd><a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans "on Github" %}</a></dd> | ||
19 | |||
20 | <dt>{% trans "Bug reports" %}</dt> | ||
21 | <dd><a href="http://support.wallabag.org">{% trans "On our support website" %}</a> {% trans "or" %} <a href="https://github.com/wallabag/wallabag/issues">{% trans "on Github" %}</a></dd> | ||
22 | |||
23 | <dt>{% trans "License" %}</dt> | ||
24 | <dd><a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dd> | ||
25 | |||
26 | <dt>{% trans "Version" %}</dt> | ||
27 | <dd>{{ constant('WALLABAG') }}</dd> | ||
28 | </dl> | ||
29 | |||
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> | ||
33 | |||
34 | <p>{% trans "wallabag is free and opensource. You can help us:" %}</p> | ||
35 | |||
36 | <dl> | ||
37 | <dt><a href="http://www.wallabag.org">{% trans "via Paypal" %}</a></dt> | ||
38 | |||
39 | <dt><a href="http://www.wallabag.org">{% trans "via Flattr" %}</a></dt> | ||
40 | </dl> | ||
41 | |||
42 | <h2>{% trans "Credits" %}</h2> | ||
43 | <dl> | ||
44 | <dt>PHP Readability</dt> | ||
45 | <dd><a href="https://bitbucket.org/fivefilters/php-readability">https://bitbucket.org/fivefilters/php-readability</a></dd> | ||
46 | |||
47 | <dt>Full Text RSS</dt> | ||
48 | <dd><a href="http://code.fivefilters.org/full-text-rss/src">http://code.fivefilters.org/full-text-rss/src</a></dd> | ||
49 | |||
50 | <dt>logo by Maylis Agniel</dt> | ||
51 | <dd><a href="https://github.com/wallabag/logo">https://github.com/wallabag/logo</a></dd> | ||
52 | |||
53 | <dt>icons</dt> | ||
54 | <dd><a href="http://icomoon.io">http://icomoon.io</a></dd> | ||
55 | |||
56 | <dt>PHP Simple HTML DOM Parser</dt> | ||
57 | <dd><a href="http://simplehtmldom.sourceforge.net/">http://simplehtmldom.sourceforge.net/</a></dd> | ||
58 | |||
59 | <dt>Session</dt> | ||
60 | <dd><a href="https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php">https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php</a></dd> | ||
61 | |||
62 | <dt>Twig</dt> | ||
63 | <dd><a href="http://twig.sensiolabs.org">http://twig.sensiolabs.org</a></dd> | ||
64 | |||
65 | <dt>Flash messages</dt> | ||
66 | <dd><a href="https://github.com/plasticbrain/PHP-Flash-Messages">https://github.com/plasticbrain/PHP-Flash-Messages</a></dd> | ||
67 | |||
68 | <dt>Pagination</dt> | ||
69 | <dd><a href="https://github.com/daveismyname/pagination">https://github.com/daveismyname/pagination</a></dd> | ||
70 | |||
71 | <dt>PHPePub</dt> | ||
72 | <dd><a href="https://github.com/Grandt/PHPePub/">https://github.com/Grandt/PHPePub/</a></dd> | ||
73 | </dl> | ||
74 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/config.twig b/src/Wallabag/Wallabag/Resources/views/default/config.twig deleted file mode 100755 index b7d91937..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/config.twig +++ /dev/null | |||
@@ -1,188 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | |||
3 | {% block title %}{% trans "config" %}{% endblock %} | ||
4 | {% block menu %} | ||
5 | {% include '_menu.twig' %} | ||
6 | {% endblock %} | ||
7 | {% block content %} | ||
8 | <h2>{% trans "Saving articles" %}</h2> | ||
9 | <p>{% trans "There are several ways to save an article:" %} {% trans "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" %}</p> | ||
10 | <p> | ||
11 | <form method="get" action="index.php"> | ||
12 | <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label><br> | ||
13 | <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" /> | ||
14 | <input type="submit" value="{% trans "bag it!" %}" /> | ||
15 | </form> | ||
16 | </p> | ||
17 | <h3>Browser Plugins</h3> | ||
18 | <ul> | ||
19 | <li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans "Firefox Add-On" %}</a></li> | ||
20 | <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans "Chrome Extension" %}</a></li> | ||
21 | </ul> | ||
22 | <h3>Mobile Apps</h3> | ||
23 | <ul> | ||
24 | <li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via Google Play" %}</a></li> | ||
25 | <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li> | ||
26 | <li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" target="_blank">{% trans "download the application" %}</a></li> | ||
27 | </ul> | ||
28 | <h3>{% trans "Bookmarklet" %}</h3> | ||
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> | ||
31 | </p> | ||
32 | |||
33 | <h2>{% trans "Feeds" %}</h2> | ||
34 | {% if token == '' %} | ||
35 | <p>{% trans "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&action=generate'>here to generate it</a>." %}</p> | ||
36 | {% else %} | ||
37 | <ul> | ||
38 | <li><a href="?feed&type=home&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Unread feed" %}</a></li> | ||
39 | <li><a href="?feed&type=fav&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li> | ||
40 | <li><a href="?feed&type=archive&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li> | ||
41 | </ul> | ||
42 | <p class="more-info"> | ||
43 | {% trans "Your token:" %} <strong>{{token}}</strong><br> | ||
44 | {% trans "Your user id:" %} <strong>{{user_id}}</strong><br> | ||
45 | {% trans "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." %} | ||
46 | </p> | ||
47 | {% endif %} | ||
48 | |||
49 | <h2>{% trans "Change your theme" %}</h2> | ||
50 | <form method="post" action="?updatetheme" name="changethemeform"> | ||
51 | <fieldset class="w500p inline"> | ||
52 | <div class="row"> | ||
53 | <label class="col w150p" for="theme">{% trans "Theme:" %}</label> | ||
54 | <select class="col" id="theme" name="theme"> | ||
55 | {% for key, theme in themes %} | ||
56 | <option value="{{ key }}" {{ theme.current ? 'selected' : '' }}>{{ theme.name }}</option> | ||
57 | {% endfor %} | ||
58 | </select> | ||
59 | </div> | ||
60 | <div class="row mts txtcenter"> | ||
61 | <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button> | ||
62 | </div> | ||
63 | </fieldset> | ||
64 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
65 | <input type="hidden" name="token" value="{{ token }}"> | ||
66 | </form> | ||
67 | |||
68 | <h2>{% trans "Change your language" %}</h2> | ||
69 | <form method="post" action="?updatelanguage" name="changelanguageform"> | ||
70 | <fieldset class="w500p inline"> | ||
71 | <div class="row"> | ||
72 | <label class="col w150p" for="language">{% trans "Language:" %}</label> | ||
73 | <select class="col" id="language" name="language"> | ||
74 | {% for language in languages %} | ||
75 | <option value="{{ language.value }}" {{ language.current ? 'selected' : '' }}>{{ language.name }}</option> | ||
76 | {% endfor %} | ||
77 | </select> | ||
78 | </div> | ||
79 | <div class="row mts txtcenter"> | ||
80 | <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button> | ||
81 | </div> | ||
82 | </fieldset> | ||
83 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
84 | <input type="hidden" name="token" value="{{ token }}"> | ||
85 | </form> | ||
86 | |||
87 | <h2><a name="import"></a>{% trans "Import" %}</h2> | ||
88 | <p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p> | ||
89 | <p>{% trans "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required." %}</p> | ||
90 | <form method="post" action="?import" name="uploadfile" enctype="multipart/form-data"> | ||
91 | <fieldset class="w500p"> | ||
92 | <div class="row"> | ||
93 | <label class="col w150p" for="file">{% trans "File:" %}</label> | ||
94 | <input class="col" type="file" id="file" name="file" tabindex="4" required="required"> | ||
95 | </div> | ||
96 | <div class="row mts txtcenter"> | ||
97 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> | ||
98 | </div> | ||
99 | </fieldset> | ||
100 | </form> | ||
101 | <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p> | ||
102 | <p class="more-info">{% trans "Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p> | ||
103 | |||
104 | <h2>{% trans "Export your wallabag data" %}</h2> | ||
105 | <p><a href="?export" target="_blank">{% trans "Export JSON" %}</a><br> | ||
106 | <span class="more-info">Data will be exported in a single JSON file.</span></p> | ||
107 | |||
108 | <h2>{% trans "Fancy an E-Book ?" %}</h2> | ||
109 | <p>{% trans "Click to get all your articles in one ebook :" %} | ||
110 | <ul> | ||
111 | <li><a href="./?epub&method=all" title="Generate ePub file">ePub 3</a></li> | ||
112 | <li><a href="./?mobi&method=all" title="Generate Mobi file">Mobi</a></li> | ||
113 | <li><a href="./?pdf&method=all" title="Generate PDF file">PDF</a></li> | ||
114 | </ul> | ||
115 | </p> | ||
116 | |||
117 | <span class="more-info">{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</span></p> | ||
118 | |||
119 | <h2><a name="cache"></a>{% trans "Cache" %}</h2> | ||
120 | <p><a href="?empty-cache">{% trans "Delete Cache" %}</a><br> | ||
121 | <span class="more-info">Deleting the cache may help with display or other problems.</span></p> | ||
122 | |||
123 | {% if http_auth == 0 %} | ||
124 | <h2>{% trans "Change your password" %}</h2> | ||
125 | <form method="post" action="?config" name="loginform"> | ||
126 | <fieldset class="w500p"> | ||
127 | <div class="row"> | ||
128 | <label class="col w150p" for="password">{% trans "New password:" %}</label> | ||
129 | <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2"> | ||
130 | </div> | ||
131 | <div class="row"> | ||
132 | <label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label> | ||
133 | <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3"> | ||
134 | </div> | ||
135 | <div class="row mts txtcenter"> | ||
136 | <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button> | ||
137 | </div> | ||
138 | </fieldset> | ||
139 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
140 | <input type="hidden" name="token" value="{{ token }}"> | ||
141 | </form> | ||
142 | {% endif %} | ||
143 | |||
144 | <h2>{% trans 'Add user' %}</h2> | ||
145 | <form method="post" action="?newuser"> | ||
146 | <fieldset class="w500p"> | ||
147 | <div class="row"> | ||
148 | <label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label> | ||
149 | <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}" required> | ||
150 | </div> | ||
151 | <div class="row"> | ||
152 | <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label> | ||
153 | <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans 'Password' %}" required> | ||
154 | </div> | ||
155 | <div class="row"> | ||
156 | <label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label> | ||
157 | <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}"> | ||
158 | </div> | ||
159 | <div class="row mts txtcenter"> | ||
160 | <button type="submit">{% trans "Add user" %}</button> | ||
161 | </div> | ||
162 | </fieldset> | ||
163 | </form> | ||
164 | |||
165 | <h2>{% trans "Delete account" %}</h2> | ||
166 | {% if not only_user %}<form method="post" action="?deluser"> | ||
167 | <p>{% trans "You can delete your account by entering your password and validating." %}<br /><b>{% trans "Be careful, data will be erased forever (that is a very long time)." %}</b></p> | ||
168 | <fieldset class="w500p"> | ||
169 | <div class="row"> | ||
170 | <label class="col w150p" for="password4deletinguser">{% trans "Type here your password" %}</label> | ||
171 | <input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}"> | ||
172 | </div> | ||
173 | <div class="row mts txtcenter"> | ||
174 | <button type="submit">{% trans "Delete account" %}</button> | ||
175 | </div> | ||
176 | </form> | ||
177 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}</p> | ||
178 | <p>{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %} | ||
179 | |||
180 | <h2>{% trans "Upgrading wallabag" %}</h2> | ||
181 | <ul> | ||
182 | <li>{% trans "Installed version" %}: <strong>{{ constant('WALLABAG') }}</strong></li> | ||
183 | <li>{% trans "Latest stable version" %}: {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li> | ||
184 | {% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %}: {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li> | ||
185 | </ul> | ||
186 | <p class="more-info">{% trans "You can clear cache to check the latest release." %}</p> | ||
187 | |||
188 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/edit-tags.twig b/src/Wallabag/Wallabag/Resources/views/default/edit-tags.twig deleted file mode 100755 index c29427e0..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/edit-tags.twig +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | {% block title %}edit tags{% endblock %} | ||
3 | {% block menu %} | ||
4 | {% include '_menu.twig' %} | ||
5 | {% endblock %} | ||
6 | {% block content %} | ||
7 | |||
8 | <script src="{{ poche_url }}themes/_global/js/jquery-ui-1.10.4.custom.min.js"></script> | ||
9 | <script src="{{ poche_url }}themes/_global/js/autoCompleteTags.js"></script> | ||
10 | <link rel="stylesheet" href="{{ poche_url }}themes/_global/css/jquery-ui-1.10.4.custom.min.css" media="all"> | ||
11 | |||
12 | <div id="article"> | ||
13 | <header class="mbm"> | ||
14 | <h1>{{ entry.title|raw }}</h1> | ||
15 | </header> | ||
16 | </div> | ||
17 | |||
18 | {% if tags is empty %} | ||
19 | {% trans "no tags" %} | ||
20 | {% endif %} | ||
21 | <ul> | ||
22 | {% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&tag_id={{ tag.id }}&id={{ entry_id }}">✘</a></li>{% endfor %} | ||
23 | </ul> | ||
24 | <form method="post" action="./?action=add_tag" id="editTags"> | ||
25 | <input type="hidden" name="entry_id" value="{{ entry_id }}" /> | ||
26 | <label for="value">{% trans "Add tags:" %}</label> | ||
27 | <input type="text" placeholder="{% trans "interview" %}, {% trans "editorial" %}, {% trans "video" %}" id="value" name="value" required="required" /> | ||
28 | <input type="submit" value="Tag" /> | ||
29 | <p>{% trans "Start typing for auto complete." %}<br> | ||
30 | {% trans "You can enter multiple tags, separated by commas." %}</p> | ||
31 | |||
32 | </form> | ||
33 | <br> | ||
34 | <a href="./?view=view&id={{ entry_id }}">« {% trans "return to article" %}</a> | ||
35 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/error.twig b/src/Wallabag/Wallabag/Resources/views/default/error.twig deleted file mode 100644 index 528a0985..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/error.twig +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | {% block title %}{% trans "plop" %}{% endblock %} | ||
3 | {% block content %} | ||
4 | <h1>Errors</h1> | ||
5 | <ol> | ||
6 | {% for message in msg %} | ||
7 | <li>{{message}}</li> | ||
8 | {% endfor %} | ||
9 | </ol> | ||
10 | <p>Don't forget <a href="http://doc.wallabag.org/">the documentation</a>.</p> | ||
11 | <p> | ||
12 | {% trans "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>." %} | ||
13 | </p> | ||
14 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/export.twig b/src/Wallabag/Wallabag/Resources/views/default/export.twig deleted file mode 100644 index 4adb9540..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/export.twig +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | {{ export }} \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/home.twig b/src/Wallabag/Wallabag/Resources/views/default/home.twig deleted file mode 100755 index b9000559..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/home.twig +++ /dev/null | |||
@@ -1,82 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | {% block title %} | ||
3 | {% if view == 'fav' %} | ||
4 | {% trans "favoris" %} | ||
5 | {% elseif view == 'archive' %} | ||
6 | {% trans "archive" %} | ||
7 | {% else %} | ||
8 | {% trans "unread" %} | ||
9 | {% endif %} | ||
10 | {% endblock %} | ||
11 | {% block menu %} | ||
12 | {% include '_menu.twig' %} | ||
13 | {% endblock %} | ||
14 | {% block precontent %} | ||
15 | |||
16 | {% include '_sorting.twig' %} | ||
17 | {% endblock %} | ||
18 | {% block content %} | ||
19 | |||
20 | {% if includeImport %} | ||
21 | {% include '_import.twig' %} | ||
22 | {% endif %} | ||
23 | |||
24 | {% if tag %} | ||
25 | <h3>{% trans "Tag" %}: <b>{{ tag.value }}</b></h3> | ||
26 | {% endif %} | ||
27 | |||
28 | {% if entries is empty %} | ||
29 | <div class="messages warning"><p>{% trans "No articles found." %}</p></div> | ||
30 | {% else %} | ||
31 | {% block pager %} | ||
32 | {% if nb_results > 1 %} | ||
33 | <div class="results"> | ||
34 | <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %}</div> | ||
35 | {{ page_links | raw }} | ||
36 | </div> | ||
37 | {% elseif nb_results == 1 %} | ||
38 | {% if searchterm is defined %} | ||
39 | <div class="results"> | ||
40 | <div class="nb-results">{% trans "Only one result found for " %} « {{ searchterm }} »</div> | ||
41 | </div> | ||
42 | {% endif %} | ||
43 | {% endif %} | ||
44 | {% endblock %} | ||
45 | {% for entry in entries %} | ||
46 | <div id="entry-{{ entry.id|e }}" class="entrie"> | ||
47 | <h2><a href="index.php?view=view&id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2> | ||
48 | <ul class="tools"> | ||
49 | <li><a title="{% trans "Toggle mark as read" %}" class="tool {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "Toggle mark as read" %}</span></a></li> | ||
50 | <li><a title="{% trans "toggle favorite" %}" class="tool {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li> | ||
51 | <li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li> | ||
52 | <li><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}" class="tool link"><span>{{ entry.url | e | getDomain }}</span></a></li> | ||
53 | <li><a target="_blank" title="{% trans "estimated reading time:" %} {{ entry.content| getReadingTime }} min" class="reading-time"><span>{{ entry.content| getReadingTime }} min</span></a></li> | ||
54 | </ul> | ||
55 | <p>{{ entry.content|striptags|slice(0, 300) }}...</p> | ||
56 | </div> | ||
57 | {% endfor %} | ||
58 | |||
59 | {{ block('pager') }} | ||
60 | {% if view == 'home' %}{% if nb_results > 1 %}<p><a title="{% trans "Mark all the entries as read" %}" href="./?action=archive_all">{% trans "Mark all the entries as read" %}</a></p>{% endif %}{% endif %} | ||
61 | {% if searchterm is defined %}<a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}">{% trans "Tag these results as" %} {{ searchterm }}</a>{% endif %}<br /> | ||
62 | |||
63 | {% if searchterm is defined %}<a title="{% trans "Delete results matching" %} {{ searchterm }}" href="./?action=delete&search={{ searchterm }}">{% trans "Delete results matching" %} {{ searchterm }}</a>{% endif %}<br /> | ||
64 | |||
65 | {% if tag %}<a title="{% trans "Mark all articles from this tag as read" %}" href="./?action=toggle_archive&tag_id={{ tag.id }}">{% trans "Mark all articles from this tag as read" %}</a><br />{% endif %} | ||
66 | |||
67 | {% if tag %} | ||
68 | {% if constant('EPUB') == 1 %}<a title="{% trans "Download the articles from this tag in an epub file" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download as ePub3" %}</a>{% endif %} | ||
69 | {% if constant('MOBI') == 1 %}<a title="{% trans "Download the articles from this tag in a mobi file" %}" href="./?mobi&method=tag&value={{ tag.value }}">{% trans "Download as Mobi" %}</a>{% endif %} | ||
70 | {% if constant('PDF') == 1 %}<a title="{% trans "Download the articles from this tag in a pdf file" %}" href="./?pdf&method=tag&value={{ tag.value }}">{% trans "Download as PDF" %}</a>{% endif %} | ||
71 | {% elseif searchterm is defined %} | ||
72 | {% if constant('EPUB') == 1 %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ searchterm }}">{% trans "Download as ePub3" %}</a>{% endif %} | ||
73 | {% if constant('MOBI') == 1 %}<a title="{% trans "Download the articles from this search in a mobi file" %}" href="./?mobi&method=search&value={{ searchterm }}">{% trans "Download as Mobi" %}</a>{% endif %} | ||
74 | {% if constant('PDF') == 1 %}<a title="{% trans "Download the articles from this search in a pdf file" %}" href="./?pdf&method=search&value={{ searchterm }}">{% trans "Download as PDF" %}</a>{% endif %} | ||
75 | {% else %} | ||
76 | {% if constant('EPUB') == 1 %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download as ePub3" %}</a>{% endif %} | ||
77 | {% if constant('MOBI') == 1 %}<a title="{% trans "Download the articles from this category in a mobi file" %}" href="./?mobi&method=category&value={{ view }}">{% trans "Download as Mobi" %}</a>{% endif %} | ||
78 | {% if constant('PDF') == 1 %}<a title="{% trans "Download the articles from this category in a pdf file" %}" href="./?pdf&method=category&value={{ view }}">{% trans "Download as PDF" %}</a>{% endif %} | ||
79 | {% endif %} | ||
80 | |||
81 | {% endif %} | ||
82 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/install.twig b/src/Wallabag/Wallabag/Resources/views/default/install.twig deleted file mode 100644 index c89c7e47..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/install.twig +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | {% block title %}{% trans "installation" %}{% endblock %} | ||
3 | {% block content %} | ||
4 | <form method="post" action="?install" name="loginform"> | ||
5 | <fieldset class="w500p center"> | ||
6 | <h2 class="mbs txtcenter">{% trans "install your wallabag" %}</h2> | ||
7 | <p> | ||
8 | {% trans "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation on wallabag website</a>." %} | ||
9 | </p> | ||
10 | <p class="row"> | ||
11 | <label class="col w150p" for="login">{% trans "Login" %}</label> | ||
12 | <input class="col" type="text" id="login" name="login" placeholder="Login" tabindex="1" autofocus /> | ||
13 | </p> | ||
14 | <p class="row"> | ||
15 | <label class="col w150p" for="password">{% trans "Password" %}</label> | ||
16 | <input class="col" type="password" id="password" name="password" placeholder="Password" tabindex="2"> | ||
17 | </p> | ||
18 | <p class="row"> | ||
19 | <label class="col w150p" for="password_repeat">{% trans "Repeat your password" %}</label> | ||
20 | <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="Password" tabindex="3"> | ||
21 | </p> | ||
22 | <p class="row mts txtcenter"> | ||
23 | <button class="bouton" type="submit" tabindex="4">{% trans "Install" %}</button> | ||
24 | </p> | ||
25 | </fieldset> | ||
26 | <input type="hidden" name="token" value="{{ token }}"> | ||
27 | </form> | ||
28 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/layout.twig b/src/Wallabag/Wallabag/Resources/views/default/layout.twig deleted file mode 100644 index dfebc3ea..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/layout.twig +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <!--[if lte IE 6]><html class="no-js ie6 ie67 ie678" lang="{{ lang }}"><![endif]--> | ||
3 | <!--[if lte IE 7]><html class="no-js ie7 ie67 ie678" lang="{{ lang }}"><![endif]--> | ||
4 | <!--[if IE 8]><html class="no-js ie8 ie678" lang="{{ lang }}"><![endif]--> | ||
5 | <!--[if gt IE 8]><html class="no-js" lang="{{ lang }}"><![endif]--> | ||
6 | <html lang="{{ lang }}"> | ||
7 | <head> | ||
8 | <meta name="viewport" content="initial-scale=1.0"> | ||
9 | <meta charset="utf-8"> | ||
10 | <!--[if IE]> | ||
11 | <meta http-equiv="X-UA-Compatible" content="IE=10"> | ||
12 | <![endif]--> | ||
13 | <title>{% block title %}{% endblock %} - wallabag</title> | ||
14 | {% include '_head.twig' %} | ||
15 | {% include '_bookmarklet.twig' %} | ||
16 | </head> | ||
17 | <body> | ||
18 | {% include '_top.twig' %} | ||
19 | <div id="main"> | ||
20 | {% block menu %}{% endblock %} | ||
21 | {% block precontent %}{% endblock %} | ||
22 | {% block messages %} | ||
23 | {% include '_messages.twig' %} | ||
24 | {% endblock %} | ||
25 | <div id="content" class="w600p center"> | ||
26 | {% block content %}{% endblock %} | ||
27 | </div> | ||
28 | </div> | ||
29 | {% include '_footer.twig' %} | ||
30 | </body> | ||
31 | </html> \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/login.twig b/src/Wallabag/Wallabag/Resources/views/default/login.twig deleted file mode 100644 index b9f8b497..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/login.twig +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | |||
3 | {% block title %}{% trans "login to your wallabag" %}{% endblock %} | ||
4 | {% block content %} | ||
5 | {% if http_auth == 0 %} | ||
6 | <form method="post" action="?login" name="loginform"> | ||
7 | <fieldset class="w500p center"> | ||
8 | <h2 class="mbs txtcenter">{% trans "Login to wallabag" %}</h2> | ||
9 | {% if constant('MODE_DEMO') == 1 %}<p>{% trans "you are in demo mode, some features may be disabled." %}</p>{% endif %} | ||
10 | <div class="row"> | ||
11 | <label class="col w150p" for="login">{% trans "Username" %}</label> | ||
12 | <input class="col" type="text" id="login" name="login" placeholder="Login" tabindex="1" autofocus {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} /> | ||
13 | </div> | ||
14 | |||
15 | <div class="row"> | ||
16 | <label class="col w150p" for="password">{% trans "Password" %}</label> | ||
17 | <input class="col" type="password" id="password" name="password" placeholder="Password" tabindex="2" {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} /> | ||
18 | </div> | ||
19 | <div class="row"> | ||
20 | <label class="col w150p" for="longlastingsession">{% trans "Stay signed in" %}</label> | ||
21 | <div class="col"> | ||
22 | <input type="checkbox" id="longlastingsession" name="longlastingsession" tabindex="3"> | ||
23 | <small class="inbl">{% trans "(Do not check on public computers)" %}</small> | ||
24 | </div> | ||
25 | </div> | ||
26 | <div class="row mts txtcenter"> | ||
27 | <button class="bouton" type="submit" tabindex="4">{% trans "Sign in" %}</button> | ||
28 | </div> | ||
29 | </fieldset> | ||
30 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
31 | <input type="hidden" name="token" value="{{ token }}"> | ||
32 | </form> | ||
33 | {% endif %} | ||
34 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/animated-overlay.gif b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/animated-overlay.gif deleted file mode 100644 index d441f75e..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/animated-overlay.gif +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_flat_0_aaaaaa_40x100.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_flat_0_aaaaaa_40x100.png deleted file mode 100644 index 9f10cb65..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_flat_0_aaaaaa_40x100.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_flat_75_ffffff_40x100.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_flat_75_ffffff_40x100.png deleted file mode 100644 index b89b914b..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_flat_75_ffffff_40x100.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_55_fbf9ee_1x400.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_55_fbf9ee_1x400.png deleted file mode 100644 index 780d3ffd..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_55_fbf9ee_1x400.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_65_ffffff_1x400.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_65_ffffff_1x400.png deleted file mode 100644 index da53255b..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_65_ffffff_1x400.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_75_dadada_1x400.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_75_dadada_1x400.png deleted file mode 100644 index f6306608..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_75_dadada_1x400.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_75_e6e6e6_1x400.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_75_e6e6e6_1x400.png deleted file mode 100644 index 7d347065..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_75_e6e6e6_1x400.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_95_fef1ec_1x400.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_95_fef1ec_1x400.png deleted file mode 100644 index 533c4900..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_glass_95_fef1ec_1x400.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png deleted file mode 100644 index bf3a9481..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_222222_256x240.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_222222_256x240.png deleted file mode 100644 index c1cb1170..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_222222_256x240.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_2e83ff_256x240.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_2e83ff_256x240.png deleted file mode 100644 index 84b601bf..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_2e83ff_256x240.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_454545_256x240.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_454545_256x240.png deleted file mode 100644 index b6db1acd..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_454545_256x240.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_888888_256x240.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_888888_256x240.png deleted file mode 100644 index feea0e20..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_888888_256x240.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_cd0a0a_256x240.png b/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_cd0a0a_256x240.png deleted file mode 100644 index ed5b6b09..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/images/ui-icons_cd0a0a_256x240.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/knacss.css b/src/Wallabag/Wallabag/Resources/views/default/public/css/knacss.css deleted file mode 100644 index ca0696b7..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/knacss.css +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | html{font-size:62.5%}body{font-family:"Century Gothic",helvetica,arial,sans-serif;font-size:1.4em;line-height:1.5;color:#000;background-color:#FFF}p,ul,ol,dl,blockquote,pre,td,th,label,textarea,caption,details,figure,hgroup{margin:.75em 0 0;font-size:1em;line-height:1.5}h1,.h1-like{margin:.8077em 0 0 0;font-size:1.8571em;font-weight:normal;line-height:1.6154em}h2,.h2-like{margin:.875em 0 0 0;font-size:1.7143em;font-weight:normal;line-height:1.75em}h3,.h3-like{margin:.9545em 0 0 0;font-size:1.5714em;font-weight:normal;line-height:1.909em}h4,.h4-like{margin:1.05em 0 0 0;font-size:1.4286em;font-weight:normal;line-height:1.05em}h5,.h5-like{margin:1.1667em 0 0 0;font-size:1.2857em;font-weight:normal;line-height:1.1667em}h6,.h6-like{margin:1.3125em 0 0 0;font-size:1.1429em;font-weight:normal;line-height:1.3125em}.smaller{font-size:.7143em}.small{font-size:.8571em}.big{font-size:1.1429em}.bigger{font-size:1.2857em}.biggest{font-size:1.4286em}html,body,textarea,figure,label{margin:0;padding:0}ul,ol{padding-left:2em}code,pre,samp,kbd{font-family:consolas,'DejaVu Sans Mono',courier,monospace;line-height:1em;white-space:pre-wrap}code,kbd,mark{border-radius:2px}em{font-style:italic}strong{font-weight:bold}kbd{padding:0 2px;border:1px solid #999}code{padding:2px 4px;color:#B11;background:rgba(0,0,0,.04)}mark{padding:2px 4px;background:#FF0}table{margin-bottom:1.5em}p:first-child,ul:first-child,ol:first-child,dl:first-child,blockquote:first-child,pre:first-child,h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}li p,li ul,li ol{margin-top:0;margin-bottom:0}img,table,td,blockquote,code,pre,textarea,input,video{max-width:100%}div,textarea,table,td,th,code,pre,samp{word-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;-o-hyphens:auto;hyphens:auto}img{height:auto;vertical-align:middle}#map_canvas img,.gmnoprint img{max-width:none}a img{border:0}body > script{display:none !important}.skip-links{position:absolute}.skip-links a{position:absolute;left:-7000px;padding:.5em;text-decoration:none;color:#FFF;background:#000}.skip-links a:focus{position:static}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mod,.item{overflow:hidden}.row{display:table;width:100%;table-layout:fixed}.row > *,.col{display:table-cell;vertical-align:top}.clear,.line,.row{clear:both}.clearfix:after,.line:after,.mod:after{content:"";display:table;clear:both}.left{float:left}img.left{margin-right:1em}.right{float:right}img.right{margin-left:1em}img.left,img.right{margin-bottom:5px}.center{margin-right:auto;margin-left:auto}.txtleft{text-align:left}.txtright{text-align:right}.txtcenter{text-align:center}.inbl{display:inline-block;margin-right:-.25em;vertical-align:top}.w10{width:10%}.w20{width:20%}.w25{width:25%}.w30{width:30%}.w33{width:33.333%}.w40{width:40%}.w50{width:50%}.w60{width:60%}.w66{width:66.666%}.w70{width:70%}.w75{width:75%}.w80{width:80%}.w90{width:90%}.w100{width:100%}.w50p{width:50px}.w100p{width:100px}.w150p{width:150px}.w200p{width:200px}.w300p{width:300px}.w400p{width:400px}.w500p{width:500px}.w600p{width:600px}.w700p{width:700px}.w800p{width:800px}.w960p{width:960px}.mw960p{max-width:960px}.m-reset,.ma0{margin:0 !important}.p-reset,.pa0{padding:0 !important}.ma1,.mas{margin:10px !important}.ma2,.mam{margin:20px !important}.ma3,.mal{margin:30px !important}.pa1,.pas{padding:10px}.pa2,.pam{padding:20px}.pa3,.pal{padding:30px}.mt0,.mtn{margin-top:0 !important}.mt1,.mts{margin-top:10px !important}.mt2,.mtm{margin-top:20px !important}.mt3,.mtl{margin-top:30px !important}.mr0,.mrn{margin-right:0}.mr1,.mrs{margin-right:10px}.mr2,.mrm{margin-right:20px}.mr3,.mrl{margin-right:30px}.mb0,.mbn{margin-bottom:0 !important}.mb1,.mbs{margin-bottom:10px !important}.mb2,.mbm{margin-bottom:20px !important}.mb3,.mbl{margin-bottom:30px !important}.ml0,.mln{margin-left:0}.ml1,.mls{margin-left:10px}.ml2,.mlm{margin-left:20px}.ml3,.mll{margin-left:30px}.pt0,.ptn{padding-top:0}.pt1,.pts{padding-top:10px}.pt2,.ptm{padding-top:20px}.pt3,.ptl{padding-top:30px}.pr0,.prn{padding-right:0}.pr1,.prs{padding-right:10px}.pr2,.prm{padding-right:20px}.pr3,.prl{padding-right:30px}.pb0,.pbn{padding-bottom:0}.pb1,.pbs{padding-bottom:10px}.pb2,.pbm{padding-bottom:20px}.pb3,.pbl{padding-bottom:30px}.pl0,.pln{padding-left:0}.pl1,.pls{padding-left:10px}.pl2,.plm{padding-left:20px}.pl3,.pll{padding-left:30px}.visually-hidden{position:absolute;left:-7000px;overflow:hidden}[dir=rtl] .visually-hidden{right:-7000px;left:auto}.desktop-hidden{display:none}form,fieldset{border:none}input,button,select,label,.btn{font-family:inherit;vertical-align:middle}textarea{font-family:inherit;resize:vertical}.ie67 .clearfix,.ie67 .line,.ie67 .mod,.ie67 .row,.ie67 .col{zoom:1}.ie67 .btn,.ie67 .col,.ie67 .inbl{display:inline;zoom:1}.ie8 img{width:auto}@media print{p,blockquote{orphans:2;widows:2}blockquote,ul,ol{page-break-inside:avoid}h1,h2,h3,caption{page-break-after:avoid}}@media(orientation:landscape)and(max-device-width:768px){html,body{-webkit-text-size-adjust:100%}}[class*=grid] > *{float:left}[class*=grid] > * + *{margin-left:2%}.grid2 > *{width:49%}.grid3 > *{width:32%}.grid4 > *{width:23.5%}.grid5 > *{width:18.4%}.grid6 > *{width:15%}.grid2-1 > *:first-child,.grid1-2 > * + *{width:66%}.grid1-2 > *:first-child,.grid2-1 > * + *{width:32%}.grid1-3 > *:first-child,.grid3-1 > * + *{width:23.5%}.grid3-1 > *:first-child,.grid1-3 > * + *{width:74.5%}table,.table{max-width:100%;border-collapse:collapse;table-layout:fixed;vertical-align:top}table{width:100%}.table{display:table}caption{padding:10px;font-style:italic;color:#555}table{border:1px solid #CCC}tr > * + *{border-left:1px solid #CCC}th,td{padding:.3em .8em;border-bottom:1px solid #CCC;text-align:left}td{color:#333}.alternate{border:0}.alternate tbody{border:1px solid #CCC}.alternate thead tr > * + *{border-left:0}.alternate tbody tr > * + *{border-left:1px solid #CCC}.alternate-vert{border:0;border-right:1px solid #CCC}.alternate-vert tr >:first-child{border-bottom:0}.alternate-vert tr > * + *{border-top:1px solid #CCC}.striped tbody tr:nth-child(odd){background:#EEE;background:rgba(0,0,0,.05)}.striped-vert tr >:first-child{background:#EEE;background:rgba(0,0,0,.05)}.btn{display:inline-block}label{display:inline-block;vertical-align:middle;cursor:pointer}legend{border:0;white-space:normal}button,input,select{margin:0;font-family:"Century Gothic",helvetica,arial,sans-serif;font-size:100%;vertical-align:middle}textarea{min-height:5em;overflow:auto;font-size:1.75em;vertical-align:top;resize:vertical}}ol.styled{counter-reset:styled}ol.styled > li{counter-increment:styled;margin-bottom:.3em;list-style-type:none}ol.styled > li:before{content:counter(styled);display:inline-block;width:1em;height:1em;margin-right:.4em;padding:2px;border-radius:50%;text-align:center;text-indent:-.1em;font-size:.9em;line-height:1;vertical-align:middle;color:#FFF;background:rgba(0,0,0,.5)}@media(min-width:1280px){.large-hidden,.tablet-hidden{display:none !important}.large-visible{display:block !important}.large-no-float{float:none}.large-inbl{display:inline-block;float:none;vertical-align:top}.large-row{display:table;width:100% !important;table-layout:fixed}.large-col{display:table-cell;vertical-align:top}.large-w25{width:25% !important}.large-w33{width:33.3333% !important}.large-w50{width:50% !important}.large-w66{width:66.6666% !important}.large-w75{width:75% !important}.large-w100{display:block !important;float:none !important;clear:none !important;width:auto !important;margin-right:0 !important;margin-left:0 !important;border:0}.large-ma0,.large-man{margin:0 !important}}@media(max-width:768px){.w60,.w66,.w70,.w75,.w80,.w90,.w100,.w600p,.w700p,.w800p,.w960p,.mw960p,.medium-wauto{width:auto}.medium-hidden,.tablet-hidden{display:none !important}.medium-visible{display:block !important}.medium-no-float{float:none}.medium-inbl{display:inline-block;float:none;vertical-align:top}.medium-row{display:table;width:100% !important;table-layout:fixed}.medium-col{display:table-cell;vertical-align:top}.medium-w25{width:25% !important}.medium-w33{width:33.3333% !important}.medium-w50{width:50% !important}.medium-w66{width:66.6666% !important}.medium-w75{width:75% !important}.medium-w100{display:block !important;float:none !important;clear:none !important;width:auto !important;margin-right:0 !important;margin-left:0 !important;border:0}.medium-ma0,.medium-man{margin:0 !important}.grid4 > *{width:49% !important}.grid4 >:first-child + * + *{margin-left:0 !important}.grid6 > *{width:32% !important}.grid6 >:first-child + * + * + *{margin-left:0 !important}}@media(max-width:640px){.mod,.item,.col,fieldset{display:block !important;float:none !important;clear:none !important;width:auto !important;margin-right:0 !important;margin-left:0 !important;border:0}.w30,.w33,.w40,.w50,.w300p,.w400p,.w500p{width:auto}.row{display:block !important;width:100% !important}.tiny-hidden,.phone-hidden{display:none !important}.tiny-visible{display:block !important}.tiny-no-float{float:none}.tiny-inbl{display:inline-block;float:none;vertical-align:top}.tiny-row{display:table;width:100% !important;table-layout:fixed}.tiny-col{display:table-cell;vertical-align:top}th,td{display:block !important;width:auto !important;text-align:left !important}thead{display:none}.tiny-w25{width:25% !important}.tiny-w33{width:33.3333% !important}.tiny-w50{width:50% !important}.tiny-w66{width:66.6666% !important}.tiny-w75{width:75% !important}.tiny-w100{display:block !important;float:none !important;clear:none !important;width:auto !important;margin-right:0 !important;margin-left:0 !important;border:0}.tiny-ma0,.tiny-man{margin:0 !important}} \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/messages.css b/src/Wallabag/Wallabag/Resources/views/default/public/css/messages.css deleted file mode 100644 index 46b54795..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/messages.css +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
1 | .messages { | ||
2 | display: block; | ||
3 | clear: both; | ||
4 | width: 400px; | ||
5 | margin: 10px auto 10px; | ||
6 | padding: 10px 0; | ||
7 | -moz-border-radius: 4px; | ||
8 | border-radius: 4px; | ||
9 | } | ||
10 | |||
11 | .messages a.closeMessage { | ||
12 | display: none; | ||
13 | float: right; | ||
14 | width: 16px; | ||
15 | height: 16px; | ||
16 | margin: -14px -8px 0 0; | ||
17 | background: url(../img/messages/close.png) no-repeat; | ||
18 | } | ||
19 | |||
20 | /*.messages:hover a.closeMessage { visibility:visible; }*/ | ||
21 | |||
22 | .messages p { | ||
23 | margin: 3px 0 3px 10px !important; | ||
24 | padding: 0 10px 0 23px !important; | ||
25 | font-size: 14px; | ||
26 | line-height: 16px; | ||
27 | } | ||
28 | |||
29 | .messages.error { | ||
30 | border: 1px solid #c42608; | ||
31 | color: #c00 !important; | ||
32 | background: #fff0ef; | ||
33 | } | ||
34 | |||
35 | .messages.error p { | ||
36 | color: #c00 !important; | ||
37 | background: url(../img/messages/cross.png) no-repeat 0 50%; | ||
38 | } | ||
39 | |||
40 | .messages.success { | ||
41 | border: 1px solid #6dc70c; | ||
42 | background: #e0fbcc; | ||
43 | } | ||
44 | |||
45 | .messages.success p { | ||
46 | color: #2b6301 !important; | ||
47 | background: url(../img/messages/tick.png) no-repeat 0 50%; | ||
48 | } | ||
49 | |||
50 | .messages.warning { | ||
51 | border: 1px solid #ebcd41; | ||
52 | color: #000; | ||
53 | background: #fffcd3; | ||
54 | } | ||
55 | |||
56 | .messages.warning p { | ||
57 | color: #5f4e01; | ||
58 | background: url(../img/messages/warning.png) no-repeat 0 50%; | ||
59 | } | ||
60 | |||
61 | .messages.information, | ||
62 | .messages.info { | ||
63 | border: 1px solid #82aee7; | ||
64 | background: #dfebfb; | ||
65 | } | ||
66 | |||
67 | .messages.information p, | ||
68 | .messages.info p { | ||
69 | color: #064393; | ||
70 | background: url(../img/messages/help.png) no-repeat 0 50%; | ||
71 | } | ||
72 | |||
73 | .messages.information a { | ||
74 | text-decoration: underline; | ||
75 | } | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/print.css b/src/Wallabag/Wallabag/Resources/views/default/public/css/print.css deleted file mode 100644 index 625478e1..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/print.css +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | /* ### Layout ### */ | ||
2 | |||
3 | body { | ||
4 | font-family: Serif; | ||
5 | background-color: #fff; | ||
6 | } | ||
7 | |||
8 | @page { | ||
9 | margin: 1cm; | ||
10 | } | ||
11 | |||
12 | img { | ||
13 | max-width: 100% !important; | ||
14 | } | ||
15 | |||
16 | /* ### Content ### */ | ||
17 | |||
18 | /* Hide useless blocks */ | ||
19 | body > header, | ||
20 | #links, | ||
21 | #sort, | ||
22 | body > footer, | ||
23 | .top_link, | ||
24 | div.tools, | ||
25 | header div, | ||
26 | .messages, | ||
27 | .entrie + .results, | ||
28 | #article_toolbar { | ||
29 | display: none !important; | ||
30 | } | ||
31 | |||
32 | article { | ||
33 | border: none !important; | ||
34 | } | ||
35 | |||
36 | pre code { | ||
37 | line-height: 1.6em; | ||
38 | } | ||
39 | |||
40 | /* Add URL after links */ | ||
41 | .vieworiginal a:after { | ||
42 | content: " (" attr(href) ")"; | ||
43 | } | ||
44 | |||
45 | /* Add explanation after abbr */ | ||
46 | abbr[title]:after { | ||
47 | content: " (" attr(title) ")"; | ||
48 | } | ||
49 | |||
50 | /* Change border on current pager item */ | ||
51 | .pagination span.current { | ||
52 | border-style: dashed; | ||
53 | } | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/style-default.css b/src/Wallabag/Wallabag/Resources/views/default/public/css/style-default.css deleted file mode 100755 index 4406d48f..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/style-default.css +++ /dev/null | |||
@@ -1,69 +0,0 @@ | |||
1 | a.back span { | ||
2 | background-image: url('../img/default/left.png'); | ||
3 | } | ||
4 | |||
5 | a.top span { | ||
6 | background-image: url('../img/default/top.png'); | ||
7 | } | ||
8 | |||
9 | a.fav span, | ||
10 | a.fav-off span:hover { | ||
11 | background-image: url('../img/default/star-on.png'); | ||
12 | } | ||
13 | |||
14 | a.fav span:hover, | ||
15 | a.fav-off span { | ||
16 | background-image: url('../img/default/star-off.png'); | ||
17 | } | ||
18 | |||
19 | a.archive span, | ||
20 | a.archive-off span:hover { | ||
21 | background-image: url('../img/default/checkmark-on.png'); | ||
22 | } | ||
23 | |||
24 | a.archive span:hover, | ||
25 | a.archive-off span { | ||
26 | background-image: url('../img/default/checkmark-off.png'); | ||
27 | } | ||
28 | |||
29 | a.twitter span { | ||
30 | background-image: url('../img/default/twitter.png'); | ||
31 | } | ||
32 | |||
33 | a.shaarli span { | ||
34 | background-image: url('../img/default/shaarli.png'); | ||
35 | } | ||
36 | |||
37 | a.flattr span { | ||
38 | background-image: url('../img/default/flattr.png'); | ||
39 | } | ||
40 | |||
41 | a.carrot span { | ||
42 | background-image: url('../../_global/img/icons/carrot-icon--black.png'); | ||
43 | background-size: 16px 16px; | ||
44 | } | ||
45 | |||
46 | a.diaspora span { | ||
47 | background-image: url('../../_global/img/icons/diaspora-icon--black.png'); | ||
48 | background-size: 16px 16px; | ||
49 | } | ||
50 | |||
51 | a.email span { | ||
52 | background-image: url('../img/default/envelop.png'); | ||
53 | } | ||
54 | |||
55 | a.delete span { | ||
56 | background-image: url('../img/default/remove.png'); | ||
57 | } | ||
58 | |||
59 | a.link span { | ||
60 | background-image: url('../img/default/link.png'); | ||
61 | } | ||
62 | |||
63 | a.bad-display span { | ||
64 | background-image: url('../img/default/bad-display.png'); | ||
65 | } | ||
66 | |||
67 | a.print span { | ||
68 | background-image: url('../img/default/print.png'); | ||
69 | } | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/css/style.css b/src/Wallabag/Wallabag/Resources/views/default/public/css/style.css deleted file mode 100755 index b25373d6..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/css/style.css +++ /dev/null | |||
@@ -1,447 +0,0 @@ | |||
1 | @font-face { | ||
2 | font-family: 'Roboto'; | ||
3 | font-style: normal; | ||
4 | font-weight: 400; | ||
5 | src: local('Roboto Regular'), local('Roboto-Regular'), url(../fonts/Roboto.woff) format('woff'); | ||
6 | } | ||
7 | |||
8 | |||
9 | |||
10 | body { | ||
11 | margin: 10px; | ||
12 | font-family: 'Roboto',Verdana,Geneva,sans-serif; | ||
13 | font-size: 16px; | ||
14 | color: #000; | ||
15 | } | ||
16 | |||
17 | header { | ||
18 | text-align: center; | ||
19 | } | ||
20 | |||
21 | header h1 { | ||
22 | font-size: 1.3em; | ||
23 | } | ||
24 | |||
25 | a, | ||
26 | a:hover, | ||
27 | a:visited { | ||
28 | color: #000; | ||
29 | } | ||
30 | |||
31 | .bouton { | ||
32 | border: none; | ||
33 | border-radius: 2px; | ||
34 | color: #fff; | ||
35 | background-color: #000; | ||
36 | } | ||
37 | |||
38 | .bouton:hover { | ||
39 | color: #f1f1f1; | ||
40 | background-color: #222; | ||
41 | cursor: pointer; | ||
42 | } | ||
43 | |||
44 | #main { | ||
45 | margin: 0 auto; | ||
46 | } | ||
47 | |||
48 | #main #links { | ||
49 | padding: 0; | ||
50 | text-align: center; | ||
51 | font-size: 0.9em; | ||
52 | list-style-type: none; | ||
53 | } | ||
54 | |||
55 | #main #links li { | ||
56 | display: inline; | ||
57 | } | ||
58 | |||
59 | #main #links li .current { | ||
60 | -webkit-border-radius: 2px; | ||
61 | border-radius: 2px; | ||
62 | color: #fff; | ||
63 | background-color: #000; | ||
64 | } | ||
65 | |||
66 | #main #sort { | ||
67 | padding: 0; | ||
68 | text-align: center; | ||
69 | list-style-type: none; | ||
70 | opacity: 0.5; | ||
71 | } | ||
72 | |||
73 | #main #sort li { | ||
74 | display: inline; | ||
75 | font-size: 0.9em; | ||
76 | } | ||
77 | |||
78 | #main #sort li + li { | ||
79 | margin-left: 10px; | ||
80 | } | ||
81 | |||
82 | #main #sort a { | ||
83 | padding: 2px 2px 0; | ||
84 | vertical-align: middle; | ||
85 | } | ||
86 | |||
87 | #main #sort img { | ||
88 | vertical-align: baseline; | ||
89 | } | ||
90 | #main #sort img:hover { | ||
91 | cursor: pointer; | ||
92 | } | ||
93 | |||
94 | #links a { | ||
95 | padding: 5px 10px; | ||
96 | text-decoration: none; | ||
97 | } | ||
98 | |||
99 | #links a:hover { | ||
100 | -webkit-border-radius: 2px; | ||
101 | border-radius: 2px; | ||
102 | color: #f1f1f1; | ||
103 | background-color: #040707; | ||
104 | } | ||
105 | |||
106 | /*** ***/ | ||
107 | |||
108 | /*** LINKS DISPLAY ***/ | ||
109 | |||
110 | #main .tool { | ||
111 | text-decoration: none; | ||
112 | cursor: pointer; | ||
113 | } | ||
114 | |||
115 | #main #content { | ||
116 | margin-top: 20px; | ||
117 | } | ||
118 | |||
119 | #main #content h2 { | ||
120 | text-decoration: none; | ||
121 | font-size: 1.3em; | ||
122 | } | ||
123 | |||
124 | #main #content .entrie { | ||
125 | margin-top: 15px; | ||
126 | padding-bottom: 15px; | ||
127 | border-bottom: 1px dashed #222; | ||
128 | overflow: hidden; | ||
129 | } | ||
130 | |||
131 | /* First entry */ | ||
132 | #main #content .results + .entrie { | ||
133 | clear: both; | ||
134 | margin-top: 0; | ||
135 | } | ||
136 | |||
137 | #main .entrie .tools { | ||
138 | float: right; | ||
139 | text-align: right; | ||
140 | list-style-type: none; | ||
141 | opacity: 0.5; | ||
142 | } | ||
143 | |||
144 | #main .entrie .tools .tool span { | ||
145 | display: inline-block; | ||
146 | width: 16px; | ||
147 | height: 16px; | ||
148 | /* Hide textual content */ | ||
149 | overflow: hidden; | ||
150 | text-align: left; | ||
151 | text-indent: -9999px; | ||
152 | } | ||
153 | |||
154 | /*** ***/ | ||
155 | |||
156 | /*** ARTICLE PAGE ***/ | ||
157 | |||
158 | #article { | ||
159 | margin: 0 auto; | ||
160 | } | ||
161 | |||
162 | #article header { | ||
163 | border-bottom: 1px solid #222; | ||
164 | } | ||
165 | |||
166 | #article header { | ||
167 | text-align: left; | ||
168 | } | ||
169 | |||
170 | #article header h1 small { | ||
171 | float: right; | ||
172 | font-size: 0.6em; | ||
173 | } | ||
174 | |||
175 | #article header a { | ||
176 | text-decoration: none; | ||
177 | } | ||
178 | |||
179 | #article .tags { | ||
180 | font-size: 0.8em; | ||
181 | color: #888; | ||
182 | padding-bottom: 5px; | ||
183 | } | ||
184 | |||
185 | .backhome { | ||
186 | display: inline; | ||
187 | } | ||
188 | |||
189 | .results { | ||
190 | padding: 15px 0; | ||
191 | overflow: hidden; | ||
192 | } | ||
193 | |||
194 | .nb-results { | ||
195 | float: left; | ||
196 | font-size: 0.9em; | ||
197 | line-height: 24px; | ||
198 | vertical-align: middle; | ||
199 | } | ||
200 | |||
201 | #article_toolbar { | ||
202 | position: fixed; | ||
203 | bottom: 0; | ||
204 | left: 0; | ||
205 | width: 100%; | ||
206 | min-height: 50px; | ||
207 | padding-top: 17px; | ||
208 | text-align: center; | ||
209 | color: #fff; | ||
210 | opacity: 0.8; | ||
211 | background: #fff; | ||
212 | } | ||
213 | |||
214 | #article_toolbar li { | ||
215 | display: inline; | ||
216 | padding-right: 30px; | ||
217 | } | ||
218 | |||
219 | #article_toolbar .tool { | ||
220 | padding: 0 2px; | ||
221 | } | ||
222 | |||
223 | #article_toolbar .tool span { | ||
224 | display: inline-block; | ||
225 | width: 16px; | ||
226 | height: 16px; | ||
227 | /* Hide textual content */ | ||
228 | overflow: hidden; | ||
229 | text-align: left; | ||
230 | text-indent: -9999px; | ||
231 | } | ||
232 | |||
233 | /*** ***/ | ||
234 | |||
235 | /*** PAGINATION ***/ | ||
236 | |||
237 | .pagination { | ||
238 | float: right; | ||
239 | text-align: right; | ||
240 | } | ||
241 | |||
242 | .pagination a { | ||
243 | height: 25px; | ||
244 | margin: 2px; | ||
245 | padding: 4px 8px; | ||
246 | border: 1px solid #d5d5d5; | ||
247 | text-decoration: none; | ||
248 | font-size: 11px; | ||
249 | font-weight: bold; | ||
250 | color: #333; | ||
251 | } | ||
252 | |||
253 | .pagination a:hover, | ||
254 | .pagination a:active { | ||
255 | background-color: #efefef; | ||
256 | } | ||
257 | |||
258 | .pagination .current { | ||
259 | height: 25px; | ||
260 | margin: 2px; | ||
261 | padding: 4px 8px; | ||
262 | border: 1px solid #d5d5d5; | ||
263 | text-decoration: none; | ||
264 | font-size: 11px; | ||
265 | font-weight: bold; | ||
266 | color: #000; | ||
267 | background-color: #ccc; | ||
268 | } | ||
269 | |||
270 | .pagination .disabled { | ||
271 | display: none; | ||
272 | } | ||
273 | |||
274 | #bookmarklet { | ||
275 | padding: 5px; | ||
276 | border: 1px dashed #808080; | ||
277 | background: #fff; | ||
278 | cursor: move; | ||
279 | } | ||
280 | |||
281 | .top_link { | ||
282 | display: none; | ||
283 | z-index: 2000; | ||
284 | position: fixed; | ||
285 | right: 15px; | ||
286 | bottom: 15px; | ||
287 | padding: 20px; | ||
288 | -webkit-border-radius: 40px; | ||
289 | -moz-border-radius: 40px; | ||
290 | border-radius: 40px; | ||
291 | opacity: 0.9; | ||
292 | background: #ccc; | ||
293 | } | ||
294 | |||
295 | footer { | ||
296 | clear: both; | ||
297 | } | ||
298 | |||
299 | .reading-time { | ||
300 | font-size: 0.8em; | ||
301 | } | ||
302 | |||
303 | #inputform { | ||
304 | display: none; | ||
305 | margin-top: 5px; | ||
306 | margin-right: auto; | ||
307 | margin-left: auto; | ||
308 | padding-bottom: 5px; | ||
309 | max-width: 300px; | ||
310 | border-radius: 3px; | ||
311 | text-align: center; | ||
312 | color: #fff; | ||
313 | opacity: 0.8; | ||
314 | background-color: rgba(0,0,0,0.9); | ||
315 | } | ||
316 | |||
317 | a.back span, | ||
318 | a.top span, | ||
319 | a.fav span, | ||
320 | a.fav span:hover, | ||
321 | a.fav-off span, | ||
322 | a.fav-off span:hover, | ||
323 | a.archive span, | ||
324 | a.archive span:hover, | ||
325 | a.archive-off span, | ||
326 | a.archive-off span:hover, | ||
327 | a.twitter span, | ||
328 | a.shaarli span, | ||
329 | a.flattr span, | ||
330 | a.email span, | ||
331 | a.delete span, | ||
332 | a.link span, | ||
333 | a.bad-display span, | ||
334 | a.reading-time span, | ||
335 | a.print span { | ||
336 | background-repeat: no-repeat; | ||
337 | } | ||
338 | |||
339 | .arrow-down { | ||
340 | width: 0px; | ||
341 | height: 0px; | ||
342 | border-style: solid; | ||
343 | border-width: 10px 10px 0 10px; | ||
344 | border-color: #000 transparent transparent transparent; | ||
345 | |||
346 | position: absolute; | ||
347 | margin-top: 1.5em; | ||
348 | margin-left: -30px; | ||
349 | } | ||
350 | |||
351 | .two-column { | ||
352 | display: block; | ||
353 | width: 50%; | ||
354 | paddig-right: 20px; | ||
355 | float: left; | ||
356 | vertical-align: top; | ||
357 | } | ||
358 | |||
359 | |||
360 | /* ========================================================================== | ||
361 | "save a link" popup div related styles | ||
362 | ========================================================================== */ | ||
363 | |||
364 | #bagit-form { | ||
365 | display: none; | ||
366 | padding-left: 30px; | ||
367 | width: 450px; | ||
368 | |||
369 | } | ||
370 | |||
371 | a#bagit-form-close { | ||
372 | color: #FFF; | ||
373 | display: inline-block; | ||
374 | float: right; | ||
375 | background: url("../img/messages/close.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0); | ||
376 | height: 16px; | ||
377 | margin: -14px -8px 0 0; | ||
378 | width: 16px; | ||
379 | text-decoration: none; | ||
380 | } | ||
381 | |||
382 | |||
383 | .add-to-wallabag-link-after { | ||
384 | background-color: #000; | ||
385 | color: #fff; | ||
386 | padding: 0 4px 1px 3px; | ||
387 | font-weight: bold; | ||
388 | font-size: 0.7em; | ||
389 | border-radius: 4px; | ||
390 | } | ||
391 | .add-to-wallabag-link-after:hover, .add-to-wallabag-link-after:active { | ||
392 | color: #fff; | ||
393 | } | ||
394 | .add-to-wallabag-link-after:visited { | ||
395 | color: #999; | ||
396 | } | ||
397 | a.add-to-wallabag-link-after { | ||
398 | visibility: hidden; | ||
399 | position: absolute; | ||
400 | opacity: 0; | ||
401 | transition-duration: 2s; | ||
402 | transition-timing-function: ease-out; | ||
403 | } | ||
404 | #article article a:hover + a.add-to-wallabag-link-after, a.add-to-wallabag-link-after:hover { | ||
405 | opacity: 1; | ||
406 | visibility: visible; | ||
407 | transition-duration: .3s; | ||
408 | transition-timing-function: ease-in; | ||
409 | } | ||
410 | a.add-to-wallabag-link-after:after { | ||
411 | content: "w"; | ||
412 | } | ||
413 | |||
414 | |||
415 | #add-link-result { | ||
416 | display: inline; | ||
417 | padding-left: 10px; | ||
418 | } | ||
419 | |||
420 | /* ========================================================================== | ||
421 | "Search" popup div related styles | ||
422 | ========================================================================== */ | ||
423 | |||
424 | /* Search form message needs a little more width, depending on translations */ | ||
425 | #search-form { | ||
426 | width: 420px; | ||
427 | } | ||
428 | |||
429 | .opacity03 { | ||
430 | /*opacity: 0.3;*/ | ||
431 | } | ||
432 | |||
433 | #readLeftPercent { | ||
434 | display: inline-block; | ||
435 | /* Show textual content */ | ||
436 | overflow: visible; | ||
437 | text-align: left; | ||
438 | text-indent: 0; | ||
439 | color: black; | ||
440 | width: 50px; | ||
441 | } | ||
442 | |||
443 | pre code { | ||
444 | font-family: "Courier New", Courier, monospace; | ||
445 | border: 1px solid #ddd; | ||
446 | font-size: 0.96em; | ||
447 | } | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/fonts/Roboto.woff b/src/Wallabag/Wallabag/Resources/views/default/public/fonts/Roboto.woff deleted file mode 100644 index 1440b1be..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/fonts/Roboto.woff +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/highlightjs/highlight.pack.js b/src/Wallabag/Wallabag/Resources/views/default/public/highlightjs/highlight.pack.js deleted file mode 100644 index 10a21c34..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/highlightjs/highlight.pack.js +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | var hljs=new function(){function j(v){return v.replace(/&/gm,"&").replace(/</gm,"<").replace(/>/gm,">")}function t(v){return v.nodeName.toLowerCase()}function h(w,x){var v=w&&w.exec(x);return v&&v.index==0}function r(w){var v=(w.className+" "+(w.parentNode?w.parentNode.className:"")).split(/\s+/);v=v.map(function(x){return x.replace(/^lang(uage)?-/,"")});return v.filter(function(x){return i(x)||x=="no-highlight"})[0]}function o(x,y){var v={};for(var w in x){v[w]=x[w]}if(y){for(var w in y){v[w]=y[w]}}return v}function u(x){var v=[];(function w(y,z){for(var A=y.firstChild;A;A=A.nextSibling){if(A.nodeType==3){z+=A.nodeValue.length}else{if(t(A)=="br"){z+=1}else{if(A.nodeType==1){v.push({event:"start",offset:z,node:A});z=w(A,z);v.push({event:"stop",offset:z,node:A})}}}}return z})(x,0);return v}function q(w,y,C){var x=0;var F="";var z=[];function B(){if(!w.length||!y.length){return w.length?w:y}if(w[0].offset!=y[0].offset){return(w[0].offset<y[0].offset)?w:y}return y[0].event=="start"?w:y}function A(H){function G(I){return" "+I.nodeName+'="'+j(I.value)+'"'}F+="<"+t(H)+Array.prototype.map.call(H.attributes,G).join("")+">"}function E(G){F+="</"+t(G)+">"}function v(G){(G.event=="start"?A:E)(G.node)}while(w.length||y.length){var D=B();F+=j(C.substr(x,D[0].offset-x));x=D[0].offset;if(D==w){z.reverse().forEach(E);do{v(D.splice(0,1)[0]);D=B()}while(D==w&&D.length&&D[0].offset==x);z.reverse().forEach(A)}else{if(D[0].event=="start"){z.push(D[0].node)}else{z.pop()}v(D.splice(0,1)[0])}}return F+j(C.substr(x))}function m(y){function v(z){return(z&&z.source)||z}function w(A,z){return RegExp(v(A),"m"+(y.cI?"i":"")+(z?"g":""))}function x(D,C){if(D.compiled){return}D.compiled=true;D.k=D.k||D.bK;if(D.k){var z={};var E=function(G,F){if(y.cI){F=F.toLowerCase()}F.split(" ").forEach(function(H){var I=H.split("|");z[I[0]]=[G,I[1]?Number(I[1]):1]})};if(typeof D.k=="string"){E("keyword",D.k)}else{Object.keys(D.k).forEach(function(F){E(F,D.k[F])})}D.k=z}D.lR=w(D.l||/\b[A-Za-z0-9_]+\b/,true);if(C){if(D.bK){D.b="\\b("+D.bK.split(" ").join("|")+")\\b"}if(!D.b){D.b=/\B|\b/}D.bR=w(D.b);if(!D.e&&!D.eW){D.e=/\B|\b/}if(D.e){D.eR=w(D.e)}D.tE=v(D.e)||"";if(D.eW&&C.tE){D.tE+=(D.e?"|":"")+C.tE}}if(D.i){D.iR=w(D.i)}if(D.r===undefined){D.r=1}if(!D.c){D.c=[]}var B=[];D.c.forEach(function(F){if(F.v){F.v.forEach(function(G){B.push(o(F,G))})}else{B.push(F=="self"?D:F)}});D.c=B;D.c.forEach(function(F){x(F,D)});if(D.starts){x(D.starts,C)}var A=D.c.map(function(F){return F.bK?"\\.?("+F.b+")\\.?":F.b}).concat([D.tE,D.i]).map(v).filter(Boolean);D.t=A.length?w(A.join("|"),true):{exec:function(F){return null}};D.continuation={}}x(y)}function c(S,L,J,R){function v(U,V){for(var T=0;T<V.c.length;T++){if(h(V.c[T].bR,U)){return V.c[T]}}}function z(U,T){if(h(U.eR,T)){return U}if(U.eW){return z(U.parent,T)}}function A(T,U){return !J&&h(U.iR,T)}function E(V,T){var U=M.cI?T[0].toLowerCase():T[0];return V.k.hasOwnProperty(U)&&V.k[U]}function w(Z,X,W,V){var T=V?"":b.classPrefix,U='<span class="'+T,Y=W?"":"</span>";U+=Z+'">';return U+X+Y}function N(){if(!I.k){return j(C)}var T="";var W=0;I.lR.lastIndex=0;var U=I.lR.exec(C);while(U){T+=j(C.substr(W,U.index-W));var V=E(I,U);if(V){H+=V[1];T+=w(V[0],j(U[0]))}else{T+=j(U[0])}W=I.lR.lastIndex;U=I.lR.exec(C)}return T+j(C.substr(W))}function F(){if(I.sL&&!f[I.sL]){return j(C)}var T=I.sL?c(I.sL,C,true,I.continuation.top):e(C);if(I.r>0){H+=T.r}if(I.subLanguageMode=="continuous"){I.continuation.top=T.top}return w(T.language,T.value,false,true)}function Q(){return I.sL!==undefined?F():N()}function P(V,U){var T=V.cN?w(V.cN,"",true):"";if(V.rB){D+=T;C=""}else{if(V.eB){D+=j(U)+T;C=""}else{D+=T;C=U}}I=Object.create(V,{parent:{value:I}})}function G(T,X){C+=T;if(X===undefined){D+=Q();return 0}var V=v(X,I);if(V){D+=Q();P(V,X);return V.rB?0:X.length}var W=z(I,X);if(W){var U=I;if(!(U.rE||U.eE)){C+=X}D+=Q();do{if(I.cN){D+="</span>"}H+=I.r;I=I.parent}while(I!=W.parent);if(U.eE){D+=j(X)}C="";if(W.starts){P(W.starts,"")}return U.rE?0:X.length}if(A(X,I)){throw new Error('Illegal lexeme "'+X+'" for mode "'+(I.cN||"<unnamed>")+'"')}C+=X;return X.length||1}var M=i(S);if(!M){throw new Error('Unknown language: "'+S+'"')}m(M);var I=R||M;var D="";for(var K=I;K!=M;K=K.parent){if(K.cN){D+=w(K.cN,D,true)}}var C="";var H=0;try{var B,y,x=0;while(true){I.t.lastIndex=x;B=I.t.exec(L);if(!B){break}y=G(L.substr(x,B.index-x),B[0]);x=B.index+y}G(L.substr(x));for(var K=I;K.parent;K=K.parent){if(K.cN){D+="</span>"}}return{r:H,value:D,language:S,top:I}}catch(O){if(O.message.indexOf("Illegal")!=-1){return{r:0,value:j(L)}}else{throw O}}}function e(y,x){x=x||b.languages||Object.keys(f);var v={r:0,value:j(y)};var w=v;x.forEach(function(z){if(!i(z)){return}var A=c(z,y,false);A.language=z;if(A.r>w.r){w=A}if(A.r>v.r){w=v;v=A}});if(w.language){v.second_best=w}return v}function g(v){if(b.tabReplace){v=v.replace(/^((<[^>]+>|\t)+)/gm,function(w,z,y,x){return z.replace(/\t/g,b.tabReplace)})}if(b.useBR){v=v.replace(/\n/g,"<br>")}return v}function p(z){var y=b.useBR?z.innerHTML.replace(/\n/g,"").replace(/<br>|<br [^>]*>/g,"\n").replace(/<[^>]*>/g,""):z.textContent;var A=r(z);if(A=="no-highlight"){return}var v=A?c(A,y,true):e(y);var w=u(z);if(w.length){var x=document.createElementNS("http://www.w3.org/1999/xhtml","pre");x.innerHTML=v.value;v.value=q(w,u(x),y)}v.value=g(v.value);z.innerHTML=v.value;z.className+=" hljs "+(!A&&v.language||"");z.result={language:v.language,re:v.r};if(v.second_best){z.second_best={language:v.second_best.language,re:v.second_best.r}}}var b={classPrefix:"hljs-",tabReplace:null,useBR:false,languages:undefined};function s(v){b=o(b,v)}function l(){if(l.called){return}l.called=true;var v=document.querySelectorAll("pre code");Array.prototype.forEach.call(v,p)}function a(){addEventListener("DOMContentLoaded",l,false);addEventListener("load",l,false)}var f={};var n={};function d(v,x){var w=f[v]=x(this);if(w.aliases){w.aliases.forEach(function(y){n[y]=v})}}function k(){return Object.keys(f)}function i(v){return f[v]||f[n[v]]}this.highlight=c;this.highlightAuto=e;this.fixMarkup=g;this.highlightBlock=p;this.configure=s;this.initHighlighting=l;this.initHighlightingOnLoad=a;this.registerLanguage=d;this.listLanguages=k;this.getLanguage=i;this.inherit=o;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE]};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE]};this.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/};this.CLCM={cN:"comment",b:"//",e:"$",c:[this.PWM]};this.CBCM={cN:"comment",b:"/\\*",e:"\\*/",c:[this.PWM]};this.HCM={cN:"comment",b:"#",e:"$",c:[this.PWM]};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.CSSNM={cN:"number",b:this.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0};this.RM={cN:"regexp",b:/\//,e:/\/[gim]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]};this.TM={cN:"title",b:this.IR,r:0};this.UTM={cN:"title",b:this.UIR,r:0}}();hljs.registerLanguage("bash",function(b){var a={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)\}/}]};var d={cN:"string",b:/"/,e:/"/,c:[b.BE,a,{cN:"variable",b:/\$\(/,e:/\)/,c:[b.BE]}]};var c={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for break continue while in do done exit return set declare case esac export exec",literal:"true false",built_in:"printf echo read cd pwd pushd popd dirs let eval unset typeset readonly getopts source shopt caller type hash bind help sudo",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:true,c:[b.inherit(b.TM,{b:/\w[\w\d_]*/})],r:0},b.HCM,b.NM,d,c,a]}});hljs.registerLanguage("cs",function(b){var a="abstract as base bool break byte case catch char checked const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async await ascending descending from get group into join let orderby partial select set value var where yield";return{aliases:["csharp"],k:a,i:/::/,c:[{cN:"comment",b:"///",e:"$",rB:true,c:[{cN:"xmlDocTag",v:[{b:"///",r:0},{b:"<!--|-->"},{b:"</?",e:">"}]}]},b.CLCM,b.CBCM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},b.ASM,b.QSM,b.CNM,{bK:"protected public private internal",e:/[{;=]/,k:a,c:[{bK:"class namespace interface",starts:{c:[b.TM]}},{b:b.IR+"\\s*\\(",rB:true,c:[b.TM]}]}]}});hljs.registerLanguage("ruby",function(f){var j="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var i="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor";var b={cN:"yardoctag",b:"@[A-Za-z]+"};var c={cN:"value",b:"#<",e:">"};var k={cN:"comment",v:[{b:"#",e:"$",c:[b]},{b:"^\\=begin",e:"^\\=end",c:[b],r:10},{b:"^__END__",e:"\\n$"}]};var d={cN:"subst",b:"#\\{",e:"}",k:i};var e={cN:"string",c:[f.BE,d],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:"%[qw]?\\(",e:"\\)"},{b:"%[qw]?\\[",e:"\\]"},{b:"%[qw]?{",e:"}"},{b:"%[qw]?<",e:">"},{b:"%[qw]?/",e:"/"},{b:"%[qw]?%",e:"%"},{b:"%[qw]?-",e:"-"},{b:"%[qw]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]};var a={cN:"params",b:"\\(",e:"\\)",k:i};var h=[e,c,k,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[f.inherit(f.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+f.IR+"::)?"+f.IR}]},k]},{cN:"function",bK:"def",e:" |$|;",r:0,c:[f.inherit(f.TM,{b:j}),a,k]},{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:[e,{b:j}],r:0},{cN:"symbol",b:f.UIR+"(\\!|\\?)?:",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+f.RSR+")\\s*",c:[c,k,{cN:"regexp",c:[f.BE,d],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];d.c=h;a.c=h;var g=[{r:1,cN:"output",b:"^\\s*=> ",e:"$",rB:true,c:[{cN:"status",b:"^\\s*=>"},{b:" ",e:"$",c:h}]},{r:1,cN:"input",b:"^[^ ][^=>]*>+ ",e:"$",rB:true,c:[{cN:"prompt",b:"^[^ ][^=>]*>+"},{b:" ",e:"$",c:h}]}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:i,c:g.concat(h)}});hljs.registerLanguage("diff",function(a){return{aliases:["patch"],c:[{cN:"chunk",r:10,v:[{b:/^\@\@ +\-\d+,\d+ +\+\d+,\d+ +\@\@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"header",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+\+\+/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}});hljs.registerLanguage("javascript",function(a){return{aliases:["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:10},a.ASM,a.QSM,a.CLCM,a.CBCM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBCM,a.RM,{b:/</,e:/>;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:true,c:[a.inherit(a.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[a.CLCM,a.CBCM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+a.IR,r:0}]}});hljs.registerLanguage("xml",function(a){var c="[A-Za-z0-9\\._:-]+";var d={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"};var b={eW:true,i:/</,r:0,c:[d,{cN:"attribute",b:c,r:0},{b:"=",r:0,c:[{cN:"value",v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:true,c:[{cN:"doctype",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"<!--",e:"-->",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{title:"style"},c:[b],starts:{e:"</style>",rE:true,sL:"css"}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{title:"script"},c:[b],starts:{e:"<\/script>",rE:true,sL:"javascript"}},{b:"<%",e:"%>",sL:"vbscript"},d,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"title",b:"[^ /><]+",r:0},b]}]}});hljs.registerLanguage("markdown",function(a){return{aliases:["md","mkdown","mkd"],c:[{cN:"header",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{cN:"horizontal_rule",b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].+?[\\)\\]]",rB:true,c:[{cN:"link_label",b:"\\[",e:"\\]",eB:true,rE:true,r:0},{cN:"link_url",b:"\\]\\(",e:"\\)",eB:true,eE:true},{cN:"link_reference",b:"\\]\\[",e:"\\]",eB:true,eE:true}],r:10},{b:"^\\[.+\\]:",e:"$",rB:true,c:[{cN:"link_reference",b:"\\[",e:"\\]",eB:true,eE:true},{cN:"link_url",b:"\\s",e:"$"}]}]}});hljs.registerLanguage("css",function(a){var b="[a-zA-Z-][a-zA-Z0-9_-]*";var c={cN:"function",b:b+"\\(",rB:true,eE:true,e:"\\("};return{cI:true,i:"[=/|']",c:[a.CBCM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:true,eE:true,r:0,c:[c,a.ASM,a.QSM,a.CSSNM]}]},{cN:"tag",b:b,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[a.CBCM,{cN:"rule",b:"[^\\s]",rB:true,e:";",eW:true,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[c,a.CSSNM,a.QSM,a.ASM,a.CBCM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"important",b:"!important"}]}}]}]}]}});hljs.registerLanguage("http",function(a){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:true,e:"$",c:[{cN:"string",b:" ",e:" ",eB:true,eE:true}]},{cN:"attribute",b:"^\\w",e:": ",eE:true,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:true}}]}});hljs.registerLanguage("java",function(b){var a="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws";return{aliases:["jsp"],k:a,i:/<\//,c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}],r:10},b.CLCM,b.CBCM,b.ASM,b.QSM,{bK:"protected public private",e:/[{;=]/,k:a,c:[{cN:"class",bK:"class interface",eW:true,eE:true,i:/[:"\[\]]/,c:[{bK:"extends implements",r:10},b.UTM]},{b:b.UIR+"\\s*\\(",rB:true,c:[b.UTM]}]},b.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("php",function(b){var e={cN:"variable",b:"(\\$|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"};var a={cN:"preprocessor",b:/<\?(php)?|\?>/};var c={cN:"string",c:[b.BE,a],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},b.inherit(b.ASM,{i:null}),b.inherit(b.QSM,{i:null})]};var d={v:[b.BNM,b.CNM]};return{aliases:["php3","php4","php5","php6"],cI:true,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[b.CLCM,b.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"},a]},{cN:"comment",b:"__halt_compiler.+?;",eW:true,k:"__halt_compiler",l:b.UIR},{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[b.BE]},a,e,{cN:"function",bK:"function",e:/[;{]/,eE:true,i:"\\$|\\[|%",c:[b.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",e,b.CBCM,c,d]}]},{cN:"class",bK:"class interface",e:"{",eE:true,i:/[:\(\$"]/,c:[{bK:"extends implements",r:10},b.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[b.UTM]},{bK:"use",e:";",c:[b.UTM]},{b:"=>"},c,d]}});hljs.registerLanguage("python",function(a){var f={cN:"prompt",b:/^(>>>|\.\.\.) /};var b={cN:"string",c:[a.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[f],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[f],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},a.ASM,a.QSM]};var d={cN:"number",r:0,v:[{b:a.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:a.CNR+"[lLjJ]?"}]};var e={cN:"params",b:/\(/,e:/\)/,c:["self",f,d,b]};var c={e:/:/,i:/[${=;\n]/,c:[a.UTM,e]};return{aliases:["py","gyp"],k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[f,d,b,a.HCM,a.inherit(c,{cN:"function",bK:"def",r:10}),a.inherit(c,{cN:"class",bK:"class"}),{cN:"decorator",b:/@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("sql",function(a){var b={cN:"comment",b:"--",e:"$"};return{cI:true,i:/[<>]/,c:[{cN:"operator",bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate savepoint release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup",e:/;/,eW:true,k:{keyword:"abs absolute acos action add adddate addtime aes_decrypt aes_encrypt after aggregate all allocate alter analyze and any are as asc ascii asin assertion at atan atan2 atn2 authorization authors avg backup before begin benchmark between bin binlog bit_and bit_count bit_length bit_or bit_xor both by cache call cascade cascaded case cast catalog ceil ceiling chain change changed char_length character_length charindex charset check checksum checksum_agg choose close coalesce coercibility collate collation collationproperty column columns columns_updated commit compress concat concat_ws concurrent connect connection connection_id consistent constraint constraints continue contributors conv convert convert_tz corresponding cos cot count count_big crc32 create cross cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime data database databases datalength date_add date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts datetimeoffsetfromparts day dayname dayofmonth dayofweek dayofyear deallocate declare decode default deferrable deferred degrees delayed delete des_decrypt des_encrypt des_key_file desc describe descriptor diagnostics difference disconnect distinct distinctrow div do domain double drop dumpfile each else elt enclosed encode encrypt end end-exec engine engines eomonth errors escape escaped event eventdata events except exception exec execute exists exp explain export_set extended external extract fast fetch field fields find_in_set first first_value floor flush for force foreign format found found_rows from from_base64 from_days from_unixtime full function get get_format get_lock getdate getutcdate global go goto grant grants greatest group group_concat grouping grouping_id gtid_subset gtid_subtract handler having help hex high_priority hosts hour ident_current ident_incr ident_seed identified identity if ifnull ignore iif ilike immediate in index indicator inet6_aton inet6_ntoa inet_aton inet_ntoa infile initially inner innodb input insert install instr intersect into is is_free_lock is_ipv4 is_ipv4_compat is_ipv4_mapped is_not is_not_null is_used_lock isdate isnull isolation join key kill language last last_day last_insert_id last_value lcase lead leading least leaves left len lenght level like limit lines ln load load_file local localtime localtimestamp locate lock log log10 log2 logfile logs low_priority lower lpad ltrim make_set makedate maketime master master_pos_wait match matched max md5 medium merge microsecond mid min minute mod mode module month monthname mutex name_const names national natural nchar next no no_write_to_binlog not now nullif nvarchar oct octet_length of old_password on only open optimize option optionally or ord order outer outfile output pad parse partial partition password patindex percent_rank percentile_cont percentile_disc period_add period_diff pi plugin position pow power pragma precision prepare preserve primary prior privileges procedure procedure_analyze processlist profile profiles public publishingservername purge quarter query quick quote quotename radians rand read references regexp relative relaylog release release_lock rename repair repeat replace replicate reset restore restrict return returns reverse revoke right rlike rollback rollup round row row_count rows rpad rtrim savepoint schema scroll sec_to_time second section select serializable server session session_user set sha sha1 sha2 share show sign sin size slave sleep smalldatetimefromparts snapshot some soname soundex sounds_like space sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sql_variant_property sqlstate sqrt square start starting status std stddev stddev_pop stddev_samp stdev stdevp stop str str_to_date straight_join strcmp string stuff subdate substr substring subtime subtring_index sum switchoffset sysdate sysdatetime sysdatetimeoffset system_user sysutcdatetime table tables tablespace tan temporary terminated tertiary_weights then time time_format time_to_sec timediff timefromparts timestamp timestampadd timestampdiff timezone_hour timezone_minute to to_base64 to_days to_seconds todatetimeoffset trailing transaction translation trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse ucase uncompress uncompressed_length unhex unicode uninstall union unique unix_timestamp unknown unlock update upgrade upped upper usage use user user_resources using utc_date utc_time utc_timestamp uuid uuid_short validate_password_strength value values var var_pop var_samp variables variance varp version view warnings week weekday weekofyear weight_string when whenever where with work write xml xor year yearweek zon",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int integer interval number numeric real serial smallint varchar varying int8 serial8 text"},c:[{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[a.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[a.BE]},a.CNM,a.CBCM,b]},a.CBCM,b]}});hljs.registerLanguage("ini",function(a){return{cI:true,i:/\S/,c:[{cN:"comment",b:";",e:"$"},{cN:"title",b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[{cN:"value",eW:true,k:"on off true false yes no",c:[a.QSM,a.NM],r:0}]}]}});hljs.registerLanguage("perl",function(c){var d="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when";var f={cN:"subst",b:"[$@]\\{",e:"\\}",k:d};var g={b:"->{",e:"}"};var a={cN:"variable",v:[{b:/\$\d/},{b:/[\$\%\@](\^\w\b|#\w+(\:\:\w+)*|{\w+}|\w+(\:\:\w*)*)/},{b:/[\$\%\@][^\s\w{]/,r:0}]};var e={cN:"comment",b:"^(__END__|__DATA__)",e:"\\n$",r:5};var h=[c.BE,f,a];var b=[a,c.HCM,e,{cN:"comment",b:"^\\=\\w",e:"\\=cut",eW:true},g,{cN:"string",c:h,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[c.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[c.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+c.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[c.HCM,e,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[c.BE],r:0}]},{cN:"sub",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",r:5},{cN:"operator",b:"-\\w\\b",r:0}];f.c=b;g.c=b;return{aliases:["pl"],k:d,c:b}});hljs.registerLanguage("objectivec",function(a){var d={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"NSString NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView NSView NSViewController NSWindow NSWindowController NSSet NSUUID NSIndexSet UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController UINavigationBar UINavigationController UITabBarController UIPopoverController UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor UIFont UIApplication NSNotFound NSNotificationCenter NSNotification UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection UIInterfaceOrientation MPMoviePlayerController dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"};var c=/[a-zA-Z@][a-zA-Z0-9_]*/;var b="@interface @class @protocol @implementation";return{aliases:["m","mm","objc","obj-c"],k:d,l:c,i:"</",c:[a.CLCM,a.CBCM,a.CNM,a.QSM,{cN:"string",v:[{b:'@"',e:'"',i:"\\n",c:[a.BE]},{b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"}]},{cN:"preprocessor",b:"#",e:"$",c:[{cN:"title",v:[{b:'"',e:'"'},{b:"<",e:">"}]}]},{cN:"class",b:"("+b.split(" ").join("|")+")\\b",e:"({|$)",eE:true,k:b,l:c,c:[a.UTM]},{cN:"variable",b:"\\."+a.UIR,r:0}]}});hljs.registerLanguage("coffeescript",function(c){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf",built_in:"npm require console print module global window document"};var a="[A-Za-z$_][0-9A-Za-z$_]*";var f=c.inherit(c.TM,{b:a});var e={cN:"subst",b:/#\{/,e:/}/,k:b};var d=[c.BNM,c.inherit(c.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[c.BE]},{b:/'/,e:/'/,c:[c.BE]},{b:/"""/,e:/"""/,c:[c.BE,e]},{b:/"/,e:/"/,c:[c.BE,e]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[e,c.HCM]},{b:"//[gim]*",r:0},{b:"/\\S(\\\\.|[^\\n])*?/[gim]*(?=\\s|\\W|$)"}]},{cN:"property",b:"@"+a},{b:"`",e:"`",eB:true,eE:true,sL:"javascript"}];e.c=d;return{aliases:["coffee","cson","iced"],k:b,c:d.concat([{cN:"comment",b:"###",e:"###"},c.HCM,{cN:"function",b:"("+a+"\\s*=\\s*)?(\\(.*\\))?\\s*\\B[-=]>",e:"[-=]>",rB:true,c:[f,{cN:"params",b:"\\(",rB:true,c:[{b:/\(/,e:/\)/,k:b,c:["self"].concat(d)}]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:true,i:/[:="\[\]]/,c:[f]},f]},{cN:"attribute",b:a+":",e:":",rB:true,eE:true,r:0}])}});hljs.registerLanguage("nginx",function(c){var b={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+c.UIR}]};var a={eW:true,l:"[a-z/_]+",k:{built_in:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[c.HCM,{cN:"string",c:[c.BE,b],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{cN:"url",b:"([a-z]+):/",e:"\\s",eW:true,eE:true},{cN:"regexp",c:[c.BE,b],v:[{b:"\\s\\^",e:"\\s|{|;",rE:true},{b:"~\\*?\\s+",e:"\\s|{|;",rE:true},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},b]};return{aliases:["nginxconf"],c:[c.HCM,{b:c.UIR+"\\s",e:";|{",rB:true,c:[{cN:"title",b:c.UIR,starts:a}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("json",function(a){var e={literal:"true false null"};var d=[a.QSM,a.CNM];var c={cN:"value",e:",",eW:true,eE:true,c:d,k:e};var b={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:true,eE:true,c:[a.BE],i:"\\n",starts:c}],i:"\\S"};var f={b:"\\[",e:"\\]",c:[a.inherit(c,{cN:null})],i:"\\S"};d.splice(d.length,0,b,f);return{c:d,k:e,i:"\\S"}});hljs.registerLanguage("apache",function(a){var b={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:true,c:[a.HCM,{cN:"tag",b:"</?",e:">"},{cN:"keyword",b:/\w+/,r:0,k:{common:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"sqbracket",b:"\\s\\[",e:"\\]$"},{cN:"cbracket",b:"[\\$%]\\{",e:"\\}",c:["self",b]},b,a.QSM]}}],i:/\S/}});hljs.registerLanguage("cpp",function(a){var b={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long throw volatile static protected bool template mutable if public friend do return goto auto void enum else break new extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex _Complex _Imaginary",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf"};return{aliases:["c","h","c++","h++"],k:b,i:"</",c:[a.CLCM,a.CBCM,a.QSM,{cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},a.CNM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line pragma",c:[{b:'include\\s*[<"]',e:'[>"]',k:"include",i:"\\n"},a.CLCM]},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:b,c:["self"]},{b:a.IR+"::"}]}});hljs.registerLanguage("makefile",function(a){var b={cN:"variable",b:/\$\(/,e:/\)/,c:[a.BE]};return{aliases:["mk","mak"],c:[a.HCM,{b:/^\w+\s*\W*=/,rB:true,r:0,starts:{cN:"constant",e:/\s*\W*=/,eE:true,starts:{e:/$/,r:0,c:[b]}}},{cN:"title",b:/^[\w]+:\s*$/},{cN:"phony",b:/^\.PHONY:/,e:/$/,k:".PHONY",l:/[\.\w]+/},{b:/^\t+/,e:/$/,c:[a.QSM,b]}]}}); \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/highlightjs/styles/default.css b/src/Wallabag/Wallabag/Resources/views/default/public/highlightjs/styles/default.css deleted file mode 100644 index e5bd2801..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/highlightjs/styles/default.css +++ /dev/null | |||
@@ -1,152 +0,0 @@ | |||
1 | /* | ||
2 | |||
3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> | ||
4 | |||
5 | */ | ||
6 | |||
7 | .hljs { | ||
8 | display: block; | ||
9 | overflow-x: auto; | ||
10 | padding: 0.5em; | ||
11 | background: #f0f0f0; | ||
12 | } | ||
13 | |||
14 | .hljs, | ||
15 | .hljs-subst, | ||
16 | .hljs-tag .hljs-title, | ||
17 | .lisp .hljs-title, | ||
18 | .clojure .hljs-built_in, | ||
19 | .nginx .hljs-title { | ||
20 | color: black; | ||
21 | } | ||
22 | |||
23 | .hljs-string, | ||
24 | .hljs-title, | ||
25 | .hljs-constant, | ||
26 | .hljs-parent, | ||
27 | .hljs-tag .hljs-value, | ||
28 | .hljs-rules .hljs-value, | ||
29 | .hljs-preprocessor, | ||
30 | .hljs-pragma, | ||
31 | .haml .hljs-symbol, | ||
32 | .ruby .hljs-symbol, | ||
33 | .ruby .hljs-symbol .hljs-string, | ||
34 | .hljs-template_tag, | ||
35 | .django .hljs-variable, | ||
36 | .smalltalk .hljs-class, | ||
37 | .hljs-addition, | ||
38 | .hljs-flow, | ||
39 | .hljs-stream, | ||
40 | .bash .hljs-variable, | ||
41 | .apache .hljs-tag, | ||
42 | .apache .hljs-cbracket, | ||
43 | .tex .hljs-command, | ||
44 | .tex .hljs-special, | ||
45 | .erlang_repl .hljs-function_or_atom, | ||
46 | .asciidoc .hljs-header, | ||
47 | .markdown .hljs-header, | ||
48 | .coffeescript .hljs-attribute { | ||
49 | color: #800; | ||
50 | } | ||
51 | |||
52 | .smartquote, | ||
53 | .hljs-comment, | ||
54 | .hljs-annotation, | ||
55 | .hljs-template_comment, | ||
56 | .diff .hljs-header, | ||
57 | .hljs-chunk, | ||
58 | .asciidoc .hljs-blockquote, | ||
59 | .markdown .hljs-blockquote { | ||
60 | color: #888; | ||
61 | } | ||
62 | |||
63 | .hljs-number, | ||
64 | .hljs-date, | ||
65 | .hljs-regexp, | ||
66 | .hljs-literal, | ||
67 | .hljs-hexcolor, | ||
68 | .smalltalk .hljs-symbol, | ||
69 | .smalltalk .hljs-char, | ||
70 | .go .hljs-constant, | ||
71 | .hljs-change, | ||
72 | .lasso .hljs-variable, | ||
73 | .makefile .hljs-variable, | ||
74 | .asciidoc .hljs-bullet, | ||
75 | .markdown .hljs-bullet, | ||
76 | .asciidoc .hljs-link_url, | ||
77 | .markdown .hljs-link_url { | ||
78 | color: #080; | ||
79 | } | ||
80 | |||
81 | .hljs-label, | ||
82 | .hljs-javadoc, | ||
83 | .ruby .hljs-string, | ||
84 | .hljs-decorator, | ||
85 | .hljs-filter .hljs-argument, | ||
86 | .hljs-localvars, | ||
87 | .hljs-array, | ||
88 | .hljs-attr_selector, | ||
89 | .hljs-important, | ||
90 | .hljs-pseudo, | ||
91 | .hljs-pi, | ||
92 | .haml .hljs-bullet, | ||
93 | .hljs-doctype, | ||
94 | .hljs-deletion, | ||
95 | .hljs-envvar, | ||
96 | .hljs-shebang, | ||
97 | .apache .hljs-sqbracket, | ||
98 | .nginx .hljs-built_in, | ||
99 | .tex .hljs-formula, | ||
100 | .erlang_repl .hljs-reserved, | ||
101 | .hljs-prompt, | ||
102 | .asciidoc .hljs-link_label, | ||
103 | .markdown .hljs-link_label, | ||
104 | .vhdl .hljs-attribute, | ||
105 | .clojure .hljs-attribute, | ||
106 | .asciidoc .hljs-attribute, | ||
107 | .lasso .hljs-attribute, | ||
108 | .coffeescript .hljs-property, | ||
109 | .hljs-phony { | ||
110 | color: #88f; | ||
111 | } | ||
112 | |||
113 | .hljs-keyword, | ||
114 | .hljs-id, | ||
115 | .hljs-title, | ||
116 | .hljs-built_in, | ||
117 | .css .hljs-tag, | ||
118 | .hljs-javadoctag, | ||
119 | .hljs-phpdoc, | ||
120 | .hljs-yardoctag, | ||
121 | .smalltalk .hljs-class, | ||
122 | .hljs-winutils, | ||
123 | .bash .hljs-variable, | ||
124 | .apache .hljs-tag, | ||
125 | .go .hljs-typename, | ||
126 | .tex .hljs-command, | ||
127 | .asciidoc .hljs-strong, | ||
128 | .markdown .hljs-strong, | ||
129 | .hljs-request, | ||
130 | .hljs-status { | ||
131 | font-weight: bold; | ||
132 | } | ||
133 | |||
134 | .asciidoc .hljs-emphasis, | ||
135 | .markdown .hljs-emphasis { | ||
136 | font-style: italic; | ||
137 | } | ||
138 | |||
139 | .nginx .hljs-built_in { | ||
140 | font-weight: normal; | ||
141 | } | ||
142 | |||
143 | .coffeescript .javascript, | ||
144 | .javascript .xml, | ||
145 | .lasso .markup, | ||
146 | .tex .hljs-formula, | ||
147 | .xml .javascript, | ||
148 | .xml .vbscript, | ||
149 | .xml .css, | ||
150 | .xml .hljs-cdata { | ||
151 | opacity: 0.5; | ||
152 | } | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/highlightjs/styles/github.css b/src/Wallabag/Wallabag/Resources/views/default/public/highlightjs/styles/github.css deleted file mode 100644 index 47fc2651..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/highlightjs/styles/github.css +++ /dev/null | |||
@@ -1,127 +0,0 @@ | |||
1 | /* | ||
2 | |||
3 | github.com style (c) Vasily Polovnyov <vast@whiteants.net> | ||
4 | |||
5 | */ | ||
6 | |||
7 | .hljs { | ||
8 | display: block; | ||
9 | overflow-x: auto; | ||
10 | padding: 0.5em; | ||
11 | color: #333; | ||
12 | background: #f8f8f8; | ||
13 | } | ||
14 | |||
15 | .hljs-comment, | ||
16 | .hljs-template_comment, | ||
17 | .diff .hljs-header, | ||
18 | .hljs-javadoc { | ||
19 | color: #998; | ||
20 | font-style: italic; | ||
21 | } | ||
22 | |||
23 | .hljs-keyword, | ||
24 | .css .rule .hljs-keyword, | ||
25 | .hljs-winutils, | ||
26 | .javascript .hljs-title, | ||
27 | .nginx .hljs-title, | ||
28 | .hljs-subst, | ||
29 | .hljs-request, | ||
30 | .hljs-status { | ||
31 | color: #333; | ||
32 | font-weight: bold; | ||
33 | } | ||
34 | |||
35 | .hljs-number, | ||
36 | .hljs-hexcolor, | ||
37 | .ruby .hljs-constant { | ||
38 | color: #099; | ||
39 | } | ||
40 | |||
41 | .hljs-string, | ||
42 | .hljs-tag .hljs-value, | ||
43 | .hljs-phpdoc, | ||
44 | .tex .hljs-formula { | ||
45 | color: #d14; | ||
46 | } | ||
47 | |||
48 | .hljs-title, | ||
49 | .hljs-id, | ||
50 | .coffeescript .hljs-params, | ||
51 | .scss .hljs-preprocessor { | ||
52 | color: #900; | ||
53 | font-weight: bold; | ||
54 | } | ||
55 | |||
56 | .javascript .hljs-title, | ||
57 | .lisp .hljs-title, | ||
58 | .clojure .hljs-title, | ||
59 | .hljs-subst { | ||
60 | font-weight: normal; | ||
61 | } | ||
62 | |||
63 | .hljs-class .hljs-title, | ||
64 | .haskell .hljs-type, | ||
65 | .vhdl .hljs-literal, | ||
66 | .tex .hljs-command { | ||
67 | color: #458; | ||
68 | font-weight: bold; | ||
69 | } | ||
70 | |||
71 | .hljs-tag, | ||
72 | .hljs-tag .hljs-title, | ||
73 | .hljs-rules .hljs-property, | ||
74 | .django .hljs-tag .hljs-keyword { | ||
75 | color: #000080; | ||
76 | font-weight: normal; | ||
77 | } | ||
78 | |||
79 | .hljs-attribute, | ||
80 | .hljs-variable, | ||
81 | .lisp .hljs-body { | ||
82 | color: #008080; | ||
83 | } | ||
84 | |||
85 | .hljs-regexp { | ||
86 | color: #009926; | ||
87 | } | ||
88 | |||
89 | .hljs-symbol, | ||
90 | .ruby .hljs-symbol .hljs-string, | ||
91 | .lisp .hljs-keyword, | ||
92 | .tex .hljs-special, | ||
93 | .hljs-prompt { | ||
94 | color: #990073; | ||
95 | } | ||
96 | |||
97 | .hljs-built_in, | ||
98 | .lisp .hljs-title, | ||
99 | .clojure .hljs-built_in { | ||
100 | color: #0086b3; | ||
101 | } | ||
102 | |||
103 | .hljs-preprocessor, | ||
104 | .hljs-pragma, | ||
105 | .hljs-pi, | ||
106 | .hljs-doctype, | ||
107 | .hljs-shebang, | ||
108 | .hljs-cdata { | ||
109 | color: #999; | ||
110 | font-weight: bold; | ||
111 | } | ||
112 | |||
113 | .hljs-deletion { | ||
114 | background: #fdd; | ||
115 | } | ||
116 | |||
117 | .hljs-addition { | ||
118 | background: #dfd; | ||
119 | } | ||
120 | |||
121 | .diff .hljs-change { | ||
122 | background: #0086b3; | ||
123 | } | ||
124 | |||
125 | .hljs-chunk { | ||
126 | color: #aaa; | ||
127 | } | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/highlightjs/styles/googlecode.css b/src/Wallabag/Wallabag/Resources/views/default/public/highlightjs/styles/googlecode.css deleted file mode 100644 index fd237367..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/highlightjs/styles/googlecode.css +++ /dev/null | |||
@@ -1,148 +0,0 @@ | |||
1 | /* | ||
2 | |||
3 | Google Code style (c) Aahan Krish <geekpanth3r@gmail.com> | ||
4 | |||
5 | */ | ||
6 | |||
7 | .hljs { | ||
8 | display: block; | ||
9 | overflow-x: auto; | ||
10 | padding: 0.5em; | ||
11 | background: white; | ||
12 | color: black; | ||
13 | } | ||
14 | |||
15 | .hljs-comment, | ||
16 | .hljs-template_comment, | ||
17 | .hljs-javadoc { | ||
18 | color: #800; | ||
19 | } | ||
20 | |||
21 | .hljs-keyword, | ||
22 | .method, | ||
23 | .hljs-list .hljs-title, | ||
24 | .clojure .hljs-built_in, | ||
25 | .nginx .hljs-title, | ||
26 | .hljs-tag .hljs-title, | ||
27 | .setting .hljs-value, | ||
28 | .hljs-winutils, | ||
29 | .tex .hljs-command, | ||
30 | .http .hljs-title, | ||
31 | .hljs-request, | ||
32 | .hljs-status { | ||
33 | color: #008; | ||
34 | } | ||
35 | |||
36 | .hljs-envvar, | ||
37 | .tex .hljs-special { | ||
38 | color: #660; | ||
39 | } | ||
40 | |||
41 | .hljs-string, | ||
42 | .hljs-tag .hljs-value, | ||
43 | .hljs-cdata, | ||
44 | .hljs-filter .hljs-argument, | ||
45 | .hljs-attr_selector, | ||
46 | .apache .hljs-cbracket, | ||
47 | .hljs-date, | ||
48 | .hljs-regexp, | ||
49 | .coffeescript .hljs-attribute { | ||
50 | color: #080; | ||
51 | } | ||
52 | |||
53 | .hljs-sub .hljs-identifier, | ||
54 | .hljs-pi, | ||
55 | .hljs-tag, | ||
56 | .hljs-tag .hljs-keyword, | ||
57 | .hljs-decorator, | ||
58 | .ini .hljs-title, | ||
59 | .hljs-shebang, | ||
60 | .hljs-prompt, | ||
61 | .hljs-hexcolor, | ||
62 | .hljs-rules .hljs-value, | ||
63 | .hljs-literal, | ||
64 | .hljs-symbol, | ||
65 | .ruby .hljs-symbol .hljs-string, | ||
66 | .hljs-number, | ||
67 | .css .hljs-function, | ||
68 | .clojure .hljs-attribute { | ||
69 | color: #066; | ||
70 | } | ||
71 | |||
72 | .hljs-class .hljs-title, | ||
73 | .haskell .hljs-type, | ||
74 | .smalltalk .hljs-class, | ||
75 | .hljs-javadoctag, | ||
76 | .hljs-yardoctag, | ||
77 | .hljs-phpdoc, | ||
78 | .hljs-typename, | ||
79 | .hljs-tag .hljs-attribute, | ||
80 | .hljs-doctype, | ||
81 | .hljs-class .hljs-id, | ||
82 | .hljs-built_in, | ||
83 | .setting, | ||
84 | .hljs-params, | ||
85 | .hljs-variable, | ||
86 | .clojure .hljs-title { | ||
87 | color: #606; | ||
88 | } | ||
89 | |||
90 | .css .hljs-tag, | ||
91 | .hljs-rules .hljs-property, | ||
92 | .hljs-pseudo, | ||
93 | .hljs-subst { | ||
94 | color: #000; | ||
95 | } | ||
96 | |||
97 | .css .hljs-class, | ||
98 | .css .hljs-id { | ||
99 | color: #9b703f; | ||
100 | } | ||
101 | |||
102 | .hljs-value .hljs-important { | ||
103 | color: #ff7700; | ||
104 | font-weight: bold; | ||
105 | } | ||
106 | |||
107 | .hljs-rules .hljs-keyword { | ||
108 | color: #c5af75; | ||
109 | } | ||
110 | |||
111 | .hljs-annotation, | ||
112 | .apache .hljs-sqbracket, | ||
113 | .nginx .hljs-built_in { | ||
114 | color: #9b859d; | ||
115 | } | ||
116 | |||
117 | .hljs-preprocessor, | ||
118 | .hljs-preprocessor *, | ||
119 | .hljs-pragma { | ||
120 | color: #444; | ||
121 | } | ||
122 | |||
123 | .tex .hljs-formula { | ||
124 | background-color: #eee; | ||
125 | font-style: italic; | ||
126 | } | ||
127 | |||
128 | .diff .hljs-header, | ||
129 | .hljs-chunk { | ||
130 | color: #808080; | ||
131 | font-weight: bold; | ||
132 | } | ||
133 | |||
134 | .diff .hljs-change { | ||
135 | background-color: #bccff9; | ||
136 | } | ||
137 | |||
138 | .hljs-addition { | ||
139 | background-color: #baeeba; | ||
140 | } | ||
141 | |||
142 | .hljs-deletion { | ||
143 | background-color: #ffc8bd; | ||
144 | } | ||
145 | |||
146 | .hljs-comment .hljs-yardoctag { | ||
147 | font-weight: bold; | ||
148 | } | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/backtotop.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/backtotop.png deleted file mode 100644 index 051238ef..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/backtotop.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/bad-display.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/bad-display.png deleted file mode 100755 index 6866799f..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/bad-display.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/checkmark-off.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/checkmark-off.png deleted file mode 100644 index 3db5a06d..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/checkmark-off.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/checkmark-on.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/checkmark-on.png deleted file mode 100644 index cd3abb2c..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/checkmark-on.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/down.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/down.png deleted file mode 100644 index b9d536a7..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/down.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/envelop.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/envelop.png deleted file mode 100644 index 6be1c886..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/envelop.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/flattr.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/flattr.png deleted file mode 100755 index 0404aaea..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/flattr.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/left.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/left.png deleted file mode 100644 index a0a53631..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/left.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/link.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/link.png deleted file mode 100755 index db62819d..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/link.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/print.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/print.png deleted file mode 100755 index 83d6445b..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/print.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/remove.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/remove.png deleted file mode 100644 index f8ad56a3..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/remove.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/rss.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/rss.png deleted file mode 100644 index 21bad1a1..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/rss.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/shaarli.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/shaarli.png deleted file mode 100644 index 1eb30f60..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/shaarli.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/star-off.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/star-off.png deleted file mode 100644 index 6a0133a7..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/star-off.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/star-on.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/star-on.png deleted file mode 100644 index a9f96eaa..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/star-on.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/top.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/top.png deleted file mode 100644 index 954a8c0a..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/top.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/twitter.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/default/twitter.png deleted file mode 100644 index cfcfe419..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/default/twitter.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/logo.svg b/src/Wallabag/Wallabag/Resources/views/default/public/img/logo.svg deleted file mode 100644 index 865da440..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/logo.svg +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="64" height="64"> | ||
3 | <circle cx="32" cy="32" r="29.5" style="fill:#000" /> | ||
4 | <path d="m 16,18 33,0 0,26 -16.5,6 -16.5,-6 z" fill="#fff" /> | ||
5 | <rect width="9" height="2.5" x="17.5" y="24.5" fill="#000" /> | ||
6 | <rect width="9" height="2.5" x="28" y="24.5" fill="#000" /> | ||
7 | <rect width="9" height="2.5" x="38.5" y="24.5" fill="#000" /> | ||
8 | </svg> | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/close.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/close.png deleted file mode 100644 index 731aa018..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/close.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/cross.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/cross.png deleted file mode 100644 index 1514d51a..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/cross.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/help.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/help.png deleted file mode 100644 index 5c870176..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/help.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/tick.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/tick.png deleted file mode 100644 index a9925a06..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/tick.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/warning.png b/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/warning.png deleted file mode 100644 index 628cf2da..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/img/messages/warning.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/public/js/closeMessage.js b/src/Wallabag/Wallabag/Resources/views/default/public/js/closeMessage.js deleted file mode 100644 index b57fe4a8..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/public/js/closeMessage.js +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | $(function(){ | ||
2 | //--------------------------------------------------------------------------- | ||
3 | // Show the close icon when the user hover over a message | ||
4 | //--------------------------------------------------------------------------- | ||
5 | $('.messages').on('mouseenter', function(){ | ||
6 | $(this).find('a.closeMessage').stop(true, true).show(); | ||
7 | }).on('mouseleave', function(){ | ||
8 | $(this).find('a.closeMessage').stop(true, true).hide(); | ||
9 | }); | ||
10 | //--------------------------------------------------------------------------- | ||
11 | // Close the message box when the user clicks the close icon | ||
12 | //--------------------------------------------------------------------------- | ||
13 | $('a.closeMessage').on('click', function(){ | ||
14 | $(this).parents('div.messages').slideUp(300, function(){ $(this).remove(); }); | ||
15 | return false; | ||
16 | }); | ||
17 | }); \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/tags.twig b/src/Wallabag/Wallabag/Resources/views/default/tags.twig deleted file mode 100755 index e5be748e..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/tags.twig +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | {% block title %}tags{% endblock %} | ||
3 | {% block menu %} | ||
4 | {% include '_menu.twig' %} | ||
5 | {% endblock %} | ||
6 | {% block content %} | ||
7 | <div class="two-column"> | ||
8 | {% for tag in tags %} | ||
9 | <a href="./?view=tag&id={{ tag.id }}">{{ tag.value }}</a> ({{ tag.entriescount }}) {% if token != '' %}<a href="?feed&type=tag&user_id={{ user_id }}&tag_id={{ tag.id }}&token={{ token }}" target="_blank"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/rss.png" /></a>{% endif %} | ||
10 | <br> | ||
11 | |||
12 | {% if loop.index == '%d'|format(loop.length/2 + 0.5) %} | ||
13 | </div><div class="two-column"> | ||
14 | {% endif %} | ||
15 | |||
16 | {% endfor %} | ||
17 | </div> | ||
18 | {% endblock %} \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/theme.ini b/src/Wallabag/Wallabag/Resources/views/default/theme.ini deleted file mode 100644 index 9f3cfb6a..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/theme.ini +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | name = Default \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/default/view.twig b/src/Wallabag/Wallabag/Resources/views/default/view.twig deleted file mode 100755 index 8f3a26c3..00000000 --- a/src/Wallabag/Wallabag/Resources/views/default/view.twig +++ /dev/null | |||
@@ -1,124 +0,0 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | {% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %} | ||
3 | {% block content %} | ||
4 | {% include '_highlight.twig' %} | ||
5 | {% include '_pocheit-form.twig' %} | ||
6 | <div id="article_toolbar"> | ||
7 | <ul> | ||
8 | <li><a href="./" title="{% trans "Return home" %}" class="tool back"><span>{% trans "Return home" %}</span></a></li> | ||
9 | <li><a href="#top" title="{% trans "Back to top" %}" class="tool top"><span>{% trans "Back to top" %}</span></a></li> | ||
10 | <li><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}" class="tool link"><span>{{ entry.url | e | getDomain }}</span></a></li> | ||
11 | <li><a title="{% trans "Mark as read" %}" class="tool {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="javascript: void(null);" id="markAsRead"><span>{% trans "Toggle mark as read" %}</span></a></li> | ||
12 | <li><a title="{% trans "Favorite" %}" class="tool {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="javascript: void(null);" id="setFav"><span>{% trans "Toggle favorite" %}</span></a></li> | ||
13 | <li><a title="{% trans "Delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "Delete" %}</span></a></li> | ||
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 %} | ||
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_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('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('SHOW_PRINTLINK') == 1 %}<li><a title="{% trans "Print" %}" class="tool print" href="javascript: window.print();"><span>{% trans "Print" %}</span></a></li>{% endif %} | ||
21 | {% if constant('EPUB') == 1 %}<li><a href="./?epub&method=id&value={{ entry.id|e }}" title="Generate ePub file">EPUB</a></li>{% endif %} | ||
22 | {% if constant('MOBI') == 1 %}<li><a href="./?mobi&method=id&value={{ entry.id|e }}" title="Generate Mobi file">MOBI</a></li>{% endif %} | ||
23 | {% if constant('PDF') == 1 %}<li><a href="./?pdf&method=id&value={{ entry.id|e }}" title="Generate PDF file">PDF</a></li>{% endif %} | ||
24 | <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans "Does this article appear wrong?" %}" class="tool bad-display"><span>{% trans "Does this article appear wrong?" %}</span></a></li> | ||
25 | {% if constant('SHOW_READPERCENT') == 1 %}<li><div id="readLeftPercent">0%</div></li>{% endif %} | ||
26 | </ul> | ||
27 | </div> | ||
28 | <div id="article"> | ||
29 | <header class="mbm"> | ||
30 | <h1>{{ entry.title|raw }}</h1> | ||
31 | </header> | ||
32 | {% block tags %} | ||
33 | <aside class="tags"> | ||
34 | {% trans "tags:" %} {% for tag in tags %}<a href="./?view=tag&id={{ tag.id }}">{{ tag.value }}</a> {% endfor %}<a href="./?view=edit-tags&id={{ entry.id|e }}" title="{% trans "Edit tags" %}">✎</a> | ||
35 | </aside> | ||
36 | {% endblock %} | ||
37 | <article> | ||
38 | {{ content | raw }} | ||
39 | </article> | ||
40 | {{ block('tags') }} | ||
41 | </div> | ||
42 | <script src="{{ poche_url }}themes/_global/js/restoreScroll.js"></script> | ||
43 | <script type="text/javascript"> | ||
44 | $(document).ready(function() { | ||
45 | |||
46 | // toggle read property of current article | ||
47 | $('#markAsRead').click(function(){ | ||
48 | $("body").css("cursor", "wait"); | ||
49 | $.ajax( { url: './?action=toggle_archive&id={{ entry.id|e }}' }).done( | ||
50 | function( data ) { | ||
51 | if ( data == '1' ) { | ||
52 | if ( $('#markAsRead').hasClass("archive-off") ) { | ||
53 | $('#markAsRead').removeClass("archive-off"); | ||
54 | $('#markAsRead').addClass("archive"); | ||
55 | } | ||
56 | else { | ||
57 | $('#markAsRead').removeClass("archive"); | ||
58 | $('#markAsRead').addClass("archive-off"); | ||
59 | } | ||
60 | } | ||
61 | else { | ||
62 | alert('Error! Pls check if you are logged in.'); | ||
63 | } | ||
64 | }); | ||
65 | $("body").css("cursor", "auto"); | ||
66 | }); | ||
67 | |||
68 | // toggle favorite property of current article | ||
69 | $('#setFav').click(function(){ | ||
70 | $("body").css("cursor", "wait"); | ||
71 | $.ajax( { url: './?action=toggle_fav&id={{ entry.id|e }}' }).done( | ||
72 | function( data ) { | ||
73 | if ( data == '1' ) { | ||
74 | if ( $('#setFav').hasClass("fav-off") ) { | ||
75 | $('#setFav').removeClass("fav-off"); | ||
76 | $('#setFav').addClass("fav"); | ||
77 | } | ||
78 | else { | ||
79 | $('#setFav').removeClass("fav"); | ||
80 | $('#setFav').addClass("fav-off"); | ||
81 | } | ||
82 | } | ||
83 | else { | ||
84 | alert('Error! Pls check if you are logged in.'); | ||
85 | } | ||
86 | }); | ||
87 | $("body").css("cursor", "auto"); | ||
88 | }); | ||
89 | |||
90 | // set percent of read on startup | ||
91 | if ( $(document).height() <= $(window).innerHeight() ) { | ||
92 | pp = 100; | ||
93 | } | ||
94 | else { | ||
95 | pp = 0; | ||
96 | } | ||
97 | $('#readLeftPercent').text( pp + '%' ); | ||
98 | |||
99 | |||
100 | $(window).scroll(function(e){ | ||
101 | var scrollTop = $(window).scrollTop(); | ||
102 | var docHeight = $(document).height(); | ||
103 | var scrollPercent = (scrollTop) / (docHeight); | ||
104 | var scrollPercentRounded = Math.round(scrollPercent*100)/100; | ||
105 | savePercent({{ entry.id|e }}, scrollPercentRounded); | ||
106 | |||
107 | // change percent of read on scroll | ||
108 | pp = Math.round(scrollTop * 100 / ( docHeight - $(window).innerHeight() )); | ||
109 | $('#readLeftPercent').text( pp + '%' ); | ||
110 | }); | ||
111 | |||
112 | retrievePercent({{ entry.id|e }}); | ||
113 | |||
114 | $(window).resize(function(){ | ||
115 | retrievePercent({{ entry.id|e }}); | ||
116 | }); | ||
117 | |||
118 | // Hide useless "back to top" link when there is no scrollbar | ||
119 | if ($("body").height() <= $(window).height()) { | ||
120 | $('#article_toolbar .tool.top').parent().hide(); | ||
121 | } | ||
122 | }); | ||
123 | </script> | ||
124 | {% endblock %} | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/README.md b/src/Wallabag/Wallabag/Resources/views/dmagenta/README.md deleted file mode 100644 index 6abc37e3..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/README.md +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | # dmagenta (dark magenta) theme | ||
2 | |||
3 | theme created by Nicolas Lœuillet aka nico_somb \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/css/style-dmagenta.css b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/css/style-dmagenta.css deleted file mode 100644 index 4dc592d2..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/css/style-dmagenta.css +++ /dev/null | |||
@@ -1,78 +0,0 @@ | |||
1 | body { | ||
2 | color: #d4d4d4; | ||
3 | background-color: #372d37; | ||
4 | } | ||
5 | |||
6 | a, | ||
7 | a:hover, | ||
8 | a:visited { | ||
9 | color: #8d748d; | ||
10 | } | ||
11 | |||
12 | a.back span { | ||
13 | background-image: url('../img/dmagenta/left.png'); | ||
14 | } | ||
15 | |||
16 | a.top span { | ||
17 | background-image: url('../img/dmagenta/top.png'); | ||
18 | } | ||
19 | |||
20 | a.fav span, | ||
21 | a.fav-off span:hover { | ||
22 | background-image: url('../img/dmagenta/star-on.png'); | ||
23 | } | ||
24 | |||
25 | a.fav span:hover, | ||
26 | a.fav-off span { | ||
27 | background-image: url('../img/dmagenta/star-off.png'); | ||
28 | } | ||
29 | |||
30 | a.archive span, | ||
31 | a.archive-off span:hover { | ||
32 | background-image: url('../img/dmagenta/checkmark-on.png'); | ||
33 | } | ||
34 | |||
35 | a.archive span:hover, | ||
36 | a.archive-off span { | ||
37 | background-image: url('../img/dmagenta/checkmark-off.png'); | ||
38 | } | ||
39 | |||
40 | a.twitter span { | ||
41 | background-image: url('../img/dmagenta/twitter.png'); | ||
42 | } | ||
43 | |||
44 | a.flattr span { | ||
45 | background-image: url('../img/dmagenta/flattr.png'); | ||
46 | } | ||
47 | |||
48 | a.shaarli span { | ||
49 | background-image: url('../img/dmagenta/shaarli.png'); | ||
50 | } | ||
51 | |||
52 | a.email span { | ||
53 | background-image: url('../img/dmagenta/envelop.png'); | ||
54 | } | ||
55 | |||
56 | a.delete span { | ||
57 | background-image: url('../img/dmagenta/remove.png'); | ||
58 | } | ||
59 | |||
60 | a.link span { | ||
61 | background-image: url('../img/dmagenta/link.png'); | ||
62 | } | ||
63 | |||
64 | a.bad-display span { | ||
65 | background-image: url('../img/dmagenta/bad-display.png'); | ||
66 | } | ||
67 | |||
68 | .pagination a { | ||
69 | color: #aaa; | ||
70 | } | ||
71 | |||
72 | #main #links li .current { | ||
73 | background-color: #2d372d; | ||
74 | } | ||
75 | |||
76 | #article_toolbar { | ||
77 | background: #372d37; | ||
78 | } \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/backtotop.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/backtotop.png deleted file mode 100755 index 051238ef..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/backtotop.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/bad-display.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/bad-display.png deleted file mode 100755 index 6866799f..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/bad-display.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/checkmark-off.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/checkmark-off.png deleted file mode 100644 index 3db5a06d..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/checkmark-off.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/checkmark-on.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/checkmark-on.png deleted file mode 100644 index cd3abb2c..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/checkmark-on.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/down.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/down.png deleted file mode 100644 index b9d536a7..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/down.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/envelop.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/envelop.png deleted file mode 100644 index 6be1c886..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/envelop.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/flattr.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/flattr.png deleted file mode 100755 index 0404aaea..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/flattr.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/left.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/left.png deleted file mode 100644 index a0a53631..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/left.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/link.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/link.png deleted file mode 100755 index db62819d..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/link.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/remove.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/remove.png deleted file mode 100644 index f8ad56a3..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/remove.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/rss.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/rss.png deleted file mode 100644 index 21bad1a1..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/rss.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/shaarli.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/shaarli.png deleted file mode 100644 index 1eb30f60..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/shaarli.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/star-off.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/star-off.png deleted file mode 100644 index 6a0133a7..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/star-off.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/star-on.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/star-on.png deleted file mode 100644 index a9f96eaa..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/star-on.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/top.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/top.png deleted file mode 100644 index 954a8c0a..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/top.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/twitter.png b/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/twitter.png deleted file mode 100644 index cfcfe419..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/public/img/dmagenta/twitter.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/screenshot.jpg b/src/Wallabag/Wallabag/Resources/views/dmagenta/screenshot.jpg deleted file mode 100644 index ab8f1ec2..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/screenshot.jpg +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/dmagenta/theme.ini b/src/Wallabag/Wallabag/Resources/views/dmagenta/theme.ini deleted file mode 100644 index 78fa3a9c..00000000 --- a/src/Wallabag/Wallabag/Resources/views/dmagenta/theme.ini +++ /dev/null | |||
@@ -1,2 +0,0 @@ | |||
1 | name = Dmagenta | ||
2 | requirements[] = default | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/README.md b/src/Wallabag/Wallabag/Resources/views/solarized-dark/README.md deleted file mode 100644 index 81be1f8c..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/README.md +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | # solarized-dark (Solarized Dark) theme | ||
2 | |||
3 | |||
4 | Theme created by NumEricR | ||
5 | |||
6 | http://github.com/NumEricR/poche-themes | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/Solarized-LICENSE.txt b/src/Wallabag/Wallabag/Resources/views/solarized-dark/Solarized-LICENSE.txt deleted file mode 100644 index a842f663..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/Solarized-LICENSE.txt +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | Copyright (c) 2011 Ethan Schoonover | ||
2 | |||
3 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
4 | of this software and associated documentation files (the "Software"), to deal | ||
5 | in the Software without restriction, including without limitation the rights | ||
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
7 | copies of the Software, and to permit persons to whom the Software is | ||
8 | furnished to do so, subject to the following conditions: | ||
9 | |||
10 | The above copyright notice and this permission notice shall be included in | ||
11 | all copies or substantial portions of the Software. | ||
12 | |||
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
19 | THE SOFTWARE | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/css/style-solarized-dark.css b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/css/style-solarized-dark.css deleted file mode 100644 index 77a97d38..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/css/style-solarized-dark.css +++ /dev/null | |||
@@ -1,232 +0,0 @@ | |||
1 | /* | ||
2 | * Solarized Dark - by NumEricR | ||
3 | * http://github.com/NumEricR/poche-themes | ||
4 | * ================================================== | ||
5 | * | ||
6 | * Based on Solarized's palette - (c) 2011 Ethan Schoonover | ||
7 | * See http://ethanschoonover.com/solarized#usage-development | ||
8 | * See http://ethanschoonover.com/solarized#the-values | ||
9 | * | ||
10 | * Background: #002b36 base 03 | ||
11 | * Highlight: #073642 base 02 | ||
12 | * Primary content: #839496 base 0 | ||
13 | * Intermediate: #657b83 base 00 | ||
14 | * Emphasized content: #93a1a1 base 1 | ||
15 | * Secondary content: #586e75 base 01 | ||
16 | * Green: #859900 | ||
17 | * Orange: #cb4b16 | ||
18 | * Red: #dc322f | ||
19 | * Blue: #268bd2 | ||
20 | * | ||
21 | * ================================================== */ | ||
22 | |||
23 | /* Background */ | ||
24 | |||
25 | body, | ||
26 | #article_toolbar { | ||
27 | background-color: #002b36; | ||
28 | } | ||
29 | |||
30 | /* Highlight */ | ||
31 | /* 2 different selectors for selection pseudo-elmt */ | ||
32 | /* See https://developer.mozilla.org/en-US/docs/Web/CSS/::selection */ | ||
33 | ::-moz-selection { | ||
34 | background-color: #073642; | ||
35 | } | ||
36 | ::selection { | ||
37 | background-color: #073642; | ||
38 | } | ||
39 | |||
40 | /* Primary content */ | ||
41 | |||
42 | body, | ||
43 | a, | ||
44 | a:hover, | ||
45 | a:visited, | ||
46 | td { | ||
47 | color: #839496; | ||
48 | } | ||
49 | |||
50 | /* Secondary content */ | ||
51 | |||
52 | .tools p, | ||
53 | .vieworiginal a, | ||
54 | .vieworiginal a:hover, | ||
55 | .vieworiginal a:visited { | ||
56 | color: #586e75; | ||
57 | } | ||
58 | |||
59 | #main #content .entrie, | ||
60 | #article header, | ||
61 | #article article { | ||
62 | border-bottom-color: #586e75; | ||
63 | } | ||
64 | |||
65 | /* Emphasized content */ | ||
66 | |||
67 | .entrie h2 a:hover, | ||
68 | footer, | ||
69 | footer a { | ||
70 | color: #93a1a1; | ||
71 | } | ||
72 | |||
73 | /* Colored content */ | ||
74 | |||
75 | #main .messages.success, | ||
76 | #main .messages.warning, | ||
77 | #main .messages.error, | ||
78 | #main .messages.information, | ||
79 | #main .messages.info { | ||
80 | background-color: #073642; | ||
81 | } | ||
82 | |||
83 | #main .messages.success { | ||
84 | border-color: #859900; | ||
85 | } | ||
86 | |||
87 | #main .messages.success p { | ||
88 | color: #859900 !important; /* Overwrites !important used on messages.css */ | ||
89 | } | ||
90 | |||
91 | #main .messages.warning { | ||
92 | border-color: #cb4b16; | ||
93 | } | ||
94 | |||
95 | #main .messages.warning p { | ||
96 | color: #cb4b16; | ||
97 | } | ||
98 | |||
99 | #main .messages.error { | ||
100 | border-color: #dc322f; | ||
101 | } | ||
102 | |||
103 | #main .messages.error p { | ||
104 | color: #dc322f !important; /* Overwrites !important used on messages.css */ | ||
105 | } | ||
106 | |||
107 | #main .messages.information, | ||
108 | #main .messages.info { | ||
109 | border-color: #268bd2; | ||
110 | } | ||
111 | |||
112 | #main .messages.information p, | ||
113 | #main .messages.info p { | ||
114 | color: #268bd2; | ||
115 | } | ||
116 | |||
117 | /* Miscellaneous */ | ||
118 | |||
119 | .bouton, | ||
120 | .bouton:hover, | ||
121 | #main #links li a.current, | ||
122 | #links a:hover, | ||
123 | .pagination span.current, | ||
124 | .pagination a:hover, | ||
125 | .pagination a:active { | ||
126 | color: #002b36; | ||
127 | background-color: #586e75; | ||
128 | } | ||
129 | |||
130 | .bouton:hover { | ||
131 | background-color: #657b83; | ||
132 | } | ||
133 | |||
134 | #login, | ||
135 | #password, | ||
136 | #password_repeat, | ||
137 | #bookmarklet, | ||
138 | .top_link { | ||
139 | background-color: #073642; | ||
140 | } | ||
141 | |||
142 | #login, | ||
143 | #password, | ||
144 | #password_repeat, | ||
145 | #bookmarklet { | ||
146 | padding: 5px; | ||
147 | border: 1px solid #586e75; | ||
148 | color: #839496; | ||
149 | } | ||
150 | |||
151 | #bookmarklet { | ||
152 | border-style: dashed; | ||
153 | } | ||
154 | |||
155 | .pagination a { | ||
156 | border-color: #586e75; | ||
157 | color: #586e75; | ||
158 | } | ||
159 | |||
160 | .pagination span.current { | ||
161 | border-color: #073642; | ||
162 | } | ||
163 | |||
164 | /* Images */ | ||
165 | |||
166 | a.back span { | ||
167 | background-image: url('../img/solarized-dark/left.png'); | ||
168 | } | ||
169 | |||
170 | a.top span { | ||
171 | background-image: url('../img/solarized-dark/top.png'); | ||
172 | } | ||
173 | |||
174 | a.fav span, | ||
175 | a.fav-off span:hover { | ||
176 | background-image: url('../img/solarized-dark/star-on.png'); | ||
177 | } | ||
178 | |||
179 | a.fav span:hover, | ||
180 | a.fav-off span { | ||
181 | background-image: url('../img/solarized-dark/star-off.png'); | ||
182 | } | ||
183 | |||
184 | a.archive span, | ||
185 | a.archive-off span:hover { | ||
186 | background-image: url('../img/solarized-dark/checkmark-on.png'); | ||
187 | } | ||
188 | |||
189 | a.archive span:hover, | ||
190 | a.archive-off span { | ||
191 | background-image: url('../img/solarized-dark/checkmark-off.png'); | ||
192 | } | ||
193 | |||
194 | a.twitter span { | ||
195 | background-image: url('../img/solarized-dark/twitter.png'); | ||
196 | } | ||
197 | |||
198 | a.flattr span { | ||
199 | background-image: url('../img/solarized-dark/flattr.png'); | ||
200 | } | ||
201 | |||
202 | a.shaarli span { | ||
203 | background-image: url('../img/solarized-dark/shaarli.png'); | ||
204 | } | ||
205 | |||
206 | a.email span { | ||
207 | background-image: url('../img/solarized-dark/envelop.png'); | ||
208 | } | ||
209 | |||
210 | a.delete span { | ||
211 | background-image: url('../img/solarized-dark/remove.png'); | ||
212 | } | ||
213 | |||
214 | a.link span { | ||
215 | background-image: url('../img/solarized-dark/link.png'); | ||
216 | } | ||
217 | |||
218 | a.bad-display span { | ||
219 | background-image: url('../img/solarized-dark/bad-display.png'); | ||
220 | } | ||
221 | |||
222 | .arrow-down { | ||
223 | width: 0px; | ||
224 | height: 0px; | ||
225 | border-style: solid; | ||
226 | border-width: 10px 10px 0 10px; | ||
227 | border-color: #586E75 transparent transparent transparent; | ||
228 | |||
229 | position: absolute; | ||
230 | margin-top: 1.5em; | ||
231 | margin-left: -30px; | ||
232 | } \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/backtotop.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/backtotop.png deleted file mode 100644 index 1501c2a5..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/backtotop.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/bad-display.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/bad-display.png deleted file mode 100644 index b2c3ca17..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/bad-display.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/checkmark-off.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/checkmark-off.png deleted file mode 100644 index fd7d92fa..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/checkmark-off.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/checkmark-on.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/checkmark-on.png deleted file mode 100644 index 592965dd..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/checkmark-on.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/down.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/down.png deleted file mode 100644 index 5de30315..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/down.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/envelop.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/envelop.png deleted file mode 100644 index d3468885..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/envelop.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/flattr.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/flattr.png deleted file mode 100644 index 73e3f421..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/flattr.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/left.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/left.png deleted file mode 100644 index a953d831..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/left.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/link.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/link.png deleted file mode 100644 index 5e859a0e..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/link.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/remove.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/remove.png deleted file mode 100644 index 66a5c1ab..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/remove.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/rss.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/rss.png deleted file mode 100644 index 21bad1a1..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/rss.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/shaarli.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/shaarli.png deleted file mode 100644 index 1eb30f60..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/shaarli.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/star-off.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/star-off.png deleted file mode 100644 index 1c603ecc..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/star-off.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/star-on.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/star-on.png deleted file mode 100644 index bc37772a..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/star-on.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/top.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/top.png deleted file mode 100644 index b3f44f31..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/top.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/twitter.png b/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/twitter.png deleted file mode 100644 index c4a25334..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/public/img/solarized-dark/twitter.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/screenshot.jpg b/src/Wallabag/Wallabag/Resources/views/solarized-dark/screenshot.jpg deleted file mode 100644 index 2ad87943..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/screenshot.jpg +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized-dark/theme.ini b/src/Wallabag/Wallabag/Resources/views/solarized-dark/theme.ini deleted file mode 100644 index c9948146..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized-dark/theme.ini +++ /dev/null | |||
@@ -1,2 +0,0 @@ | |||
1 | name = Solarized Dark | ||
2 | requirements[] = default | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/README.md b/src/Wallabag/Wallabag/Resources/views/solarized/README.md deleted file mode 100644 index 255e3cdd..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/README.md +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | # solarized (Solarized) theme | ||
2 | |||
3 | |||
4 | Theme created by NumEricR | ||
5 | |||
6 | http://github.com/NumEricR/poche-themes | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/Solarized-LICENSE.txt b/src/Wallabag/Wallabag/Resources/views/solarized/Solarized-LICENSE.txt deleted file mode 100644 index a842f663..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/Solarized-LICENSE.txt +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | Copyright (c) 2011 Ethan Schoonover | ||
2 | |||
3 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
4 | of this software and associated documentation files (the "Software"), to deal | ||
5 | in the Software without restriction, including without limitation the rights | ||
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
7 | copies of the Software, and to permit persons to whom the Software is | ||
8 | furnished to do so, subject to the following conditions: | ||
9 | |||
10 | The above copyright notice and this permission notice shall be included in | ||
11 | all copies or substantial portions of the Software. | ||
12 | |||
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
19 | THE SOFTWARE | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/css/style-solarized.css b/src/Wallabag/Wallabag/Resources/views/solarized/public/css/style-solarized.css deleted file mode 100644 index cf16338f..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/css/style-solarized.css +++ /dev/null | |||
@@ -1,232 +0,0 @@ | |||
1 | /* | ||
2 | * Solarized - by NumEricR | ||
3 | * http://github.com/NumEricR/poche-themes | ||
4 | * ================================================== | ||
5 | * | ||
6 | * Based on Solarized's palette - (c) 2011 Ethan Schoonover | ||
7 | * See http://ethanschoonover.com/solarized#usage-development | ||
8 | * See http://ethanschoonover.com/solarized#the-values | ||
9 | * | ||
10 | * Background: #fdf6e3 base 3 | ||
11 | * Highlight: #eee8d5 base 2 | ||
12 | * Primary content: #657b83 base 00 | ||
13 | * Intermediate: #839496 base 0 | ||
14 | * Emphasized content: #586e75 base 01 | ||
15 | * Secondary content: #93a1a1 base 1 | ||
16 | * Green: #859900 | ||
17 | * Orange: #cb4b16 | ||
18 | * Red: #dc322f | ||
19 | * Blue: #268bd2 | ||
20 | * | ||
21 | * ================================================== */ | ||
22 | |||
23 | /* Background */ | ||
24 | |||
25 | body, | ||
26 | #article_toolbar { | ||
27 | background-color: #fdf6e3; | ||
28 | } | ||
29 | |||
30 | /* Highlight */ | ||
31 | /* 2 different selectors for selection pseudo-elmt */ | ||
32 | /* See https://developer.mozilla.org/en-US/docs/Web/CSS/::selection */ | ||
33 | ::-moz-selection { | ||
34 | background-color: #eee8d5; | ||
35 | } | ||
36 | ::selection { | ||
37 | background-color: #eee8d5; | ||
38 | } | ||
39 | |||
40 | /* Primary content */ | ||
41 | |||
42 | body, | ||
43 | a, | ||
44 | a:hover, | ||
45 | a:visited, | ||
46 | td { | ||
47 | color: #657b83; | ||
48 | } | ||
49 | |||
50 | /* Secondary content */ | ||
51 | |||
52 | .tools p, | ||
53 | .vieworiginal a, | ||
54 | .vieworiginal a:hover, | ||
55 | .vieworiginal a:visited { | ||
56 | color: #93a1a1; | ||
57 | } | ||
58 | |||
59 | #main #content .entrie, | ||
60 | #article header, | ||
61 | #article article { | ||
62 | border-bottom-color: #93a1a1; | ||
63 | } | ||
64 | |||
65 | /* Emphasized content */ | ||
66 | |||
67 | .entrie h2 a:hover, | ||
68 | footer, | ||
69 | footer a { | ||
70 | color: #586e75; | ||
71 | } | ||
72 | |||
73 | /* Colored content */ | ||
74 | |||
75 | #main .messages.success, | ||
76 | #main .messages.warning, | ||
77 | #main .messages.error, | ||
78 | #main .messages.information, | ||
79 | #main .messages.info { | ||
80 | background-color: #eee8d5; | ||
81 | } | ||
82 | |||
83 | #main .messages.success { | ||
84 | border-color: #859900; | ||
85 | } | ||
86 | |||
87 | #main .messages.success p { | ||
88 | color: #859900 !important; /* Overwrites !important used on messages.css */ | ||
89 | } | ||
90 | |||
91 | #main .messages.warning { | ||
92 | border-color: #cb4b16; | ||
93 | } | ||
94 | |||
95 | #main .messages.warning p { | ||
96 | color: #cb4b16; | ||
97 | } | ||
98 | |||
99 | #main .messages.error { | ||
100 | border-color: #dc322f; | ||
101 | } | ||
102 | |||
103 | #main .messages.error p { | ||
104 | color: #dc322f !important; /* Overwrites !important used on messages.css */ | ||
105 | } | ||
106 | |||
107 | #main .messages.information, | ||
108 | #main .messages.info { | ||
109 | border-color: #268bd2; | ||
110 | } | ||
111 | |||
112 | #main .messages.information p, | ||
113 | #main .messages.info p { | ||
114 | color: #268bd2; | ||
115 | } | ||
116 | |||
117 | /* Miscellaneous */ | ||
118 | |||
119 | .bouton, | ||
120 | .bouton:hover, | ||
121 | #main #links li a.current, | ||
122 | #links a:hover, | ||
123 | .pagination span.current, | ||
124 | .pagination a:hover, | ||
125 | .pagination a:active { | ||
126 | color: #fdf6e3; | ||
127 | background-color: #93a1a1; | ||
128 | } | ||
129 | |||
130 | .bouton:hover { | ||
131 | background-color: #657b83; | ||
132 | } | ||
133 | |||
134 | #login, | ||
135 | #password, | ||
136 | #password_repeat, | ||
137 | #bookmarklet, | ||
138 | .top_link { | ||
139 | background-color: #eee8d5; | ||
140 | } | ||
141 | |||
142 | #login, | ||
143 | #password, | ||
144 | #password_repeat, | ||
145 | #bookmarklet { | ||
146 | padding: 5px; | ||
147 | border: 1px solid #93a1a1; | ||
148 | color: #657b83; | ||
149 | } | ||
150 | |||
151 | #bookmarklet { | ||
152 | border-style: dashed; | ||
153 | } | ||
154 | |||
155 | .pagination a { | ||
156 | border-color: #93a1a1; | ||
157 | color: #93a1a1; | ||
158 | } | ||
159 | |||
160 | .pagination span.current { | ||
161 | border-color: #eee8d5; | ||
162 | } | ||
163 | |||
164 | /* Images */ | ||
165 | |||
166 | a.back span { | ||
167 | background-image: url('../img/solarized/left.png'); | ||
168 | } | ||
169 | |||
170 | a.top span { | ||
171 | background-image: url('../img/solarized/top.png'); | ||
172 | } | ||
173 | |||
174 | a.fav span, | ||
175 | a.fav-off span:hover { | ||
176 | background-image: url('../img/solarized/star-on.png'); | ||
177 | } | ||
178 | |||
179 | a.fav span:hover, | ||
180 | a.fav-off span { | ||
181 | background-image: url('../img/solarized/star-off.png'); | ||
182 | } | ||
183 | |||
184 | a.archive span, | ||
185 | a.archive-off span:hover { | ||
186 | background-image: url('../img/solarized/checkmark-on.png'); | ||
187 | } | ||
188 | |||
189 | a.archive span:hover, | ||
190 | a.archive-off span { | ||
191 | background-image: url('../img/solarized/checkmark-off.png'); | ||
192 | } | ||
193 | |||
194 | a.twitter span { | ||
195 | background-image: url('../img/solarized/twitter.png'); | ||
196 | } | ||
197 | |||
198 | a.shaarli span { | ||
199 | background-image: url('../img/solarized/shaarli.png'); | ||
200 | } | ||
201 | |||
202 | a.flattr span { | ||
203 | background-image: url('../img/solarized/flattr.png'); | ||
204 | } | ||
205 | |||
206 | a.email span { | ||
207 | background-image: url('../img/solarized/envelop.png'); | ||
208 | } | ||
209 | |||
210 | a.delete span { | ||
211 | background-image: url('../img/solarized/remove.png'); | ||
212 | } | ||
213 | |||
214 | a.link span { | ||
215 | background-image: url('../img/solarized/link.png'); | ||
216 | } | ||
217 | |||
218 | a.bad-display span { | ||
219 | background-image: url('../img/solarized/bad-display.png'); | ||
220 | } | ||
221 | |||
222 | .arrow-down { | ||
223 | width: 0px; | ||
224 | height: 0px; | ||
225 | border-style: solid; | ||
226 | border-width: 10px 10px 0 10px; | ||
227 | border-color: #93A1A1 transparent transparent transparent; | ||
228 | |||
229 | position: absolute; | ||
230 | margin-top: 1.5em; | ||
231 | margin-left: -30px; | ||
232 | } \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/backtotop.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/backtotop.png deleted file mode 100644 index a3e52318..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/backtotop.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/bad-display.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/bad-display.png deleted file mode 100644 index ae99ab37..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/bad-display.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/checkmark-off.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/checkmark-off.png deleted file mode 100644 index 20cd26b3..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/checkmark-off.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/checkmark-on.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/checkmark-on.png deleted file mode 100644 index 87a2b799..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/checkmark-on.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/down.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/down.png deleted file mode 100644 index 622ff87b..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/down.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/envelop.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/envelop.png deleted file mode 100644 index 1caf7d43..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/envelop.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/flattr.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/flattr.png deleted file mode 100644 index 18e00f86..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/flattr.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/left.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/left.png deleted file mode 100644 index 9780faee..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/left.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/link.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/link.png deleted file mode 100644 index d0e12862..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/link.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/remove.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/remove.png deleted file mode 100644 index d5113d17..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/remove.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/rss.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/rss.png deleted file mode 100644 index 21bad1a1..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/rss.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/shaarli.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/shaarli.png deleted file mode 100644 index 1eb30f60..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/shaarli.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/star-off.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/star-off.png deleted file mode 100644 index afd7d80c..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/star-off.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/star-on.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/star-on.png deleted file mode 100644 index 3a772512..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/star-on.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/top.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/top.png deleted file mode 100644 index d20001a4..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/top.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/twitter.png b/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/twitter.png deleted file mode 100644 index 109d7151..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/public/img/solarized/twitter.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/screenshot.jpg b/src/Wallabag/Wallabag/Resources/views/solarized/screenshot.jpg deleted file mode 100644 index 07d402e3..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/screenshot.jpg +++ /dev/null | |||
Binary files differ | |||
diff --git a/src/Wallabag/Wallabag/Resources/views/solarized/theme.ini b/src/Wallabag/Wallabag/Resources/views/solarized/theme.ini deleted file mode 100644 index 703997b9..00000000 --- a/src/Wallabag/Wallabag/Resources/views/solarized/theme.ini +++ /dev/null | |||
@@ -1,2 +0,0 @@ | |||
1 | name = Solarized | ||
2 | requirements[] = default | ||
diff --git a/src/Wallabag/Wallabag/Routing.php b/src/Wallabag/Wallabag/Routing.php deleted file mode 100755 index 85b6af1e..00000000 --- a/src/Wallabag/Wallabag/Routing.php +++ /dev/null | |||
@@ -1,163 +0,0 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas Lœuillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | namespace Wallabag\Wallabag; | ||
12 | |||
13 | class Routing | ||
14 | { | ||
15 | protected $wallabag; | ||
16 | protected $referer; | ||
17 | protected $view; | ||
18 | protected $action; | ||
19 | protected $id; | ||
20 | protected $url; | ||
21 | protected $file; | ||
22 | protected $defaultVars = array(); | ||
23 | protected $vars = array(); | ||
24 | |||
25 | public function __construct(Wallabag $wallabag) | ||
26 | { | ||
27 | $this->wallabag = $wallabag; | ||
28 | $this->_init(); | ||
29 | } | ||
30 | |||
31 | private function _init() | ||
32 | { | ||
33 | # Parse GET & REFERER vars | ||
34 | $this->referer = empty($_SERVER['HTTP_REFERER']) ? '' : $_SERVER['HTTP_REFERER']; | ||
35 | $this->view = Tools::checkVar('view', 'home'); | ||
36 | $this->action = Tools::checkVar('action'); | ||
37 | $this->id = Tools::checkVar('id'); | ||
38 | $_SESSION['sort'] = Tools::checkVar('sort', 'id'); | ||
39 | $this->url = new Url((isset ($_GET['url'])) ? $_GET['url'] : ''); | ||
40 | } | ||
41 | |||
42 | public function run() | ||
43 | { | ||
44 | # vars to _always_ send to templates | ||
45 | $this->defaultVars = array( | ||
46 | 'referer' => $this->referer, | ||
47 | 'view' => $this->view, | ||
48 | 'poche_url' => Tools::getPocheUrl(), | ||
49 | 'title' => _('wallabag, a read it later open source system'), | ||
50 | 'token' => \Session::getToken(), | ||
51 | 'theme' => $this->wallabag->tpl->getTheme() | ||
52 | ); | ||
53 | |||
54 | $this->_launchAction(); | ||
55 | $this->_defineTplInformation(); | ||
56 | |||
57 | # because messages can be added in $poche->action(), we have to add this entry now (we can add it before) | ||
58 | $this->vars = array_merge($this->vars, array('messages' => $this->wallabag->messages->display('all', FALSE))); | ||
59 | |||
60 | $this->_render($this->file, $this->vars); | ||
61 | } | ||
62 | |||
63 | private function _defineTplInformation() | ||
64 | { | ||
65 | $tplFile = array(); | ||
66 | $tplVars = array(); | ||
67 | |||
68 | if (\Session::isLogged()) { | ||
69 | $this->wallabag->action($this->action, $this->url, $this->id); | ||
70 | $tplFile = Tools::getTplFile($this->view); | ||
71 | $tplVars = array_merge($this->vars, $this->wallabag->displayView($this->view, $this->id)); | ||
72 | } elseif(isset($_SERVER['PHP_AUTH_USER'])) { | ||
73 | if($this->wallabag->store->userExists($_SERVER['PHP_AUTH_USER'])) { | ||
74 | $this->wallabag->login($this->referer); | ||
75 | } else { | ||
76 | $this->wallabag->messages->add('e', _('login failed: user doesn\'t exist')); | ||
77 | Tools::logm('user doesn\'t exist'); | ||
78 | $tplFile = Tools::getTplFile('login'); | ||
79 | $tplVars['http_auth'] = 1; | ||
80 | } | ||
81 | } elseif(isset($_SERVER['REMOTE_USER'])) { | ||
82 | if($this->wallabag->store->userExists($_SERVER['REMOTE_USER'])) { | ||
83 | $this->wallabag->login($this->referer); | ||
84 | } else { | ||
85 | $this->wallabag->messages->add('e', _('login failed: user doesn\'t exist')); | ||
86 | Tools::logm('user doesn\'t exist'); | ||
87 | $tplFile = Tools::getTplFile('login'); | ||
88 | $tplVars['http_auth'] = 1; | ||
89 | } | ||
90 | } else { | ||
91 | $tplFile = Tools::getTplFile('login'); | ||
92 | $tplVars['http_auth'] = 0; | ||
93 | \Session::logout(); | ||
94 | } | ||
95 | |||
96 | $this->file = $tplFile; | ||
97 | $this->vars = array_merge($this->defaultVars, $tplVars); | ||
98 | } | ||
99 | |||
100 | private function _launchAction() | ||
101 | { | ||
102 | if (isset($_GET['login'])) { | ||
103 | // hello to you | ||
104 | $this->wallabag->login($this->referer); | ||
105 | } elseif (isset($_GET['feed']) && isset($_GET['user_id'])) { | ||
106 | $tag_id = (isset($_GET['tag_id']) ? intval($_GET['tag_id']) : 0); | ||
107 | $limit = (isset($_GET['limit']) ? intval($_GET['limit']) : 0); | ||
108 | $this->wallabag->generateFeeds($_GET['token'], filter_var($_GET['user_id'],FILTER_SANITIZE_NUMBER_INT), $tag_id, $_GET['type'], $limit); | ||
109 | } | ||
110 | |||
111 | //allowed ONLY to logged in user | ||
112 | if (\Session::isLogged() === true) | ||
113 | { | ||
114 | if (isset($_GET['logout'])) { | ||
115 | // see you soon ! | ||
116 | $this->wallabag->logout(); | ||
117 | } elseif (isset($_GET['config'])) { | ||
118 | // update password | ||
119 | $this->wallabag->updatePassword($_POST['password'], $_POST['password_repeat']); | ||
120 | } elseif (isset($_GET['newuser'])) { | ||
121 | $this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser']); | ||
122 | } elseif (isset($_GET['deluser'])) { | ||
123 | $this->wallabag->deleteUser($_POST['password4deletinguser']); | ||
124 | } elseif (isset($_GET['epub'])) { | ||
125 | $epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['value']); | ||
126 | $epub->prepareData(); | ||
127 | $epub->produceEpub(); | ||
128 | } elseif (isset($_GET['mobi'])) { | ||
129 | $mobi = new WallabagMobi($this->wallabag, $_GET['method'], $_GET['value']); | ||
130 | $mobi->prepareData(); | ||
131 | $mobi->produceMobi(); | ||
132 | } elseif (isset($_GET['pdf'])) { | ||
133 | $pdf = new WallabagPDF($this->wallabag, $_GET['method'], $_GET['value']); | ||
134 | $pdf->prepareData(); | ||
135 | $pdf->producePDF(); | ||
136 | } elseif (isset($_GET['import'])) { | ||
137 | $import = $this->wallabag->import(); | ||
138 | $tplVars = array_merge($this->vars, $import); | ||
139 | } elseif (isset($_GET['empty-cache'])) { | ||
140 | Tools::emptyCache(); | ||
141 | } elseif (isset($_GET['export'])) { | ||
142 | $this->wallabag->export(); | ||
143 | } elseif (isset($_GET['updatetheme'])) { | ||
144 | $this->wallabag->tpl->updateTheme($_POST['theme']); | ||
145 | } elseif (isset($_GET['updatelanguage'])) { | ||
146 | $this->wallabag->language->updateLanguage($_POST['language']); | ||
147 | } elseif (isset($_GET['uploadfile'])) { | ||
148 | $this->wallabag->uploadFile(); | ||
149 | } elseif (isset($_GET['feed']) && isset($_GET['action']) && $_GET['action'] == 'generate') { | ||
150 | $this->wallabag->updateToken(); | ||
151 | } | ||
152 | elseif (isset($_GET['plainurl']) && !empty($_GET['plainurl'])) { | ||
153 | $plainUrl = new Url(base64_encode($_GET['plainurl'])); | ||
154 | $this->wallabag->action('add', $plainUrl); | ||
155 | } | ||
156 | } | ||
157 | } | ||
158 | |||
159 | public function _render($file, $vars) | ||
160 | { | ||
161 | echo $this->wallabag->tpl->render($file, $vars); | ||
162 | } | ||
163 | } | ||
diff --git a/src/Wallabag/Wallabag/Template.php b/src/Wallabag/Wallabag/Template.php deleted file mode 100644 index d0fc9b07..00000000 --- a/src/Wallabag/Wallabag/Template.php +++ /dev/null | |||
@@ -1,244 +0,0 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas Lœuillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | namespace Wallabag\Wallabag; | ||
12 | |||
13 | use \Twig_Environment; | ||
14 | use \Session; | ||
15 | use \Twig_Loader_Chain; | ||
16 | use \Twig_Loader_Filesystem; | ||
17 | use \Twig_Extensions_Extension_I18n; | ||
18 | use \Twig_SimpleFilter; | ||
19 | |||
20 | class Template extends Twig_Environment | ||
21 | { | ||
22 | protected $wallabag; | ||
23 | |||
24 | private $canRenderTemplates = TRUE; | ||
25 | private $currentTheme = ''; | ||
26 | |||
27 | public function __construct(Wallabag $wallabag) | ||
28 | { | ||
29 | $this->wallabag = $wallabag; | ||
30 | |||
31 | // Set up theme | ||
32 | $pocheUser = Session::getParam('poche_user'); | ||
33 | |||
34 | $themeDirectory = (is_null($pocheUser) ? DEFAULT_THEME : $pocheUser->getConfigValue('theme')); | ||
35 | |||
36 | if ($themeDirectory === false || !is_dir(THEME . '/' . $themeDirectory)) { | ||
37 | $themeDirectory = DEFAULT_THEME; | ||
38 | } | ||
39 | |||
40 | $this->currentTheme = $themeDirectory; | ||
41 | |||
42 | if ($this->_themeIsInstalled() === array()) { | ||
43 | $this->_init(); | ||
44 | } | ||
45 | } | ||
46 | |||
47 | /** | ||
48 | * Returns true if selected theme is installed | ||
49 | * | ||
50 | * @return bool | ||
51 | */ | ||
52 | private function _themeIsInstalled() | ||
53 | { | ||
54 | $errors = array(); | ||
55 | |||
56 | // Twig is an absolute requirement for wallabag to function. | ||
57 | // Abort immediately if the Composer installer hasn't been run yet | ||
58 | if (!$this->canRenderTemplates) { | ||
59 | $errors[] = 'Twig does not seem to be installed. Please initialize the Composer installation to automatically fetch dependencies. You can also download <a href="http://wllbg.org/vendor">vendor.zip</a> and extract it in your wallabag folder.'; | ||
60 | } | ||
61 | |||
62 | // Check if the selected theme and its requirements are present | ||
63 | $theme = $this->getTheme(); | ||
64 | if ($theme != '' && !is_dir(THEME . '/' . $theme)) { | ||
65 | $errors[] = 'The currently selected theme (' . $theme . ') does not seem to be properly installed (Missing directory: ' . THEME . '/' . $theme . ')'; | ||
66 | $this->canRenderTemplates = FALSE; | ||
67 | } | ||
68 | |||
69 | $themeInfo = $this->getThemeInfo($theme); | ||
70 | if (isset($themeInfo['requirements']) && is_array($themeInfo['requirements'])) { | ||
71 | foreach ($themeInfo['requirements'] as $requiredTheme) { | ||
72 | if (! is_dir(THEME . '/' . $requiredTheme)) { | ||
73 | $errors[] = 'The required "' . $requiredTheme . '" theme is missing for the current theme (' . $theme . ')'; | ||
74 | $this->canRenderTemplates = FALSE; | ||
75 | } | ||
76 | } | ||
77 | } | ||
78 | |||
79 | $currentErrors = (is_null(Session::getParam('errors'))? array() : Session::getParam('errors')); | ||
80 | Session::setParam('errors', array_merge($errors, $currentErrors)); | ||
81 | |||
82 | return $errors; | ||
83 | } | ||
84 | |||
85 | /** | ||
86 | * Initialization for templates | ||
87 | */ | ||
88 | private function _init() | ||
89 | { | ||
90 | $loaderChain = new Twig_Loader_Chain(); | ||
91 | $theme = $this->getTheme(); | ||
92 | |||
93 | // add the current theme as first to the loader chain | ||
94 | // so Twig will look there first for overridden template files | ||
95 | try { | ||
96 | $loaderChain->addLoader(new Twig_Loader_Filesystem(THEME . '/' . $theme)); | ||
97 | } catch (Twig_Error_Loader $e) { | ||
98 | # @todo isInstalled() should catch this, inject Twig later | ||
99 | die('The currently selected theme (' . $theme . ') does not seem to be properly installed (' . THEME . '/' . $theme .' is missing)'); | ||
100 | } | ||
101 | |||
102 | // add all required themes to the loader chain | ||
103 | $themeInfo = $this->getThemeInfo($theme); | ||
104 | if (isset($themeInfo['requirements']) && is_array($themeInfo['requirements'])) { | ||
105 | foreach ($themeInfo['requirements'] as $requiredTheme) { | ||
106 | try { | ||
107 | $loaderChain->addLoader(new Twig_Loader_Filesystem(THEME . '/' . $requiredTheme)); | ||
108 | } catch (Twig_Error_Loader $e) { | ||
109 | # @todo isInstalled() should catch this, inject Twig later | ||
110 | die('The required "' . $requiredTheme . '" theme is missing for the current theme (' . $theme . ')'); | ||
111 | } | ||
112 | } | ||
113 | } | ||
114 | |||
115 | if (DEBUG_POCHE) { | ||
116 | $twigParams = array(); | ||
117 | } else { | ||
118 | $twigParams = array('cache' => CACHE); | ||
119 | } | ||
120 | |||
121 | parent::__construct($loaderChain, $twigParams); | ||
122 | |||
123 | //$tpl = new Twig_Environment($loaderChain, $twigParams); | ||
124 | $this->addExtension(new Twig_Extensions_Extension_I18n()); | ||
125 | |||
126 | # filter to display domain name of an url | ||
127 | $filter = new Twig_SimpleFilter('getDomain', 'Wallabag\\Wallabag\\Tools::getDomain'); | ||
128 | $this->addFilter($filter); | ||
129 | |||
130 | # filter for reading time | ||
131 | $filter = new Twig_SimpleFilter('getReadingTime', 'Wallabag\\Wallabag\\Tools::getReadingTime'); | ||
132 | $this->addFilter($filter); | ||
133 | } | ||
134 | |||
135 | /** | ||
136 | * Returns current theme | ||
137 | * | ||
138 | * @return string | ||
139 | */ | ||
140 | public function getTheme() | ||
141 | { | ||
142 | return $this->currentTheme; | ||
143 | } | ||
144 | |||
145 | /** | ||
146 | * Provides theme information by parsing theme.ini file if present in the theme's root directory. | ||
147 | * In all cases, the following data will be returned: | ||
148 | * - name: theme's name, or key if the theme is unnamed, | ||
149 | * - current: boolean informing if the theme is the current user theme. | ||
150 | * | ||
151 | * @param string $theme Theme key (directory name) | ||
152 | * @return array|boolean Theme information, or false if the theme doesn't exist. | ||
153 | */ | ||
154 | public function getThemeInfo($theme) | ||
155 | { | ||
156 | if (!is_dir(THEME . '/' . $theme)) { | ||
157 | return false; | ||
158 | } | ||
159 | |||
160 | $themeIniFile = THEME . '/' . $theme . '/theme.ini'; | ||
161 | $themeInfo = array(); | ||
162 | |||
163 | if (is_file($themeIniFile) && is_readable($themeIniFile)) { | ||
164 | $themeInfo = parse_ini_file($themeIniFile); | ||
165 | } | ||
166 | |||
167 | if ($themeInfo === false) { | ||
168 | $themeInfo = array(); | ||
169 | } | ||
170 | |||
171 | if (!isset($themeInfo['name'])) { | ||
172 | $themeInfo['name'] = $theme; | ||
173 | } | ||
174 | |||
175 | $themeInfo['current'] = ($theme === $this->getTheme()); | ||
176 | |||
177 | return $themeInfo; | ||
178 | } | ||
179 | |||
180 | /** | ||
181 | * Returns an array with installed themes | ||
182 | * | ||
183 | * @return array | ||
184 | */ | ||
185 | public function getInstalledThemes() | ||
186 | { | ||
187 | $handle = opendir(THEME); | ||
188 | $themes = array(); | ||
189 | |||
190 | while (($theme = readdir($handle)) !== false) { | ||
191 | # Themes are stored in a directory, so all directory names are themes | ||
192 | # @todo move theme installation data to database | ||
193 | if (!is_dir(THEME . '/' . $theme) || in_array($theme, array('.', '..', '_global'))) { | ||
194 | continue; | ||
195 | } | ||
196 | |||
197 | $themes[$theme] = $this->getThemeInfo($theme); | ||
198 | } | ||
199 | |||
200 | ksort($themes); | ||
201 | |||
202 | return $themes; | ||
203 | } | ||
204 | |||
205 | /** | ||
206 | * Update theme for the current user | ||
207 | * | ||
208 | * @param $newTheme | ||
209 | */ | ||
210 | public function updateTheme($newTheme) | ||
211 | { | ||
212 | # we are not going to change it to the current theme... | ||
213 | if ($newTheme == $this->getTheme()) { | ||
214 | $this->wallabag->messages->add('w', _('still using the "' . $this->getTheme() . '" theme!')); | ||
215 | Tools::redirect('?view=config'); | ||
216 | } | ||
217 | |||
218 | $themes = $this->getInstalledThemes(); | ||
219 | $actualTheme = false; | ||
220 | |||
221 | foreach (array_keys($themes) as $theme) { | ||
222 | if ($theme == $newTheme) { | ||
223 | $actualTheme = true; | ||
224 | break; | ||
225 | } | ||
226 | } | ||
227 | |||
228 | if (!$actualTheme) { | ||
229 | $this->wallabag->messages->add('e', _('that theme does not seem to be installed')); | ||
230 | Tools::redirect('?view=config'); | ||
231 | } | ||
232 | |||
233 | $this->wallabag->store->updateUserConfig($this->wallabag->user->getId(), 'theme', $newTheme); | ||
234 | $this->wallabag->messages->add('s', _('you have changed your theme preferences')); | ||
235 | |||
236 | $currentConfig = $_SESSION['poche_user']->config; | ||
237 | $currentConfig['theme'] = $newTheme; | ||
238 | |||
239 | $_SESSION['poche_user']->setConfig($currentConfig); | ||
240 | |||
241 | Tools::emptyCache(); | ||
242 | Tools::redirect('?view=config'); | ||
243 | } | ||
244 | } | ||
diff --git a/src/Wallabag/Wallabag/Tools.php b/src/Wallabag/Wallabag/Tools.php deleted file mode 100755 index 9350c660..00000000 --- a/src/Wallabag/Wallabag/Tools.php +++ /dev/null | |||
@@ -1,425 +0,0 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas Lœuillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | namespace Wallabag\Wallabag; | ||
12 | |||
13 | use \RecursiveIteratorIterator; | ||
14 | use \RecursiveDirectoryIterator; | ||
15 | |||
16 | final class Tools | ||
17 | { | ||
18 | /** | ||
19 | * Initialize PHP environment | ||
20 | */ | ||
21 | public static function initPhp() | ||
22 | { | ||
23 | define('START_TIME', microtime(true)); | ||
24 | |||
25 | function stripslashesDeep($value) { | ||
26 | return is_array($value) | ||
27 | ? array_map('stripslashesDeep', $value) | ||
28 | : stripslashes($value); | ||
29 | } | ||
30 | |||
31 | if (get_magic_quotes_gpc()) { | ||
32 | $_POST = array_map('stripslashesDeep', $_POST); | ||
33 | $_GET = array_map('stripslashesDeep', $_GET); | ||
34 | $_COOKIE = array_map('stripslashesDeep', $_COOKIE); | ||
35 | } | ||
36 | |||
37 | ob_start(); | ||
38 | register_shutdown_function('ob_end_flush'); | ||
39 | } | ||
40 | |||
41 | /** | ||
42 | * Get wallabag instance URL | ||
43 | * | ||
44 | * @return string | ||
45 | */ | ||
46 | public static function getPocheUrl() | ||
47 | { | ||
48 | $https = (!empty($_SERVER['HTTPS']) | ||
49 | && (strtolower($_SERVER['HTTPS']) == 'on')) | ||
50 | || (isset($_SERVER["SERVER_PORT"]) | ||
51 | && $_SERVER["SERVER_PORT"] == '443') // HTTPS detection. | ||
52 | || (isset($_SERVER["SERVER_PORT"]) //Custom HTTPS port detection | ||
53 | && $_SERVER["SERVER_PORT"] == SSL_PORT) | ||
54 | || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) | ||
55 | && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'); | ||
56 | |||
57 | $serverport = (!isset($_SERVER["SERVER_PORT"]) | ||
58 | || $_SERVER["SERVER_PORT"] == '80' | ||
59 | || $_SERVER["SERVER_PORT"] == HTTP_PORT | ||
60 | || ($https && $_SERVER["SERVER_PORT"] == '443') | ||
61 | || ($https && $_SERVER["SERVER_PORT"]==SSL_PORT) //Custom HTTPS port detection | ||
62 | ? '' : ':' . $_SERVER["SERVER_PORT"]); | ||
63 | |||
64 | if (isset($_SERVER["HTTP_X_FORWARDED_PORT"])) { | ||
65 | $serverport = ':' . $_SERVER["HTTP_X_FORWARDED_PORT"]; | ||
66 | } | ||
67 | |||
68 | $scriptname = str_replace('/index.php', '/', $_SERVER["SCRIPT_NAME"]); | ||
69 | |||
70 | if (!isset($_SERVER["HTTP_HOST"])) { | ||
71 | return $scriptname; | ||
72 | } | ||
73 | |||
74 | $host = (isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'])); | ||
75 | |||
76 | if (strpos($host, ':') !== false) { | ||
77 | $serverport = ''; | ||
78 | } | ||
79 | |||
80 | return 'http' . ($https ? 's' : '') . '://' | ||
81 | . $host . $serverport . $scriptname; | ||
82 | } | ||
83 | |||
84 | /** | ||
85 | * Redirects to a URL | ||
86 | * | ||
87 | * @param string $url | ||
88 | */ | ||
89 | public static function redirect($url = '') | ||
90 | { | ||
91 | if ($url === '') { | ||
92 | $url = (empty($_SERVER['HTTP_REFERER'])?'?':$_SERVER['HTTP_REFERER']); | ||
93 | if (isset($_POST['returnurl'])) { | ||
94 | $url = $_POST['returnurl']; | ||
95 | } | ||
96 | } | ||
97 | |||
98 | # prevent loop | ||
99 | if (empty($url) || parse_url($url, PHP_URL_QUERY) === $_SERVER['QUERY_STRING']) { | ||
100 | $url = Tools::getPocheUrl(); | ||
101 | } | ||
102 | |||
103 | if (substr($url, 0, 1) !== '?') { | ||
104 | $ref = Tools::getPocheUrl(); | ||
105 | if (substr($url, 0, strlen($ref)) !== $ref) { | ||
106 | $url = $ref; | ||
107 | } | ||
108 | } | ||
109 | |||
110 | self::logm('redirect to ' . $url); | ||
111 | header('Location: '.$url); | ||
112 | exit(); | ||
113 | } | ||
114 | |||
115 | /** | ||
116 | * Returns name of the template file to display | ||
117 | * | ||
118 | * @param $view | ||
119 | * @return string | ||
120 | */ | ||
121 | public static function getTplFile($view) | ||
122 | { | ||
123 | $views = array( | ||
124 | 'install', 'import', 'export', 'config', 'tags', | ||
125 | 'edit-tags', 'view', 'login', 'error', 'about' | ||
126 | ); | ||
127 | |||
128 | return (in_array($view, $views) ? $view . '.twig' : 'home.twig'); | ||
129 | } | ||
130 | |||
131 | /** | ||
132 | * Download a file (typically, for downloading pictures on web server) | ||
133 | * | ||
134 | * @param $url | ||
135 | * @return bool|mixed|string | ||
136 | */ | ||
137 | public static function getFile($url) | ||
138 | { | ||
139 | $timeout = 15; | ||
140 | $useragent = "Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0"; | ||
141 | |||
142 | if (in_array ('curl', get_loaded_extensions())) { | ||
143 | # Fetch feed from URL | ||
144 | $curl = curl_init(); | ||
145 | curl_setopt($curl, CURLOPT_URL, $url); | ||
146 | curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); | ||
147 | if (!ini_get('open_basedir') && !ini_get('safe_mode')) { | ||
148 | curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); | ||
149 | } | ||
150 | curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); | ||
151 | curl_setopt($curl, CURLOPT_HEADER, false); | ||
152 | |||
153 | # for ssl, do not verified certificate | ||
154 | curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); | ||
155 | curl_setopt($curl, CURLOPT_AUTOREFERER, TRUE ); | ||
156 | |||
157 | # FeedBurner requires a proper USER-AGENT... | ||
158 | curl_setopt($curl, CURL_HTTP_VERSION_1_1, true); | ||
159 | curl_setopt($curl, CURLOPT_ENCODING, "gzip, deflate"); | ||
160 | curl_setopt($curl, CURLOPT_USERAGENT, $useragent); | ||
161 | |||
162 | $data = curl_exec($curl); | ||
163 | $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); | ||
164 | $httpcodeOK = isset($httpcode) and ($httpcode == 200 or $httpcode == 301); | ||
165 | curl_close($curl); | ||
166 | } else { | ||
167 | # create http context and add timeout and user-agent | ||
168 | $context = stream_context_create( | ||
169 | array( | ||
170 | 'http' => array( | ||
171 | 'timeout' => $timeout, | ||
172 | 'header' => "User-Agent: " . $useragent, | ||
173 | 'follow_location' => true | ||
174 | ), | ||
175 | 'ssl' => array( | ||
176 | 'verify_peer' => false, | ||
177 | 'allow_self_signed' => true | ||
178 | ) | ||
179 | ) | ||
180 | ); | ||
181 | |||
182 | # only download page lesser than 4MB | ||
183 | $data = @file_get_contents($url, false, $context, -1, 4000000); | ||
184 | |||
185 | if (isset($http_response_header) and isset($http_response_header[0])) { | ||
186 | $httpcodeOK = isset($http_response_header) and isset($http_response_header[0]) and ((strpos($http_response_header[0], '200 OK') !== FALSE) or (strpos($http_response_header[0], '301 Moved Permanently') !== FALSE)); | ||
187 | } | ||
188 | } | ||
189 | |||
190 | # if response is not empty and response is OK | ||
191 | if (isset($data) and isset($httpcodeOK) and $httpcodeOK) { | ||
192 | |||
193 | # take charset of page and get it | ||
194 | preg_match('#<meta .*charset=.*>#Usi', $data, $meta); | ||
195 | |||
196 | # if meta tag is found | ||
197 | if (!empty($meta[0])) { | ||
198 | preg_match('#charset="?(.*)"#si', $meta[0], $encoding); | ||
199 | # if charset is found set it otherwise, set it to utf-8 | ||
200 | $html_charset = (!empty($encoding[1])) ? strtolower($encoding[1]) : 'utf-8'; | ||
201 | if (empty($encoding[1])) $encoding[1] = 'utf-8'; | ||
202 | } else { | ||
203 | $html_charset = 'utf-8'; | ||
204 | $encoding[1] = ''; | ||
205 | } | ||
206 | |||
207 | # replace charset of url to charset of page | ||
208 | $data = str_replace('charset=' . $encoding[1], 'charset=' . $html_charset, $data); | ||
209 | |||
210 | return $data; | ||
211 | } | ||
212 | else { | ||
213 | return FALSE; | ||
214 | } | ||
215 | } | ||
216 | |||
217 | /** | ||
218 | * Headers for JSON export | ||
219 | * | ||
220 | * @param $data | ||
221 | */ | ||
222 | public static function renderJson($data) | ||
223 | { | ||
224 | header('Cache-Control: no-cache, must-revalidate'); | ||
225 | header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); | ||
226 | header('Content-type: application/json; charset=UTF-8'); | ||
227 | echo json_encode($data); | ||
228 | exit(); | ||
229 | } | ||
230 | |||
231 | /** | ||
232 | * Create new line in log file | ||
233 | * | ||
234 | * @param $message | ||
235 | */ | ||
236 | public static function logm($message) | ||
237 | { | ||
238 | if (DEBUG_POCHE && php_sapi_name() != 'cli') { | ||
239 | $t = strval(date('Y/m/d_H:i:s')) . ' - ' . $_SERVER["REMOTE_ADDR"] . ' - ' . strval($message) . "\n"; | ||
240 | file_put_contents(CACHE . '/log.txt', $t, FILE_APPEND); | ||
241 | error_log('DEBUG POCHE : ' . $message); | ||
242 | } | ||
243 | } | ||
244 | |||
245 | /** | ||
246 | * Encode a URL by using a salt | ||
247 | * | ||
248 | * @param $string | ||
249 | * @return string | ||
250 | */ | ||
251 | public static function encodeString($string) | ||
252 | { | ||
253 | return sha1($string . SALT); | ||
254 | } | ||
255 | |||
256 | /** | ||
257 | * Cleans a variable | ||
258 | * | ||
259 | * @param $var | ||
260 | * @param string $default | ||
261 | * @return string | ||
262 | */ | ||
263 | public static function checkVar($var, $default = '') | ||
264 | { | ||
265 | return ((isset($_REQUEST["$var"])) ? htmlentities($_REQUEST["$var"]) : $default); | ||
266 | } | ||
267 | |||
268 | /** | ||
269 | * Returns the domain name for a URL | ||
270 | * | ||
271 | * @param $url | ||
272 | * @return string | ||
273 | */ | ||
274 | public static function getDomain($url) | ||
275 | { | ||
276 | return parse_url($url, PHP_URL_HOST); | ||
277 | } | ||
278 | |||
279 | /** | ||
280 | * For a given text, we calculate reading time for an article | ||
281 | * | ||
282 | * @param $text | ||
283 | * @return float | ||
284 | */ | ||
285 | public static function getReadingTime($text) | ||
286 | { | ||
287 | return floor(str_word_count(strip_tags($text)) / 200); | ||
288 | } | ||
289 | |||
290 | /** | ||
291 | * Returns the correct header for a status code | ||
292 | * | ||
293 | * @param $status_code | ||
294 | */ | ||
295 | private static function _status($status_code) | ||
296 | { | ||
297 | if (strpos(php_sapi_name(), 'apache') !== false) { | ||
298 | |||
299 | header('HTTP/1.0 '.$status_code); | ||
300 | } | ||
301 | else { | ||
302 | |||
303 | header('Status: '.$status_code); | ||
304 | } | ||
305 | } | ||
306 | |||
307 | /** | ||
308 | * Get the content for a given URL (by a call to FullTextFeed) | ||
309 | * | ||
310 | * @param Url $url | ||
311 | * @return mixed | ||
312 | */ | ||
313 | public static function getPageContent(Url $url) | ||
314 | { | ||
315 | // Saving and clearing context | ||
316 | $REAL = array(); | ||
317 | foreach( $GLOBALS as $key => $value ) { | ||
318 | if( $key != 'GLOBALS' && $key != '_SESSION' && $key != 'HTTP_SESSION_VARS' ) { | ||
319 | $GLOBALS[$key] = array(); | ||
320 | $REAL[$key] = $value; | ||
321 | } | ||
322 | } | ||
323 | // Saving and clearing session | ||
324 | if (isset($_SESSION)) { | ||
325 | $REAL_SESSION = array(); | ||
326 | foreach( $_SESSION as $key => $value ) { | ||
327 | $REAL_SESSION[$key] = $value; | ||
328 | unset($_SESSION[$key]); | ||
329 | } | ||
330 | } | ||
331 | |||
332 | // Running code in different context | ||
333 | $scope = function() { | ||
334 | extract( func_get_arg(1) ); | ||
335 | $_GET = $_REQUEST = array( | ||
336 | "url" => $url->getUrl(), | ||
337 | "max" => 5, | ||
338 | "links" => "preserve", | ||
339 | "exc" => "", | ||
340 | "format" => "json", | ||
341 | "submit" => "Create Feed" | ||
342 | ); | ||
343 | ob_start(); | ||
344 | require func_get_arg(0); | ||
345 | $json = ob_get_contents(); | ||
346 | ob_end_clean(); | ||
347 | return $json; | ||
348 | }; | ||
349 | |||
350 | // Silence $scope function to avoid | ||
351 | // issues with FTRSS when error_reporting is to high | ||
352 | // FTRSS generates PHP warnings which break output | ||
353 | $json = @$scope("vendor/wallabag/Fivefilters_Libraries/makefulltextfeed.php", array("url" => $url)); | ||
354 | |||
355 | // Clearing and restoring context | ||
356 | foreach ($GLOBALS as $key => $value) { | ||
357 | if($key != "GLOBALS" && $key != "_SESSION" ) { | ||
358 | unset($GLOBALS[$key]); | ||
359 | } | ||
360 | } | ||
361 | foreach ($REAL as $key => $value) { | ||
362 | $GLOBALS[$key] = $value; | ||
363 | } | ||
364 | |||
365 | // Clearing and restoring session | ||
366 | if (isset($REAL_SESSION)) { | ||
367 | foreach($_SESSION as $key => $value) { | ||
368 | unset($_SESSION[$key]); | ||
369 | } | ||
370 | |||
371 | foreach($REAL_SESSION as $key => $value) { | ||
372 | $_SESSION[$key] = $value; | ||
373 | } | ||
374 | } | ||
375 | |||
376 | return json_decode($json, true); | ||
377 | } | ||
378 | |||
379 | /** | ||
380 | * Returns whether we handle an AJAX (XMLHttpRequest) request. | ||
381 | * | ||
382 | * @return boolean whether we handle an AJAX (XMLHttpRequest) request. | ||
383 | */ | ||
384 | public static function isAjaxRequest() | ||
385 | { | ||
386 | return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']==='XMLHttpRequest'; | ||
387 | } | ||
388 | |||
389 | /* | ||
390 | * Empty cache folder | ||
391 | */ | ||
392 | public static function emptyCache() | ||
393 | { | ||
394 | $files = new RecursiveIteratorIterator( | ||
395 | new RecursiveDirectoryIterator(CACHE, RecursiveDirectoryIterator::SKIP_DOTS), | ||
396 | RecursiveIteratorIterator::CHILD_FIRST | ||
397 | ); | ||
398 | |||
399 | foreach ($files as $fileInfo) { | ||
400 | $todo = ($fileInfo->isDir() ? 'rmdir' : 'unlink'); | ||
401 | $todo($fileInfo->getRealPath()); | ||
402 | } | ||
403 | |||
404 | Tools::logm('empty cache'); | ||
405 | Tools::redirect(); | ||
406 | } | ||
407 | |||
408 | public static function generateToken() | ||
409 | { | ||
410 | if (ini_get('open_basedir') === '') { | ||
411 | if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { | ||
412 | // alternative to /dev/urandom for Windows | ||
413 | $token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20); | ||
414 | } else { | ||
415 | $token = substr(base64_encode(file_get_contents('/dev/urandom', false, null, 0, 20)), 0, 15); | ||
416 | } | ||
417 | } | ||
418 | else { | ||
419 | $token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20); | ||
420 | } | ||
421 | |||
422 | return str_replace('+', '', $token); | ||
423 | } | ||
424 | |||
425 | } | ||
diff --git a/src/Wallabag/Wallabag/Url.php b/src/Wallabag/Wallabag/Url.php deleted file mode 100644 index b18fe3d4..00000000 --- a/src/Wallabag/Wallabag/Url.php +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas Lœuillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | namespace Wallabag\Wallabag; | ||
12 | |||
13 | class Url | ||
14 | { | ||
15 | public $url; | ||
16 | |||
17 | function __construct($url) | ||
18 | { | ||
19 | $this->url = base64_decode($url); | ||
20 | } | ||
21 | |||
22 | public function getUrl() { | ||
23 | return $this->url; | ||
24 | } | ||
25 | |||
26 | public function setUrl($url) { | ||
27 | $this->url = $url; | ||
28 | } | ||
29 | |||
30 | public function isCorrect() { | ||
31 | return filter_var($this->url, FILTER_VALIDATE_URL) !== FALSE; | ||
32 | } | ||
33 | } \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/User.php b/src/Wallabag/Wallabag/User.php deleted file mode 100644 index 4a10c2ed..00000000 --- a/src/Wallabag/Wallabag/User.php +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas Lœuillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | namespace Wallabag\Wallabag; | ||
12 | |||
13 | class User | ||
14 | { | ||
15 | public $id; | ||
16 | public $username; | ||
17 | public $name; | ||
18 | public $password; | ||
19 | public $email; | ||
20 | public $config; | ||
21 | |||
22 | function __construct($user = array()) | ||
23 | { | ||
24 | if ($user != array()) { | ||
25 | $this->id = $user['id']; | ||
26 | $this->username = $user['username']; | ||
27 | $this->name = $user['name']; | ||
28 | $this->password = $user['password']; | ||
29 | $this->email = $user['email']; | ||
30 | $this->config = $user['config']; | ||
31 | } | ||
32 | } | ||
33 | |||
34 | public function getId() | ||
35 | { | ||
36 | return $this->id; | ||
37 | } | ||
38 | |||
39 | public function getUsername() | ||
40 | { | ||
41 | return $this->username; | ||
42 | } | ||
43 | |||
44 | public function setConfig($config) | ||
45 | { | ||
46 | $this->config = $config; | ||
47 | } | ||
48 | |||
49 | /** | ||
50 | * Returns configuration entry for a user | ||
51 | * | ||
52 | * @param $name | ||
53 | * @return bool | ||
54 | */ | ||
55 | public function getConfigValue($name) | ||
56 | { | ||
57 | return (isset($this->config[$name])) ? $this->config[$name] : FALSE; | ||
58 | } | ||
59 | } \ No newline at end of file | ||
diff --git a/src/Wallabag/Wallabag/Wallabag.php b/src/Wallabag/Wallabag/Wallabag.php deleted file mode 100755 index 0a498ebf..00000000 --- a/src/Wallabag/Wallabag/Wallabag.php +++ /dev/null | |||
@@ -1,866 +0,0 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas Lœuillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | namespace Wallabag\Wallabag; | ||
12 | |||
13 | use \Paginator; | ||
14 | use \Session; | ||
15 | use \Messages; | ||
16 | use \FeedWriter; | ||
17 | |||
18 | class Wallabag | ||
19 | { | ||
20 | /** | ||
21 | * @var User | ||
22 | */ | ||
23 | public $user; | ||
24 | /** | ||
25 | * @var Database | ||
26 | */ | ||
27 | public $store; | ||
28 | /** | ||
29 | * @var Template | ||
30 | */ | ||
31 | public $tpl; | ||
32 | /** | ||
33 | * @var Language | ||
34 | */ | ||
35 | public $language; | ||
36 | /** | ||
37 | * @var Routing | ||
38 | */ | ||
39 | public $routing; | ||
40 | /** | ||
41 | * @var Messages | ||
42 | */ | ||
43 | public $messages; | ||
44 | /** | ||
45 | * @var Paginator | ||
46 | */ | ||
47 | public $pagination; | ||
48 | |||
49 | public function __construct() | ||
50 | { | ||
51 | $this->init(); | ||
52 | } | ||
53 | |||
54 | private function init() | ||
55 | { | ||
56 | Tools::initPhp(); | ||
57 | |||
58 | $pocheUser = \Session::getParam('poche_user'); | ||
59 | |||
60 | if ($pocheUser && $pocheUser != array()) { | ||
61 | $this->user = $pocheUser; | ||
62 | } else { | ||
63 | // fake user, just for install & login screens | ||
64 | $this->user = new User(); | ||
65 | $this->user->setConfig($this->getDefaultConfig()); | ||
66 | } | ||
67 | |||
68 | $this->pagination = new Paginator($this->user->getConfigValue('pager'), 'p'); | ||
69 | $this->language = new Language($this); | ||
70 | $this->tpl = new Template($this); | ||
71 | $this->store = new Database(); | ||
72 | $this->messages = new Messages(); | ||
73 | $this->routing = new Routing($this); | ||
74 | } | ||
75 | |||
76 | public function run() | ||
77 | { | ||
78 | $this->routing->run(); | ||
79 | } | ||
80 | |||
81 | /** | ||
82 | * Creates a new user | ||
83 | */ | ||
84 | public function createNewUser($username, $password, $email = "") | ||
85 | { | ||
86 | if (!empty($username) && !empty($password)){ | ||
87 | $newUsername = filter_var($username, FILTER_SANITIZE_STRING); | ||
88 | $email = filter_var($email, FILTER_SANITIZE_STRING); | ||
89 | if (!$this->store->userExists($newUsername)){ | ||
90 | if ($this->store->install($newUsername, Tools::encodeString($password . $newUsername), $email)) { | ||
91 | Tools::logm('The new user ' . $newUsername . ' has been installed'); | ||
92 | $this->messages->add('s', sprintf(_('The new user %s has been installed. Do you want to <a href="?logout">logout ?</a>'), $newUsername)); | ||
93 | Tools::redirect(); | ||
94 | } | ||
95 | else { | ||
96 | Tools::logm('error during adding new user'); | ||
97 | Tools::redirect(); | ||
98 | } | ||
99 | } | ||
100 | else { | ||
101 | $this->messages->add('e', sprintf(_('Error : An user with the name %s already exists !'), $newUsername)); | ||
102 | Tools::logm('An user with the name ' . $newUsername . ' already exists !'); | ||
103 | Tools::redirect(); | ||
104 | } | ||
105 | } | ||
106 | } | ||
107 | |||
108 | /** | ||
109 | * Delete an existing user | ||
110 | */ | ||
111 | public function deleteUser($password) | ||
112 | { | ||
113 | if ($this->store->listUsers() > 1) { | ||
114 | if (Tools::encodeString($password . $this->user->getUsername()) == $this->store->getUserPassword($this->user->getId())) { | ||
115 | $username = $this->user->getUsername(); | ||
116 | $this->store->deleteUserConfig($this->user->getId()); | ||
117 | Tools::logm('The configuration for user '. $username .' has been deleted !'); | ||
118 | $this->store->deleteTagsEntriesAndEntries($this->user->getId()); | ||
119 | Tools::logm('The entries for user '. $username .' has been deleted !'); | ||
120 | $this->store->deleteUser($this->user->getId()); | ||
121 | Tools::logm('User '. $username .' has been completely deleted !'); | ||
122 | Session::logout(); | ||
123 | Tools::logm('logout'); | ||
124 | Tools::redirect(); | ||
125 | $this->messages->add('s', sprintf(_('User %s has been successfully deleted !'), $username)); | ||
126 | } | ||
127 | else { | ||
128 | Tools::logm('Bad password !'); | ||
129 | $this->messages->add('e', _('Error : The password is wrong !')); | ||
130 | } | ||
131 | } | ||
132 | else { | ||
133 | Tools::logm('Only user !'); | ||
134 | $this->messages->add('e', _('Error : You are the only user, you cannot delete your account !')); | ||
135 | } | ||
136 | } | ||
137 | |||
138 | public function getDefaultConfig() | ||
139 | { | ||
140 | return array( | ||
141 | 'pager' => PAGINATION, | ||
142 | 'language' => LANG, | ||
143 | 'theme' => DEFAULT_THEME | ||
144 | ); | ||
145 | } | ||
146 | |||
147 | /** | ||
148 | * Call action (mark as fav, archive, delete, etc.) | ||
149 | */ | ||
150 | public function action($action, Url $url, $id = 0, $import = FALSE, $autoclose = FALSE, $tags = null) | ||
151 | { | ||
152 | switch ($action) | ||
153 | { | ||
154 | case 'add': | ||
155 | $content = Tools::getPageContent($url); | ||
156 | $title = ($content['rss']['channel']['item']['title'] != '') ? $content['rss']['channel']['item']['title'] : _('Untitled'); | ||
157 | $body = $content['rss']['channel']['item']['description']; | ||
158 | |||
159 | // clean content from prevent xss attack | ||
160 | $purifier = $this->_getPurifier(); | ||
161 | $title = $purifier->purify($title); | ||
162 | $body = $purifier->purify($body); | ||
163 | |||
164 | //search for possible duplicate | ||
165 | $duplicate = NULL; | ||
166 | $duplicate = $this->store->retrieveOneByURL($url->getUrl(), $this->user->getId()); | ||
167 | |||
168 | $last_id = $this->store->add($url->getUrl(), $title, $body, $this->user->getId()); | ||
169 | if ( $last_id ) { | ||
170 | Tools::logm('add link ' . $url->getUrl()); | ||
171 | if (DOWNLOAD_PICTURES) { | ||
172 | $content = Picture::filterPicture($body, $url->getUrl(), $last_id); | ||
173 | Tools::logm('updating content article'); | ||
174 | $this->store->updateContent($last_id, $content, $this->user->getId()); | ||
175 | } | ||
176 | |||
177 | if ($duplicate != NULL) { | ||
178 | // duplicate exists, so, older entry needs to be deleted (as new entry should go to the top of list), BUT favorite mark and tags should be preserved | ||
179 | Tools::logm('link ' . $url->getUrl() . ' is a duplicate'); | ||
180 | // 1) - preserve tags and favorite, then drop old entry | ||
181 | $this->store->reassignTags($duplicate['id'], $last_id); | ||
182 | if ($duplicate['is_fav']) { | ||
183 | $this->store->favoriteById($last_id, $this->user->getId()); | ||
184 | } | ||
185 | if ($this->store->deleteById($duplicate['id'], $this->user->getId())) { | ||
186 | Tools::logm('previous link ' . $url->getUrl() .' entry deleted'); | ||
187 | } | ||
188 | } | ||
189 | |||
190 | // if there are tags, add them to the new article | ||
191 | if (isset($_GET['tags'])) { | ||
192 | $_POST['value'] = $_GET['tags']; | ||
193 | $_POST['entry_id'] = $last_id; | ||
194 | $this->action('add_tag', $url); | ||
195 | } | ||
196 | |||
197 | $this->messages->add('s', _('the link has been added successfully')); | ||
198 | } | ||
199 | else { | ||
200 | $this->messages->add('e', _('error during insertion : the link wasn\'t added')); | ||
201 | Tools::logm('error during insertion : the link wasn\'t added ' . $url->getUrl()); | ||
202 | } | ||
203 | |||
204 | if ($autoclose == TRUE) { | ||
205 | Tools::redirect('?view=home'); | ||
206 | } else { | ||
207 | Tools::redirect('?view=home&closewin=true'); | ||
208 | } | ||
209 | break; | ||
210 | case 'delete': | ||
211 | if (isset($_GET['search'])) { | ||
212 | //when we want to apply a delete to a search | ||
213 | $tags = array($_GET['search']); | ||
214 | $allentry_ids = $this->store->search($tags[0], $this->user->getId()); | ||
215 | $entry_ids = array(); | ||
216 | foreach ($allentry_ids as $eachentry) { | ||
217 | $entry_ids[] = $eachentry[0]; | ||
218 | } | ||
219 | } else { // delete a single article | ||
220 | $entry_ids = array($id); | ||
221 | } | ||
222 | foreach($entry_ids as $id) { | ||
223 | $msg = 'delete link #' . $id; | ||
224 | if ($this->store->deleteById($id, $this->user->getId())) { | ||
225 | if (DOWNLOAD_PICTURES) { | ||
226 | Picture::removeDirectory(ABS_PATH . $id); | ||
227 | } | ||
228 | $this->messages->add('s', _('the link has been deleted successfully')); | ||
229 | } | ||
230 | else { | ||
231 | $this->messages->add('e', _('the link wasn\'t deleted')); | ||
232 | $msg = 'error : can\'t delete link #' . $id; | ||
233 | } | ||
234 | Tools::logm($msg); | ||
235 | } | ||
236 | Tools::redirect('?'); | ||
237 | break; | ||
238 | case 'toggle_fav' : | ||
239 | $this->store->favoriteById($id, $this->user->getId()); | ||
240 | Tools::logm('mark as favorite link #' . $id); | ||
241 | if ( Tools::isAjaxRequest() ) { | ||
242 | echo 1; | ||
243 | exit; | ||
244 | } | ||
245 | else { | ||
246 | Tools::redirect(); | ||
247 | } | ||
248 | break; | ||
249 | case 'toggle_archive' : | ||
250 | if (isset($_GET['tag_id'])) { | ||
251 | //when we want to archive a whole tag | ||
252 | $tag_id = $_GET['tag_id']; | ||
253 | $allentry_ids = $this->store->retrieveEntriesByTag($tag_id, $this->user->getId()); | ||
254 | $entry_ids = array(); | ||
255 | foreach ($allentry_ids as $eachentry) { | ||
256 | $entry_ids[] = $eachentry[0]; | ||
257 | } | ||
258 | } else { //archive a single article | ||
259 | $entry_ids = array($id); | ||
260 | } | ||
261 | foreach($entry_ids as $id) { | ||
262 | $this->store->archiveById($id, $this->user->getId()); | ||
263 | Tools::logm('archive link #' . $id); | ||
264 | } | ||
265 | if ( Tools::isAjaxRequest() ) { | ||
266 | echo 1; | ||
267 | exit; | ||
268 | } | ||
269 | else { | ||
270 | Tools::redirect(); | ||
271 | } | ||
272 | break; | ||
273 | case 'archive_all' : | ||
274 | $this->store->archiveAll($this->user->getId()); | ||
275 | Tools::logm('archive all links'); | ||
276 | Tools::redirect(); | ||
277 | break; | ||
278 | case 'add_tag' : | ||
279 | if (isset($_GET['search'])) { | ||
280 | //when we want to apply a tag to a search | ||
281 | $tags = array($_GET['search']); | ||
282 | $allentry_ids = $this->store->search($tags[0], $this->user->getId()); | ||
283 | $entry_ids = array(); | ||
284 | foreach ($allentry_ids as $eachentry) { | ||
285 | $entry_ids[] = $eachentry[0]; | ||
286 | } | ||
287 | } else { //add a tag to a single article | ||
288 | $tags = explode(',', $_POST['value']); | ||
289 | $entry_ids = array($_POST['entry_id']); | ||
290 | } | ||
291 | foreach($entry_ids as $entry_id) { | ||
292 | $entry = $this->store->retrieveOneById($entry_id, $this->user->getId()); | ||
293 | if (!$entry) { | ||
294 | $this->messages->add('e', _('Article not found!')); | ||
295 | Tools::logm('error : article not found'); | ||
296 | Tools::redirect(); | ||
297 | } | ||
298 | //get all already set tags to preven duplicates | ||
299 | $already_set_tags = array(); | ||
300 | $entry_tags = $this->store->retrieveTagsByEntry($entry_id); | ||
301 | foreach ($entry_tags as $tag) { | ||
302 | $already_set_tags[] = $tag['value']; | ||
303 | } | ||
304 | foreach($tags as $key => $tag_value) { | ||
305 | $value = trim($tag_value); | ||
306 | if ($value && !in_array($value, $already_set_tags)) { | ||
307 | $tag = $this->store->retrieveTagByValue($value); | ||
308 | if (is_null($tag)) { | ||
309 | # we create the tag | ||
310 | $tag = $this->store->createTag($value); | ||
311 | $sequence = ''; | ||
312 | if (STORAGE == 'postgres') { | ||
313 | $sequence = 'tags_id_seq'; | ||
314 | } | ||
315 | $tag_id = $this->store->getLastId($sequence); | ||
316 | } | ||
317 | else { | ||
318 | $tag_id = $tag['id']; | ||
319 | } | ||
320 | |||
321 | # we assign the tag to the article | ||
322 | $this->store->setTagToEntry($tag_id, $entry_id); | ||
323 | } | ||
324 | } | ||
325 | } | ||
326 | $this->messages->add('s', _('The tag has been applied successfully')); | ||
327 | Tools::logm('The tag has been applied successfully'); | ||
328 | Tools::redirect(); | ||
329 | break; | ||
330 | case 'remove_tag' : | ||
331 | $tag_id = $_GET['tag_id']; | ||
332 | $entry = $this->store->retrieveOneById($id, $this->user->getId()); | ||
333 | if (!$entry) { | ||
334 | $this->messages->add('e', _('Article not found!')); | ||
335 | Tools::logm('error : article not found'); | ||
336 | Tools::redirect(); | ||
337 | } | ||
338 | $this->store->removeTagForEntry($id, $tag_id); | ||
339 | Tools::logm('tag entry deleted'); | ||
340 | if ($this->store->cleanUnusedTag($tag_id)) { | ||
341 | Tools::logm('tag deleted'); | ||
342 | } | ||
343 | $this->messages->add('s', _('The tag has been successfully deleted')); | ||
344 | Tools::redirect(); | ||
345 | break; | ||
346 | default: | ||
347 | break; | ||
348 | } | ||
349 | } | ||
350 | |||
351 | function displayView($view, $id = 0) | ||
352 | { | ||
353 | $tpl_vars = array(); | ||
354 | |||
355 | switch ($view) | ||
356 | { | ||
357 | case 'about': | ||
358 | break; | ||
359 | case 'config': | ||
360 | $dev_infos = $this->_getPocheVersion('dev'); | ||
361 | $dev = trim($dev_infos[0]); | ||
362 | $check_time_dev = date('d-M-Y H:i', $dev_infos[1]); | ||
363 | $prod_infos = $this->_getPocheVersion('prod'); | ||
364 | $prod = trim($prod_infos[0]); | ||
365 | $check_time_prod = date('d-M-Y H:i', $prod_infos[1]); | ||
366 | $compare_dev = version_compare(POCHE, $dev); | ||
367 | $compare_prod = version_compare(POCHE, $prod); | ||
368 | $themes = $this->tpl->getInstalledThemes(); | ||
369 | $languages = $this->language->getInstalledLanguages(); | ||
370 | $token = $this->user->getConfigValue('token'); | ||
371 | $http_auth = (isset($_SERVER['PHP_AUTH_USER']) || isset($_SERVER['REMOTE_USER'])) ? true : false; | ||
372 | $only_user = ($this->store->listUsers() > 1) ? false : true; | ||
373 | $tpl_vars = array( | ||
374 | 'themes' => $themes, | ||
375 | 'languages' => $languages, | ||
376 | 'dev' => $dev, | ||
377 | 'prod' => $prod, | ||
378 | 'check_time_dev' => $check_time_dev, | ||
379 | 'check_time_prod' => $check_time_prod, | ||
380 | 'compare_dev' => $compare_dev, | ||
381 | 'compare_prod' => $compare_prod, | ||
382 | 'token' => $token, | ||
383 | 'user_id' => $this->user->getId(), | ||
384 | 'http_auth' => $http_auth, | ||
385 | 'only_user' => $only_user | ||
386 | ); | ||
387 | Tools::logm('config view'); | ||
388 | break; | ||
389 | case 'edit-tags': | ||
390 | # tags | ||
391 | $entry = $this->store->retrieveOneById($id, $this->user->getId()); | ||
392 | if (!$entry) { | ||
393 | $this->messages->add('e', _('Article not found!')); | ||
394 | Tools::logm('error : article not found'); | ||
395 | Tools::redirect(); | ||
396 | } | ||
397 | $tags = $this->store->retrieveTagsByEntry($id); | ||
398 | $tpl_vars = array( | ||
399 | 'entry_id' => $id, | ||
400 | 'tags' => $tags, | ||
401 | 'entry' => $entry, | ||
402 | ); | ||
403 | break; | ||
404 | case 'tags': | ||
405 | $token = $this->user->getConfigValue('token'); | ||
406 | //if term is set - search tags for this term | ||
407 | $term = Tools::checkVar('term'); | ||
408 | $tags = $this->store->retrieveAllTags($this->user->getId(), $term); | ||
409 | if (Tools::isAjaxRequest()) { | ||
410 | $result = array(); | ||
411 | foreach ($tags as $tag) { | ||
412 | $result[] = $tag['value']; | ||
413 | } | ||
414 | echo json_encode($result); | ||
415 | exit; | ||
416 | } | ||
417 | $tpl_vars = array( | ||
418 | 'token' => $token, | ||
419 | 'user_id' => $this->user->getId(), | ||
420 | 'tags' => $tags, | ||
421 | ); | ||
422 | break; | ||
423 | case 'search': | ||
424 | if (isset($_GET['search'])) { | ||
425 | $search = filter_var($_GET['search'], FILTER_SANITIZE_STRING); | ||
426 | $tpl_vars['entries'] = $this->store->search($search, $this->user->getId()); | ||
427 | $count = count($tpl_vars['entries']); | ||
428 | $this->pagination->set_total($count); | ||
429 | $page_links = str_replace(array('previous', 'next'), array(_('previous'), _('next')), | ||
430 | $this->pagination->page_links('?view=' . $view . '?search=' . $search . '&sort=' . $_SESSION['sort'] . '&' )); | ||
431 | $tpl_vars['page_links'] = $page_links; | ||
432 | $tpl_vars['nb_results'] = $count; | ||
433 | $tpl_vars['searchterm'] = $search; | ||
434 | } | ||
435 | break; | ||
436 | case 'view': | ||
437 | $entry = $this->store->retrieveOneById($id, $this->user->getId()); | ||
438 | if ($entry != NULL) { | ||
439 | Tools::logm('view link #' . $id); | ||
440 | $content = $entry['content']; | ||
441 | if (function_exists('tidy_parse_string')) { | ||
442 | $tidy = tidy_parse_string($content, array('indent'=>true, 'show-body-only' => true), 'UTF8'); | ||
443 | $tidy->cleanRepair(); | ||
444 | $content = $tidy->value; | ||
445 | } | ||
446 | |||
447 | # flattr checking | ||
448 | $flattr = NULL; | ||
449 | if (FLATTR) { | ||
450 | $flattr = new FlattrItem(); | ||
451 | $flattr->checkItem($entry['url'], $entry['id']); | ||
452 | } | ||
453 | |||
454 | # tags | ||
455 | $tags = $this->store->retrieveTagsByEntry($entry['id']); | ||
456 | |||
457 | $tpl_vars = array( | ||
458 | 'entry' => $entry, | ||
459 | 'content' => $content, | ||
460 | 'flattr' => $flattr, | ||
461 | 'tags' => $tags | ||
462 | ); | ||
463 | } | ||
464 | else { | ||
465 | Tools::logm('error in view call : entry is null'); | ||
466 | } | ||
467 | break; | ||
468 | default: # home, favorites, archive and tag views | ||
469 | $tpl_vars = array( | ||
470 | 'entries' => '', | ||
471 | 'page_links' => '', | ||
472 | 'nb_results' => '', | ||
473 | 'listmode' => (isset($_COOKIE['listmode']) ? true : false), | ||
474 | ); | ||
475 | |||
476 | //if id is given - we retrieve entries by tag: id is tag id | ||
477 | if ($id) { | ||
478 | $tpl_vars['tag'] = $this->store->retrieveTag($id, $this->user->getId()); | ||
479 | $tpl_vars['id'] = intval($id); | ||
480 | } | ||
481 | |||
482 | $count = $this->store->getEntriesByViewCount($view, $this->user->getId(), $id); | ||
483 | |||
484 | if ($count > 0) { | ||
485 | $this->pagination->set_total($count); | ||
486 | $page_links = str_replace(array('previous', 'next'), array(_('previous'), _('next')), | ||
487 | $this->pagination->page_links('?view=' . $view . '&sort=' . $_SESSION['sort'] . (($id)?'&id='.$id:'') . '&' )); | ||
488 | $tpl_vars['entries'] = $this->store->getEntriesByView($view, $this->user->getId(), $this->pagination->get_limit(), $id); | ||
489 | $tpl_vars['page_links'] = $page_links; | ||
490 | $tpl_vars['nb_results'] = $count; | ||
491 | } | ||
492 | Tools::logm('display ' . $view . ' view'); | ||
493 | break; | ||
494 | } | ||
495 | |||
496 | return $tpl_vars; | ||
497 | } | ||
498 | |||
499 | /** | ||
500 | * update the password of the current user. | ||
501 | * if MODE_DEMO is TRUE, the password can't be updated. | ||
502 | * @todo add the return value | ||
503 | * @todo set the new password in function header like this updatePassword($newPassword) | ||
504 | * @return boolean | ||
505 | */ | ||
506 | public function updatePassword($password, $confirmPassword) | ||
507 | { | ||
508 | if (MODE_DEMO) { | ||
509 | $this->messages->add('i', _('in demo mode, you can\'t update your password')); | ||
510 | Tools::logm('in demo mode, you can\'t do this'); | ||
511 | Tools::redirect('?view=config'); | ||
512 | } | ||
513 | else { | ||
514 | if (isset($password) && isset($confirmPassword)) { | ||
515 | if ($password == $confirmPassword && !empty($password)) { | ||
516 | $this->messages->add('s', _('your password has been updated')); | ||
517 | $this->store->updatePassword($this->user->getId(), Tools::encodeString($password . $this->user->getUsername())); | ||
518 | Session::logout(); | ||
519 | Tools::logm('password updated'); | ||
520 | Tools::redirect(); | ||
521 | } | ||
522 | else { | ||
523 | $this->messages->add('e', _('the two fields have to be filled & the password must be the same in the two fields')); | ||
524 | Tools::redirect('?view=config'); | ||
525 | } | ||
526 | } | ||
527 | } | ||
528 | } | ||
529 | |||
530 | /** | ||
531 | * Get credentials from differents sources | ||
532 | * It redirects the user to the $referer link | ||
533 | * | ||
534 | * @return array | ||
535 | */ | ||
536 | private function credentials() | ||
537 | { | ||
538 | if (isset($_SERVER['PHP_AUTH_USER'])) { | ||
539 | return array($_SERVER['PHP_AUTH_USER'], 'php_auth', true); | ||
540 | } | ||
541 | if (!empty($_POST['login']) && !empty($_POST['password'])) { | ||
542 | return array($_POST['login'], $_POST['password'], false); | ||
543 | } | ||
544 | if (isset($_SERVER['REMOTE_USER'])) { | ||
545 | return array($_SERVER['REMOTE_USER'], 'http_auth', true); | ||
546 | } | ||
547 | |||
548 | return array(false, false, false); | ||
549 | } | ||
550 | |||
551 | /** | ||
552 | * checks if login & password are correct and save the user in session. | ||
553 | * it redirects the user to the $referer link | ||
554 | * @param string $referer the url to redirect after login | ||
555 | * @todo add the return value | ||
556 | * @return boolean | ||
557 | */ | ||
558 | public function login($referer) | ||
559 | { | ||
560 | list($login,$password,$isauthenticated)=$this->credentials(); | ||
561 | if($login === false || $password === false) { | ||
562 | $this->messages->add('e', _('login failed: you have to fill all fields')); | ||
563 | Tools::logm('login failed'); | ||
564 | Tools::redirect(); | ||
565 | } | ||
566 | if (!empty($login) && !empty($password)) { | ||
567 | $user = $this->store->login($login, Tools::encodeString($password . $login), $isauthenticated); | ||
568 | if ($user != array()) { | ||
569 | # Save login into Session | ||
570 | $longlastingsession = isset($_POST['longlastingsession']); | ||
571 | $passwordTest = ($isauthenticated) ? $user['password'] : Tools::encodeString($password . $login); | ||
572 | Session::login($user['username'], $user['password'], $login, $passwordTest, $longlastingsession, array('poche_user' => new User($user))); | ||
573 | |||
574 | # reload l10n | ||
575 | $language = $user['config']['language']; | ||
576 | @putenv('LC_ALL=' . $language); | ||
577 | setlocale(LC_ALL, $language); | ||
578 | bindtextdomain($language, LOCALE); | ||
579 | textdomain($language); | ||
580 | |||
581 | $this->messages->add('s', _('welcome to your wallabag')); | ||
582 | Tools::logm('login successful'); | ||
583 | Tools::redirect($referer); | ||
584 | } | ||
585 | $this->messages->add('e', _('login failed: bad login or password')); | ||
586 | // log login failure in web server log to allow fail2ban usage | ||
587 | error_log('user '.$login.' authentication failure'); | ||
588 | Tools::logm('login failed'); | ||
589 | Tools::redirect(); | ||
590 | } | ||
591 | } | ||
592 | |||
593 | /** | ||
594 | * log out the poche user. It cleans the session. | ||
595 | * @todo add the return value | ||
596 | * @return boolean | ||
597 | */ | ||
598 | public function logout() | ||
599 | { | ||
600 | $this->user = array(); | ||
601 | Session::logout(); | ||
602 | Tools::logm('logout'); | ||
603 | Tools::redirect(); | ||
604 | } | ||
605 | |||
606 | /** | ||
607 | * import datas into your wallabag | ||
608 | * @return boolean | ||
609 | */ | ||
610 | |||
611 | public function import() { | ||
612 | |||
613 | if ( isset($_FILES['file']) && $_FILES['file']['tmp_name'] ) { | ||
614 | Tools::logm('Import stated: parsing file'); | ||
615 | |||
616 | // assume, that file is in json format | ||
617 | $str_data = file_get_contents($_FILES['file']['tmp_name']); | ||
618 | $data = json_decode($str_data, true); | ||
619 | |||
620 | if ( $data === null ) { | ||
621 | //not json - assume html | ||
622 | $html = new simple_html_dom(); | ||
623 | $html->load_file($_FILES['file']['tmp_name']); | ||
624 | $data = array(); | ||
625 | $read = 0; | ||
626 | foreach (array('ol','ul') as $list) { | ||
627 | foreach ($html->find($list) as $ul) { | ||
628 | foreach ($ul->find('li') as $li) { | ||
629 | $tmpEntry = array(); | ||
630 | $a = $li->find('a'); | ||
631 | $tmpEntry['url'] = $a[0]->href; | ||
632 | $tmpEntry['tags'] = $a[0]->tags; | ||
633 | $tmpEntry['is_read'] = $read; | ||
634 | if ($tmpEntry['url']) { | ||
635 | $data[] = $tmpEntry; | ||
636 | } | ||
637 | } | ||
638 | # the second <ol/ul> is for read links | ||
639 | $read = ((sizeof($data) && $read)?0:1); | ||
640 | } | ||
641 | } | ||
642 | } | ||
643 | |||
644 | // for readability structure | ||
645 | |||
646 | foreach($data as $record) { | ||
647 | if (is_array($record)) { | ||
648 | $data[] = $record; | ||
649 | foreach($record as $record2) { | ||
650 | if (is_array($record2)) { | ||
651 | $data[] = $record2; | ||
652 | } | ||
653 | } | ||
654 | } | ||
655 | } | ||
656 | |||
657 | $urlsInserted = array(); //urls of articles inserted | ||
658 | foreach($data as $record) { | ||
659 | $url = trim(isset($record['article__url']) ? $record['article__url'] : (isset($record['url']) ? $record['url'] : '')); | ||
660 | if ($url and !in_array($url, $urlsInserted)) { | ||
661 | $title = (isset($record['title']) ? $record['title'] : _('Untitled - Import - ') . '</a> <a href="./?import">' . _('click to finish import') . '</a><a>'); | ||
662 | $body = (isset($record['content']) ? $record['content'] : ''); | ||
663 | $isRead = (isset($record['is_read']) ? intval($record['is_read']) : (isset($record['archive']) ? intval($record['archive']) : 0)); | ||
664 | $isFavorite = (isset($record['is_fav']) ? intval($record['is_fav']) : (isset($record['favorite']) ? intval($record['favorite']) : 0)); | ||
665 | |||
666 | // insert new record | ||
667 | |||
668 | $id = $this->store->add($url, $title, $body, $this->user->getId() , $isFavorite, $isRead); | ||
669 | if ($id) { | ||
670 | $urlsInserted[] = $url; //add | ||
671 | if (isset($record['tags']) && trim($record['tags'])) { | ||
672 | |||
673 | // @TODO: set tags | ||
674 | |||
675 | } | ||
676 | } | ||
677 | } | ||
678 | } | ||
679 | |||
680 | $i = sizeof($urlsInserted); | ||
681 | if ($i > 0) { | ||
682 | $this->messages->add('s', _('Articles inserted: ') . $i . _('. Please note, that some may be marked as "read".')); | ||
683 | } | ||
684 | |||
685 | Tools::logm('Import of articles finished: '.$i.' articles added (w/o content if not provided).'); | ||
686 | } | ||
687 | else { | ||
688 | $this->messages->add('s', _('Did you forget to select a file?')); | ||
689 | } | ||
690 | // file parsing finished here | ||
691 | // now download article contents if any | ||
692 | // check if we need to download any content | ||
693 | |||
694 | $recordsDownloadRequired = $this->store->retrieveUnfetchedEntriesCount($this->user->getId()); | ||
695 | |||
696 | if ($recordsDownloadRequired == 0) { | ||
697 | |||
698 | // nothing to download | ||
699 | |||
700 | $this->messages->add('s', _('Import finished.')); | ||
701 | Tools::logm('Import finished completely'); | ||
702 | Tools::redirect(); | ||
703 | } | ||
704 | else { | ||
705 | |||
706 | // if just inserted - don't download anything, download will start in next reload | ||
707 | |||
708 | if (!isset($_FILES['file'])) { | ||
709 | |||
710 | // download next batch | ||
711 | |||
712 | Tools::logm('Fetching next batch of articles...'); | ||
713 | $items = $this->store->retrieveUnfetchedEntries($this->user->getId() , IMPORT_LIMIT); | ||
714 | $purifier = $this->_getPurifier(); | ||
715 | foreach($items as $item) { | ||
716 | $url = new Url(base64_encode($item['url'])); | ||
717 | Tools::logm('Fetching article ' . $item['id']); | ||
718 | $content = Tools::getPageContent($url); | ||
719 | $title = (($content['rss']['channel']['item']['title'] != '') ? $content['rss']['channel']['item']['title'] : _('Untitled')); | ||
720 | $body = (($content['rss']['channel']['item']['description'] != '') ? $content['rss']['channel']['item']['description'] : _('Undefined')); | ||
721 | |||
722 | // clean content to prevent xss attack | ||
723 | |||
724 | $title = $purifier->purify($title); | ||
725 | $body = $purifier->purify($body); | ||
726 | $this->store->updateContentAndTitle($item['id'], $title, $body, $this->user->getId()); | ||
727 | Tools::logm('Article ' . $item['id'] . ' updated.'); | ||
728 | } | ||
729 | } | ||
730 | } | ||
731 | |||
732 | return array( | ||
733 | 'includeImport' => true, | ||
734 | 'import' => array( | ||
735 | 'recordsDownloadRequired' => $recordsDownloadRequired, | ||
736 | 'recordsUnderDownload' => IMPORT_LIMIT, | ||
737 | 'delay' => IMPORT_DELAY * 1000 | ||
738 | ) | ||
739 | ); | ||
740 | } | ||
741 | |||
742 | /** | ||
743 | * export poche entries in json | ||
744 | * @return json all poche entries | ||
745 | */ | ||
746 | public function export() | ||
747 | { | ||
748 | $filename = "wallabag-export-".$this->user->getId()."-".date("Y-m-d").".json"; | ||
749 | header('Content-Disposition: attachment; filename='.$filename); | ||
750 | |||
751 | $entries = $this->store->retrieveAll($this->user->getId()); | ||
752 | echo $this->tpl->render('export.twig', array( | ||
753 | 'export' => Tools::renderJson($entries), | ||
754 | )); | ||
755 | Tools::logm('export view'); | ||
756 | } | ||
757 | |||
758 | /** | ||
759 | * Checks online the latest version of poche and cache it | ||
760 | * @param string $which 'prod' or 'dev' | ||
761 | * @return string latest $which version | ||
762 | */ | ||
763 | private function _getPocheVersion($which = 'prod') { | ||
764 | $cache_file = CACHE . '/' . $which; | ||
765 | $check_time = time(); | ||
766 | |||
767 | # checks if the cached version file exists | ||
768 | if (file_exists($cache_file) && (filemtime($cache_file) > (time() - 86400 ))) { | ||
769 | $version = file_get_contents($cache_file); | ||
770 | $check_time = filemtime($cache_file); | ||
771 | } else { | ||
772 | $version = file_get_contents('http://static.wallabag.org/versions/' . $which); | ||
773 | file_put_contents($cache_file, $version, LOCK_EX); | ||
774 | } | ||
775 | return array($version, $check_time); | ||
776 | } | ||
777 | |||
778 | /** | ||
779 | * Update token for current user | ||
780 | */ | ||
781 | public function updateToken() | ||
782 | { | ||
783 | $token = Tools::generateToken(); | ||
784 | $this->store->updateUserConfig($this->user->getId(), 'token', $token); | ||
785 | $currentConfig = $_SESSION['poche_user']->config; | ||
786 | $currentConfig['token'] = $token; | ||
787 | $_SESSION['poche_user']->setConfig($currentConfig); | ||
788 | Tools::redirect(); | ||
789 | } | ||
790 | |||
791 | /** | ||
792 | * Generate RSS feeds for current user | ||
793 | * | ||
794 | * @param $token | ||
795 | * @param $user_id | ||
796 | * @param $tag_id if $type is 'tag', the id of the tag to generate feed for | ||
797 | * @param string $type the type of feed to generate | ||
798 | * @param int $limit the maximum number of items (0 means all) | ||
799 | */ | ||
800 | public function generateFeeds($token, $user_id, $tag_id, $type = 'home', $limit = 0) | ||
801 | { | ||
802 | $allowed_types = array('home', 'fav', 'archive', 'tag'); | ||
803 | $config = $this->store->getConfigUser($user_id); | ||
804 | |||
805 | if ($config == null) { | ||
806 | die(sprintf(_('User with this id (%d) does not exist.'), $user_id)); | ||
807 | } | ||
808 | |||
809 | if (!in_array($type, $allowed_types) || !isset($config['token']) || $token != $config['token']) { | ||
810 | die(_('Uh, there is a problem while generating feed. Wrong token used?')); | ||
811 | } | ||
812 | |||
813 | $feed = new FeedWriter(RSS2); | ||
814 | $feed->setTitle('wallabag — ' . $type . ' feed'); | ||
815 | $feed->setLink(Tools::getPocheUrl()); | ||
816 | $feed->setChannelElement('pubDate', date(DATE_RSS , time())); | ||
817 | $feed->setChannelElement('generator', 'wallabag'); | ||
818 | $feed->setDescription('wallabag ' . $type . ' elements'); | ||
819 | |||
820 | if ($type == 'tag') { | ||
821 | $entries = $this->store->retrieveEntriesByTag($tag_id, $user_id); | ||
822 | } | ||
823 | else { | ||
824 | $entries = $this->store->getEntriesByView($type, $user_id); | ||
825 | } | ||
826 | |||
827 | // if $limit is set to zero, use all entries | ||
828 | if (0 == $limit) { | ||
829 | $limit = count($entries); | ||
830 | } | ||
831 | if (count($entries) > 0) { | ||
832 | for ($i = 0; $i < min(count($entries), $limit); $i++) { | ||
833 | $entry = $entries[$i]; | ||
834 | $newItem = $feed->createNewItem(); | ||
835 | $newItem->setTitle($entry['title']); | ||
836 | $newItem->setSource(Tools::getPocheUrl() . '?view=view&id=' . $entry['id']); | ||
837 | $newItem->setLink($entry['url']); | ||
838 | $newItem->setDate(time()); | ||
839 | $newItem->setDescription($entry['content']); | ||
840 | $feed->addItem($newItem); | ||
841 | } | ||
842 | } | ||
843 | |||
844 | $feed->genarateFeed(); | ||
845 | exit; | ||
846 | } | ||
847 | |||
848 | |||
849 | |||
850 | /** | ||
851 | * Returns new purifier object with actual config | ||
852 | */ | ||
853 | private function _getPurifier() | ||
854 | { | ||
855 | $config = HTMLPurifier_Config::createDefault(); | ||
856 | $config->set('Cache.SerializerPath', CACHE); | ||
857 | $config->set('HTML.SafeIframe', true); | ||
858 | |||
859 | //allow YouTube, Vimeo and dailymotion videos | ||
860 | $config->set('URI.SafeIframeRegexp', '%^(https?:)?//(www\.youtube(?:-nocookie)?\.com/embed/|player\.vimeo\.com/video/|www\.dailymotion\.com/embed/video/)%'); | ||
861 | |||
862 | return new HTMLPurifier($config); | ||
863 | } | ||
864 | |||
865 | |||
866 | } | ||