[PHP] Proxy Online Compiler con Includes Custom
#1
Bueno, ya que lo hice de nuevo no veo por qué no hacerlo Open Source! Tiene dependencia de MyBB pero la verdad no sería dificil adaptarlo a otras necesidades.

El code no es el mejor, no me maten. Se aceptan sugerencias y contribuciones Rainbow

Known issues: Si un include hace include a uno que no sea default no va a compilar, se puede solucionar facilmente haciendo que hasMissingLibraries y addLibraries sean recursivas, pero paja y los casos serian 0.000001% creo (si me equivoco avisen y lo agrego).

compiler.php es el script que hace toda la compilacion y mierda con las librerias
online_compiler.php es el plugin de mybb que agrega el "Descargar AMXX" en cada sma adjunto


Archivos adjuntos
.php   compiler.php (Tamaño: 9.71 KB / Descargas: 24)
.php   online_compiler.php (Tamaño: 1.73 KB / Descargas: 10)
[Imagen: paypalqr.png]
Responder
#2
Puede ser que te falto un break en hasMissingLibrary() ?  Insecure

hace mucho tiempo que no toco php, puede que este diciendo cualquiera xd
Responder
#3
No se si sabias, pero mybb ya trae una funcion para obtener la extensión del archivo.
mybb/inc/functions.php
Código PHP:
function get_extension($file

No se si sea mejor usar preg_match  Insecure


Otra cosa porque defines el THIS_SCRIPT como portal.php?

Como sugerencia también podrías añadirle lo siguiente, luego de obtener la extensión del archivo:
Código PHP:
add_breadcrumb("Compilando el plugin: " $attachment['filename']); 
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#4
(12/05/2020, 08:29 PM)Destro escribió: Puede ser que te falto un break en hasMissingLibrary() ?  Insecure

hace mucho tiempo que no toco php, puede que este diciendo cualquiera xd
Nop, si le agrego un break solo me va a decir la primer librería que no encuentra, así te dice todas!
[Imagen: paypalqr.png]
Responder
#5
(12/05/2020, 08:36 PM)Neeeeeeeeeel.- escribió: Nop, si le agrego un break solo me va a decir la primer librería que no encuentra, así te dice todas!

yo decía en el segundo foreach:
Código PHP:
$missing "";
foreach (
$libraries as $library) {
    $isAttached false;
    foreach ($userLibraries as $inc) {
        $isAttached $library.".inc" == $inc['filename'];
    }

    if (!in_array($library$customLibraries) && !$isAttached) {
        if (!empty($missing)) {
            $missing .= ', ';
        }
        $missing .= $library;
    }

-->
Código PHP:
$missing "";
foreach (
$libraries as $library) {
    
$isAttached false;
    foreach (
$userLibraries as $inc) {
        if(
$library.".inc" == $inc['filename']) {
            
$isAttached true;
            break;
    }

    if(
$isAttached) continue;

    if (!
in_array($library$customLibraries)) {
        if (!empty(
$missing)) {
            
$missing .= ', ';
        }
        
$missing .= $library;
    }

Responder
#6
(12/05/2020, 08:36 PM)totopizza escribió: No se si sabias, pero mybb ya trae una funcion para obtener la extensión del archivo.
https://github.com/mybb/mybb/blob/5dcb69....php#L3062
Código PHP:
function get_extension($file

No se si sea mejor usar preg_match  Insecure


Otra cosa porque defines el THIS_SCRIPT como portal.php?

Como sugerencia también podrías añadirle lo siguiente, luego de obtener la extensión del archivo:
Código PHP:
add_breadcrumb("Compilando el plugin: " $attachment['filename']); 
Mientras menos dependencias mejor, preg_match está bien!

Originalmente el código estaba en portal.php, y bueno nada aunque acabo de reescribir el 95% del code eso no lo toque, creo que hay que definir algo ahí para que mybb no rompa las bolas... No recuerdo.

Que hace add_breadcrumb? compile.php devuelve un amxx descargable, lo que sea que haga eso no creo que funcione!
[Imagen: paypalqr.png]
Responder
#7
(12/05/2020, 08:40 PM)Destro escribió: yo decía en el segundo foreach:
Código PHP:
$missing "";
foreach (
$libraries as $library) {
    $isAttached false;
    foreach ($userLibraries as $inc) {
        $isAttached $library.".inc" == $inc['filename'];
    }

    if (!in_array($library$customLibraries) && !$isAttached) {
        if (!empty($missing)) {
            $missing .= ', ';
        }
        $missing .= $library;
    }

Si tenés razón! Ty
[Imagen: paypalqr.png]
Responder
#8
(12/05/2020, 08:44 PM)Neeeeeeeeeel.- escribió: Que hace add_breadcrumb?

Es la ubicación del usuario, si no le especificas el segundo parámetro que es la url no tendrá ningún enlace ("quién esta en línea")
[Imagen: unknown.png]

Si mal no recuerdo en la versión del foro anterior salía compilando el archivo X
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#9
(12/05/2020, 08:52 PM)totopizza escribió: Es la ubicación del usuario, si no le especificas el segundo parámetro que es la url no tendrá ningún enlace ("quién esta en línea")
[Imagen: unknown.png]

Si mal no recuerdo en la versión del foro anterior salía compilando el archivo X
Nop, no salía eso! Está bueno igual no sabía que se hacía así! Igual no lo voy a agregar me parece al pedo
[Imagen: paypalqr.png]
Responder
#10
Ahi termine el plugin de MyBB y lo activé. Lo adjunte en el thread también
[Imagen: paypalqr.png]
Responder
#11
En el plugin que subí hoy en aportes tengo comentada una include y me la toma igual el script por ende no compila.
Un bug pequeño.
[Imagen: giphy.webp]

Panda Nuestro
Sistema de Cuentas MySQL/SQLite
Discord: FluffyDeveloper#4753

meTaLiCroSS escribió: Pero sin picarse po, todavía te molesta que te haya mandado a la mierda porque querias plugins de mi server? Mírate, seguí programando weas mulas después de años, tení que ser harto penca para esta wea, das pura pena Corazón

(22/01/2021, 02:55 PM)Skylar escribió: dios como me enferma que digas plugins cuando hablas de un solo plugin pendejo re pelotudo
Responder
#12
(13/05/2020, 08:09 PM)r0ma\ escribió: En el plugin que subí hoy en aportes tengo comentada una include y me la toma igual el script por ende no compila.
Un bug pequeño.
Uh que paja eso... voy a ver de eliminar todos los comentarios antes de empezar a procesar y deberia funcionar! Buen dato ty
[Imagen: paypalqr.png]
Responder
#13
No te olvides se la seguridad también xd


Archivos adjuntos
.sma   Descargar AMXX / test.sma (Tamaño: 411 bytes / Descargas: 14)
Responder
#14
(13/05/2020, 09:30 PM)Destro escribió: No te olvides se la seguridad también xd
Fixed ty
[Imagen: paypalqr.png]
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)