owner_uid = " . $_SESSION["uid"]);
}
- $order_id = 0;
+ $order_id = 1;
$cat = $data_map[$item_id];
((FORCE_ARTICLE_PURGE == 0) ? "" : 'disabled="1"'));
print "</div>";
- print "<div class=\"dlgSec\">".__("Authentication")."</div>";
- print "<div class=\"dlgSecCont\">";
$auth_login = htmlspecialchars($this->dbh->fetch_result($result, 0, "auth_login"));
-
- print "<input dojoType=\"dijit.form.TextBox\" id=\"feedEditDlg_login\"
- placeHolder=\"".__("Login")."\"
- autocomplete=\"new-password\"
- name=\"auth_login\" value=\"$auth_login\"><hr/>";
-
$auth_pass = $this->dbh->fetch_result($result, 0, "auth_pass");
if ($auth_pass_encrypted && function_exists("mcrypt_decrypt")) {
}
$auth_pass = htmlspecialchars($auth_pass);
+ $auth_enabled = $auth_login !== '' || $auth_pass !== '';
+
+ $auth_style = $auth_enabled ? '' : 'display: none';
+ print "<div id='feedEditDlg_loginContainer' style='$auth_style'>";
+ print "<div class=\"dlgSec\">".__("Authentication")."</div>";
+ print "<div class=\"dlgSecCont\">";
+
+ print "<input dojoType=\"dijit.form.TextBox\" id=\"feedEditDlg_login\"
+ placeHolder=\"".__("Login")."\"
+ autocomplete=\"new-password\"
+ name=\"auth_login\" value=\"$auth_login\"><hr/>";
+
print "<input dojoType=\"dijit.form.TextBox\" type=\"password\" name=\"auth_pass\"
autocomplete=\"new-password\"
".__('<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds.')."
</div>";
- print "</div>";
+ print "</div></div>";
+
+ $auth_checked = $auth_enabled ? 'checked' : '';
+ print "<div style=\"clear : both\">
+ <input type=\"checkbox\" $auth_checked name=\"need_auth\" dojoType=\"dijit.form.CheckBox\" id=\"feedEditDlg_loginCheck\"
+ onclick='checkboxToggleElement(this, \"feedEditDlg_loginContainer\")'>
+ <label for=\"feedEditDlg_loginCheck\">".
+ __('This feed requires authentication.')."</div>";
print '</div><div dojoType="dijit.layout.ContentPane" title="'.__('Options').'">';
<button class=\"danger\" dojoType=\"dijit.form.Button\" onclick='return unsubscribeFeed($feed_id, \"$title\")'>".
__('Unsubscribe')."</button>";
- if (PUBSUBHUBBUB_ENABLED) {
- $pubsub_state = $this->dbh->fetch_result($result, 0, "pubsub_state");
- $pubsub_btn_disabled = ($pubsub_state == 2) ? "" : "disabled=\"1\"";
-
- print "<button dojoType=\"dijit.form.Button\" id=\"pubsubReset_Btn\" $pubsub_btn_disabled
- onclick='return resetPubSub($feed_id, \"$title\")'>".__('Resubscribe to push updates').
- "</button>";
- }
-
print "</div>";
- print "<div dojoType=\"dijit.Tooltip\" connectId=\"pubsubReset_Btn\" position=\"below\">".
- __('Resets PubSubHubbub subscription status for push-enabled feeds.')."</div>";
-
print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('feedEditDlg').execute()\">".__('Save')."</button>
<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('feedEditDlg').hide()\">".__('Cancel')."</button>
</div>";
$feed_language = $this->dbh->escape_string(trim($_POST["feed_language"]));
- $auth_pass_encrypted = 'false';
$auth_pass = $this->dbh->escape_string($auth_pass);
if (get_pref('ENABLE_FEED_CATS')) {
}
if (!$batch) {
+ if ($_POST["need_auth"] !== 'on') {
+ $auth_login = '';
+ $auth_pass = '';
+ }
$result = db_query("SELECT feed_url FROM ttrss_feeds WHERE id = " . $feed_id);
$orig_feed_url = db_fetch_result($result, 0, "feed_url");
purge_interval = '$purge_intl',
auth_login = '$auth_login',
auth_pass = '$auth_pass',
- auth_pass_encrypted = $auth_pass_encrypted,
+ auth_pass_encrypted = false,
private = $private,
cache_images = $cache_images,
hide_images = $hide_images,
break;
case "auth_pass":
- $qpart = "auth_pass = '$auth_pass' AND
- auth_pass_encrypted = $auth_pass_encrypted";
+ $qpart = "auth_pass = '$auth_pass', auth_pass_encrypted = false";
break;
case "private":
return;
}
- function resetPubSub() {
-
- $ids = $this->dbh->escape_string($_REQUEST["ids"]);
-
- $this->dbh->query("UPDATE ttrss_feeds SET pubsub_state = 0 WHERE id IN ($ids)
- AND owner_uid = " . $_SESSION["uid"]);
-
- return;
- }
-
function remove() {
$ids = explode(",", $this->dbh->escape_string($_REQUEST["ids"]));
print "<button onclick='window.navigator.registerContentHandler(" .
"\"application/vnd.mozilla.maybe.feed\", " .
- "\"" . add_feed_url() . "\", " . " \"Tiny Tiny RSS\")'>" .
+ "\"" . $this->subscribe_to_feed_url() . "\", " . " \"Tiny Tiny RSS\")'>" .
__('Click here to register this site as a feed reader.') .
"</button>";
static function remove_feed($id, $owner_uid) {
+ foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_UNSUBSCRIBE_FEED) as $p) {
+ $line = $p->hook_unsubscribe_feed($id, $owner_uid);
+ }
+
if ($id > 0) {
/* save starred articles in Archived feed */
"SELECT id FROM ttrss_feeds
WHERE feed_url = '$feed' AND owner_uid = ".$_SESSION["uid"]);
- $auth_pass_encrypted = 'false';
$pass = $this->dbh->escape_string($pass);
if ($this->dbh->num_rows($result) == 0) {
"INSERT INTO ttrss_feeds
(owner_uid,feed_url,title,cat_id,auth_login,auth_pass,update_method,auth_pass_encrypted)
VALUES ('".$_SESSION["uid"]."', '$feed',
- '[Unknown]', $cat_qpart, '$login', '$pass', 0, $auth_pass_encrypted)");
+ '[Unknown]', $cat_qpart, '$login', '$pass', 0, false)");
}
$this->dbh->query("COMMIT");
print (int) $this->dbh->fetch_result($result, 0, "num_inactive");
}
-}
\ No newline at end of file
+
+ static function subscribe_to_feed_url() {
+ $url_path = get_self_url_prefix() .
+ "/public.php?op=subscribe&feed_url=%s";
+ return $url_path;
+ }
+
+}