]>
Commit | Line | Data |
---|---|---|
1a268ba7 NL |
1 | <?php |
2 | /** | |
3 | * poche, a read it later open source system | |
4 | * | |
5 | * @category poche | |
421b65eb | 6 | * @author Nicolas Lœuillet <support@inthepoche.com> |
1a268ba7 NL |
7 | * @copyright 2013 |
8 | * @license http://www.wtfpl.net/ see COPYING file | |
9 | */ | |
10 | ||
6ae80485 | 11 | define ('POCHE', '1.1.0'); |
00dbaf90 | 12 | require_once 'inc/poche/global.inc.php'; |
36b92198 | 13 | session_start(); |
bb5a7d9e | 14 | |
00dbaf90 NL |
15 | # Start Poche |
16 | $poche = new Poche(); | |
17 | $notInstalledMessage = $poche -> getNotInstalledMessage(); | |
1a268ba7 | 18 | |
ed06f040 | 19 | # Parse GET & REFERER vars |
a4565e88 | 20 | $referer = empty($_SERVER['HTTP_REFERER']) ? '' : $_SERVER['HTTP_REFERER']; |
7f959169 | 21 | $view = Tools::checkVar('view', 'home'); |
63c35580 NL |
22 | $action = Tools::checkVar('action'); |
23 | $id = Tools::checkVar('id'); | |
f6df40db | 24 | $_SESSION['sort'] = Tools::checkVar('sort', 'id'); |
63c35580 | 25 | $url = new Url((isset ($_GET['url'])) ? $_GET['url'] : ''); |
8c72b98d | 26 | |
00dbaf90 NL |
27 | # vars to _always_ send to templates |
28 | $tpl_vars = array( | |
29 | 'referer' => $referer, | |
30 | 'view' => $view, | |
31 | 'poche_url' => Tools::getPocheUrl(), | |
32 | 'title' => _('poche, a read it later open source system'), | |
33 | 'token' => Session::getToken(), | |
34 | 'theme' => $poche->getTheme() | |
35 | ); | |
36 | ||
37 | if (! empty($notInstalledMessage)) { | |
38 | if (! Poche::$canRenderTemplates || ! Poche::$configFileAvailable) { | |
39 | # We cannot use Twig to display the error message | |
9d3b88b3 NL |
40 | echo '<h1>Errors</h1><ol>'; |
41 | foreach ($notInstalledMessage as $message) { | |
42 | echo '<li>' . $message . '</li>'; | |
43 | } | |
44 | echo '</ol>'; | |
45 | die(); | |
00dbaf90 NL |
46 | } else { |
47 | # Twig is installed, put the error message in the template | |
48 | $tpl_file = Tools::getTplFile('error'); | |
49 | $tpl_vars = array_merge($tpl_vars, array('msg' => $poche->getNotInstalledMessage())); | |
50 | echo $poche->tpl->render($tpl_file, $tpl_vars); | |
51 | exit; | |
52 | } | |
53 | } | |
54 | ||
ed06f040 | 55 | # poche actions |
a1953dff | 56 | if (isset($_GET['login'])) { |
4f5b44bd | 57 | # hello you |
c765c367 | 58 | $poche->login($referer); |
00dbaf90 | 59 | } elseif (isset($_GET['logout'])) { |
4f5b44bd | 60 | # see you soon ! |
c765c367 | 61 | $poche->logout(); |
00dbaf90 | 62 | } elseif (isset($_GET['config'])) { |
4f5b44bd | 63 | # Update password |
c765c367 | 64 | $poche->updatePassword(); |
00dbaf90 | 65 | } elseif (isset($_GET['import'])) { |
07ee09f4 | 66 | $import = $poche->import($_GET['from']); |
00dbaf90 | 67 | } elseif (isset($_GET['export'])) { |
63c35580 | 68 | $poche->export(); |
00dbaf90 NL |
69 | } elseif (isset($_GET['updatetheme'])) { |
70 | $poche->updateTheme(); | |
5011388f NL |
71 | } elseif (isset($_GET['updatelanguage'])) { |
72 | $poche->updateLanguage(); | |
63c35580 | 73 | } |
5011388f | 74 | |
ce4a1dcc NL |
75 | elseif (isset($_GET['plainurl']) && !empty($_GET['plainurl'])) { |
76 | $plain_url = new Url(base64_encode($_GET['plainurl'])); | |
77 | $poche->action('add', $plain_url); | |
78 | } | |
693b3f86 | 79 | |
e4d2565e | 80 | if (Session::isLogged()) { |
eb1af592 NL |
81 | $poche->action($action, $url, $id); |
82 | $tpl_file = Tools::getTplFile($view); | |
83 | $tpl_vars = array_merge($tpl_vars, $poche->displayView($view, $id)); | |
df6afaf0 | 84 | } elseif(isset($_SERVER['PHP_AUTH_USER'])) { |
027b4e15 DS |
85 | if($poche->store->userExists($_SERVER['PHP_AUTH_USER'])) { |
86 | $poche->login($referer); | |
87 | } else { | |
88 | $poche->messages->add('e', _('login failed: user doesn\'t exist')); | |
89 | Tools::logm('user doesn\'t exist'); | |
90 | $tpl_file = Tools::getTplFile('login'); | |
91 | $tpl_vars['http_auth'] = 1; | |
92 | } | |
00dbaf90 NL |
93 | } else { |
94 | $tpl_file = Tools::getTplFile('login'); | |
027b4e15 | 95 | $tpl_vars['http_auth'] = 0; |
8c72b98d | 96 | } |
a4565e88 | 97 | |
55821e04 | 98 | # because messages can be added in $poche->action(), we have to add this entry now (we can add it before) |
6a361945 NL |
99 | $messages = $poche->messages->display('all', FALSE); |
100 | $tpl_vars = array_merge($tpl_vars, array('messages' => $messages)); | |
55821e04 | 101 | |
ed06f040 | 102 | # display poche |
df6afaf0 | 103 | echo $poche->tpl->render($tpl_file, $tpl_vars); |