summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Parecki <aaron@parecki.com>2015-07-25 03:41:53 -0700
committerAaron Parecki <aaron@parecki.com>2015-07-25 03:41:53 -0700
commit60830007641c985c11c8ac8f609aab735dd84a96 (patch)
treeaf8f910c3d6d555f99002b347012b7e539b2aabc
parent91307d4a362a8fab0022aba19ab74bec9cb46f8f (diff)
replace "favorite" bookmarklet
Twitter changed some XSS security settings which prevents Quill from injecting JS onto the page for the inline "favorite" button. This change makes it open the "favorite" screen in a new window.
-rw-r--r--views/new-favorite.php22
-rw-r--r--views/partials/bookmark-bookmarklet.php1
-rw-r--r--views/partials/favorite-bookmarklet.php13
3 files changed, 21 insertions, 15 deletions
diff --git a/views/new-favorite.php b/views/new-favorite.php
index 7b19350..14af8e2 100644
--- a/views/new-favorite.php
+++ b/views/new-favorite.php
@@ -22,7 +22,7 @@
<div style="clear: both;"></div>
<hr>
- <div style="text-align: right;">
+ <div style="text-align: right;" id="bookmarklet">
Bookmarklet: <a href="javascript:<?= js_bookmarklet('partials/favorite-bookmarklet', $this) ?>" class="btn btn-default btn-xs">favorite</a>
</div>
@@ -31,6 +31,12 @@
<script>
$(function(){
+ var autosubmit = window.location.search.match('autosubmit=true');
+
+ if(autosubmit) {
+ $(".footer, #bookmarklet").hide();
+ }
+
// ctrl-s to save
$(window).on('keydown', function(e){
if(e.keyCode == 83 && e.ctrlKey){
@@ -52,9 +58,13 @@ $(function(){
if(response.location != false) {
- $("#test_success").removeClass('hidden');
- $("#test_error").addClass('hidden');
- $("#post_href").attr("href", response.location);
+ if(autosubmit) {
+ $("#btn_post").hide();
+ } else {
+ $("#test_success").removeClass('hidden');
+ $("#test_error").addClass('hidden');
+ $("#post_href").attr("href", response.location);
+ }
window.location = response.location;
} else {
@@ -66,6 +76,10 @@ $(function(){
return false;
});
+ if(autosubmit) {
+ $("#btn_post").click();
+ }
+
bind_syndication_buttons();
});
diff --git a/views/partials/bookmark-bookmarklet.php b/views/partials/bookmark-bookmarklet.php
index 0dfd916..9799bd8 100644
--- a/views/partials/bookmark-bookmarklet.php
+++ b/views/partials/bookmark-bookmarklet.php
@@ -2,4 +2,3 @@
var t;try{t=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection&&document.selection.createRange&&document.selection.createRange().text));}catch(e){t="";};
window.location="<?= Config::$base_url ?>bookmark?url="+encodeURIComponent(window.location.href)+"&content="+encodeURIComponent((t == '' ? '' : '"'+t+'"'))+"&name="+encodeURIComponent(document.title)+"&token=<?= $this->token ?>";
})();
-
diff --git a/views/partials/favorite-bookmarklet.php b/views/partials/favorite-bookmarklet.php
index e4d27bd..bdee851 100644
--- a/views/partials/favorite-bookmarklet.php
+++ b/views/partials/favorite-bookmarklet.php
@@ -1,10 +1,3 @@
-var quill_popup=function(){
- window.open(document.getElementById('quill-script').src.replace('favorite.js?','favorite-popup?'),'quill-like', 'status=no,directories=no,location=no,resizable=no,menubar=no,width=300,height=200,toolbar=no');
-};
-(function(){
- var quill=document.createElement('script');
- quill.src='<?= Config::$base_url ?>favorite.js?url='+encodeURIComponent(window.location)+'&token=<?= $this->token ?>';
- quill.setAttribute('id','quill-script');
- quill.setAttribute('onerror', 'quill_popup()');
- document.body.appendChild(quill);
-})(); \ No newline at end of file
+(function(){
+ window.open("<?= Config::$base_url ?>favorite?url="+encodeURIComponent(window.location.href)+"&autosubmit=true&token=<?= $this->token ?>");
+})();