From 83cd33fcec05473bf2bd00836c7eaa7d9b584461 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 4 Oct 2011 13:11:07 +0400 Subject: implement sharing articles by unique url --- modules/backend-rpc.php | 9 +++++++++ modules/popup-dialog.php | 40 ++++++++++++++++++++++++++++++++++++++++ modules/pref-feeds.php | 11 ++++++++++- 3 files changed, 59 insertions(+), 1 deletion(-) (limited to 'modules') 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').""; 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 "
"; + print "$url_path"; + print "
"; + /* if (!label_find_id($link, __('Shared'), $_SESSION["uid"])) + label_create($link, __('Shared'), $_SESSION["uid"]); + label_add_article($link, $ref_id, __('Shared'), $_SESSION['uid']); */ + } + + print "
"; + + print ""; + + print "
"; + + return; } print ""; + } ?> 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 ""; #pane - print "
"; + print "
"; + + print "

" . __("Published articles and generated feeds") . "

"; print "

".__('Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below.')."

"; @@ -1519,6 +1521,13 @@ print " "; + print "

" . __("Articles shared by URL") . "

"; + + print "

" . __("You can disable all articles shared by unique URLs here.") . "

"; + + print " "; + print "
"; #pane if (defined('CONSUMER_KEY') && CONSUMER_KEY != '') { -- cgit v1.2.3