Hallo zusammen,
ist es jemanden möglich aus folgenden Codeschnipsel ein BBcode für das Uploaden auf imgur.com zu basteln?
Das Script funktioniert super, aber ich weis nicht wie man das als BBcode umwerkelt:
HTML
<script src="https://code.jquery.com/jquery-3.4.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function (e) {
$("#uploadForm").on('submit',(function(e) {
e.preventDefault();
$.ajax({
url: "upload.php",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data)
{
$("#targetLayer").html(data);
},
error: function()
{
}
});
}));
});
</script>
<div class="bgColor">
<form id="uploadForm" action="upload.php" method="post">
<div id="targetLayer">No Image
</div>
<div id="uploadFormLayer">
<input name="img" type="file" class="inputFile" />
<br/>
<input type="submit" value="Submit" class="btnSubmit" />
</form>
</div>
</div>
Display More
PHP: upload.php
$client_id = "XXXXXXXX";
if (!@$_SERVER['HTTP_REFERER']) die('No direct Access');
$img = $_FILES['img'];
if ($img['name'] == '') {
echo "<h2>An Image Please.</h2>";
}
else {
$filename = $img['tmp_name'];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
$pvars = array(
'image' => base64_encode($data)
);
$timeout = 30;
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_URL, 'https://api.imgur.com/3/image.json');
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Authorization: Client-ID ' . $client_id
));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
$out = curl_exec($curl);
curl_close($curl);
$pms = json_decode($out, true);
$url = $pms['data']['link'];
if ($url != "") {
echo "<h2>Uploaded Without Any Problem</h2>";
echo "<img src='$url'/>";
}
else {
echo "<h2>There's a Problem</h2>";
echo $pms['data']['error'];
}
}
Display More
Dass das ganze in etwa so aussieht im Endeffeckt:
Nach dem Upload und dem klick auf "Einfügen", sollte das Bild (bsp: https://i.imgur.com/vMxqNXh.png) in dem "[IMG]-Tag" verewigt werden.
Javascript-Woltlab: (Keine Ahnung wie das weitergeführt werden muss und ob es generell in die richtige RFichtung geht):
JavaScript
if (!RedactorPlugins) var RedactorPlugins = {};
RedactorPlugins.imgg = function() {
"use strict";
return {
init: function() {
//
},
show: function() {
//
},
insert: function() {
//
},
getTemplate: function() {
return String()
+ '<div class="section">'
+'<form id="uploadForm" action="../../lib/system/bbcode/test.php" method="post">'
+'<div id="targetLayer">No Image</div>'
+'<div id="uploadFormLayer">'
+ '<dl>'
+ '<dt><input name="img" type="file" class="inputFile"><br /><input type="submit" value="Submit" class="btnSubmit" /></dt>'
+ '</dl>'
+ '<div class="formSubmit">'
+ '<button id="redactor-modal-button-action" class="buttonPrimary">' + WCF.Language.get('wcf.message.imgg.insert') + '</button>'
+ '</div>'
+'</div>'
+ '</form>'
+'</div>'
}
};
};
Display More
Ich würde mich über Hilfe riesig freuen.