Página 2 de 3

BBcode verificar links rotos

Publicado: 21 Ene 2011, 21:57
por leviatan21
Un caso llamativo, pero puede ser que tu servidor no permita el comando print hagamos unas pruebas mas

Abrir :

Código: Seleccionar todo

raíz/widgets.php:
Buscar :

Código: Seleccionar todo

function print_flags(&$FLAGS) {
    print $FLAGS['dead'] . "<br />";
    print $FLAGS['num_dead'] . "<br />";
    print $FLAGS['num_alive'] . "<br />";
    print $FLAGS['total_size'] . "<br />";
    print $FLAGS['total_links'] . "<br />";
}
Reemplazar por :

Código: Seleccionar todo

function print_flags(&$FLAGS) {
    print_r($FLAGS['dead'] . "<br />" . $FLAGS['num_dead'] . "<br />" . $FLAGS['num_alive'] . "<br />" . $FLAGS['total_size'] . "<br />" . $FLAGS['total_links'] . "<br />");
}
Si no funciona, prueba reemplazando por :

Código: Seleccionar todo

function print_flags(&$FLAGS) {
    echo $FLAGS['dead'] . "<br />" . $FLAGS['num_dead'] . "<br />" . $FLAGS['num_alive'] . "<br />" . $FLAGS['total_size'] . "<br />" . $FLAGS['total_links'] . "<br />";
}

Re: BBcode verificar links rotos

Publicado: 22 Ene 2011, 07:49
por happyman
Ok, esta mañana lo probaré!

Re: BBcode verificar links rotos

Publicado: 22 Ene 2011, 11:51
por happyman
Lo he probado de las dos maneras y sigo sin ver los links... :( :( :(

Re: BBcode verificar links rotos

Publicado: 22 Ene 2011, 15:55
por leviatan21
Ya me estoy quedando sin propuestas, pero insisto en que está relacionado con CURL, por eso vengo con esta última idea.

1) el cambio de mi mensaje anterior, lo puedes deshacer
2) En el mismo archivo raíz/widgets.php
Buscar :

Código: Seleccionar todo

function send_data($site, $data) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $site);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $return = curl_exec($ch);
    curl_close($ch);
    return $return;
}
Reemplazar por :

Código: Seleccionar todo

function send_data($site, $data)
{
    $html = '';

    /** get html from url **/
    if (function_exists ('curl_init'))
    {
        $curl = curl_init();

        if (!is_null($data))
        {
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($curl, CURLOPT_URL, $site);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $html = curl_exec($curl);
        curl_close($curl);
    }
    else
    {
        if (!is_null($data))
        {
            $options = array(
                'http'=>array(
                    'method'    => "POST",
                    'header'    => "Content-Type: application/x-www-form-urlencoded\r\n",
                    'content'     => $data,
                )
            );
            $context = stream_context_create($options);
            $html = file_get_contents($site, false, $context);
        }
        else
        {
            $html = file_get_contents($site);
        }
    }
    return ($html != '') ? $html : $data;
}

/**
function send_data($site, $data) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $site);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $return = curl_exec($ch);
    curl_close($ch);
    return $return;
}
**/ 
Si con este cambio no funciona me rindo :oops:

Re: BBcode verificar links rotos

Publicado: 22 Ene 2011, 18:52
por happyman
Hola!
Ahora se ven, pero solo 2...hay 8, y además no se ven los pesos de los archivos, pero algo se vé, cosa que antes no... :nolose: :nolose: :nolose:

Arriba se de aquello del debug y pone esto:

Código: Seleccionar todo

[phpBB Debug] PHP Notice: in file /widgets.php on line 170: Undefined index: id0
[phpBB Debug] PHP Notice: in file /widgets.php on line 172: Undefined index: s
[phpBB Debug] PHP Notice: in file /widgets.php on line 173: Undefined index: n
[phpBB Debug] PHP Notice: in file /widgets.php on line 170: Undefined index: id1
[phpBB Debug] PHP Notice: in file /widgets.php on line 172: Undefined index: s
[phpBB Debug] PHP Notice: in file /widgets.php on line 173: Undefined index: n
[phpBB Debug] PHP Notice: in file /widgets.php on line 170: Undefined index: id2
[phpBB Debug] PHP Notice: in file /widgets.php on line 172: Undefined index: s
[phpBB Debug] PHP Notice: in file /widgets.php on line 173: Undefined index: n

Re: BBcode verificar links rotos

Publicado: 22 Ene 2011, 19:21
por leviatan21
Lamento informarte que este tipo de scripts no es para tu servidor, por mas que lo intentes no te permitirá utilizarlos por eso ves solo algunos y una parte de los que si se muestran

Re: BBcode verificar links rotos

Publicado: 22 Ene 2011, 19:31
por happyman
leviatan21 escribió:Lamento informarte que este tipo de scripts no es para tu servidor, por mas que lo intentes no te permitirá utilizarlos por eso ves solo algunos y una parte de los que si se muestran
...vaya... pues que mala pata. Bueno, supongo que no puedo hacer nada, así que dejo el tema abierto por si aparece algún mod que haga lo mismo y que sí pueda usar...

Muchas gracias por todo leviatan21 :ok:

Re: BBcode verificar links rotos

Publicado: 22 Ene 2011, 19:42
por leviatan21
Yo puedo seguir tirando propuestas, pero no creo que se pueda hacer mucho mas, dime si quieres segur probando un par de teorías que tengo en mente :nolose:

Lo que a mi si me quedó bien claro son 2 cosas :
1) En tu servidor o bien no tienes permitido el uso de CURL o el CURL no funciona bien
2) El tiempo de duración de un script es muy corto y por eso sólo devuelve parte de a información que necesitas.

Re: BBcode verificar links rotos

Publicado: 22 Ene 2011, 23:38
por happyman
leviatan21 escribió:Yo puedo seguir tirando propuestas, pero no creo que se pueda hacer mucho mas, dime si quieres segur probando un par de teorías que tengo en mente :nolose:

Lo que a mi si me quedó bien claro son 2 cosas :
1) En tu servidor o bien no tienes permitido el uso de CURL o el CURL no funciona bien
2) El tiempo de duración de un script es muy corto y por eso sólo devuelve parte de a información que necesitas.
Bueno, no sé... en principio ya vés que tengo la opción CURL 'enable'... quizás falte alguna extensión en mi servidor... pero si me quieres proponer esas teorías pues estoy abierto.

muchas gracias y saludos. :ok:

BBcode verificar links rotos

Publicado: 23 Ene 2011, 06:47
por leviatan21
Ok, dame tiempo que voy a re-escribir todo el widgets.php

Mientras, necesitaría que hagas una prueba, en lugar de hacer un solo mensaje con todos los enlaces juntos, necesito que edites ese mensaje de pruebas y que coloques cada enlace entre etiquetas

Código: Seleccionar todo

[ /code] y un enlace por mensje.
Es sólo una prueba, yo mientras re-escribo el archivo

BBcode verificar links rotos

Publicado: 23 Ene 2011, 08:16
por happyman
leviatan21 escribió:Ok, dame tiempo que voy a re-escribir todo el widgets.php

Mientras, necesitaría que hagas una prueba, en lugar de hacer un solo mensaje con todos los enlaces juntos, necesito que edites ese mensaje de pruebas y que coloques cada enlace entre etiquetas

Código: Seleccionar todo

[ /code] y un enlace por mensje.
Es sólo una prueba, yo mientras re-escribo el archivo[/quote]

Ok, creo que lo he hecho como querías!! :ok:

BBcode verificar links rotos

Publicado: 23 Ene 2011, 16:40
por leviatan21
happyman escribió:Ok, creo que lo he hecho como querías!!
Bien, ahora prueba con este widgets.php

Re: BBcode verificar links rotos

Publicado: 23 Ene 2011, 18:52
por happyman
Ok, lo probaré, pero lo he puesto y no hace nada...
en las instrucciones para la instalación del mod hay esto:

Open: viewtopic.php

Find

Código: Seleccionar todo

include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
Add after

Código: Seleccionar todo

include($phpbb_root_path . 'widgets.' . $phpEx); //ADDED FOR WIDGETS MODIFICATIONS
Find

Código: Seleccionar todo

for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
{
Add after

Código: Seleccionar todo

//Sets all flags to default!
    $FLAGS['array'] = array();
    $FLAGS['dead'] = false;
    $FLAGS['num_dead'] = 0;
    $FLAGS['num_alive'] = 0;
    $FLAGS['total_size'] = 0;
    $FLAGS['total_links'] = 0;
Find

Código: Seleccionar todo

    $message = smiley_text($message);
Add After

Código: Seleccionar todo

    $message = change_code($message, $FLAGS);
Find

Código: Seleccionar todo

// we do not want to allow removal of the last post if a moderator locked it!
            !$row['post_edit_locked']
            )));
Add After

Código: Seleccionar todo

    if ($FLAGS['dead'] && !$row['post_reported']) {
        $dead_links = "";
        for ($ij = 0; $ij < count( $FLAGS['array'] ); $ij++) {
            $dead_links .= $FLAGS['array'][$ij] . "<br />";
        }
        $sql_ary = array(
            'reason_id' => 4,
            'post_id' => $row['post_id'],
            'pm_id' => 0,
            'user_id' => (int) $user->data['user_id'],
            'user_notify' => 0,
            'report_closed' => 0,
            'report_time' => (int) time(),
            'report_text' => $FLAGS['num_dead'] . " links are dead. Reported by Megachecker!<br />"
                    . "The dead links are: <br />" . $dead_links
        );
        $sql = 'INSERT INTO ' . REPORTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
        $db->sql_query($sql);
        $report_id = $db->sql_nextid();

        $sql = 'UPDATE ' . POSTS_TABLE . '
			SET post_reported = 1
			WHERE post_id = ' . $row['post_id'];
        $db->sql_query($sql);

        $sql = 'UPDATE ' . TOPICS_TABLE . '
                    SET topic_reported = 1
		    WHERE topic_id = ' . $topic_id . '
                    OR topic_moved_id = ' . $topic_id;
        $db->sql_query($sql);

        $row['post_reported'] = true;
    }
Debo modificar algo?

BBcode verificar links rotos

Publicado: 23 Ene 2011, 19:56
por leviatan21
happyman escribió:Ok, lo probaré, pero lo he puesto y no hace nada...
Lo re-escribí para que funcione de tal manera que si no es posible chequear los enlaces por CURL u otra vía, devuelva los enlaces tal cual fueron colocados.

Si no hay ni el más mínimo cambio, es porque tu servidor no lo permite, lo he probado y comprobado en varios sitios, inclusive el local y en todos funciona

BBcode verificar links rotos

Publicado: 24 Ene 2011, 07:39
por happyman
leviatan21 escribió:
happyman escribió:Ok, lo probaré, pero lo he puesto y no hace nada...
Lo re-escribí para que funcione de tal manera que si no es posible chequear los enlaces por CURL u otra vía, devuelva los enlaces tal cual fueron colocados.

Si no hay ni el más mínimo cambio, es porque tu servidor no lo permite, lo he probado y comprobado en varios sitios, inclusive el local y en todos funciona
...es decir, que subo el widgets que me has pasado y instalo el mod con los códigos de arriba, y debería pasar algo? Lo digo porque estoy algo confuso con esto...
Dices que tú lo has probado, pero instalando el mod? es decir, añadiendo el código de arriba al viewtopic.php?