diff options
author | Andrew Dolgov <[email protected]> | 2021-02-15 15:21:25 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-02-15 15:21:41 +0300 |
commit | 6b006a18e7efef814fa7a59102c85299acb0a0a4 (patch) | |
tree | 4eab0bed23cf8dce8487e102c74682b1e71993d0 /classes | |
parent | ecb36b6354cf693f8120884fdb9ef4068cb1d03f (diff) |
subscribe to feed: use client dialog
Diffstat (limited to 'classes')
-rwxr-xr-x | classes/feeds.php | 95 | ||||
-rwxr-xr-x | classes/pref/feeds.php | 2 | ||||
-rwxr-xr-x | classes/rpc.php | 12 |
3 files changed, 17 insertions, 92 deletions
diff --git a/classes/feeds.php b/classes/feeds.php index d49fe7698..4cc76bd62 100755 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -581,85 +581,10 @@ class Feeds extends Handler_Protected { return $reply; } - function quickAddFeed() { - print "<form onsubmit='return false'>"; - - print_hidden("op", "rpc"); - print_hidden("method", "addfeed"); - - print "<div id='fadd_error_message' style='display : none' class='alert alert-danger'></div>"; - - print "<div id='fadd_multiple_notify' style='display : none'>"; - print_notice("Provided URL is a HTML page referencing multiple feeds, please select required feed from the dropdown menu below."); - print "<p></div>"; - - print "<section>"; - - print "<fieldset>"; - print "<div style='float : right'><img style='display : none' id='feed_add_spinner' src='images/indicator_white.gif'></div>"; - print "<input style='font-size : 16px; width : 500px;' - placeHolder=\"".__("Feed or site URL")."\" - dojoType='dijit.form.ValidationTextBox' required='1' name='feed' id='feedDlg_feedUrl'>"; - - print "</fieldset>"; - - print "<fieldset>"; - - if (get_pref('ENABLE_FEED_CATS')) { - print "<label class='inline'>" . __('Place in category:') . "</label> "; - print_feed_cat_select("cat", false, 'dojoType="fox.form.Select"'); - } - - print "</fieldset>"; - - print "</section>"; - - print '<div id="feedDlg_feedsContainer" style="display : none"> - <header>' . __('Available feeds') . '</header> - <section> - <fieldset> - <select id="feedDlg_feedContainerSelect" - dojoType="fox.form.Select" size="3"> - <script type="dojo/method" event="onChange" args="value"> - dijit.byId("feedDlg_feedUrl").attr("value", value); - </script> - </select> - </fieldset> - </section> - </div>'; - - print "<div id='feedDlg_loginContainer' style='display : none'> - <section> - <fieldset> - <input dojoType=\"dijit.form.TextBox\" name='login'\" - placeHolder=\"".__("Login")."\" - autocomplete=\"new-password\" - style=\"width : 10em;\"> - <input - placeHolder=\"".__("Password")."\" - dojoType=\"dijit.form.TextBox\" type='password' - autocomplete=\"new-password\" - style=\"width : 10em;\" name='pass'\"> - </fieldset> - </section> - </div>"; - - print "<section>"; - print "<label> - <label class='checkbox'><input type='checkbox' name='need_auth' dojoType='dijit.form.CheckBox' id='feedDlg_loginCheck' - onclick='App.displayIfChecked(this, \"feedDlg_loginContainer\")'> - ".__('This feed requires authentication.')."</label>"; - print "</section>"; - - print "<footer>"; - print "<button dojoType='dijit.form.Button' class='alt-primary' type='submit' - onclick='App.dialogOf(this).execute()'>".__('Subscribe')."</button>"; - - print "<button dojoType='dijit.form.Button' onclick='App.dialogOf(this).hide()'>". - __('Cancel')."</button>"; - print "</footer>"; - - print "</form>"; + function subscribeToFeed() { + print json_encode([ + "cat_select" => format_feed_cat_select("cat", false, 'dojoType="fox.form.Select"') + ]); } function search() { @@ -1077,6 +1002,18 @@ class Feeds extends Handler_Protected { } } + function add() { + $feed = clean($_REQUEST['feed']); + $cat = clean($_REQUEST['cat']); + $need_auth = isset($_REQUEST['need_auth']); + $login = $need_auth ? clean($_REQUEST['login']) : ''; + $pass = $need_auth ? clean($_REQUEST['pass']) : ''; + + $rc = Feeds::subscribe_to_feed($feed, $cat, $login, $pass); + + print json_encode(array("result" => $rc)); + } + /** * @return array (code => Status code, message => error message if available) * diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php index e225949f2..af3877159 100755 --- a/classes/pref/feeds.php +++ b/classes/pref/feeds.php @@ -1241,7 +1241,7 @@ class Pref_Feeds extends Handler_Protected { <div dojoType="fox.form.DropDownButton"> <span><?= __('Feeds') ?></span> <div dojoType="dijit.Menu" style="display: none"> - <div onclick="CommonDialogs.quickAddFeed()" + <div onclick="CommonDialogs.subscribeToFeed()" dojoType="dijit.MenuItem"><?= __('Subscribe to feed') ?></div> <div onclick="dijit.byId('feedTree').editSelectedFeed()" dojoType="dijit.MenuItem"><?= __('Edit selected feeds') ?></div> diff --git a/classes/rpc.php b/classes/rpc.php index e0753a08e..2bbaf4135 100755 --- a/classes/rpc.php +++ b/classes/rpc.php @@ -80,18 +80,6 @@ class RPC extends Handler_Protected { } } - function addfeed() { - $feed = clean($_REQUEST['feed']); - $cat = clean($_REQUEST['cat']); - $need_auth = isset($_REQUEST['need_auth']); - $login = $need_auth ? clean($_REQUEST['login']) : ''; - $pass = $need_auth ? clean($_REQUEST['pass']) : ''; - - $rc = Feeds::subscribe_to_feed($feed, $cat, $login, $pass); - - print json_encode(array("result" => $rc)); - } - function togglepref() { $key = clean($_REQUEST["key"]); set_pref($key, !get_pref($key)); |