Bug in .\client\modules\Elezioni\foto.php

Avvisi e discussioni su bug, soluzioni e migliorie del software

Moderatori: roby, Moderators

Rispondi
margottid
Newbie
Newbie
Messaggi: 193
Iscritto il: mar mag 12, 2009 12:00 am

Bug in .\client\modules\Elezioni\foto.php

Messaggio da margottid »

Ho aggiornato dalla versione 1.1.1a alla 2.0.a, ricreando le tabelle sulla base dello script SQL, e come ho indicato in questo messaggio:
http://www.eleonline.it/site/modules.ph ... topic&t=90

Nel file .\client\modules\Elezioni\foto.php, quando lo stemma non è stato caricato, viene proposto quello presente nella tabella soraldo_ele_conf:

Codice: Seleziona tutto

// nessuno stemma immagine vuota
if ($stemma==""){ 

$sql = "select stemma from ".$prefix."_ele_conf where id_com='0'";
Ma la nuova struttura della tabella NON prevede i campi "stemma" e "id_com" (e viene pertanto mostrata l'icona dell'immagine mancante).

Le possibili soluzioni sono:
- modificare il codice di "foto.php" affinché mandi in output un'immagine vuota "arbitraria";
- modificare la tabella "soraldo_ele_conf" ri-aggiungendo i campi che c'erano nella versione 1.1.1a (ma mi sembra che ora la tabella abbia una funzione diversa),
- modificare il codice di "foto.php" affinché legga il campo "stemma" da un'altra tabella (nuova o esistente), che però va creata o modificata appositamente.

Daniele
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

immagine mancante

Messaggio da roby »

Si la tabella ha una funzione diversa. Direi che va modificato il codice in modo che venga caricata una immagine predefinita. Però ci penso un pò.
Roberto
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Immagine logo

Messaggio da roby »

Ho modificato il file foto.php, ora in mancanza di un immagine carica il file "vuoto.jpg" gia' presente nella dir client/modules/Elezioni/images.
Il file puo' essere scaricato da qui:
https://trac.eleonline.it/eleonline/bro ... format=raw

Roberto
margottid
Newbie
Newbie
Messaggi: 193
Iscritto il: mar mag 12, 2009 12:00 am

Messaggio da margottid »

Sostituito.

Ma ho dovuto cambiare il percorso, da:

Codice: Seleziona tutto

$stemma =  fread( fopen( 'images/vuoto.jpg', 'r' ), filesize( 'images/vuoto.jpg' ) );
a

Codice: Seleziona tutto

$stemma =  fread( fopen( 'modules/Elezioni/images/vuoto.jpg', 'r' ), filesize( 'modules/Elezioni/images/vuoto.jpg' ) );
Daniele
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Messaggio da roby »

Hai ragione, e visto che ci siamo, è ancora meglio così:
if ($stemma=="" && is_readable('modules/Elezioni/images/vuoto.jpg')){
$stemma = fread( fopen( 'modules/Elezioni/images/vuoto.jpg', 'r' ), filesize( 'modules/Elezioni/images/vuoto.jpg' ) );}

in modo da non rischiare che si cerchi di aprire un file non accessibile.
Ho inoltre modificato questi file per correggere un errore (le modifiche andrebbero sempre testate!) che comportava la mancata visualizzazione dei dati:
https://trac.eleonline.it/eleonline/bro ... format=raw
https://trac.eleonline.it/eleonline/bro ... format=raw
https://trac.eleonline.it/eleonline/bro ... format=raw

In particolare per header e footer, che potreste aver personalizzato, la modifica riguarda la funzione stristr() nelle prime righe del file (una sola occorrenza per file), sono invertiti i parametri. Le righe giuste sono queste:
if (stristr($PHP_SELF,"header.php")) { #per il file header.php
if (stristr($PHP_SELF,"footer.php")) { #per il file footer.php

Roberto
Rispondi