init.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. class Share extends Plugin {
  3. private $link;
  4. private $host;
  5. function about() {
  6. return array(1.0,
  7. "Share article by unique URL",
  8. "fox");
  9. }
  10. function init($host) {
  11. $this->link = $host->get_link();
  12. $this->host = $host;
  13. $host->add_hook($host::HOOK_ARTICLE_BUTTON, $this);
  14. }
  15. function get_js() {
  16. return file_get_contents(dirname(__FILE__) . "/share.js");
  17. }
  18. function hook_article_button($line) {
  19. return "<img src=\"plugins/share/share.png\"
  20. class='tagsPic' style=\"cursor : pointer\"
  21. onclick=\"shareArticle(".$line['int_id'].")\"
  22. title='".__('Share by URL')."'>";
  23. }
  24. function shareArticle() {
  25. $param = db_escape_string($this->link, $_REQUEST['param']);
  26. $result = db_query($this->link, "SELECT uuid, ref_id FROM ttrss_user_entries WHERE int_id = '$param'
  27. AND owner_uid = " . $_SESSION['uid']);
  28. if (db_num_rows($result) == 0) {
  29. print "Article not found.";
  30. } else {
  31. $uuid = db_fetch_result($result, 0, "uuid");
  32. $ref_id = db_fetch_result($result, 0, "ref_id");
  33. if (!$uuid) {
  34. $uuid = db_escape_string($this->link, sha1(uniqid(rand(), true)));
  35. db_query($this->link, "UPDATE ttrss_user_entries SET uuid = '$uuid' WHERE int_id = '$param'
  36. AND owner_uid = " . $_SESSION['uid']);
  37. }
  38. print "<h2>". __("You can share this article by the following unique URL:") . "</h2>";
  39. $url_path = get_self_url_prefix();
  40. $url_path .= "/public.php?op=share&key=$uuid";
  41. print "<div class=\"tagCloudContainer\">";
  42. print "<a id='pub_opml_url' href='$url_path' target='_blank'>$url_path</a>";
  43. print "</div>";
  44. /* if (!label_find_id($this->link, __('Shared'), $_SESSION["uid"]))
  45. label_create($this->link, __('Shared'), $_SESSION["uid"]);
  46. label_add_article($this->link, $ref_id, __('Shared'), $_SESSION['uid']); */
  47. }
  48. print "<div align='center'>";
  49. print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('shareArticleDlg').hide()\">".
  50. __('Close this window')."</button>";
  51. print "</div>";
  52. }
  53. }
  54. ?>