Back to top

Autore Topic: [RISOLTO] Inserire semaforo nel sito  (Letto 18698 volte)

Offline rudyn080

  • Esploratore
  • **
  • Post: 97
    • Mostra profilo
[RISOLTO] Inserire semaforo nel sito
« il: 14 Feb 2011, 13:11:25 »
Ciao ragazzi, dovrei inserire nel mio sito un'immagine con un semaforo che indica il livello di allerta della protezione civile (verde tutto ok, giallo c'è qualche casino, rosso emergenza)

L'immagine dovrebbero riuscire a modificarla anche altre persone oltre a me che sono il gestore del sito

Ho trovato qualcosa in rete ma non riesco ad adattarlo a joomla... non mi funziona...

Mi manca mi sa qualche passaggio o qualche parola dello script non giusta...

Vi riporto quello che ho trovato in rete... e magari così capite dove sta il problema....

Citazione
carica questi tre file sul tuo server nella root

rispetta i nomi e la struttura eh!!!
inoltre dovrai caricare sempre nella root i 3 colori con rosso.jpg,verde.jpg,giallo.jpg


alert.php
codice PHP:

<?php
/* 3 files
1. alert.php                    <-- il gestore del semaforo
2. utenti (senza estensione)    <-- dove ci sono gli utenti abilitati
   
struttura di utenti:

pippo
pass_pippo
<------>
tizio
pass_tizio

3. status (senza estensione)    <-- dove scriviamo lo stato del semaforo

*/

if (isset($_GET['inform']) && $_GET['inform']=='status')
  {
  $now_status=strtolower(trim(file_get_contents('status')));
  echo "document.getElementById('alert_status').innerHTML='<img src=\"$now_status.jpg\">';";
  die();
  }

   

if ((isset($_GET['user']) && !empty($_GET['user'])) &&
    (isset($_GET['user']) && !empty($_GET['user'])) &&
    (isset($_GET['user']) && !empty($_GET['user'])))
  {
   
  $request_status=urldecode(trim($_GET['status']));
  $now_status=file_get_contents('status');
   
  $login_user=urldecode(trim($_GET['user']));
  $login_pass=urldecode(trim($_GET['pass']));
   
   
  $utenti=explode('<------>',file_get_contents('utenti'));
   
   
  $logged=0;
  foreach ($utenti as $accoppiata)
    {
    list($db_user,$db_pass)=explode("\n",$accoppiata);
    if ($login_user == trim($db_user) && $login_pass == trim($db_pass))
      {
      $link=fopen('status','w+');
      fwrite($link,$request_status);
      fclose($link);
      break;
      }
    }
  die();
  }
echo "ci hai provato eh fringuellino?? :D";
die();
?>




utenti
codice PHP:

pippo
pluto




status
codice PHP:

rosso





test.html per provarlo
codice PHP:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, <a href="http://www.pspad.com" target="_blank">www.pspad.com[/url]">

  <title></title>
  </head>
  <body>
  <div id="alert_status"></div>
  <script src="alert.php?inform=status"></script>
  </body>
</html>




se vuoi cambiare lo stato del semaforo
codice:
www.tuosito/alert.php?user=pippo&am...mp;status=verde





dimenticavo... gli utenti devi scriverli a mano e il file di testo status deve essere con permessi 777 per poter essere aggiornato :)

inoltre se alla fine vorrai posizionare il semaforo sulla home page copia questo codice nella posizione in cui desideri che appaia
codice:
  <div id="alert_status"></div>
  <script src="alert.php?inform=status"></script>


Grazie in anticipo per il vostro interessamento

Matteo
« Ultima modifica: 17 Feb 2011, 18:25:36 da rudyn080 »

mau_develop

  • Visitatore
Re:Inserire semaforo nel sito
« Risposta #1 il: 14 Feb 2011, 13:54:52 »
if ((isset($_GET['user']) && !empty($_GET['user'])) &&
    (isset($_GET['user']) && !empty($_GET['user'])) &&
    (isset($_GET['user']) && !empty($_GET['user'])))
-------------------------------------------------------------------------------
paura che non sia settato l'user?

...script rischioso... è sempre rischioso uscire dal framework joomla. Pur essendo abbastanza banale entra in gioco l'autorizzazione e fare qualcosa per cui diventa necessario almeno un modulo.

Nel modulo puoi fare quello che volevi

es: codifichi le stringhe
verde -> md5(verde+rinforzo);
giallo ->  md5(giallo+rinforzo);

se l'user è di tua conoscenza (inserito magari in un array) o magari se ha un livello "speciale"
e
se la get di status è corretta (check della stringa)
query di update del db per il nuovo status
query di lettura dello status e ritorno alla view

devi stare attento a filtrare bene le request, i valori possono essere SOLO 3
if == or == or == -> allora fai qualcosa, altrimenti redirect all'index

M.

Offline rudyn080

  • Esploratore
  • **
  • Post: 97
    • Mostra profilo
Re:Inserire semaforo nel sito
« Risposta #2 il: 14 Feb 2011, 16:55:23 »
ti ringrazio per le dritte...

Ma purtroppo io sono un povero tapino che di linguaggio di programmazione non ne capisce niente...

Mi ero limitato a provare il tutto facendo esattamente quello che mi diceva di fare la guida che ho riportato...

Lo script non l'ho fatto io e non saprei manco da dove cominciare.

Per questo le modifiche che mi hai detto di apportare non saprei da dove iniziare..

Io purtroppo sto gestendo questo sito per un'associazione di volontariato (croce rossa) ma sono veramente alle basi...

Ti ringrazio se potessi aiutarmi più concretamente con qualcosa di già fatto o comunque mi dicessi passo passo quello che dovrei fare per arrivare al mio risultato.

Grazie moltissimo mau_develop

mau_develop

  • Visitatore
Re:Inserire semaforo nel sito
« Risposta #3 il: 14 Feb 2011, 17:19:55 »
guarda... se in qs giorni mi avanza un'oretta ti metto giù due righe ...ma se si fa avanti qualcuno benissimo lo stesso :)

M.

Offline rudyn080

  • Esploratore
  • **
  • Post: 97
    • Mostra profilo
Re:Inserire semaforo nel sito
« Risposta #4 il: 14 Feb 2011, 21:01:29 »
Grazie moltissimo per il tuo aiuto mau_develop!! ;)


mau_develop

  • Visitatore
Re:Inserire semaforo nel sito
« Risposta #5 il: 14 Feb 2011, 21:17:55 »
...ascolta... hai un joomla locale dove provarlo?

M.

Offline rudyn080

  • Esploratore
  • **
  • Post: 97
    • Mostra profilo
Re:Inserire semaforo nel sito
« Risposta #6 il: 14 Feb 2011, 21:44:50 »
No non ce l'ho...

Però ho un altro sito online dove faccio prima le prove per evitare di fare disastri...

mau_develop

  • Visitatore
Re:Inserire semaforo nel sito
« Risposta #7 il: 14 Feb 2011, 22:12:56 »
lo script l'ho fatto, dovrebbe funzionare ma nn ho potuto provare se funziona poichè il mio joomla in locale è configurato un po' strano....
domani pomeriggio te lo passo e ti spiego il concetto

M.

Offline rudyn080

  • Esploratore
  • **
  • Post: 97
    • Mostra profilo
Re:Inserire semaforo nel sito
« Risposta #8 il: 14 Feb 2011, 22:19:50 »
Grazie moltissimo per il grande aiuto.

Ci si sente domani x gli aggiornamenti!!   :)

mau_develop

  • Visitatore
Re:Inserire semaforo nel sito
« Risposta #9 il: 15 Feb 2011, 12:41:08 »
ed eccolo :) ... speriamo bene.

Dovrebbe installarsi mentre il db lo devi inserire tu a mano.
ho messo jos_ come prefisso ma se il tuo è diverso cambialo dove appare nel file .sql
Se manipoli i files ricordati di farlo SOLO con notepad++ o con un editor utf8.

Nella configurazione del modulo puoi scegliere una key per ognuno dei tre colori, es:

nel campo del verde:  123
nel campo del giallo:  456
nel campo del rosso:  789

nel capo degli utenti autorizzati (devono essere registrati sul lato pubblico, non funziona se lo usi da superadmin etc lato admin)) devi inserire gli id separati da virgola senza spazi oppure un unico id senza null'altro... dipende da chi autorizzi.
Gli id li trovi in gestione utenti all'estrema dx.

Dovrai dargli una posizione nel template.

Questi sono i css che lo governano:
#semaforo_red{
   width:100px;
   height:150px;
   background-color:#ff0000;
}
#semaforo_green{
   width:100px;
   height:150px;
   background-color:#07A937;
}
#semaforo_yellow{
   width:100px;
   height:150px;
   background-color:#FFF420;
}

io ho messo un colore ma puoi anche inserire un'immagine col css (3 img diverse ovviamente)
La dimensione la setti come ho fatto io.

Per cambiare colore:
- Se sei registrato e sei riconosciuto come id autorizzato
- Inserisci nell'url del sito: http://www.pippo.it/?color=123 (<- per il verde );

verrà memorizzato nel db lo storico dei cambiamenti con l'id dell'utente che li ha fatti e verrà sempre preso l'ultimo record.
Dopo un po' se la tabella pesa puoi svuotare le prime righe che tanto servono solo a sapere chi è stato a cambiare il colore.

Se l'user autorizzato fosse col nick MILANO, è banale far apparire anche la scritta MILANO sopra il semaforo...casomai sia riferito a chi lo setta.

boh... prova sul sito test...magari mandami un link...
SE NON SEI SICURO DI QUALCOSA o qualcosa va male aspetta prima di smanacciare sennò poi non capisco più nulla, disabilitalo (published=0 in jos_modules) e tutto dovrebbe tornare a funzionare normalmente.

M.

[allegato eliminato da un amministratore]
« Ultima modifica: 15 Feb 2011, 12:42:52 da mau_develop »

Offline rudyn080

  • Esploratore
  • **
  • Post: 97
    • Mostra profilo
Re:Inserire semaforo nel sito
« Risposta #10 il: 15 Feb 2011, 15:40:50 »
Innanzitutto grazie sei unico per avermi creato un modulo tutto per me!!!

Ho seguito le istruzioni...ma mi sa che mi sono perso qualcosa... perchè sono sicuro che deve funzionare!!

Allora:

1) ho installato il componente, attivato, impostato gli user abilitati e le key per i colori.... (tutto ok)

2) il componente l'ho messo come posizione nella colonna di sinistra in fondo

3) ho copiato nel css (dopo la voce MODULES) quello che andava copiato nel template.css

Ho provato a loggarmi e inviare la stringa del mio sito prova per far cambiare colore ma non succede nulla...

Mi sa che mi sono perso nella fase del database...

Come faccio ad inserire il database a mano??

Facciamo così... in pm ti mando uno user e una password con livello admin e il link del sito così vedi cos'è che non va...

Poi quando abbiamo risolto mettiamo qui la soluzione..

Che ne dici?

Resta il fatto che sei unico.. non avrei mai pensato di trovare una persona così disponibile tanto da costruirmi un modulo ad ok!!  :)

mau_develop

  • Visitatore
Re:Inserire semaforo nel sito
« Risposta #11 il: 15 Feb 2011, 16:37:50 »
3) ho copiato nel css (dopo la voce MODULES) quello che andava copiato nel template.css
----------------------------------------------------------------
qs non mi è chiaro.
Le righe andavano incollate dove vuoi in un qualsiasi dei css che vengono caricati nel tuo template

se hai installato correttamente la tabella del db dovresti vedere di default un fondo verde

che prefisso hai per le tabelle nel db? ..del db di test non quello del sito vero...

M.

EDIT:
mmhh si, mi sa che c'è qualcosa che non va nel db, nel codice il modulo c'è:

<div id="semaforo_"></div>      </div>

il problema è:  semaforo_

se venisse letto il db sarebbe: semaforo_green e prenderebbe appunto il css #semaforo_green

non avrei mai pensato di trovare una persona così disponibile
-------------------------------------------------------------------------------------
beh visto lo scopo

M.
« Ultima modifica: 15 Feb 2011, 16:45:12 da mau_develop »

Offline rudyn080

  • Esploratore
  • **
  • Post: 97
    • Mostra profilo
Re:Inserire semaforo nel sito
« Risposta #12 il: 15 Feb 2011, 20:17:24 »
Scusa l'assenza ma sono stato in servizio fino ad ora...

Il problema è che io non ho creato la tabella database perchè non so come crearla/installarla e cosa scriverci dentro...

Ho guardato nella configurazione e il prefisso è jos_

direi di cominciare a risolvere questo problema della tabella che non sono capace ad inserire.......

mau_develop

  • Visitatore
Re:Inserire semaforo nel sito
« Risposta #13 il: 15 Feb 2011, 20:24:41 »
facile! sai come entrare in phpmyadmin? credo di si... entraci e vai sul db che contiene le tabelle di Joomla.

in alto trovi un menù "importa"...  sfoglia.. clicchi e trovi il file .sql che ti ho passato che hai messo sul desktop...poi in basso a dx "esegui.

se non da errori dovresti avere la tabella jos_semaforo tra quelle di joomla

M.

PS ..se da errore dimmi quale...
« Ultima modifica: 15 Feb 2011, 20:26:43 da mau_develop »

Offline rudyn080

  • Esploratore
  • **
  • Post: 97
    • Mostra profilo
Re:Inserire semaforo nel sito
« Risposta #14 il: 15 Feb 2011, 20:46:16 »
purtroppo non ho mai gestito il database di joomla..

E solo stasera sono venuto a conoscenza di phpmyadmin... lo sto installando...

vediamo se una volta installato riesco a configurarlo con i dati che mi ha dato il provider...

mau_develop

  • Visitatore
Re:Inserire semaforo nel sito
« Risposta #15 il: 15 Feb 2011, 20:47:29 »
... lo sto installando...
------------------------------------
no no aspetta... cos'hai a disposizione sull'host per gestire il db?

M.

...accidenti... non partire come un missile...io dico tu fai :) sennò divento matto

se proprio sei nei guai ti faccio l'installer automatico anche della tabella piuttosto..
« Ultima modifica: 15 Feb 2011, 20:50:53 da mau_develop »

Offline rudyn080

  • Esploratore
  • **
  • Post: 97
    • Mostra profilo
Re:Inserire semaforo nel sito
« Risposta #16 il: 15 Feb 2011, 20:52:12 »
ok ho guardato i fogli della registrazione ed è già installato sul loro server phpmyadmin..

adesso inserisco il mio user e password e ti dico se mi fa importare la tua tabella

Offline rudyn080

  • Esploratore
  • **
  • Post: 97
    • Mostra profilo
Re:Inserire semaforo nel sito
« Risposta #17 il: 15 Feb 2011, 20:58:58 »
Perfetto... installata la tabella correttamente

Ora sul sito che ti ho inviato in mp se vai a vedere esce il riquadro verde...

Però anche se sono loggato e invio la stringa per cambiare colore non me la cambia...

mau_develop

  • Visitatore
Re:Inserire semaforo nel sito
« Risposta #18 il: 15 Feb 2011, 21:02:14 »
Ok, hai inserito il tuo user id tra quelli autorizzati?

hai per caso usato quello da superadmin? se si, creane uno diverso come normale user registrato

M.

Offline rudyn080

  • Esploratore
  • **
  • Post: 97
    • Mostra profilo
Re:Inserire semaforo nel sito
« Risposta #19 il: 15 Feb 2011, 21:06:35 »
ho provato ma rimane sempre verde

prova anche tu se vuoi

user: cro

psw: cro

www.cro.ilbello.com

tanto è un sito di prova....

 



Web Design Bolzano Kreatif