]>
Commit | Line | Data |
---|---|---|
1 | <? | |
2 | require_once "functions.php"; | |
3 | ||
4 | basic_nosid_redirect_check(); | |
5 | ||
6 | require_once "sessions.php"; | |
7 | ||
8 | require_once "sanity_check.php"; | |
9 | require_once "version.php"; | |
10 | require_once "config.php"; | |
11 | require_once "db-prefs.php"; | |
12 | ||
13 | $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); | |
14 | ||
15 | login_sequence($link); | |
16 | ||
17 | $dt_add = get_script_dt_add(); | |
18 | ||
19 | ?> | |
20 | <html> | |
21 | <head> | |
22 | <title>Tiny Tiny RSS</title> | |
23 | ||
24 | <link rel="stylesheet" type="text/css" href="tt-rss.css"> | |
25 | ||
26 | <? $user_theme = $_SESSION["theme"]; | |
27 | if ($user_theme) { ?> | |
28 | <link rel="stylesheet" type="text/css" href="themes/<?= $user_theme ?>/theme.css"> | |
29 | <? } ?> | |
30 | ||
31 | <? $user_css_url = get_pref($link, 'USER_STYLESHEET_URL'); ?> | |
32 | <? if ($user_css_url) { ?> | |
33 | <link type="text/css" href="<?= $user_css_url ?>"/> | |
34 | <? } ?> | |
35 | ||
36 | <? if (get_pref($link, 'USE_COMPACT_STYLESHEET')) { ?> | |
37 | ||
38 | <link rel="stylesheet" href="tt-rss_compact.css" type="text/css"> | |
39 | ||
40 | <? } else { ?> | |
41 | ||
42 | <link title="Compact Stylesheet" rel="alternate stylesheet" | |
43 | type="text/css" href="tt-rss_compact.css"/> | |
44 | ||
45 | <? } ?> | |
46 | ||
47 | <script type="text/javascript" src="tt-rss.js?<?= $dt_add ?>"></script> | |
48 | <script type="text/javascript" src="functions.js?<?= $dt_add ?>"></script> | |
49 | <!--[if gte IE 5.5000]> | |
50 | <script type="text/javascript" src="pngfix.js"></script> | |
51 | <link rel="stylesheet" type="text/css" href="tt-rss-ie.css"> | |
52 | <![endif]--> | |
53 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | |
54 | ||
55 | <script type="text/javascript"> | |
56 | if (navigator.userAgent.match("Opera")) { | |
57 | document.write('<link rel="stylesheet" type="text/css" href="opera.css">'); | |
58 | } | |
59 | </script> | |
60 | </head> | |
61 | ||
62 | <body> | |
63 | ||
64 | <div id="overlay"><div id="overlay_inner">Loading, please wait...</div></div> | |
65 | <div id="fatal_error"><div id="fatal_error_inner"> | |
66 | <h1>Fatal Error</h1> | |
67 | <div id="fatal_error_msg">Unknown Error</div> | |
68 | </div></div> | |
69 | ||
70 | <script type="text/javascript"> | |
71 | if (document.addEventListener) { | |
72 | document.addEventListener("DOMContentLoaded", init, null); | |
73 | } | |
74 | window.onload = init; | |
75 | </script> | |
76 | ||
77 | <? if (ENABLE_UPDATE_DAEMON && !file_is_locked("update_daemon.lock")) { ?> | |
78 | <div class="noDaemonWarning"> | |
79 | <b>Warning:</b> Update daemon is enabled in configuration, but daemon | |
80 | process is not running, which prevents all feeds from updating. Please | |
81 | start the daemon process or contact instance owner. | |
82 | </div> | |
83 | <? } ?> | |
84 | ||
85 | <ul id="debug_output"></ul> | |
86 | ||
87 | <table width="100%" height="100%" cellspacing="0" cellpadding="0" class="main"> | |
88 | <? if (get_pref($link, 'DISPLAY_HEADER')) { ?> | |
89 | <tr> | |
90 | <td colspan="2" class="headerBox" id="mainHeader"> | |
91 | <table cellspacing="0" cellpadding="0" width="100%"><tr> | |
92 | <td rowspan="2" class="header" valign="middle"> | |
93 | <img src="images/ttrss_logo.png" alt="logo"> | |
94 | </td> | |
95 | <td valign="top" class="notifyBox"> | |
96 | <div id="notify"><span id="notify_body"> </span></div> | |
97 | </td> | |
98 | ||
99 | <div id="infoBoxShadow"><div id="infoBox"> </div></div> | |
100 | ||
101 | </tr><tr><td class="welcomePrompt"> | |
102 | <? if (!SINGLE_USER_MODE) { ?> | |
103 | Hello, <b><?= $_SESSION["name"] ?></b> | |
104 | (<a href="logout.php">Logout</a>) | |
105 | <? } ?> | |
106 | </td> | |
107 | </tr></table> | |
108 | </td> | |
109 | </tr> | |
110 | <? } else { ?> | |
111 | <tr> | |
112 | <td class="small" id="mainHeader"> | |
113 | <div id="notify"><span id="notify_body"> </span></div> | |
114 | <div id="userDlgShadow"><div id="userDlg"> </div></div> | |
115 | </td><td class="welcomePrompt"> | |
116 | <? if (!SINGLE_USER_MODE) { ?> | |
117 | Hello, <b><?= $_SESSION["name"] ?></b> | |
118 | (<a href="logout.php">Logout</a>) | |
119 | <? } ?> | |
120 | </td></tr> | |
121 | <? } ?> | |
122 | <tr> | |
123 | <? if (get_pref($link, 'COMBINED_DISPLAY_MODE')) | |
124 | $feeds_rowspan = 2; | |
125 | else | |
126 | $feeds_rowspan = 3; ?> | |
127 | <td valign="top" rowspan="<?= $feeds_rowspan ?>" class="feeds"> | |
128 | <table class="innerFeedTable" | |
129 | cellspacing="0" cellpadding="0" height="100%" width="100%"> | |
130 | <tr><td> | |
131 | <div id="dispSwitch"> | |
132 | <a id="dispSwitchPrompt" href="javascript:toggleTags()">display tags</a> | |
133 | </div> | |
134 | </td></tr> | |
135 | <tr><td height="100%" width="100%" valign="top"> | |
136 | ||
137 | <iframe frameborder="0" | |
138 | src="backend.php?op=error&msg=Loading,%20please wait..." | |
139 | id="feeds-frame" name="feeds-frame" class="feedsFrame"> </iframe> | |
140 | ||
141 | </td></tr></table> | |
142 | ||
143 | </td> | |
144 | <td valign="top" class="headlinesToolbarBox"> | |
145 | <table width="100%" cellpadding="0" cellspacing="0"> | |
146 | ||
147 | <tr><td class="headlinesToolbar" id="headlinesToolbar"> | |
148 | ||
149 | <? if (get_pref($link, 'ENABLE_SEARCH_TOOLBAR')) { ?> | |
150 | ||
151 | <input id="searchbox" | |
152 | onblur="javascript:enableHotkeys();" onfocus="javascript:disableHotkeys();"> | |
153 | <select id="searchmodebox"> | |
154 | <option>This feed</option> | |
155 | <? if (get_pref($link, 'ENABLE_FEED_CATS')) { ?> | |
156 | <option>This category</option> | |
157 | <? } ?> | |
158 | <option>All feeds</option> | |
159 | </select> | |
160 | ||
161 | <input type="submit" | |
162 | class="button" onclick="javascript:search()" value="Search"> | |
163 | ||
164 | | |
165 | ||
166 | <? } ?> | |
167 | ||
168 | View: | |
169 | ||
170 | <select id="viewbox" onchange="javascript:viewCurrentFeed(0, '')"> | |
171 | <option selected>Adaptive</option> | |
172 | <option>All Articles</option> | |
173 | <option>Starred</option> | |
174 | <option>Unread</option> | |
175 | </select> | |
176 | ||
177 | Limit: | |
178 | ||
179 | <select id="limitbox" onchange="javascript:viewCurrentFeed(0, '')"> | |
180 | ||
181 | <? | |
182 | $limits = array(15 => 15, 30 => 30, 60 => 60); | |
183 | ||
184 | $def_art_limit = get_pref($link, 'DEFAULT_ARTICLE_LIMIT'); | |
185 | ||
186 | if ($def_art_limit >= 0 && !array_key_exists($def_art_limit, $limits)) { | |
187 | $limits[$def_art_limit] = $def_art_limit; | |
188 | } | |
189 | ||
190 | asort($limits); | |
191 | array_push($limits, 0); | |
192 | ||
193 | if (!$def_art_limit) { | |
194 | $def_art_limit = 30; | |
195 | } | |
196 | ||
197 | foreach ($limits as $key) { | |
198 | print "<option"; | |
199 | if ($key == $def_art_limit) { print " selected"; } | |
200 | print ">"; | |
201 | ||
202 | if ($limits[$key] == 0) { print "All"; } else { print $limits[$key]; } | |
203 | ||
204 | print "</option>"; | |
205 | } ?> | |
206 | ||
207 | </select> | |
208 | ||
209 | <!-- Selection: | |
210 | ||
211 | <select id="headopbox"> | |
212 | <option id="hopToggleRead">Toggle (un)read</option> | |
213 | </select> | |
214 | ||
215 | <input class="button" type="submit" onclick="headopGo()" value="Go"> --> | |
216 | ||
217 | Feed: <input class="button" type="submit" | |
218 | onclick="javascript:viewCurrentFeed(0, 'ForceUpdate')" value="Update"> | |
219 | ||
220 | <input class="button" type="submit" id="btnMarkFeedAsRead" | |
221 | onclick="javascript:viewCurrentFeed(0, 'MarkAllRead')" value="Mark as read"> | |
222 | ||
223 | </td> | |
224 | <td align="right"> | |
225 | <select id="quickMenuChooser" onchange="quickMenuChange()"> | |
226 | <option id="qmcDefault" selected>Actions...</option> | |
227 | <option id="qmcPrefs">Preferences</option> | |
228 | <option id="qmcSearch">Search</option> | |
229 | <option disabled>--------</option> | |
230 | <option style="color : #5050aa" disabled>Feed actions:</option> | |
231 | <option id="qmcAddFeed"> Subscribe to feed</option> | |
232 | <option id="qmcRemoveFeed"> Remove this feed</option> | |
233 | <!-- <option>Edit this feed</option> --> | |
234 | <option disabled>--------</option> | |
235 | <option style="color : #5050aa" disabled>All feeds:</option> | |
236 | <? if (!ENABLE_UPDATE_DAEMON) { ?> | |
237 | <option id="qmcUpdateFeeds"> Update</option> | |
238 | <? } ?> | |
239 | <option id="qmcCatchupAll"> Mark as read</option> | |
240 | <option id="qmcShowOnlyUnread"> Show only unread</option> | |
241 | <option disabled>--------</option> | |
242 | <option style="color : #5050aa" disabled>Other actions:</option> | |
243 | <option id="qmcAddFilter"> Create filter</option> | |
244 | </select> | |
245 | </td> | |
246 | </tr> | |
247 | </table> | |
248 | </td> | |
249 | </tr> | |
250 | <? if (get_pref($link, 'COMBINED_DISPLAY_MODE')) { ?> | |
251 | <tr> | |
252 | <td id="headlines" class="headlines2" valign="top"> | |
253 | <iframe frameborder="0" name="headlines-frame" | |
254 | id="headlines-frame" class="headlinesFrame" | |
255 | src="backend.php?op=error&msg=No%20feed%20selected."></iframe> | |
256 | </td> | |
257 | </tr> | |
258 | <? } else { ?> | |
259 | <tr> | |
260 | <td id="headlines" class="headlines" valign="top"> | |
261 | <iframe frameborder="0" name="headlines-frame" | |
262 | id="headlines-frame" class="headlinesFrame" | |
263 | src="backend.php?op=error&msg=No%20feed%20selected."></iframe> | |
264 | </td> | |
265 | </tr><tr> | |
266 | <td class="content" id="content" valign="top"> | |
267 | <iframe frameborder="0" name="content-frame" | |
268 | id="content-frame" class="contentFrame" | |
269 | src="backend.php?op=error&msg=No%20article%20selected."> </iframe> | |
270 | </td> | |
271 | </tr> | |
272 | <? } ?> | |
273 | <? if (get_pref($link, 'DISPLAY_FOOTER')) { ?> | |
274 | <tr> | |
275 | <td colspan="2" class="footer" id="mainFooter"> | |
276 | <a href="http://tt-rss.spb.ru/">Tiny-Tiny RSS</a> v<?= VERSION ?> © 2005-2006 Andrew Dolgov | |
277 | <? if (WEB_DEMO_MODE) { ?> | |
278 | <br>Running in demo mode, some functionality is disabled. | |
279 | <? } ?> | |
280 | </td> | |
281 | </td> | |
282 | <? } ?> | |
283 | </table> | |
284 | ||
285 | <? db_close($link); ?> | |
286 | ||
287 | <script type="text/javascript"> | |
288 | /* for IE */ | |
289 | function statechange() { | |
290 | if (document.readyState == "interactive") init(); | |
291 | } | |
292 | ||
293 | if (document.readyState) { | |
294 | if (document.readyState == "interactive" || document.readyState == "complete") { | |
295 | init(); | |
296 | } else { | |
297 | document.onreadystatechange = statechange; | |
298 | } | |
299 | } | |
300 | </script> | |
301 | ||
302 | </body> | |
303 | </html> |