summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-02-15 15:21:25 +0300
committerAndrew Dolgov <[email protected]>2021-02-15 15:21:41 +0300
commit6b006a18e7efef814fa7a59102c85299acb0a0a4 (patch)
tree4eab0bed23cf8dce8487e102c74682b1e71993d0 /classes
parentecb36b6354cf693f8120884fdb9ef4068cb1d03f (diff)
subscribe to feed: use client dialog
Diffstat (limited to 'classes')
-rwxr-xr-xclasses/feeds.php95
-rwxr-xr-xclasses/pref/feeds.php2
-rwxr-xr-xclasses/rpc.php12
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));