diff options
author | Andrew Dolgov <[email protected]> | 2011-10-04 13:11:07 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2011-10-04 13:18:41 +0400 |
commit | 83cd33fcec05473bf2bd00836c7eaa7d9b584461 (patch) | |
tree | 024ff7b024164a27e93e362763883e66cb40fa4b /modules | |
parent | 359fc686ddfc13dc1f9ee8127fd14a13a0ede4e8 (diff) |
implement sharing articles by unique url
Diffstat (limited to 'modules')
-rw-r--r-- | modules/backend-rpc.php | 9 | ||||
-rw-r--r-- | modules/popup-dialog.php | 40 | ||||
-rw-r--r-- | modules/pref-feeds.php | 11 |
3 files changed, 59 insertions, 1 deletions
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php index 6cd9cd2d9..f6b66885e 100644 --- a/modules/backend-rpc.php +++ b/modules/backend-rpc.php @@ -783,6 +783,15 @@ return; } + // Silent + if ($subop == "clearArticleKeys") { + db_query($link, "UPDATE ttrss_user_entries SET uuid = '' WHERE + owner_uid = " . $_SESSION["uid"]); + + return; + } + + if ($subop == "verifyRegexp") { $reg_exp = $_REQUEST["reg_exp"]; diff --git a/modules/popup-dialog.php b/modules/popup-dialog.php index 4d2408d15..f65d005ff 100644 --- a/modules/popup-dialog.php +++ b/modules/popup-dialog.php @@ -1071,12 +1071,52 @@ __('Cancel')."</button></div>"; return; + } + + if ($id == "shareArticle") { + + $result = db_query($link, "SELECT uuid, ref_id FROM ttrss_user_entries WHERE int_id = '$param' + AND owner_uid = " . $_SESSION['uid']); + + if (db_num_rows($result) == 0) { + print "Article not found."; + } else { + + $uuid = db_fetch_result($result, 0, "uuid"); + $ref_id = db_fetch_result($result, 0, "ref_id"); + + if (!$uuid) { + $uuid = db_escape_string(sha1(uniqid(rand(), true))); + db_query($link, "UPDATE ttrss_user_entries SET uuid = '$uuid' WHERE int_id = '$param' + AND owner_uid = " . $_SESSION['uid']); + } + + print __("You can share this article by the following unique URL:"); + $url_path = get_self_url_prefix(); + $url_path .= "/backend.php?op=share&key=$uuid"; + print "<div class=\"tagCloudContainer\">"; + print "<a id='pub_opml_url' href='$url_path' target='_blank'>$url_path</a>"; + print "</div>"; + /* if (!label_find_id($link, __('Shared'), $_SESSION["uid"])) + label_create($link, __('Shared'), $_SESSION["uid"]); + label_add_article($link, $ref_id, __('Shared'), $_SESSION['uid']); */ + } + + print "<div align='center'>"; + + print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('shareArticleDlg').hide()\">". + __('Close this window')."</button>"; + + print "</div>"; + + return; } print "</dlg>"; + } ?> diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php index 0fd3f02f1..d5f0e8b4e 100644 --- a/modules/pref-feeds.php +++ b/modules/pref-feeds.php @@ -1506,7 +1506,9 @@ print "</div>"; #pane - print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Published articles and generated feeds')."\">"; + print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Published & shared articles and generated feeds')."\">"; + + print "<h3>" . __("Published articles and generated feeds") . "</h3>"; print "<p>".__('Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below.')."</p>"; @@ -1519,6 +1521,13 @@ print "<button dojoType=\"dijit.form.Button\" onclick=\"return clearFeedAccessKeys()\">". __('Clear all generated URLs')."</button> "; + print "<h3>" . __("Articles shared by URL") . "</h3>"; + + print "<p>" . __("You can disable all articles shared by unique URLs here.") . "</p>"; + + print "<button dojoType=\"dijit.form.Button\" onclick=\"return clearArticleAccessKeys()\">". + __('Unshare all articles')."</button> "; + print "</div>"; #pane if (defined('CONSUMER_KEY') && CONSUMER_KEY != '') { |