Simpleviewer – utility

airtightinteractive.jpg

Chi conosce simpleviewer sa che per “uploadare” foto e inserirle nella presentazione flash bisogna modificare a mano il file gallery.xml…
In internet sono presenti degli script in php che, caricati i file nella cartella delle imamgini, si occupano di creare le anteprime e modificare il file gallery.xml, (altra scocciatura che però è stata risolta con questi script) il fatto è che questo script genera in automatico i commenti per le foto. Uno li può anche modificare, ad esempio io ho modificato lo script in modo che sotto all’anteprima della foto venisse fuori il nome del file, però se un utente volesse modificare quel commento dovrebbe scaricarsi il file gallery.xml e con un editor di testo modificare i tag xml contenenti il commento.

Ovviamente quando le foto iniziano ad essere troppe (ma già quando son meno di 10 è uno stress) questo lavoro diventa faticoso. Così ho pensato di realizzare un programma che chiede automaticamente specificando il nome del file se si vuole mantenere il commento. Le funzioni della “utility” sono le seguenti:

  • aggiungere un collegamento “scarica qui” alla fine del commento di una o più foto, che se premuto permetterà agli utenti di visualizzarla in un altra pagina permettendo il download
  • scegliere se mantenere il commento o modificarlo ( N.B. se si è deciso di aggiungere un collegamento a fine commento e si vuole mantenere il commento il programma aggiungerà semplicemente il collegamento “scarica qui”)
  • se si sceglie di non aggiungere il collegamento alla fine del commento, ma si sta operando su di un file gallery.xml che contiente già il codice “scarica qui” o un altro tipo (ad esempio il collegamento creato con buildgallery.php), e successivamente si sceglie di mantenere il commento della foto , allora il collegamento verò mantenuto sennnò verrà sovrascritto l’intero commento.

Allego qui sotto il sorgete del programmino, per correzioni o miglioramenti sono sempre a disposizione.

 

Scrivo una miniguida su come compilare (per chi non lo sapesse) il programmino:

salviamo il sorgente sottostante in un file con estensione .cpp

installiamo il compilatore g++:

sudo apt-get install g++

compiliamo e “generiamo” il file:

g++ -Wall -c “nomefile.cpp”

g++ -Wall “nomefile.cpp” -o plus

eseguiamo il file da shell

./nomefile

N.B. Per funzionare correttamente il file gallery.xml deve essere nella stessa directory del programma eseguibile e non deve contenere incoerenze ( ad esempio spazi vuoti tra diversi tag ecc… ma se non ci avete messo le mani sono già ben “indentati” per parlare in gergo tecnico). Questo sorgente è soggetto alle regole e alle licenze poste nella pagina “Licenza & Regolamento”

Lo sapevate che per scaricare qualsiasi file ( file.est ) dal web è sufficiente scrivere nella shell:

wget http://www.sito.it/file.est

Ecco il codice:

#include <iostream>
#include <fstream>
#include <string.h>

/*Modificatori di stringa*/
#define norm “\e[0m”/*Normale*/
#define lumi “\e[1m”/*Luminoso*/
/*Definizione 7 colori Foreground*/
#define rosso “\e[31m” /*ROSSO*/
#define verde “\e[32m” /*VERDE*/
#define blu “\e[34m” /*BLU*/

using namespace std;
void concatena(string s);
string nomefile(string s);
string ecommento(string s);
string file=””;
bool x=false;

int main(int argc, char *argv[])
{

string link=””;
string nome;
string nomef;
char commento[70];
char f[1];
ofstream outfile;

fstream ffile;

cout<<string(lumi)<<string(rosso)<<“\t\t .-: Edit gallery.xml :-. programmed by Zizzi \n\n”;
cout<<string(norm)<<string(verde)<<“Vuoi aggiungere un link a fine commento per aprire l’immagine nelle sue dimensioni reali ? s/n “;
fflush(stdin);
if(getchar()==’s’)
x=true;
fflush(stdin);

if(!ffile)
{
cout<<“FILE NON TROVATO\n\n”;

exit(1);
}
ffile.open (“gallery.xml”);
while (! ffile.eof() )
{
getline (ffile,nome);
concatena(nome);

if (nome.compare(0,7,”<image>”)==0)
{
getline (ffile,nomef); concatena(nomef);

cout <<string(verde)<< “\n–> mantieni il commento per: “<< nomefile(nomef) <<” s/n ? “;
scanf(“%s”,f);

if(string(f).compare(“n”)==0) //modifico il commento
{ fflush(stdin);
getchar();
cout<<“x: “<<x;
cout<<“—>scrivi il commento: “<<string(rosso);
cin.getline(commento,70);
if(x) link=”<![CDATA[ “+string(commento)+” <a href=\”images/”+nomefile(nomef)+”\” target=\”_blank\”><u>scarica qui</u></a> ]]>”;
else link=string(commento);

string temp=”\t<caption>”+link+”</caption>”;

concatena(temp);
getline (ffile,nome);

}
else
{ //il commento resta così a parte il collegamento
getline (ffile,nome);

if(x) link=”<![CDATA[“+ecommento(nome)+”<a href=\”images/”+nomefile(nomef)+”\” target=\”_blank\”><u>scarica qui</u></a> ]]>”;
else link=ecommento(nome);
concatena(“\t<caption>”+link+”</caption>”);}

}

}
ffile.close();
outfile.open (“gallery.xml”);

outfile<<file;
outfile.close();

cout<<string(blu)<<“\n—>scrittura di gallery.xml avvenuta con successo\n\n”;

return EXIT_SUCCESS;
}

void concatena(string s)
{
file=file+s+”\n”;
}

string nomefile(string s)
{
int i=s.length();
return s.substr(11,i-1 -22);
}

string ecommento(string s)
{
int i=s.length();
if(!x) //non volgio mettere un collegamento alla fine
return s.substr(10,i -20);
else
{
int r,t;
t=s.find(“<![CDATA[“,0);
if (t==-1) return ” “+s.substr(10,i -20)+” “; // non ci sono collegamenti quindi ritorno il commento di testo
r=s.find(“<a”,t+9);
string h=s.substr(t+9,r-t-9);
return h; // ritorna il commento
}
}

Per chi lo desiderasse è disponibile l’eseguibile per windows.

20 risposte a Simpleviewer – utility

  1. rossella scrive:

    Dove posso trovarlo l’eseguibile per windows? grazie e complimeti per lo script e l’idea e’ ottima io sto usando simple viewer su un sito e’ ottimo

  2. tuxexperience scrive:

    daccordo ti invio una mail con il file eseguibile che ho compilato… fammi sapere come funziona e se ti piace com’è fatto !

  3. marco scrive:

    ciao la tua idea è ottima ma nella sostanza non ho capito molto la parte “tecnica”; questo programma posso averlo anche io nella versione semplice?🙂 Altra cosa: ho realizzato il mio sito con Simple Viewer ma è possibile modificare il font del testo che compare? inserire altri campi di testo? grazie

  4. tuxexperience scrive:

    ciao, in pratica il programma cambia il commento alla foto e se vuoi aggiunge un link per scaricare direttamente la foto dall cartella “images” in “simpleviewer” nel tuo sito… ho provato a inserire anche io altre scritte ma lo sfondo cambia ed è brutto da vedere, riguardo ai caratteri si, si possono cambiare devi anche li aggiungere uno stile in linguaggio html alla parte html dell index.html della pagina della foto oppure devo cambiare lo stile nel file .xml

  5. rossella scrive:

    Ciao scusami per il ritardo nella risposta
    problemi con il pc putroppo l antivirus mi ha cancellato il file che mi hai mandato me lo potresti rimandare grazie mille

  6. cinghios scrive:

    ciao, scusami ho un problema con simpleviewer. Volevo sapere come si fa ad aggiungere il classico link “torna indietro” che mi rimanda alla pagina personale del sito. Il problema si potrebbe sviare aprendo la galleria in una nuova pagina, ma dal punto di vista estetico non mi attira molto come idea.
    Ti ringrazio
    cia ciaooooo

  7. tuxexperience scrive:

    basta che inserisci questo tag html prima di nell’index.html nella cartella di simpleviewer: Home così ti crea un collegamento alla home !

    • Daniele scrive:

      Scusami ma non ho capito quale tag va inserito e dove…
      Non riesco a trovare una personalizzazione per simpleviewer…
      Io genero la gallry con lightroom ma non riesco ad inserire un tasto/Link torna indietro!
      Grazie

      • tuxexperience scrive:

        devi inserirlo tu modificando la pagina dove hai inserito la gallery, fuori dai tag del simpleviewer devi inserire un semplice link in html alla home…

  8. Gianluca scrive:

    Ciao.. sapresti dirmi se c’e’ un modo per rendere trasparente il fondo del viewer e per cambiare colore delle frecce che permettono di navigare tra i thumbnails? Vorrei fare lo sfondo nero ma le frecce essendo nere non sono piu’ visibili.
    grazie

  9. tuxexperience scrive:

    ciao , basta che modifichi il tag background-color nell’index.html del simpleviewer, comunque io le freccie le ho bianche di default e sfondo nero anche di default

  10. Nello scrive:

    Ciao, senti avevo in mente un’idea per modificare simpleviewer,,,,solo che mi sto scioccando e non ci riesco. L’idea consiste nel creare nel caption del file xml un link, in modo tale che quando un utente clicca sul nome della foto, possa direttamente scaricarla da una cartella o link che vado ad impostare io. Che ne pensi? E’ fattibile o troppo difficile? se vuoi possiamo collaborare pertedimalta ATTT libero.it

  11. tuxexperience scrive:

    Si beh, ma è molto simile a quell oche ho fatto io, ho messo un link alla fine del commento della foto dove ti permette di scaricarla basterebbe modificare una cosa sul programma e il gioco è fatto..

  12. Danilo scrive:

    Ciao tuxexperience. Sarebbe possibile modificare le dimensioni delle thumbs (un pochino più grandi) di Simpleviewer? Ciao

  13. Andrea scrive:

    Ciao, ho “incontrato” in internet, simpleviewer solo questa mattina. Mi potresti cortesemente inviarmi l’eseguibile per windows?.
    Grazie ancora per il lavoro che hai fatto.
    Andrea

  14. labiocontadina scrive:

    qualcuno di voi cortesemente mi sa dire se è possibile avere una galleria di simpleviewer diversa per più pagine del sito? mi spiego meglio.: dalla home vado in escursioni mare e lì ho la pagina delle foto relative, se vado in escursioni montagna ho bisogno di una galleria ovviamente diversa. ho provato ma non sono riuscita in alcun modo.

  15. Acoustic scrive:

    Ciao a tutti… solo una curiosità: simpleviewer è utilizzabile con Flash Mx vers. 6.0?
    Grazie a tutti.

  16. alessandro scrive:

    ciao.io uso simpleviewer ma quando lo carico su internet tramite ftp con le relative cartelle e le foto,quando vado x visualizzarlo mi da delle X bianche e non mi fa vedere le foto?che devo fare?sto impazzendo…non so piu come modificare il file xml ho provato in tante maniera ma mi spuntano sempre le solite X bianche…..vi prego dademi una mano x favore!!!spero a presto…

    • tuxexperience scrive:

      eh vuol dire che non trova i collegamenti alle immagini o le thumb, le hai messe sulla cartella giusta? la cartella di simple deve essere dentro la cartella della pagina sulla quale deve funzionare…

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: