MyBBoard Italia

Versione completa: [Minore] Ricerca nei templates
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Eseguendo una ricerca nei templates con lo script di ricerca nell'admincp, nel caso non esistano risultati viene restituito un warning.
Questo perchè non viene eseguito alcun controllo sull'esistenza o meno di risultati nella ricerca, ma viene subito fatto partire il ciclo iterativo sui risultati stessi (anche se inesistenti)

Codice PHP:
$query $db->query("SELECT tid, title, template, sid FROM ".TABLE_PREFIX."templates
 WHERE template LIKE '%"
.$db->escape_string($mybb->input['find'])."%' 
ORDER BY sid,title ASC"
);
        while(
$template $db->fetch_array($query))
        {
            if(
$template['sid'] == 1)
            {
                
$template_list[-2][$template['title']] = $template;
            }
            else
            {
                
$template_list[$template['sid']][$template['title']] = $template;
            }
        }

        
// Loop templates we found
        
foreach($template_list as $sid => $templates)
        { 
come si può notare $template_list può anche non essere dichiarato ma viene comunque processato.

Ho tentato di tamponare il problema con un cperror, ma si ottiene un risultato pessimo poichè prima di tutto vengono comunque chiamate
Codice PHP:
cpheader();
starttable();
tableheader($lang->search_results); 
che creano la testa della tabella: in questo modo non si ottiene il classico messaggio di errore, ma una "doppia tabella" molto confusa.

Sarebbe necessario riscrivere quella branca dell'if con una logica diversa.

mavericck
OPS! Già trattato a quanto pare Biggrin

http://community.mybboard.net/showthread.php?tid=12732

mavericck
URL di riferimento