]> git.wh0rd.org - tt-rss.git/blobdiff - tt-rss.php
force scripts refresh on every reload
[tt-rss.git] / tt-rss.php
index 8a43f4d4bc126ac79b074da15a631937f16b15a5..f395ea7c5d894679f3f7592a46311e9cec073be7 100644 (file)
@@ -1,15 +1,21 @@
 <?
-       session_start();
-       
+       require_once "functions.php"; 
+
+       basic_nosid_redirect_check();
+
+       require_once "sessions.php";
+
+       require_once "sanity_check.php";
        require_once "version.php"; 
        require_once "config.php";
        require_once "db-prefs.php";
-       require_once "functions.php"; 
 
        $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); 
 
        login_sequence($link);
 
+       $dt_add = time();
+
 ?>
 <html>
 <head>
 
        <link rel="stylesheet" type="text/css" href="tt-rss.css">
 
+       <?      $user_theme = $_SESSION["theme"];
+               if ($user_theme) { ?>
+               <link rel="stylesheet" type="text/css" href="themes/<?= $user_theme ?>/theme.css">
+       <? } ?>
+
+       <? $user_css_url = get_pref($link, 'USER_STYLESHEET_URL'); ?>
+       <? if ($user_css_url) { ?>
+               <link type="text/css" href="<?= $user_css_url ?>"/> 
+       <? } ?>
+
        <? if (get_pref($link, 'USE_COMPACT_STYLESHEET')) { ?>
 
                <link rel="stylesheet" href="tt-rss_compact.css" type="text/css">
 
        <? } ?>
 
-       <script type="text/javascript" src="functions.js"></script>
-       <script type="text/javascript" src="tt-rss.js"></script>
+       <script type="text/javascript" src="tt-rss.js?<?= $dt_add ?>"></script>
+       <script type="text/javascript" src="functions.js?<?= $dt_add ?>"></script>
        <!--[if gte IE 5.5000]>
                <script type="text/javascript" src="pngfix.js"></script>
+               <link rel="stylesheet" type="text/css" href="tt-rss-ie.css">
        <![endif]-->
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+       <script type="text/javascript">
+               if (navigator.userAgent.match("Opera")) {
+                       document.write('<link rel="stylesheet" type="text/css" href="opera.css">');
+               }
+       </script>
 </head>
 
-<body onload="init()">
+<body>
+
+<div id="overlay"><div id="overlay_inner">Loading, please wait...</div></div>
 
-<? if (get_pref($link, 'ENABLE_SPLASH')) { ?>
-<div id="splash">
-       <table width='100%' height='100%'><tr>
-               <td class="innerSplash" valign="middle" align="center">
-               <img src="images/ttrss_logo.png" alt="logo">            
-               <p>Loading, please wait...</p>
-       </td></tr></table>
-</div>
+<script type="text/javascript">
+if (document.addEventListener) {
+       document.addEventListener("DOMContentLoaded", init, null);
+}
+window.onload = init;
+</script>
+
+<? if (ENABLE_UPDATE_DAEMON && !file_is_locked("update_daemon.lock")) { ?>
+       <div class="warning">
+               <b>Warning:</b> Update daemon is enabled in configuration, but daemon
+               process is not running, which prevents all feeds from updating. Please
+               start the daemon process or contact instance owner.
+       </div>
 <? } ?>
 
+<ul id="debug_output"></ul>
+
 <table width="100%" height="100%" cellspacing="0" cellpadding="0" class="main">
 <? if (get_pref($link, 'DISPLAY_HEADER')) { ?>
 <tr>
-       <td colspan="2">
+       <td colspan="2" class="headerBox" id="mainHeader">
                <table cellspacing="0" cellpadding="0" width="100%"><tr>
                        <td rowspan="2" class="header" valign="middle"> 
                                <img src="images/ttrss_logo.png" alt="logo">    
                        </td>
-                       <td align="right" valign="top">
-                               <div id="notify"><span id="notify_body"></div>
+                       <td valign="top" class="notifyBox">
+                               <div id="notify"><span id="notify_body">&nbsp;</span></div>
                        </td>
 
-                       <div id="userDlg">&nbsp;</div>
+                       <div id="userDlgShadow"><div id="userDlg">&nbsp;</div></div>
 
                </tr><tr><td class="welcomePrompt">
                        <? if (!SINGLE_USER_MODE) { ?>
-                       <? if (USE_HTTP_AUTH) { ?>
-                               <table align="right"><tr>
-                               <td class="httpWelcomePrompt">Hello, <b> <?= $_SESSION["name"] ?></b></td>
-                               <td><form action="tt-rss.php" method="POST">
-                                       <input type="hidden" name="ForceLogout" value="yes">
-                                       <input type="submit" class="button" value="Logout">
-                               </form>
-                               </td></tr></table>
-                       <? } else { ?>
                                Hello, <b><?= $_SESSION["name"] ?></b>
                                (<a href="logout.php">Logout</a>)
                        <? } ?>
                        </td>                   
-                       <? } ?>
                </tr></table>
        </td>
 </tr>
 <? } else { ?>
-       <div id="userDlg">&nbsp;</div>
+<tr>
+       <td class="small" id="mainHeader">
+               <div id="notify"><span id="notify_body">&nbsp;</span></div>
+               <div id="userDlgShadow"><div id="userDlg">&nbsp;</div></div>
+       </td><td class="welcomePrompt">
+               <? if (!SINGLE_USER_MODE) { ?>
+                       Hello, <b><?= $_SESSION["name"] ?></b>
+                       (<a href="logout.php">Logout</a>)
+               <? } ?>
+</td></tr>
 <? } ?>
 <tr>
-       <td valign="top" rowspan="3" class="feeds"> 
-               
-               <!-- <div id="feeds">&nbsp;</div> -->
-
-               <div id="dispSwitch"> 
+       <? if (get_pref($link, 'COMBINED_DISPLAY_MODE')) 
+                       $feeds_rowspan = 2;
+               else 
+                       $feeds_rowspan = 3; ?>
+       <td valign="top" rowspan="<?= $feeds_rowspan ?>" class="feeds"> 
+               <table class="innerFeedTable" 
+                       cellspacing="0" cellpadding="0" height="100%" width="100%">
+               <tr><td>
+                       <div id="dispSwitch"> 
                        <a id="dispSwitchPrompt" href="javascript:toggleTags()">display tags</a>
                </div>
+               </td></tr>      
+               <tr><td height="100%" width="100%" valign="top">
 
                <iframe frameborder="0" 
                        src="backend.php?op=error&msg=Loading,%20please wait..."
                        id="feeds-frame" name="feeds-frame" class="feedsFrame"> </iframe>
 
-               <? if (get_pref($link, 'DISPLAY_FEEDLIST_ACTIONS')) { ?>
-
-               <div align="center">All feeds: 
-               
-               <select id="allFeedsChooser">
-                       <option>Update</option>
-                       <option>Mark as read</option>
-                       <option>Show only unread</option>
-               </select>
-
-               <input type="submit" class="button" onclick="allFeedsMenuGo()" value="Go">
-
-               </div>
-
-               <? } ?>
+               </td></tr></table>
 
        </td>
        <td valign="top" class="headlinesToolbarBox">
                <table width="100%" cellpadding="0" cellspacing="0">
-               
+
                <tr><td class="headlinesToolbar" id="headlinesToolbar">
-                       <input id="searchbox"
-                       onblur="javascript:enableHotkeys()" onfocus="javascript:disableHotkeys()"
-                       onchange="javascript:search()">
+
+               <? if (get_pref($link, 'ENABLE_SEARCH_TOOLBAR')) { ?>
+
+               <input id="searchbox"
+                       onblur="javascript:enableHotkeys();" onfocus="javascript:disableHotkeys();">
                <select id="searchmodebox">
                        <option>This feed</option>
+                       <? if (get_pref($link, 'ENABLE_FEED_CATS')) { ?>
+                       <option>This category</option>
+                       <? } ?>
                        <option>All feeds</option>
                </select>
                
                <input type="submit" 
                        class="button" onclick="javascript:search()" value="Search">
 
-               &nbsp; 
+               &nbsp;
+               
+               <? } ?>
                
                View: 
                
                <select id="viewbox" onchange="javascript:viewCurrentFeed(0, '')">
+                       <option selected>Adaptive</option>
                        <option>All Articles</option>
                        <option>Starred</option>
-                       <option selected>Unread</option>
-                       <option>Unread or Starred</option>
-                       <option>Unread or Updated</option>
+                       <option>Unread</option>
                </select>
 
                &nbsp;Limit:
                        
                        $def_art_limit = get_pref($link, 'DEFAULT_ARTICLE_LIMIT');
 
-                       print $def_art_limit;
-       
-                       if ($def_art_limit >= 0) {
+                       if ($def_art_limit >= 0 && !array_key_exists($def_art_limit, $limits)) {
                                $limits[$def_art_limit] = $def_art_limit; 
                        }
-                       
-                       asort($limits);
 
+                       asort($limits);
                        array_push($limits, 0);
 
+                       if (!$def_art_limit) {
+                               $def_art_limit = 30;
+                       }
+
                        foreach ($limits as $key) {
                                print "<option";
                                if ($key == $def_art_limit) { print " selected"; }
                
                </select>
 
+<!--           &nbsp;Selection:
+
+               <select id="headopbox">
+                       <option id="hopToggleRead">Toggle (un)read</option>
+               </select>
+
+               <input class="button" type="submit" onclick="headopGo()" value="Go"> -->
+
                &nbsp;Feed: <input class="button" type="submit"
                        onclick="javascript:viewCurrentFeed(0, 'ForceUpdate')" value="Update">
 
                <input class="button" type="submit" id="btnMarkFeedAsRead"
-                       onclick="javascript:viewCurrentFeed(0, 'MarkAllRead')" value="Mark as read">
+                       onclick="javascript:viewCurrentFeed(0, 'MarkAllRead')" value="Mark as read"> 
 
                </td>
                <td align="right">
-                       Actions: <select id="quickMenuChooser">
-                               <option id="qmcPrefs" selected>Preferences...</option>
+                       <select id="quickMenuChooser" onchange="quickMenuChange()">
+                               <option id="qmcDefault" selected>Actions...</option>
+                               <option id="qmcPrefs">Preferences</option>
+                               <option id="qmcSearch">Search</option>
                                <option disabled>--------</option>
                                <option style="color : #5050aa" disabled>Feed actions:</option>
                                <option id="qmcAddFeed">&nbsp;&nbsp;Add new feed</option>
                                <!-- <option>Edit this feed</option> -->
                                <option disabled>--------</option>
                                <option style="color : #5050aa" disabled>All feeds:</option>
+                               <? if (!ENABLE_UPDATE_DAEMON) { ?>
                                <option id="qmcUpdateFeeds">&nbsp;&nbsp;Update</option>
-                               <option id="qmcCatchupAll">&nbsp;&nbsp;Mark as read</option>
+                               <? } ?>
+                               <option id="qmcCatchupAll">&nbsp;&nbsp;Mark as read</option>                            
                                <option id="qmcShowOnlyUnread">&nbsp;&nbsp;Show only unread</option>
+                               <option disabled>--------</option>
+                               <option style="color : #5050aa" disabled>Other actions:</option>                                
+                               <option id="qmcAddFilter">&nbsp;&nbsp;Add filter</option>
                        </select>
-                       <input type="submit" class="button" onclick="quickMenuGo()" value="Go">
                </td>
                </tr>
                </table>
-       </td> 
-</tr><tr>
+       </td>
+</tr>
+<? if (get_pref($link, 'COMBINED_DISPLAY_MODE')) { ?>
+<tr>
+       <td id="headlines" class="headlines2" valign="top">
+               <iframe frameborder="0" name="headlines-frame" 
+                       id="headlines-frame" class="headlinesFrame" 
+                               src="backend.php?op=error&msg=No%20feed%20selected."></iframe>
+       </td>
+</tr>
+<? } else { ?>
+<tr>
        <td id="headlines" class="headlines" valign="top">
                <iframe frameborder="0" name="headlines-frame" 
                        id="headlines-frame" class="headlinesFrame" 
                        id="content-frame" class="contentFrame"> </iframe>
        </td>
 </tr>
+<? } ?>
 <? if (get_pref($link, 'DISPLAY_FOOTER')) { ?>
 <tr>
-       <td colspan="2" class="footer">
-               <a href="http://bah.spb.su/~fox/tt-rss/">Tiny-Tiny RSS</a> v<?= VERSION ?> &copy; 2005 Andrew Dolgov
+       <td colspan="2" class="footer" id="mainFooter">
+               <a href="http://tt-rss.spb.ru/">Tiny-Tiny RSS</a> v<?= VERSION ?> &copy; 2005-2006 Andrew Dolgov
                <? if (WEB_DEMO_MODE) { ?>
                <br>Running in demo mode, some functionality is disabled.
                <? } ?>
 
 <? db_close($link); ?>
 
+<script type="text/javascript">
+       /* for IE */
+       function statechange() {
+               if (document.readyState == "interactive") init();
+       }
+
+       if (document.readyState) {      
+               if (document.readyState == "interactive" || document.readyState == "complete") {
+                       init();
+               } else {
+                       document.onreadystatechange = statechange;
+               }
+       }
+</script>
+
 </body>
 </html>