init.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. class Bookmarklets extends Plugin {
  3. private $host;
  4. function about() {
  5. return array(1.0,
  6. "Easy feed subscription and web page sharing using bookmarklets",
  7. "fox");
  8. }
  9. function init($host) {
  10. $this->host = $host;
  11. $host->add_hook($host::HOOK_PREFS_TAB, $this);
  12. }
  13. function hook_prefs_tab($args) {
  14. if ($args == "prefFeeds") {
  15. print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Bookmarklets')."\">";
  16. print "<p>" . __("Drag the link below to your browser toolbar, open the feed you're interested in in your browser and click on the link to subscribe to it.") . "</p>";
  17. $bm_subscribe_url = str_replace('%s', '', Pref_Feeds::subscribe_to_feed_url());
  18. $confirm_str = str_replace("'", "\'", __('Subscribe to %s in Tiny Tiny RSS?'));
  19. $bm_url = htmlspecialchars("javascript:{if(confirm('$confirm_str'.replace('%s',window.location.href)))window.location.href='$bm_subscribe_url'+window.location.href}");
  20. print "<p>";
  21. print "<a href=\"$bm_url\" class='dijitButton'>" . __('Subscribe in Tiny Tiny RSS'). "</a>";
  22. print "</p>";
  23. print "<p>" . __("Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS") . "</p>";
  24. print "<p>";
  25. $bm_url = htmlspecialchars("javascript:(function(){var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='".get_self_url_prefix()."/public.php?op=sharepopup',l=d.location,e=encodeURIComponent,g=f+'&title='+((e(s))?e(s):e(document.title))+'&url='+e(l.href);function a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=500,height=250')){l.href=g;}}a();})()");
  26. print "<a href=\"$bm_url\" class='dijitButton'>" . __('Share with Tiny Tiny RSS'). "</a>";
  27. print "</p>";
  28. print "</div>"; #pane
  29. }
  30. }
  31. function api_version() {
  32. return 2;
  33. }
  34. }