Ciao a tutti,
vorrei visualizzare tutti i post del mio blog in una nuova pagina,
l'unico problema è che il servizio offerto da google, blogspot, non invia tutti i post.
Quindi sono in cerca di un hack funzionante:

Intanto sto utilizzando lo script Simplepie, per chi non lo sapesse è un semplice script per la gestione degli rss, o meglio un parser. Ti permette inoltre di gestire a propio piacimento l'impaginazione della "news".

In questa lotta contro blogspot ho creato due versioni di script, entrambe non funzionanti. Però rendeno l'idea su come agire su gli rss di blogspot e quali query effettuare, esponendo anche le sue probblematiche.

V. 0.1
Codice PHP:
// con $_POST['numero'], interrogo quanti post ci sono dentro il blog
// in modo da sapere il numero di query da effetuare
if(isSet($_POST['numero'])){
    
$n $_POST['numero'];
    
$n $n 1;
//Qui divido il numero di post per 15.
//15 è un numero da me scelto perchè è ne garantisce la visualizzazione di tutte le richieste

//Se il numero ottenuto non è intero(ovvero c'è il resto) aggiungo una pagina.
    
if(($n 15) > 0){
        
$n = (int) ( ( $n $n 15 ) / 15 );
        
$n $n+1;
    } else{
        
$n = (int) ( ( $n $n 15 ) / 15 );
    }
    
$i 0;
    for(
$i=0$i<$n$i++){
        if(
$i===0){
//Qui creo un'array, con il link da interrogare
//nel primo caso dichiaro che voglio il primo post con una visualizzazione
            
$links[] = "http://dragonsflyracingteam.blogspot.com/feeds/posts/default/?start-index=1&max-results=15";
        } else {
            
$p = ($i 15)+1;
//Qui i restanti post
            
$links[] = "http://dragonsflyracingteam.blogspot.com/feeds/posts/default/?start-index=".$p."&max-results=15";
        }       
    }

}
 
// Avvio la classe
$feed = new SimplePie();
 
// Setto l'arrai per essere processato
$feed->set_feed_url($links);
 
// Avvio SimplePie.
$feed->init();
 
// Passo al parse.
$feed->handle_content_type(); 
Il risultato però non è quello che speravo di ottenere, infatti ottengo, un post duplicato per il numero di query, con naturalmente il limite di 15 post diversi.

Forse, :master: google riconosce l'unico GET e risponde solo al primo.

Però se io apro 5 pagine per l'equivalente dei miei post nel blog il risultato è corretto.
da 1 a 15
da 16 a 31
da 32 a 47
da 48 a 63
da 64 a 69

Ho provato un'altro sperimento, anche questo fallito.
Ho diviso in due le query, gestendoli da due classi separate. Il risutato è di aver ottenuto sempre la prima pagina duplicata prima e dopo.
V. 0.2
Codice PHP:
//Inizio Simple pie
$feed = new SimplePie();
 
//Setto la prima query
$feed->set_feed_url(array(
'http://dragonsflyracingteam.blogspot.com/feeds/posts/default/?start-index=1&max-results=15'
));
 
//Avvio la simplepie
$feed->init();
 
$feed->handle_content_type();

//Cambio il nome della variabile da feed a feedb
$feedb = new SimplePie();
 
//mando una stringa diversa
$feedb->set_feed_url(array(
'http://dragonsflyracingteam.blogspot.com/feeds/posts/default/?start-index=16&max-results=15'
));
 
// Avvio simplepie
$feedb->init();

$feedb->handle_content_type(); 
Se riuscirò in questa impresa prometto di rilasciare tutto il codice in opensource e di farne un plugin per Simplepie.

Quindi spero nel vostro ingegno e nella vostra voglia di mettervi alla prova.

Grazie in anticipo,
Mauro.

PS: se servisse il blog è:
dragonsflyracingteam.blogspot.com
E l'atom è
dragonsflyracingteam.blogspot.com/feeds/posts/default/

PS: ogni suggerimento è ben accetto.