]>
Commit | Line | Data |
---|---|---|
1 | <?php | |
2 | error_reporting(E_ERROR | E_WARNING | E_PARSE); | |
3 | ||
4 | require_once "functions.php"; | |
5 | require_once "sessions.php"; | |
6 | require_once "sanity_check.php"; | |
7 | require_once "version.php"; | |
8 | require_once "config.php"; | |
9 | require_once "db-prefs.php"; | |
10 | ||
11 | $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); | |
12 | ||
13 | login_sequence($link); | |
14 | ||
15 | $dt_add = get_script_dt_add(); | |
16 | ||
17 | no_cache_incantation(); | |
18 | ||
19 | header('Content-Type: text/html; charset=utf-8'); | |
20 | ||
21 | ?> | |
22 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | |
23 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
24 | <html> | |
25 | <head> | |
26 | <title>Tiny Tiny RSS</title> | |
27 | ||
28 | <link rel="stylesheet" type="text/css" href="tt-rss.css?<?php echo $dt_add ?>"/> | |
29 | ||
30 | <?php $user_theme = $_SESSION["theme"]; | |
31 | if ($user_theme) { ?> | |
32 | <link rel="stylesheet" type="text/css" href="themes/<?php echo $user_theme ?>/theme.css?<?php echo $dt_add ?>"> | |
33 | <?php } ?> | |
34 | ||
35 | <?php if ($user_theme) { $theme_image_path = "themes/$user_theme/"; } ?> | |
36 | ||
37 | <?php $user_css_url = get_pref($link, 'USER_STYLESHEET_URL'); ?> | |
38 | <?php if ($user_css_url) { ?> | |
39 | <link rel="stylesheet" type="text/css" href="<?php echo $user_css_url ?>"/> | |
40 | <?php } ?> | |
41 | ||
42 | <link rel="shortcut icon" type="image/png" href="images/favicon.png"/> | |
43 | ||
44 | <script type="text/javascript" src="lib/prototype.js"></script> | |
45 | <script type="text/javascript" src="lib/scriptaculous/scriptaculous.js?load=effects,dragdrop,controls"></script> | |
46 | <script type="text/javascript" charset="utf-8" src="localized_js.php?<?php echo $dt_add ?>"></script> | |
47 | <script type="text/javascript" charset="utf-8" src="tt-rss.js?<?php echo $dt_add ?>"></script> | |
48 | <script type="text/javascript" charset="utf-8" src="functions.js?<?php echo $dt_add ?>"></script> | |
49 | <script type="text/javascript" charset="utf-8" src="feedlist.js?<?php echo $dt_add ?>"></script> | |
50 | <script type="text/javascript" charset="utf-8" src="viewfeed.js?<?php echo $dt_add ?>"></script> | |
51 | ||
52 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> | |
53 | ||
54 | <script type="text/javascript"> | |
55 | //<![CDATA[ | |
56 | if (navigator.userAgent.match("Opera")) { | |
57 | document.write('<link rel="stylesheet" type="text/css" href="opera.css">'); | |
58 | } | |
59 | window.onresize=resize_headlines; | |
60 | //]]> | |
61 | </script> | |
62 | </head> | |
63 | ||
64 | <body id="ttrssMain"> | |
65 | ||
66 | <div id="overlay" style="display : block"> | |
67 | <div id="overlay_inner"> | |
68 | <?php echo __("Loading, please wait...") ?> | |
69 | ||
70 | <div id="l_progress_o"> | |
71 | <div id="l_progress_i"></div> | |
72 | </div> | |
73 | ||
74 | <noscript> | |
75 | <div class="error"><?php echo | |
76 | __("Your browser doesn't support Javascript, which is required | |
77 | for this application to function properly. Please check your | |
78 | browser settings.") ?></div> | |
79 | </noscript> | |
80 | </div> | |
81 | </div> | |
82 | ||
83 | <div id="hotkey_help_overlay" style="display : none" onclick="Element.hide(this)"> | |
84 | <?php rounded_table_start("hho"); ?> | |
85 | <?php include "help/3.php" ?> | |
86 | <?php rounded_table_end(); ?> | |
87 | </div> | |
88 | ||
89 | <div id="notify" class="notify"><span id="notify_body"> </span></div> | |
90 | ||
91 | <div id="dialog_overlay" style="display : none"> </div> | |
92 | ||
93 | <script type="text/javascript"> | |
94 | if (document.addEventListener) { | |
95 | document.addEventListener("DOMContentLoaded", init, null); | |
96 | } | |
97 | window.onload = init; | |
98 | </script> | |
99 | ||
100 | <ul id="debug_output" style='display : none'><li> </li></ul> | |
101 | ||
102 | <div id="infoBoxShadow" style="display : none"><div id="infoBox"> </div></div> | |
103 | ||
104 | <div id="errorBoxShadow" style="display : none"> | |
105 | <div id="errorBox"> | |
106 | <div id="xebTitle">Fatal Exception</div><div id="xebContent"> </div> | |
107 | <div id="xebBtn" align='center'><input type="submit" | |
108 | onclick="closeErrorBox()" value="Close this window"/></div> | |
109 | </div> | |
110 | </div> | |
111 | ||
112 | <div id="header"> | |
113 | <div class="topLinks"> | |
114 | ||
115 | <?php if (!SINGLE_USER_MODE) { ?> | |
116 | <?php echo __('Hello,') ?> <b><?php echo $_SESSION["name"] ?></b> | | |
117 | <?php } ?> | |
118 | <a href="prefs.php"><?php echo __('Preferences') ?></a> | |
119 | ||
120 | <?php if (defined('FEEDBACK_URL') && FEEDBACK_URL) { ?> | |
121 | | <a target="_blank" class="feedback" href="<?php echo FEEDBACK_URL ?>"> | |
122 | <?php echo __('Comments?') ?></a> | |
123 | <?php } ?> | |
124 | ||
125 | <?php if (!SINGLE_USER_MODE) { ?> | |
126 | | <a href="logout.php"><?php echo __('Logout') ?></a> | |
127 | <?php } ?> | |
128 | ||
129 | <img id="newVersionIcon" style="display:none;" onclick="javascript:explainError(2)" | |
130 | src="images/new_version.png" title="<?php echo __('New version of Tiny Tiny RSS is available!') ?>" | |
131 | alt="new_version_icon"/> | |
132 | ||
133 | </div> | |
134 | <img src="<?php echo $theme_image_path ?>images/ttrss_logo.png" alt="Tiny Tiny RSS"/> | |
135 | </div> | |
136 | ||
137 | <div id="feeds-holder"> | |
138 | <div id="dispSwitch"> | |
139 | <a id="dispSwitchPrompt" | |
140 | href="javascript:toggleTags()"><?php echo __("tag cloud") ?></a> | |
141 | <?php if (!SINGLE_USER_MODE) { ?> | |
142 | <br/> | |
143 | <a id="feedBrowserPrompt" href="prefs.php?tab=feedBrowser" | |
144 | title="<?php echo __('More feeds...') ?>">+</a> | |
145 | <?php } ?> | |
146 | </div> | |
147 | <div id="feeds-frame"> </div> | |
148 | </div> | |
149 | ||
150 | <div id="toolbar"> | |
151 | ||
152 | <div style="float : right"> | |
153 | <select id="quickMenuChooser" onchange="quickMenuChange()"> | |
154 | <option value="qmcDefault" selected="selected"><?php echo __('Actions...') ?></option> | |
155 | <option value="qmcSearch"><?php echo __('Search...') ?></option> | |
156 | <!-- <option value="qmcPrefs"><?php echo __('Preferences') ?></option> --> | |
157 | <option disabled="disabled">--------</option> | |
158 | <option style="color : #5050aa" disabled="disabled"><?php echo __('Feed actions:') ?></option> | |
159 | <option value="qmcAddFeed"> <?php echo __('Subscribe to feed...') ?></option> | |
160 | <option value="qmcEditFeed"> <?php echo __('Edit this feed...') ?></option> | |
161 | <!-- <option value="qmcClearFeed"> <?php echo __('Clear articles') ?></option> --> | |
162 | <option value="qmcRescoreFeed"> <?php echo __('Rescore feed') ?></option> | |
163 | <option value="qmcRemoveFeed"> <?php echo __('Unsubscribe') ?></option> | |
164 | <option disabled="disabled">--------</option> | |
165 | <option style="color : #5050aa" disabled="disabled"><?php echo __('All feeds:') ?></option> | |
166 | <option value="qmcCatchupAll"> <?php echo __('Mark as read') ?></option> | |
167 | <option value="qmcShowOnlyUnread"> <?php echo __('(Un)hide read feeds') ?></option> | |
168 | <option disabled="disabled">--------</option> | |
169 | <option style="color : #5050aa" disabled="disabled"><?php echo __('Other actions:') ?></option> | |
170 | ||
171 | <option value="qmcAddLabel"> <?php echo __('Create label...') ?></option> | |
172 | <option value="qmcAddFilter"> <?php echo __('Create filter...') ?></option> | |
173 | <option value="qmcResetUI"> <?php echo __('Reset UI layout') ?></option> | |
174 | <option value="qmcResetCats"> <?php echo __('Reset category order') ?></option> | |
175 | ||
176 | <option value="qmcHKhelp"><?php echo __(' Keyboard shortcuts') ?></option> | |
177 | </select> | |
178 | </div> | |
179 | ||
180 | <form id="main_toolbar_form" action="" onsubmit='return false'> | |
181 | ||
182 | <input type="submit" value="<<" | |
183 | id="collapse_feeds_btn" onclick="collapse_feedlist()" class="button" | |
184 | title="<?php echo __('Collapse feedlist') ?>" style="display : none"/> | |
185 | ||
186 | <input type="submit" value="<?php echo __("Toggle Feedlist") ?>" | |
187 | id="toggle_feeds_btn" class="button" | |
188 | onclick="toggle_feedlist()" style="display : none"/> | |
189 | ||
190 | | |
191 | ||
192 | <?php if (get_pref($link, 'ENABLE_SEARCH_TOOLBAR')) { ?> | |
193 | ||
194 | <?php echo __('Search:') ?> | |
195 | <input name="query" type="text" | |
196 | onkeypress="return filterCR(event, viewCurrentFeed)" | |
197 | onblur="javascript:enableHotkeys();" onfocus="javascript:disableHotkeys();"/> | |
198 | ||
199 | <?php } ?> | |
200 | ||
201 | <select name="view_mode" onchange="viewModeChanged()"> | |
202 | <option selected="selected" value="adaptive"><?php echo __('Adaptive') ?></option> | |
203 | <option value="all_articles"><?php echo __('All Articles') ?></option> | |
204 | <option value="marked"><?php echo __('Starred') ?></option> | |
205 | <option value="unread"><?php echo __('Unread') ?></option> | |
206 | <!-- <option value="noscores"><?php echo __('Ignore Scoring') ?></option> --> | |
207 | <option value="updated"><?php echo __('Updated') ?></option> | |
208 | </select> | |
209 | ||
210 | <?php echo __('Order:') ?> | |
211 | ||
212 | <select name="order_by" onchange="viewModeChanged()"> | |
213 | <option selected="selected" value="default"><?php echo __('Default') ?></option> | |
214 | <option value="date"><?php echo __('Date') ?></option> | |
215 | <option value="title"><?php echo __('Title') ?></option> | |
216 | <option value="score"><?php echo __('Score') ?></option> | |
217 | </select> | |
218 | ||
219 | ||
220 | <?php echo __('Limit:') ?> | |
221 | <?php | |
222 | $limits = array(15 => 15, 30 => 30, 60 => 60, 0 => "All"); | |
223 | ||
224 | $def_art_limit = get_pref($link, 'DEFAULT_ARTICLE_LIMIT'); | |
225 | ||
226 | if ($def_art_limit >= 0 && !array_key_exists($def_art_limit, $limits)) { | |
227 | $limits[$def_art_limit] = $def_art_limit; | |
228 | } | |
229 | ||
230 | asort($limits); | |
231 | ||
232 | if (!$def_art_limit) { | |
233 | $def_art_limit = 30; | |
234 | } | |
235 | ||
236 | print_select_hash("limit", $def_art_limit, $limits, | |
237 | 'onchange="viewLimitChanged()"'); | |
238 | ||
239 | ?> | |
240 | ||
241 | | |
242 | ||
243 | <input class="button" type="submit" | |
244 | onclick="return viewCurrentFeed('ForceUpdate')" | |
245 | value="<?php echo __('Update') ?>"/> | |
246 | ||
247 | </form> | |
248 | ||
249 | <!-- <input class="button" type="submit" | |
250 | onclick="quickMenuGo('qmcSearch')" value="Search (tmp)"> --> | |
251 | ||
252 | <!-- <input class="button" type="submit" | |
253 | onclick="catchupCurrentFeed()" value="Mark as read"> --> | |
254 | ||
255 | </div> | |
256 | ||
257 | <?php if (!get_pref($link, 'COMBINED_DISPLAY_MODE')) { ?> | |
258 | <div id="headlines-frame" class="headlines_normal"> | |
259 | <div class="whiteBox"><?php echo __('No feed selected.') ?></div></div> | |
260 | <div id="content-frame"> | |
261 | <div id="resize-grabber" | |
262 | onmouseover="enable_resize(true)" onmouseout="enable_resize(false)" | |
263 | title="<?php echo __('Drag me to resize panels') ?>"> | |
264 | <img src="images/resize_handle_horiz.png" id="resize-handle" | |
265 | onmouseover="enable_resize(true)" onmouseout="enable_resize(false)" | |
266 | alt=""/> | |
267 | </div> | |
268 | <div id="content-insert"> </div> | |
269 | <!-- <div class="whiteBox"> </div> --> </div> | |
270 | <?php } else { ?> | |
271 | <div id="headlines-frame" class="headlines_cdm"> | |
272 | <div class="whiteBox"><?php echo __('No feed selected.') ?></div></div> | |
273 | <?php } ?> | |
274 | ||
275 | <div id="footer"> | |
276 | <?php if (defined('_DEBUG_USER_SWITCH')) { ?> | |
277 | <select id="userSwitch" onchange="userSwitch()"> | |
278 | <?php | |
279 | foreach (array('admin', 'fox', 'test') as $u) { | |
280 | $op_sel = ($u == $_SESSION["name"]) ? "selected" : ""; | |
281 | print "<option $op_sel>$u</option>"; | |
282 | } | |
283 | ?> | |
284 | </select> | |
285 | <?php } ?> | |
286 | <a href="http://tt-rss.org/">Tiny Tiny RSS</a> | |
287 | <?php if (!defined('HIDE_VERSION')) { ?> | |
288 | v<?php echo VERSION ?> | |
289 | <?php } ?> | |
290 | © 2005–2009 <a href="http://bah.org.ru/">Andrew Dolgov</a> | |
291 | </div> | |
292 | ||
293 | <?php db_close($link); ?> | |
294 | ||
295 | <script type="text/javascript"> | |
296 | /* for IE */ | |
297 | function statechange() { | |
298 | if (document.readyState == "interactive") init(); | |
299 | } | |
300 | ||
301 | if (document.readyState) { | |
302 | if (document.readyState == "interactive" || document.readyState == "complete") { | |
303 | init(); | |
304 | } else { | |
305 | document.onreadystatechange = statechange; | |
306 | } | |
307 | } | |
308 | </script> | |
309 | ||
310 | </body> | |
311 | </html> |