README, CREDITS & chmod
1
CREDITS
|
@ -11,3 +11,4 @@ poche is developed by Nicolas Lœuillet under the Do What the Fuck You Want to P
|
||||||
Contributors :
|
Contributors :
|
||||||
Nicolas Lœuillet aka nico_somb
|
Nicolas Lœuillet aka nico_somb
|
||||||
Tom.C. aka tmos
|
Tom.C. aka tmos
|
||||||
|
PeaceCopathe
|
9
README.md
Executable file → Normal file
|
@ -12,12 +12,21 @@ To get news from poche, [follow us on twitter](http://twitter.com/getpoche).
|
||||||
## Usage
|
## Usage
|
||||||
You can easily add a "poched" page with the bookmarklet.
|
You can easily add a "poched" page with the bookmarklet.
|
||||||
|
|
||||||
|
poche save the entire content of a poched links : text and pictures are stored on your server.
|
||||||
|
|
||||||
You can :
|
You can :
|
||||||
* read a page in a comfortable reading view
|
* read a page in a comfortable reading view
|
||||||
* archive a link
|
* archive a link
|
||||||
* put a link in favorite
|
* put a link in favorite
|
||||||
* delete a link
|
* delete a link
|
||||||
|
|
||||||
|
## Requirements & installation
|
||||||
|
You have to install [sqlite for php](http://www.php.net/manual/en/book.sqlite.php) on your server.
|
||||||
|
|
||||||
|
Get the [latest version](https://github.com/nicosomb/poche) of poche on github. Unzip it and upload it on your server. poche must have write access on assets, cache and db directories.
|
||||||
|
|
||||||
|
That's all, **poche works** !
|
||||||
|
|
||||||
## Security
|
## Security
|
||||||
You **have** to protect your db/poche.sqlite file. Modify the virtual host of your website to add this condition :
|
You **have** to protect your db/poche.sqlite file. Modify the virtual host of your website to add this condition :
|
||||||
```apache
|
```apache
|
||||||
|
|
0
img/checkmark-off.png
Executable file → Normal file
Before Width: | Height: | Size: 277 B After Width: | Height: | Size: 277 B |
0
img/checkmark-on.png
Executable file → Normal file
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 235 B |
0
img/down.png
Executable file → Normal file
Before Width: | Height: | Size: 216 B After Width: | Height: | Size: 216 B |
0
img/remove.png
Executable file → Normal file
Before Width: | Height: | Size: 252 B After Width: | Height: | Size: 252 B |
0
img/star-off.png
Executable file → Normal file
Before Width: | Height: | Size: 314 B After Width: | Height: | Size: 314 B |
0
img/star-on.png
Executable file → Normal file
Before Width: | Height: | Size: 281 B After Width: | Height: | Size: 281 B |
0
img/up.png
Executable file → Normal file
Before Width: | Height: | Size: 212 B After Width: | Height: | Size: 212 B |
0
inc/Encoding.php
Executable file → Normal file
0
inc/JSLikeHTMLElement.php
Executable file → Normal file
0
inc/Readability.php
Executable file → Normal file
|
@ -8,9 +8,12 @@
|
||||||
* @license http://www.wtfpl.net/ see COPYING file
|
* @license http://www.wtfpl.net/ see COPYING file
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(!is_dir('db/')){mkdir('db/',0705);}
|
if (!is_dir('db/')) {
|
||||||
|
@mkdir('db/',0705);
|
||||||
|
}
|
||||||
|
|
||||||
define ('DB_PATH', 'sqlite:./db/poche.sqlite');
|
define ('DB_PATH', 'sqlite:./db/poche.sqlite');
|
||||||
define ('ABS_PATH', 'archiveImg/');
|
define ('ABS_PATH', 'assets/');
|
||||||
|
|
||||||
include 'db.php';
|
include 'db.php';
|
||||||
include 'functions.php';
|
include 'functions.php';
|
||||||
|
|
|
@ -10,15 +10,13 @@
|
||||||
|
|
||||||
class db {
|
class db {
|
||||||
var $handle;
|
var $handle;
|
||||||
function __construct($path)
|
function __construct($path) {
|
||||||
{
|
|
||||||
$this->handle = new PDO($path);
|
$this->handle = new PDO($path);
|
||||||
$this->handle->exec('CREATE TABLE IF NOT EXISTS "entries" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , "title" VARCHAR, "url" VARCHAR UNIQUE , "is_read" INTEGER DEFAULT 0, "is_fav" INTEGER DEFAULT 0, "content" BLOB)');
|
$this->handle->exec('CREATE TABLE IF NOT EXISTS "entries" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , "title" VARCHAR, "url" VARCHAR UNIQUE , "is_read" INTEGER DEFAULT 0, "is_fav" INTEGER DEFAULT 0, "content" BLOB)');
|
||||||
$this->handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
$this->handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getHandle()
|
public function getHandle() {
|
||||||
{
|
|
||||||
return $this->handle;
|
return $this->handle;
|
||||||
}
|
}
|
||||||
}
|
}
|
0
inc/functions.php
Executable file → Normal file
0
inc/rain.tpl.class.php
Executable file → Normal file
0
index.php
Executable file → Normal file
0
tpl/footer.html
Executable file → Normal file
0
tpl/view.html
Executable file → Normal file
2
view.php
Executable file → Normal file
|
@ -20,7 +20,7 @@ if(!empty($id)) {
|
||||||
$tpl->assign('id', $entry[0]['id']);
|
$tpl->assign('id', $entry[0]['id']);
|
||||||
$tpl->assign('url', $entry[0]['url']);
|
$tpl->assign('url', $entry[0]['url']);
|
||||||
$tpl->assign('title', $entry[0]['title']);
|
$tpl->assign('title', $entry[0]['title']);
|
||||||
$tpl->assign('content', gzinflate(base64_decode($entry[0]['content'])));
|
$tpl->assign('content', $entry[0]['content']);
|
||||||
$tpl->assign('is_fav', $entry[0]['is_fav']);
|
$tpl->assign('is_fav', $entry[0]['is_fav']);
|
||||||
$tpl->assign('is_read', $entry[0]['is_read']);
|
$tpl->assign('is_read', $entry[0]['is_read']);
|
||||||
$tpl->assign('load_all_js', 0);
|
$tpl->assign('load_all_js', 0);
|
||||||
|
|