2013-04-03 13:14:01 +00:00
< ? php
/**
* poche , a read it later open source system
*
* @ category poche
2013-04-13 09:08:31 +00:00
* @ author Nicolas Lœuillet < support @ inthepoche . com >
2013-04-03 13:14:01 +00:00
* @ copyright 2013
* @ license http :// www . wtfpl . net / see COPYING file
*/
2013-04-09 13:18:39 +00:00
include dirname ( __FILE__ ) . '/inc/config.php' ;
$db = new db ( DB_PATH );
2013-04-03 13:14:01 +00:00
$action = ( isset ( $_GET [ 'action' ])) ? htmlspecialchars ( $_GET [ 'action' ]) : '' ;
2013-04-05 07:41:34 +00:00
$view = ( isset ( $_GET [ 'view' ])) ? htmlspecialchars ( $_GET [ 'view' ]) : '' ;
2013-04-05 13:30:50 +00:00
$id = ( isset ( $_GET [ 'id' ])) ? htmlspecialchars ( $_GET [ 'id' ]) : '' ;
2013-04-15 07:04:23 +00:00
$url = ( isset ( $_GET [ 'url' ])) ? $_GET [ 'url' ] : '' ;
2013-04-03 13:14:01 +00:00
2013-04-05 07:41:34 +00:00
switch ( $action )
{
2013-04-03 13:14:01 +00:00
case 'add' :
2013-04-15 07:04:23 +00:00
2013-04-05 07:41:34 +00:00
if ( $url == '' )
continue ;
2013-04-15 07:04:23 +00:00
$parametres_url = prepare_url ( $url );
2013-04-04 19:09:34 +00:00
2013-04-15 07:11:48 +00:00
$sql_action = 'INSERT INTO entries ( url, title, content ) VALUES (?, ?, ?)' ;
$params_action = array ( $url , $parametres_url [ 'title' ], $parametres_url [ 'content' ]);
2013-04-12 10:25:58 +00:00
2013-04-03 13:14:01 +00:00
break ;
case 'delete' :
2013-04-05 07:41:34 +00:00
$sql_action = " DELETE FROM entries WHERE id=? " ;
$params_action = array ( $id );
2013-04-03 13:14:01 +00:00
break ;
default :
break ;
}
2013-04-03 13:22:19 +00:00
2013-04-04 17:51:24 +00:00
try
{
# action query
2013-04-05 07:41:34 +00:00
if ( isset ( $sql_action ))
{
2013-04-09 13:18:39 +00:00
$query = $db -> getHandle () -> prepare ( $sql_action );
2013-04-04 17:51:24 +00:00
$query -> execute ( $params_action );
}
}
catch ( Exception $e )
{
2013-04-12 10:25:58 +00:00
die ( 'action query error : ' . $e -> getMessage ());
2013-04-04 17:51:24 +00:00
}
2013-04-05 07:41:34 +00:00
switch ( $view )
{
2013-04-04 17:51:24 +00:00
case 'archive' :
2013-04-08 08:54:30 +00:00
$sql = " SELECT * FROM entries WHERE is_read=? ORDER BY id desc " ;
2013-04-04 17:51:24 +00:00
$params = array ( - 1 );
break ;
case 'fav' :
2013-04-08 08:54:30 +00:00
$sql = " SELECT * FROM entries WHERE is_fav=? ORDER BY id desc " ;
2013-04-04 17:51:24 +00:00
$params = array ( - 1 );
break ;
default :
2013-04-08 08:54:30 +00:00
$sql = " SELECT * FROM entries WHERE is_read=? ORDER BY id desc " ;
2013-04-04 17:51:24 +00:00
$params = array ( 0 );
2013-04-09 09:49:22 +00:00
$view = 'index' ;
2013-04-04 17:51:24 +00:00
break ;
}
# view query
try
{
2013-04-09 13:18:39 +00:00
$query = $db -> getHandle () -> prepare ( $sql );
2013-04-04 17:51:24 +00:00
$query -> execute ( $params );
$entries = $query -> fetchAll ();
}
catch ( Exception $e )
{
2013-04-12 10:25:58 +00:00
die ( 'view query error : ' . $e -> getMessage ());
2013-04-04 17:51:24 +00:00
}
2013-04-03 13:14:01 +00:00
?>
<! DOCTYPE html >
<!-- [ if lte IE 6 ] > < html class = " no-js ie6 ie67 ie678 " lang = " en " > <! [ endif ] -->
<!-- [ if lte IE 7 ] > < html class = " no-js ie7 ie67 ie678 " lang = " en " > <! [ endif ] -->
<!-- [ if IE 8 ] > < html class = " no-js ie8 ie678 " lang = " en " > <! [ endif ] -->
<!-- [ if gt IE 8 ] ><!--> < html class = " no-js " lang = " en " > <!--<! [ endif ] -->
< html >
< head >
< meta name = " viewport " content = " width=device-width, minimum-scale=1.0, maximum-scale=1.0 " >
< meta charset = " utf-8 " >
< meta http - equiv = " X-UA-Compatible " content = " IE=10 " >
2013-04-05 07:41:34 +00:00
< title > poche , a read it later open source system </ title >
2013-04-08 17:17:29 +00:00
< link rel = " shortcut icon " type = " image/x-icon " href = " img/favicon.ico " />
2013-04-08 12:38:03 +00:00
< link rel = " apple-touch-icon-precomposed " sizes = " 144x144 " href = " img/apple-touch-icon-144x144-precomposed.png " >
< link rel = " apple-touch-icon-precomposed " sizes = " 72x72 " href = " img/apple-touch-icon-72x72-precomposed.png " >
< link rel = " apple-touch-icon-precomposed " href = " img/apple-touch-icon-precomposed.png " >
2013-04-03 13:14:01 +00:00
< link rel = " stylesheet " href = " css/knacss.css " media = " all " >
< link rel = " stylesheet " href = " css/style.css " media = " all " >
</ head >
< body >
2013-04-04 17:51:24 +00:00
< header >
2013-04-05 07:41:34 +00:00
< h1 >< img src = " img/logo.png " alt = " logo poche " /> poche </ h1 >
2013-04-04 17:51:24 +00:00
</ header >
2013-04-09 13:18:39 +00:00
< div id = " main " >
2013-04-04 17:51:24 +00:00
< ul id = " links " >
2013-04-09 09:49:22 +00:00
< li >< a href = " index.php " < ? php echo (( $view == 'index' ) ? 'class="current"' : '' ); ?> >home</a></li>
< li >< a href = " ?view=fav " < ? php echo (( $view == 'fav' ) ? 'class="current"' : '' ); ?> >favorites</a></li>
< li >< a href = " ?view=archive " < ? php echo (( $view == 'archive' ) ? 'class="current"' : '' ); ?> >archive</a></li>
2013-04-08 12:21:42 +00:00
< li >< a style = " cursor: move " title = " i am a bookmarklet, use me ! " href = " javascript:(function() { var%20url%20=%20location.href;var%20title%20=%20document.title%20||%20url;window.open('<?php echo url()?>?action=add&url='%20+%20encodeURIComponent(url),'_self');})(); " > poche it !</ a ></ li >
2013-04-04 17:51:24 +00:00
</ ul >
2013-04-09 13:18:39 +00:00
< div id = " content " >
2013-04-04 17:51:24 +00:00
< ? php
2013-04-05 07:41:34 +00:00
foreach ( $entries as $entry )
{
2013-04-09 13:18:39 +00:00
?>
2013-04-12 09:33:34 +00:00
< div id = " entry-<?php echo $entry['id'] ; ?> " class = " entrie mb2 " >
2013-04-09 13:18:39 +00:00
< span class = " content " >
< h2 class = " h6-like " >
2013-04-12 10:25:58 +00:00
< a href = " view.php?id=<?php echo $entry['id'] ; ?> " >< ? php echo $entry [ 'title' ]; ?>
2013-04-09 13:18:39 +00:00
</ h2 >
< div class = " tools " >
2013-04-12 11:13:21 +00:00
< a title = " toggle mark as read " class = " tool archive <?php echo ( ( $entry['is_read'] == '0') ? 'archive-off' : '' ); ?> " onclick = " toggle_archive(this, <?php echo $entry['id'] ; ?>) " >< span ></ span ></ a >
2013-04-09 13:18:39 +00:00
< a title = " toggle favorite " class = " tool fav <?php echo ( ( $entry['is_fav'] == '0') ? 'fav-off' : '' ); ?> " onclick = " toggle_favorite(this, <?php echo $entry['id'] ; ?>) " >< span ></ span ></ a >
< a href = " ?action=delete&id=<?php echo $entry['id'] ; ?> " title = " toggle delete " onclick = " return confirm('Are you sure?') " class = " tool delete " >< span ></ span ></ a >
</ div >
</ span >
2013-04-12 09:33:34 +00:00
</ div >
2013-04-09 13:18:39 +00:00
< ? php
2013-04-04 17:51:24 +00:00
}
?>
2013-04-05 13:30:50 +00:00
</ div >
2013-04-04 17:51:24 +00:00
</ div >
2013-04-09 08:44:59 +00:00
< footer class = " mr2 mt3 smaller " >
2013-04-13 09:08:31 +00:00
< p > powered by < a href = " http://inthepoche.com " > poche </ a >< br /> follow us on < a href = " https://twitter.com/getpoche " title = " follow us on twitter " > twitter </ a ></ p >
2013-04-03 13:14:01 +00:00
</ footer >
2013-04-09 13:18:39 +00:00
< script type = " text/javascript " src = " js/jquery-1.9.1.min.js " ></ script >
2013-04-12 09:33:34 +00:00
< script type = " text/javascript " src = " js/jquery.masonry.min.js " ></ script >
2013-04-09 13:18:39 +00:00
< script type = " text/javascript " src = " js/poche.js " ></ script >
2013-04-12 09:33:34 +00:00
< script type = " text/javascript " >
$ ( window ) . load ( function ()
{
var columns = 3 ,
setColumns = function () { columns = $ ( window ) . width () > 640 ? 3 : $ ( window ) . width () > 320 ? 2 : 1 ; };
setColumns ();
$ ( window ) . resize ( setColumns );
$ ( '#content' ) . masonry (
{
itemSelector : '.entrie' ,
columnWidth : function ( containerWidth ) { return containerWidth / columns ; }
});
});
</ script >
2013-04-04 17:51:24 +00:00
</ body >
2013-04-09 08:44:59 +00:00
</ html >