]> git.wh0rd.org - tt-rss.git/blobdiff - modules/popup-dialog.php
implement settings profiles (bump schema)
[tt-rss.git] / modules / popup-dialog.php
index d89547fe9291346039c53943d0279bec9db10386..cca7b053c1275b6331bcebf3cfa24353f14a6570 100644 (file)
@@ -1,7 +1,125 @@
 <?php
        function module_popup_dialog($link) {
-               $id = $_GET["id"];
-               $param = db_escape_string($_GET["param"]);
+               $id = $_REQUEST["id"];
+               $param = db_escape_string($_REQUEST["param"]);
+
+               if ($id == "editPrefProfiles") {
+
+                       print "<div id=\"infoBoxTitle\">".__('Settings Profiles')."</div>";
+                       print "<div class=\"infoBoxContents\">";
+
+                       print "<div><input id=\"fadd_profile\" 
+                                       onkeypress=\"return filterCR(event, addPrefProfile)\"
+                                       size=\"40\">
+                                       <button onclick=\"javascript:addPrefProfile()\">".
+                                       __('Create profile')."</button></div>";
+
+                       print "<p>";
+
+                       $result = db_query($link, "SELECT title,id FROM ttrss_settings_profiles
+                               WHERE owner_uid = ".$_SESSION["uid"]."ORDER BY title");
+
+                       print   __('Select:')." 
+                               <a href=\"javascript:selectPrefRows('fcat', true)\">".__('All')."</a>,
+                               <a href=\"javascript:selectPrefRows('fcat', false)\">".__('None')."</a>";
+
+                       print "<div class=\"prefFeedCatHolder\">";
+
+                       print "<form id=\"profile_edit_form\" onsubmit=\"return false\">";
+
+                       print "<table width=\"100%\" class=\"prefFeedCatList\" 
+                               cellspacing=\"0\" id=\"prefFeedCatList\">";
+
+                       print "<tr class=\"odd\" id=\"FCATR-0\">";
+
+                       print "<td width='5%' align='center'><input 
+                               onclick='toggleSelectPrefRow(this, \"fcat\");' 
+                               type=\"checkbox\" id=\"FCCHK-0\"></td>";
+
+                       print "<td><span id=\"FCATT-0\">" . 
+                               __("Default profile") . "</span></td>";         
+                               
+                       print "</tr>";
+
+                       $lnum = 1;
+                       
+                       while ($line = db_fetch_assoc($result)) {
+       
+                               $class = ($lnum % 2) ? "even" : "odd";
+       
+                               $cat_id = $line["id"];
+                               $this_row_id = "id=\"FCATR-$cat_id\"";
+       
+                               print "<tr class=\"$class\" $this_row_id>";
+       
+                               $edit_title = htmlspecialchars($line["title"]);
+       
+                               print "<td width='5%' align='center'><input 
+                                       onclick='toggleSelectPrefRow(this, \"fcat\");' 
+                                       type=\"checkbox\" id=\"FCCHK-$cat_id\"></td>";
+
+                               if ($_SESSION["profile"] == $line["id"]) {
+                                       $is_active = __("(active)");
+                               } else {
+                                       $is_active = "";
+                               }
+
+                               print "<td><span id=\"FCATT-$cat_id\">" . 
+                                       $edit_title . "</span> $is_active</td>";
+                               
+                               print "</tr>";
+       
+                               ++$lnum;
+                       }
+
+                       print "</table>";
+                       print "</form>";
+                       print "</div>";
+
+                       print "<div class='dlgButtons'>
+                               <div style='float : left'>
+                               <button onclick=\"return removeSelectedPrefProfiles()\">".
+                               __('Remove')."</button>
+                               <input class=\"button\"
+                               type=\"submit\" onclick=\"return activatePrefProfile()\" 
+                               value=\"".__('Activate')."\">
+                               </div>";
+
+                       print "<input class=\"button\"
+                               type=\"submit\" onclick=\"return closeInfoBox()\" 
+                               value=\"".__('Close this window')."\">";
+
+                       print "</div></div>";
+
+                       return;
+               }
+
+               if ($id == "pubUrl") {
+
+                       print "<div id=\"infoBoxTitle\">".__('Published Articles')."</div>";
+                       print "<div class=\"infoBoxContents\">";
+       
+                       $url_path = article_publish_url($link);
+
+                       print __("Your Published articles feed URL is:");
+
+                       print "<div class=\"tagCloudContainer\">";
+                       print "<a id='pub_feed_url' href='$url_path' target='_blank'>$url_path</a>";
+                       print "</div>";
+
+                       print "<div align='center'>";
+
+                       print "<button onclick=\"return pubRegenKey()\">".
+                               __('Generate new URL')."</button> ";
+
+                       print "<input class=\"button\"
+                               type=\"submit\" onclick=\"return closeInfoBox()\" 
+                               value=\"".__('Close this window')."\">";
+
+                       print "</div></div>";
+
+                       return;
+               }
 
                if ($id == "explainError") {
 
 
                        print "<form id='feed_add_form' onsubmit='return false'>";
 
-                       print "<input type=\"hidden\" name=\"op\" value=\"pref-feeds\">";
-                       print "<input type=\"hidden\" name=\"subop\" value=\"add\">"; 
-                       print "<input type=\"hidden\" name=\"from\" value=\"tt-rss\">"; 
+                       print "<input type=\"hidden\" name=\"op\" value=\"rpc\">";
+                       print "<input type=\"hidden\" name=\"subop\" value=\"addfeed\">"; 
+                       //print "<input type=\"hidden\" name=\"from\" value=\"tt-rss\">"; 
 
                        print "<div class=\"dlgSec\">".__("Feed")."</div>";
                        print "<div class=\"dlgSecCont\">";
 
                        print __("URL:") . " ";
 
-                       print "<input size=\"40\" onblur=\"javascript:enableHotkeys()\" 
+                       print "<input size=\"40\"
                                        onkeypress=\"return filterCR(event, subscribeToFeed)\"
-                                       onkeyup=\"toggleSubmitNotEmpty(this, 'fadd_submit_btn')\"
-                                       onchange=\"toggleSubmitNotEmpty(this, 'fadd_submit_btn')\"
-                                       onfocus=\"javascript:disableHotkeys()\" name=\"feed_url\"></td></tr>";
+                                       name=\"feed\" id=\"feed_url\"></td></tr>";
 
                        print "<br/>";
 
                        if (get_pref($link, 'ENABLE_FEED_CATS')) {
                                print __('Place in category:') . " ";
-                               print_feed_cat_select($link, "cat_id");                 
+                               print_feed_cat_select($link, "cat");                    
                        }
 
                        print "</div>";
 
-
-/*                     print "<tr><td colspan='2'><div class='insensitive'>";
-
-                       print __("Some feeds require authentication. If you subscribe to such
-                               feed, you will have to enter your login and password in Feed Editor");
-
-                       print "</div></td></tr>"; */
-
-/*                     print "<div id='fadd_login_prompt'><br/>
-                               <a href='javascript:appearBlockElement(\"fadd_login_container\", 
-                               \"fadd_login_prompt\")'>".__('Click here if this feed requires authentication.')."</a></div>"; */
-
                        print "<div id='fadd_login_container' style='display:none'>
        
                                        <div class=\"dlgSec\">".__("Authentication")."</div>
                                        <div class=\"dlgSecCont\">".
 
-                                       __('Login:') . " <input name='auth_login' size=\"20\" 
-                                                       onfocus=\"javascript:disableHotkeys()\" 
-                                                       onfocus=\"javascript:disableHotkeys()\" 
+                                       __('Login:') . " <input name='login' size=\"20\" 
                                                        onkeypress=\"return filterCR(event, subscribeToFeed)\"> ".
                                        __('Password:') . "<input type='password'
-                                                       name='auth_pass' size=\"20\" 
-                                                       onfocus=\"javascript:disableHotkeys()\" 
-                                                       onfocus=\"javascript:disableHotkeys()\" 
+                                                       name='pass' size=\"20\" 
                                                        onkeypress=\"return filterCR(event, subscribeToFeed)\">
                                </div></div>";
 
                        print "</form>";
 
                        print "<div class=\"dlgButtons\">
-                               <input class=\"button\"
-                                       id=\"fadd_submit_btn\" disabled=\"true\"
-                                       type=\"submit\" onclick=\"return subscribeToFeed()\" value=\"".__('Subscribe')."\">
-                               <input class=\"button\"
-                                       type=\"submit\" onclick=\"return closeInfoBox()\" 
-                                       value=\"".__('Cancel')."\"></div>";
+                               <button class=\"button\" id=\"fadd_submit_btn\"
+                                       onclick=\"return subscribeToFeed()\">".__('Subscribe')."</button>
+                               <button onclick=\"return browseFeeds()\">".__('More feeds')."</button>
+                               <button onclick=\"return closeInfoBox()\">".__('Cancel')."</button></div>";
                        
                        return;
                }
 
+               if ($id == "feedBrowser") {
+
+                       print "<div id=\"infoBoxTitle\">".__('Feed Browser')."</div>";
+                       
+                       print "<div class=\"infoBoxContents\">";
+
+                       $browser_search = db_escape_string($_REQUEST["search"]);
+                       
+                       print "<form onsubmit='return false;' display='inline' 
+                               name='feed_browser' id='feed_browser'>";
+
+                       print "<input type=\"hidden\" name=\"op\" value=\"rpc\">";
+                       print "<input type=\"hidden\" name=\"subop\" value=\"updateFeedBrowser\">"; 
+
+                       print "
+                               <div style='float : right'>
+                               <img style='display : none' 
+                                       id='feed_browser_spinner' src='images/indicator_white.gif'>
+                               <input name=\"search\" size=\"20\" type=\"search\"
+                                       onchange=\"javascript:updateFeedBrowser()\" value=\"$browser_search\">
+                               <button onclick=\"javascript:updateFeedBrowser()\">".__('Search')."</button>
+                       </div>";
+
+                       print " <select name=\"mode\" onchange=\"updateFeedBrowser()\">
+                               <option value='1'>" . __('Popular feeds') . "</option>
+                               <option value='2'>" . __('Feed archive') . "</option>
+                               </select> ";
+
+                       print __("limit:");
+
+                       print " <select name=\"limit\" onchange='updateFeedBrowser()'>";
+
+                       foreach (array(25, 50, 100, 200) as $l) {
+                               $issel = ($l == $limit) ? "selected" : "";
+                               print "<option $issel>$l</option>";
+                       }
+                       
+                       print "</select> ";
+
+                       print "<p>";
+
+                       $owner_uid = $_SESSION["uid"];
+
+/*                     print   __('Select:')." 
+                               <a href=\"javascript:selectPrefRows('fbrowse', true)\">".__('All')."</a>,
+                                       <a href=\"javascript:selectPrefRows('fbrowse', false)\">".__('None')."</a>"; */
+
+                       print "<ul class='browseFeedList' id='browseFeedList'>";
+                       print_feed_browser($link, $search, 25);
+                       print "</ul>";
+
+                       print "<div align='center'>
+                               <button onclick=\"feedBrowserSubscribe()\">".__('Subscribe')."</button>
+                               <button style='display : none' id='feed_archive_remove' onclick=\"feedArchiveRemove()\">".__('Remove')."</button>
+                               <button onclick=\"closeInfoBox()\" >".__('Cancel')."</button></div>";
+
+                       print "</div>";
+                       return;
+               }
+
                if ($id == "search") {
 
                        print "<div id=\"infoBoxTitle\">".__('Search')."</div>";
 
                        print "<form id='search_form'  onsubmit='return false'>";
 
-                       #$active_feed_id = db_escape_string($_GET["param"]);
+                       #$active_feed_id = db_escape_string($_REQUEST["param"]);
 
-                       $params = split(":", db_escape_string($_GET["param"]));
+                       $params = split(":", db_escape_string($_REQUEST["param"]));
 
                        $active_feed_id = sprintf("%d", $params[0]);
                        $is_cat = $params[1] == "true";
 
-                       print "<div class=\"dlgSec\">".__('Search')."</div>";
+                       print "<div class=\"dlgSec\">".__('Look for')."</div>";
 
                        print "<div class=\"dlgSecCont\">";
 
-                       print "<input name=\"query\" size=\"30\" type=\"search\"
-                               onkeypress=\"return filterCR(event, search)\"
-                               onchange=\"toggleSubmitNotEmpty(this, 'search_submit_btn')\"
-                               onkeyup=\"toggleSubmitNotEmpty(this, 'search_submit_btn')\"
-                               value=\"\">";
+                       print "<input name=\"query\" size=\"20\" type=\"search\"        value=''>";
 
-                       print " " . __('match on:')." ";
+                       print " " . __('match on')." ";
 
                        $search_fields = array(
                                "title" => __("Title"),
                        print "</form>";
 
                        print "<div class=\"dlgButtons\">
-                       <input type=\"submit\" 
-                               class=\"button\" onclick=\"javascript:search()\" 
-                               id=\"search_submit_btn\" disabled=\"true\"
-                               value=\"".__('Search')."\">
-                       <input class=\"button\"
-                               type=\"submit\" onclick=\"javascript:searchCancel()\" 
-                               value=\"".__('Cancel')."\"></div>";
+                       <button onclick=\"javascript:search()\">".__('Search')."</button>
+                       <button onclick=\"javascript:searchCancel()\">".__('Cancel')."</button>
+                       </div>";
 
                        print "</div>";
 
 
                if ($id == "quickAddFilter") {
 
-                       $active_feed_id = db_escape_string($_GET["param"]);
+                       $active_feed_id = db_escape_string($_REQUEST["param"]);
 
                        print "<div id=\"infoBoxTitle\">".__('Create Filter')."</div>";
                        print "<div class=\"infoBoxContents\">";
                        print "&nbsp;</span>";
 
                        print "<input onkeypress=\"return filterCR(event, createFilter)\"
-                                        onkeyup=\"toggleSubmitNotEmpty(this, 'infobox_submit')\"
-                                        onchange=\"toggleSubmitNotEmpty(this, 'infobox_submit')\"
-                                        name=\"reg_exp\" size=\"30\" value=\"$reg_exp\">";
+                                name=\"reg_exp\" size=\"30\" value=\"$reg_exp\">";
 
                        print "<span id=\"filter_dlg_date_chk_box\" style=\"display : none\">";
                        print "&nbsp;<input class=\"button\"
 
                        print "<div class=\"dlgButtons\">";
 
-                       print "<input type=\"submit\" 
-                               id=\"infobox_submit\"
-                               class=\"button\" onclick=\"return createFilter()\" 
-                               disabled=\"true\" value=\"".__('Create')."\"> ";
+                       print "<button onclick=\"return createFilter()\">".
+                               __('Create')."</button> ";
 
-                       print "<input class=\"button\"
-                               type=\"submit\" onclick=\"return closeInfoBox()\" 
-                               value=\"".__('Cancel')."\">";
+                       print "<button onclick=\"return closeInfoBox()\">".__('Cancel').
+                               "</button>";
 
                        print "</div>";
 
                                        style=\"display:none\"></div>   
                        </td></tr>";
 
-/*                     print "<tr><td>".__('Add existing tag:')."</td>";
-
-                       $result = db_query($link, "SELECT DISTINCT tag_name FROM ttrss_tags 
-                               WHERE owner_uid = '".$_SESSION["uid"]."' ORDER BY tag_name");
-
-                       $found_tags = array();
-
-                       array_push($found_tags, '');
-
-                       while ($line = db_fetch_assoc($result)) {
-                               array_push($found_tags, truncate_string($line["tag_name"], 20));
-                       }
-
-                       print "<td align='right'>";
-
-                       print_select("found_tags", '', $found_tags, "onchange=\"javascript:editTagsInsert()\"");
-
-                       print "</td>"; 
-
-                       print "</tr>"; */
-
                        print "</table>";
 
                        print "</form>";
 
                        print "<div align='right'>";
 
-                       print "<input class=\"button\"
-                               type=\"submit\" onclick=\"return editTagsSave()\" 
-                               value=\"".__('Save')."\"> ";
-
-                       print "<input class=\"button\"
-                               type=\"submit\" onclick=\"return closeInfoBox()\" 
-                               value=\"".__('Cancel')."\">";
-
+                       print "<button onclick=\"return editTagsSave()\">".__('Save')."</button> ";
+                       print "<button onclick=\"return closeInfoBox()\">".__('Cancel')."</button>";
 
                        print "</div>";
 
                }
 
                if ($id == "printTagCloud") {
-                       print "<div id=\"infoBoxTitle\">".__('Tag cloud')."</div>";
+                       print "<div id=\"infoBoxTitle\">".__('Tag Cloud')."</div>";
                        print "<div class=\"infoBoxContents\">";
 
                        print __("Showing most popular tags ")." (<a 
-                       href='javascript:toggleTags(true)'>".__('browse more')."</a>):<br/>"; 
+                       href='javascript:toggleTags(true)'>".__('more tags')."</a>):<br/>"; 
 
                        print "<div class=\"tagCloudContainer\">";
 
                        print "</div>";
 
                        print "<div align='center'>";
-                       print "<input class=\"button\"
-                               type=\"submit\" onclick=\"return closeInfoBox()\" 
-                               value=\"".__('Close this window')."\">";
+                       print "<button onclick=\"return closeInfoBox()\">".
+                               __('Close this window')."</button>";
                        print "</div>";
 
                        print "</div>";
                        return;
                }
 
-               if ($id == "offlineDownload") {
+/*             if ($id == "offlineDownload") {
                        print "<div id=\"infoBoxTitle\">".__('Download articles')."</div>";
                        print "<div class=\"infoBoxContents\">";
 
                        $amount = array(
                                50  => 50,
                                100 => 100,
-                               0   => "All unread");
+                               250 => 250,
+                               500 => 500);
 
                        print_select_hash("amount", 50, $amount);
 
-                       print " " . __("newest articles for offline reading.");
+                       print " " . __("latest articles for offline reading.");
+
+                       print "<br/>";
+
+                       print "<input checked='yes' type='checkbox' name='unread_only' id='unread_only'>";
+                       print "<label for='unread_only'>".__('Only include unread articles')."</label>";
 
                        print "</div>";
 
                        print "</form>";
 
                        print "<div class=\"dlgButtons\">
-                       <div id=\"d_progress_o\" style=\"display : none\">
-                               <div id=\"d_progress_i\"></div>
-                       </div>
-                               <input class=\"button\"                                 
-                                       type=\"submit\" onclick=\"return initiate_offline_download()\" value=\"".__('Download')."\">
+                               <input class=\"button\"
+                                       type=\"submit\" onclick=\"return initiate_offline_download(0, this)\" value=\"".__('Download')."\">
                                <input class=\"button\"
                                        type=\"submit\" onclick=\"return closeInfoBox()\" 
                                        value=\"".__('Cancel')."\"></div>";
                        print "</div>";
 
                        return;
-               }
+               } */
 
 
                print "<div id='infoBoxTitle'>Internal Error</div>