]> git.wh0rd.org - tt-rss.git/blobdiff - tt-rss.php
add confirmation to Mark as read action (closes #96)
[tt-rss.git] / tt-rss.php
index 7dbe9223684aaef8e032b44c4c3b668af28840d1..6aac5c9b3d2fd379224a5b6cd6170dd0bbda7075 100644 (file)
-<? require_once "version.php" ?>
-<? require_once "config.php" ?>
+<?
+       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";
+
+       $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); 
+
+       login_sequence($link);
+
+       $dt_add = get_script_dt_add();
+
+?>
 <html>
 <head>
        <title>Tiny Tiny RSS</title>
 
-       <? if (USE_COMPACT_STYLESHEET) { ?>
+       <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">
+       <? } ?>
+
+       <? if ($user_theme) { $theme_image_path = "themes/$user_theme/"; } ?>
+
+       <? $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 title="Compact Stylesheet" 
-               rel="stylesheet" href="tt-rss_compact.css" type="text/css">
-       <link title="Normal Stylesheet" rel="alternate stylesheet" 
-               type="text/css" href="tt-rss.css"/>
+               <link rel="stylesheet" href="tt-rss_compact.css" type="text/css">
 
        <? } else { ?>
 
-       <link title="Normal Stylesheet" 
-               rel="stylesheet" href="tt-rss.css" type="text/css">
-       <link title="Compact Stylesheet" rel="alternate stylesheet" 
-               type="text/css" href="tt-rss_compact.css"/>
+               <link title="Compact Stylesheet" rel="alternate stylesheet" 
+                       type="text/css" href="tt-rss_compact.css"/> 
 
        <? } ?>
-       
-       <script type="text/javascript" src="functions.js"></script>
-       <script type="text/javascript" src="tt-rss.js"></script>
+
+       <script type="text/javascript" src="prototype.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">');
+               }
+               if (navigator.userAgent.match("Gecko") && !navigator.userAgent.match("KHTML")) {
+                       document.write('<link rel="stylesheet" type="text/css" href="gecko.css">');
+               }
+       </script>
 </head>
 
-<body onload="init()">
+<body>
+
+<div id="overlay"><div id="overlay_inner">Loading, please wait...</div></div>
+<div id="fatal_error"><div id="fatal_error_inner">
+       <h1>Fatal Error</h1>
+       <div id="fatal_error_msg">Unknown Error</div>
+</div></div>
+
+<script type="text/javascript">
+if (document.addEventListener) {
+       document.addEventListener("DOMContentLoaded", init, null);
+}
+window.onload = init;
+</script>
+
+<div id="noDaemonWarning">
+       <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>
+
+<div id="infoBoxShadow"><div id="infoBox">&nbsp;</div></div>
 
 <table width="100%" height="100%" cellspacing="0" cellpadding="0" class="main">
-<? if (DISPLAY_HEADER) { ?>
+<? 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 class="header" valign="middle">     
-                               <img src="images/ttrss_logo.png" alt="logo">    
+                       <td rowspan="2" class="header" valign="middle"> 
+                               <img src="<?= $theme_image_path ?>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>
+               </tr><tr><td class="welcomePrompt">
+                       <? if (!SINGLE_USER_MODE) { ?>
+                               Hello, <b><?= $_SESSION["name"] ?></b>
+                               (<a href="logout.php">Logout</a>)
+                       <? } ?>
+                       </td>                   
                </tr></table>
        </td>
 </tr>
-<? } ?>
+<? } else { ?>
 <tr>
-       <td class="mainToolbar" colspan="2">
-       
-               <table width='100%' cellspacing='0' cellpadding='0'>    
-                       <td><!-- <span id="notify"><span id="notify_body"></span> --></td>
-                       <td align='right'>
-                               <input type="submit" onclick="gotoPreferences()" 
-                                       class="button" value="Preferences"></td>
-               </table>
-       
-               <!-- <table width="100%" cellspacing="0" cellpadding="0">
-               <td valign="middle">
-                       <table id="notify"><tr><td width="100%" id="notify_body">&nbsp;</td>
-                       <td><img onclick="javascript:notify('')" alt="Close" 
-                               src="images/close.png"></td></table>
-               </td>
-               <td class="toolbar" valign="middle" align="right">
-                       <a href="prefs.php" class="button">Preferences</a></td>
-               </tr></table> -->
-       </td>
-</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" 
-                       id="feeds-frame" name="feeds-frame" class="feedsFrame"> </iframe>
-       
-               <p align="center">All feeds:
-               
-               <input class="button" type="submit"     
-                       onclick="javascript:scheduleFeedUpdate(true)" value="Update">
-                               
-               <input class="button" type="submit"     
-                       onclick="javascript:catchupAllFeeds()" value="Mark as read">
+                       id="feeds-frame" name="feeds-frame" class="feedsFrame"></iframe>
 
-               </p>
+               </td></tr></table>
 
        </td>
        <td valign="top" class="headlinesToolbarBox">
                <table width="100%" cellpadding="0" cellspacing="0">
-               
-               <!-- <tr><td id="headlinesTitle" class="headlinesTitle">
-                       &nbsp;
-               </td></tr> -->
+
                <tr><td class="headlinesToolbar" id="headlinesToolbar">
-                       <input id="searchbox"
-                       onblur="javascript:enableHotkeys()" onfocus="javascript:disableHotkeys()"
-                       onchange="javascript:search()">
-               <input type="submit" 
-                       class="button" onclick="javascript:search()" value="Search">
-               <!-- <input type="submit" 
-                       class="button" onclick="javascript:resetSearch()" value="Reset"> -->
-
-               &nbsp;View: 
-               
-               <select id="viewbox" onchange="javascript:viewCurrentFeed(0, '')">
-                       <option>All Articles</option>
-                       <option>Starred</option>
-                       <option selected>Unread</option>
-               </select>
 
-               &nbsp;Limit:
+               <form id="main_toolbar_form">
 
-               <select id="limitbox" onchange="javascript:viewCurrentFeed(0, '')">
-                       <option>15</option>
-                       <option selected>30</option>
-                       <option>60</option>
-                       <option>All</option>
+               <? if (get_pref($link, 'ENABLE_SEARCH_TOOLBAR')) { ?>
+               <input name="query"
+                       onKeyPress="return filterCR(event)"
+                       onblur="javascript:enableHotkeys();" onfocus="javascript:disableHotkeys();">
+               <input class="button" type="submit"
+                       onclick="return viewCurrentFeed(0)" value="Search">
+               &nbsp; 
+               <? } ?>
+
+               View:           
+               <select name="view_mode" onchange="viewCurrentFeed(0, '')">
+                       <option selected value="adaptive">Adaptive</option>
+                       <option value="all_articles">All Articles</option>
+                       <option value="marked">Starred</option>
+                       <option value="unread">Unread</option>
                </select>
+               
+               &nbsp;Limit:            
+               <?
+               $limits = array(15 => 15, 30 => 30, 60 => 60, 0 => "All");
+                       
+               $def_art_limit = get_pref($link, 'DEFAULT_ARTICLE_LIMIT');
+
+               if ($def_art_limit >= 0 && !array_key_exists($def_art_limit, $limits)) {
+                       $limits[$def_art_limit] = $def_art_limit; 
+               }
+
+               asort($limits);
+
+               if (!$def_art_limit) {
+                       $def_art_limit = 30;
+               }
+
+               print_select_hash("limit", $def_art_limit, $limits, 
+                       'onchange="viewCurrentFeed(0, \'\')"');
+       
+               ?>              
+               </form>
+
+               <!-- &nbsp;<input class="button" type="submit"
+                       onclick="quickMenuGo('qmcSearch')" value="Search (tmp)"> -->
 
-               &nbsp;Feed: <input class="button" type="submit"
-                       onclick="javascript:viewCurrentFeed(0, 'ForceUpdate')" value="Update">
+               &nbsp;<input class="button" type="submit"
+                       onclick="viewCurrentFeed(0, 'ForceUpdate')" value="Update">
 
                <input class="button" type="submit"
-                       onclick="javascript:viewCurrentFeed(0, 'MarkAllRead')" value="Mark as read">
+                       onclick="catchupCurrentFeed()" value="Mark as read"> 
 
-               </td></tr>
+               </td>
+               <td align="right">
+                       <select id="quickMenuChooser" onchange="quickMenuChange()">
+                               <option value="qmcDefault" selected>Actions...</option>
+                               <option value="qmcPrefs">Preferences</option>
+                               <option value="qmcSearch">Search</option>
+                               <option disabled>--------</option>
+                               <option style="color : #5050aa" disabled>Feed actions:</option>
+                               <option value="qmcAddFeed">&nbsp;&nbsp;Subscribe to feed</option>
+                               <option value="qmcRemoveFeed">&nbsp;&nbsp;Unsubscribe</option>
+                               <!-- <option>Edit this feed</option> -->
+                               <option disabled>--------</option>
+                               <option style="color : #5050aa" disabled>All feeds:</option>
+                               <? if (!ENABLE_UPDATE_DAEMON && !DAEMON_REFRESH_ONLY) { ?>
+                               <option value="qmcUpdateFeeds">&nbsp;&nbsp;Update</option>
+                               <? } ?>
+                               <option value="qmcCatchupAll">&nbsp;&nbsp;Mark as read</option>                         
+                               <option value="qmcShowOnlyUnread">&nbsp;&nbsp;Show only unread</option>
+                               <option disabled>--------</option>
+                               <option style="color : #5050aa" disabled>Other actions:</option>                                
+                               <option value="qmcAddFilter">&nbsp;&nbsp;Create filter</option>
+                       </select>
+               </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"></iframe>
+       </td>
+</tr>
+<? } else { ?>
+<tr>
        <td id="headlines" class="headlines" valign="top">
                <iframe frameborder="0" name="headlines-frame" 
-                       id="headlines-frame" class="headlinesFrame" 
-                               src="backend.php?op=error&msg=No%20feed%20selected."></iframe>
+                       id="headlines-frame" class="headlinesFrame"></iframe>
        </td>
 </tr><tr>
        <td class="content" id="content" valign="top">
                        id="content-frame" class="contentFrame"> </iframe>
        </td>
 </tr>
-<? if (DISPLAY_FOOTER) { ?>
+<? } ?>
+<? 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.
                <? } ?>
 <? } ?>
 </table>
 
+<? 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>