Skip to content

Instantly share code, notes, and snippets.

Created September 13, 2015 11:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/95877b50c78e45445957 to your computer and use it in GitHub Desktop.
Save anonymous/95877b50c78e45445957 to your computer and use it in GitHub Desktop.
<html><head><meta charset="UTF-8"><style>#prev{vertical-align:top;}*{margin:0;padding:0;vertical-align:middle;}.err{color:#d00;font-family:calibri;font-weight:700;vertical-align:-4px;}.n0 img{border-color:#92d050;}.n1 img{border-color:#00b050;}.n2 img{border-color:#00b0f0;}.n3 img{border-color:#0070c0;}body{line-height:22px;overflow:hidden;white-space:nowrap;}form{display:inline;}img{border:2px solid #002060;height:26px;margin-right:4px;width:26px;}input{height:22px;margin-bottom:4px;margin-top:4px;max-width:180px;}input{width:25px}input::before{content:'+';display:inline-block;border:1px solid #999;border-radius:3px;padding:1px 6px;margin-right:3px;outline:0;white-space:nowrap;-webkit-user-select:none;cursor:pointer;text-shadow:1px 1px #fff;font-weight:700;font-size:15px}</style></head><body><form method="post" enctype="multipart/form-data"><input type="hidden" name="MAX_FILE_SIZE" value="10485760" /><input type="file" name="upload" onchange="this.form.submit()" /></form><script>
if(window.localStorage) {
var cur_imgur = localStorage.getItem('prev_imgur');
if(cur_imgur) cur_imgur = JSON.parse(cur_imgur);
}
function add(l,id){
if(!window.localStorage) return;
var prev_imgur = localStorage.getItem('prev_imgur');
var to_add = [+new Date(),l,id];
if(!prev_imgur)
prev_imgur = localStorage.setItem('prev_imgur', JSON.stringify([to_add]))
else {
prev_imgur = JSON.parse(prev_imgur);
if(prev_imgur.length>29)
prev_imgur.shift();
prev_imgur.push(to_add);
localStorage.setItem('prev_imgur', JSON.stringify(prev_imgur));
}
if(parent.E)
parent.E.add('[img]'+l+'[/img]');
}
</script>
<?php
if(empty($_POST)) {
} elseif (@$_FILES['upload']['error'] !== 0) {
echo '<span class="err">erreur d\'upload</a>';
} elseif(@$_FILES['upload']['size'] > 10485760) {
echo '<span class="err">trop grand (max 10M)</a>';
} else {
$client_id = 'bec100d789082b8';
$filetype = explode('/',mime_content_type($_FILES['upload']['tmp_name']));
if ($filetype[0] !== 'image') {
echo '<span class="err">pas une image</a>';
} else {
$image = file_get_contents($_FILES['upload']['tmp_name']);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.imgur.com/3/image.json');
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Authorization: Client-ID ' . $client_id ));
curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'image' => base64_encode($image) ));
$reply = curl_exec($ch);
curl_close($ch);
$reply = json_decode($reply);
if($reply->success)
echo '<script>add(\''.$reply->data->link.'\',\''.$reply->data->id.'\')</script><a class="n0" href="javascript:parent.E.add(\'[img]'.$reply->data->link.'[/img]\')"/><img src="http://i.imgur.com/'.$reply->data->id.'s.jpg"/></a>';
else
echo '<span class="err">erreur upload</span>';
}
}
?><span id="prev"></span>
<script>
if(cur_imgur) {
var acc='';
for(var i=cur_imgur.length-1; i>0; i--){
var t = (+new Date() - cur_imgur[i][0])/1000;
acc+= '<a class="n'+(t>10800?t>259200?t>25920000?4:3:2:1)+'" href="javascript:parent.E.add(\'[img]'+cur_imgur[i][1]+'[/img]\')"/><img src="http://i.imgur.com/'+cur_imgur[i][2]+'s.jpg"/></a>';
}
document.getElementById('prev').innerHTML=acc;
}
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment