15 December 2014, 21:02
5
Buenas aquí os aporto un tutorial de como añadir a el editor un botón de Imgur para subir imagenes.
El tutorial no lo he hecho yo. Esta realizado por martec de la web oficial de MyBB Registrate o inicia tu sesión para ver este contenido.
Aun así yo ampliare unos detalles que veo necesario para el tutorial.
Bueno vamos alla
0.- Registrarte en Registrate o inicia tu sesión para ver este contenido
1 - Conseguir un api key: Registrate o inicia tu sesión para ver este contenido (Sí ya lo tienes, puedes saltarte este paso)
Os muestro como rellenar los campos para obtener la api key y cual seria la key que os hara falta.
Formulario para crear API
Aqui los codigos despues de crear la Api(He borrado algunas numeraciones)
Procedemos ya a crear el boton en el editor y a darle sus funciones.
2 - Editar: root/jscripts/sceditor/editor_themes/mybb.css
2.1 - Añadir al final del archivo este codigo:
2.2 - Repetir el paso 2.1 con todos los otros sceditor(Yo en mi caso hice lo mismo en el modern.css y default.css).
3 - Copiar imgur.png y y spinner.gif en root/jscripts/sceditor/editor_themes/
4 - Editar root/jscripts/bbcodes_sceditor.js
4.1 - Buscar:
4.2 - Agregar luego (Después de }); ):
4.3 - Añadir después de todo, es decir, al final de mismo archivo(Si no es así no funcionara):
4.4 - Coloca el Client ID que obtuvisteis al principio por donde pone your-key en el código de el paso 4.3 .
5 - Entrar al Admin CP - Templates (Plantillas) - Buscar Ungruped Templates (Plantillas sin grupo) - Abrir - Buscar "Codebuttons"
5.1 - Buscar:
5.2 - Ese mismo codigo debe ser reemplazado por:
Si usas Quick Advanced Editor (v4.0.0, +) o Quick Advanced Editor Plus (v0.6, +)
Repite el paso 5.1 y 5.2 enn Template Sets » Global Templates » codebutquick
Demostración:
El tutorial no lo he hecho yo. Esta realizado por martec de la web oficial de MyBB Registrate o inicia tu sesión para ver este contenido.
Aun así yo ampliare unos detalles que veo necesario para el tutorial.
Bueno vamos alla
0.- Registrarte en Registrate o inicia tu sesión para ver este contenido
1 - Conseguir un api key: Registrate o inicia tu sesión para ver este contenido (Sí ya lo tienes, puedes saltarte este paso)
Os muestro como rellenar los campos para obtener la api key y cual seria la key que os hara falta.
Formulario para crear API
Aqui los codigos despues de crear la Api(He borrado algunas numeraciones)
Procedemos ya a crear el boton en el editor y a darle sus funciones.
2 - Editar: root/jscripts/sceditor/editor_themes/mybb.css
2.1 - Añadir al final del archivo este codigo:
Código PHP: ( Seleccionar Todo )
.sceditor-button-imgur div {
background-image:url(imgur.png);
}
.sceditor-button-imgur div.imgurup {
background-image:url(spinner.gif) !important;
}
2.2 - Repetir el paso 2.1 con todos los otros sceditor(Yo en mi caso hice lo mismo en el modern.css y default.css).
3 - Copiar imgur.png y y spinner.gif en root/jscripts/sceditor/editor_themes/
4 - Editar root/jscripts/bbcodes_sceditor.js
4.1 - Buscar:
Código PHP: ( Seleccionar Todo )
tooltip: 'Insert a video'
});
4.2 - Agregar luego (Después de }); ):
Código PHP: ( Seleccionar Todo )
/*********************
* Add imgur command *
*********************/
$.sceditor.command.set("imgur", {
_imgur: function () {
document.querySelector('textarea').insertAdjacentHTML( 'afterEnd', '<input class="imgur" style="visibility:hidden;position:absolute;top:0;" type="file" onchange="upload(this.files[0])" accept="image/*">' );
document.querySelector('input.imgur').click();
},
exec: function ()
{
$.sceditor.command.get('imgur')._imgur();
},
txtExec: function()
{
$.sceditor.command.get('imgur')._imgur();
},
tooltip: 'Subir a Imgur'
});
4.3 - Añadir después de todo, es decir, al final de mismo archivo(Si no es así no funcionara):
Código PHP: ( Seleccionar Todo )
/*****************************
* Add imgur upload function *
*****************************/
function upload(file) {
/* Is the file an image? */
if (!file || !file.type.match(/image.*/)) return;
/* It is! */
document.body.className = "uploading";
var d = document.querySelector(".sceditor-button-imgur div");
d.className = d.className + " imgurup";
/* Lets build a FormData object*/
var fd = new FormData(); // I wrote about it: https://hacks.mozilla.org/2011/01/how-to-develop-a-html5-image-uploader/
fd.append("image", file); // Append the file
var xhr = new XMLHttpRequest(); // Create the XHR (Cross-Domain XHR FTW!!!) Thank you sooooo much imgur.com
xhr.open("POST", "https://api.imgur.com/3/image.json"); // Boooom!
xhr.onload = function() {
var code = '[img]' + JSON.parse(xhr.responseText).data.link + '[/img]';
$('#message, #signature, textarea[name*="value"]').data('sceditor').insert(code);
var d = document.querySelector(".sceditor-button-imgur div.imgurup");
d.className = d.className - " imgurup";
document.querySelector('input.imgur').remove();
}
// Ok, I don't handle the errors. An exercice for the reader.
xhr.setRequestHeader('Authorization', 'Client-ID your-key');
/* And now, we send the formdata */
xhr.send(fd);
};
4.4 - Coloca el Client ID que obtuvisteis al principio por donde pone your-key en el código de el paso 4.3 .
5 - Entrar al Admin CP - Templates (Plantillas) - Buscar Ungruped Templates (Plantillas sin grupo) - Abrir - Buscar "Codebuttons"
5.1 - Buscar:
Código PHP: ( Seleccionar Todo )
{$basic2}image,{$email}
5.2 - Ese mismo codigo debe ser reemplazado por:
Código PHP: ( Seleccionar Todo )
{$basic2}image,imgur,{$email}
Si usas Quick Advanced Editor (v4.0.0, +) o Quick Advanced Editor Plus (v0.6, +)
Repite el paso 5.1 y 5.2 enn Template Sets » Global Templates » codebutquick
Demostración:
Última modificación: 23 December 2014, 06:50 por Whiteneo.