summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2011-10-04 13:11:07 +0400
committerAndrew Dolgov <[email protected]>2011-10-04 13:18:41 +0400
commit83cd33fcec05473bf2bd00836c7eaa7d9b584461 (patch)
tree024ff7b024164a27e93e362763883e66cb40fa4b /modules
parent359fc686ddfc13dc1f9ee8127fd14a13a0ede4e8 (diff)
implement sharing articles by unique url
Diffstat (limited to 'modules')
-rw-r--r--modules/backend-rpc.php9
-rw-r--r--modules/popup-dialog.php40
-rw-r--r--modules/pref-feeds.php11
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 != '') {