Pagina 1 di 1

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

Inviato: mar feb 23, 2010 3:34 pm
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

immagine mancante

Inviato: mar feb 23, 2010 4:12 pm
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

Immagine logo

Inviato: mar feb 23, 2010 5:40 pm
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

Inviato: mer feb 24, 2010 8:47 am
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

Inviato: mer feb 24, 2010 4:05 pm
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