Bookmarklet now checks if ext is supported/filesize is lower than limit before attempting to upload.
This commit is contained in:
parent
433197e187
commit
a45c09b2b6
@ -1,16 +1,31 @@
|
||||
/* Imageboard to Shimmie */
|
||||
// This should work with "most" sites running Danbooru/Gelbooru/Shimmie
|
||||
|
||||
var maxsze = (maxsze.match("(?:\.*[0-9])")) * 1024; //This assumes we are only working with MB.
|
||||
var toobig = "The file you are trying to upload is too big to upload!";
|
||||
var notsup = "The file you are trying to upload is not supported!";
|
||||
|
||||
if (confirm("OK = Use Current tags.\nCancel = Use new tags.")==true){}else{var tag=prompt("Enter Tags","");var chk=1;};
|
||||
|
||||
// Danbooru
|
||||
if(document.getElementById("post_tags") !== null){
|
||||
if (typeof tag !=="ftp://ftp." && chk !==1){var tag=document.getElementById("post_tags").value;}
|
||||
var rtg=document.documentElement.innerHTML.match("<li>Rating: (.*)<\/li>")[1];
|
||||
var rtg=document.getElementById("stats").innerHTML.match("<li>Rating: (.*)<\/li>")[1];
|
||||
var srx="http://" + document.location.hostname + document.location.href.match("\/post\/show\/[0-9]+\/");
|
||||
var filesze=document.getElementById("stats").innerHTML.match("[0-9] \\(((?:\.*[0-9])) ([a-zA-Z]+)");
|
||||
if(filesze[2] == "MB"){var filesze = filesze[1] * 1024;}else{var filesze = filesze[2].match("[0-9]+");}
|
||||
if(tag.search(/\bflash\b/)==-1){
|
||||
if(supext.search(document.getElementById("highres").href.match("http\:\/\/.*\\.([a-z0-9]+)")[1]) !== -1){
|
||||
if(filesze <= maxsze){
|
||||
location.href=ste+document.getElementById("highres").href+"&tags="+tag+"&rating="+rtg[1]+"&source="+srx;
|
||||
}else{alert(toobig);}
|
||||
}else{alert(notsup);}
|
||||
}else{
|
||||
if(supext.search(document.getElementById("highres").href.match("http\:\/\/.*\\.([a-z0-9]+)")[1]) !== -1){
|
||||
if(filesze <= maxsze){
|
||||
location.href=ste+document.getElementsByName("movie")[0].value+"&tags="+tag+"&rating="+rtg[1]+"&source="+srx;
|
||||
}else{alert(toobig);}
|
||||
}else{alert(notsup);}
|
||||
}
|
||||
}
|
||||
/* Shimmie
|
||||
@ -21,23 +36,31 @@ else if(document.getElementsByTagName("title")[0].innerHTML.search("Image [0-9.-
|
||||
if (typeof tag !=="ftp://ftp." && chk !==1){var tag=document.getElementsByTagName("title")[0].innerHTML.match("Image [0-9.-]+\: (.*)")[1];}
|
||||
//TODO: Make rating show in statistics.
|
||||
var srx="http://" + document.location.hostname + document.location.href.match("\/post\/view\/[0-9]+");
|
||||
/*TODO: Figure out regex for shortening file link.
|
||||
I.E http://blah.net/_images/1234abcd/everysingletag.png > http://blah.net/_images/1234abcd.png
|
||||
.match("WEBSITE.NET\/_images\/[A-Za-z0-9]+", "(\\.[a-z][a-z]+)")*/
|
||||
/*TODO: Figure out regex for shortening file link. I.E http://blah.net/_images/1234abcd/everysingletag.png > http://blah.net/_images/1234abcd.png*/
|
||||
/*TODO: Make file size show on all themes (Only seems to show in lite/Danbooru themes.)*/
|
||||
if(tag.search(/\bflash\b/)==-1){
|
||||
location.href=ste+document.getElementById("main_image").src+"&tags="+tag+"&source="+srx;
|
||||
var img = document.getElementById("main_image").src;
|
||||
if(supext.search(img.match(".*\\.([a-z0-9]+)")[1]) !== -1){
|
||||
location.href=ste+img+"&tags="+tag+"&source="+srx;
|
||||
}else{alert(notsup);}
|
||||
}else{
|
||||
location.href=ste+document.location.hostname+document.getElementsByName("movie")[0].value+"&tags="+tag+"&source="+srx;
|
||||
var mov = document.location.hostname+document.getElementsByName("movie")[0].value;
|
||||
if(supext.search(mov.match(".*\\.([a-z0-9]+)")[1]) !== -1){
|
||||
location.href=ste+mov+"&tags="+tag+"&source="+srx;
|
||||
}else{alert(notsup);}
|
||||
}
|
||||
}
|
||||
// Gelbooru
|
||||
else if(document.getElementById("tags") !== null){
|
||||
//Gelbooru has an annoying anti-hotlinking thing which doesn't seem to like the bookmarklet...
|
||||
//Gelbooru has an annoying anti-hotlinking thing which doesn't seem to like the bookmarklet.
|
||||
if (typeof tag !=="ftp://ftp." && chk !==1){var tag=document.getElementById("tags").value;}
|
||||
var rtg=document.documentElement.innerHTML.match("<li>Rating: (.*)<\/li>")[1];
|
||||
var rtg=document.getElementById("stats").innerHTML.match("<li>Rating: (.*)<\/li>")[1];
|
||||
//Can't seem to grab source due to url containing a &
|
||||
//var srx="http://" + document.location.hostname + document.location.href.match("\/index\.php?page=post&s=view\\&id=.*");
|
||||
var gmi=document.getElementById("image").src.match(".*img[0-9]+\.gelbooru\.com\/\/images\/[0-9]+\/[a-z0-9]+\.[a-z0-9]+")[0];
|
||||
//Since Gelbooru does not allow flash, no need to search for flash tag.
|
||||
//Gelbooru doesn't show file size in statistics either...
|
||||
if(supext.search(gmi.match("http\:\/\/.*\\.([a-z0-9]+)")[1]) !== -1){
|
||||
location.href=ste+gmi+"&tags="+tag+"&rating="+rtg[1];//+"&source="+srx;
|
||||
}else{alert(notsup);}
|
||||
}
|
||||
|
@ -146,9 +146,15 @@ class UploadTheme extends Themelet {
|
||||
It would also work with Gelbooru but unless someone can figure out how to bypass their hotlinking..meh.
|
||||
The bookmarklet is now also loaded via the .js file in this folder.
|
||||
*/
|
||||
//Bookmarklet checks if shimmie supports ext. If not, won't upload to site/shows alert saying not supported.
|
||||
$supported_ext = "jpg jpeg gif png";
|
||||
if(file_exists("ext/handle_flash")){$supported_ext .= " swf";}
|
||||
if(file_exists("ext/handle_ico")){$supported_ext .= " ico ani cur";}
|
||||
if(file_exists("ext/handle_mp3")){$supported_ext .= " mp3";}
|
||||
if(file_exists("ext/handle_svg")){$supported_ext .= " svg";}
|
||||
$title = "Booru to " . $config->get_string('title');
|
||||
$html .= '<p><a href="javascript:var ste="'. $link . $delimiter .'url="; void(document.body.appendChild(document.createElement("script")).src="'.make_http(make_link("ext/upload/bookmarklet.js")).'")">'.
|
||||
$title . '</a> (Click when looking at an image page. Works on sites running Shimmie or Danbooru. (This also grabs the tags/rating/source!))';
|
||||
$html .= '<p><a href="javascript:var ste="'. $link . $delimiter .'url="; var supext="'.$supported_ext.'"; var maxsze="'.$max_kb.'"; void(document.body.appendChild(document.createElement("script")).src="'.make_http(make_link("ext/upload/bookmarklet.js")).'")">'.
|
||||
$title . '</a> (Click when looking at an image page. Works on sites running Shimmie/Danbooru/Gelbooru. (This also grabs the tags/rating/source!))';
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user