Gemini

Untitled

Jun 23rd, 2011
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 15.34 KB | None | 0 0
  1. <?php
  2. /*========================================================================================
  3.     $forms
  4.     crea dinamicamente un form usando come tipi:
  5.         - id: nascosto, contiene il nome dell'id
  6.         - text: campo di testo a linea singola
  7.         - list: campo select ordinato => stype, has_null
  8.         - upld: campo per l'upload di file
  9.         - date: campo di testo con data formattata
  10.         - time: nascosto, richiama time() [solo submit/edit]
  11.    
  12.     parametri applicabili per ogni riga:
  13.         - type: tipo di campo (lista poco sopra)
  14.             - stype: campo extra del tipo
  15.              * Per le liste vale slang, genre, platform, ecc...
  16.              * Per gli upload descrive la directory di destinazione.
  17.             - has_null: permette di avere una lista con valore nullo se impostato su 1
  18.         - name: nome del campo nella tabella
  19.         - desc: descrizione nel campo
  20.         - tooltip: descrizione extra tramite tooltip
  21.         - optional: se è impostato e vale 1 il campo può essere tralasciato
  22. =========================================================================================*/
  23. $forms=array(
  24.     // gioco
  25.     'game' => array
  26.     (
  27.         // id
  28.         array('type' => 'id','name' => 'id_gioco'),
  29.         // nome
  30.         array('type' => 'text','name' => 'nome',
  31.             'desc' => 'Nome',
  32.             'tooltip' => "Nome originale del gioco, di norma quello giapponese."),
  33.         // nome alternativo
  34.         array('type' => 'text','name' => 'nome_alternativo',
  35.             'desc' => 'Nome alternativo',
  36.             'tooltip' => "Nome secondario del gioco. Pu&ograve; essere il nome di una patch associata o quello utilizzato dalle versioni occidentali nel caso di un gioco giapponese.",
  37.             'optional' => '1'),
  38.         // sviluppatore
  39.         array('type' => 'text','name' => 'sviluppatore',
  40.             'desc' => 'Sviluppatore',
  41.             'tooltip' => "Casa di sviluppo del gioco, da non confondere con il distributore."),
  42.         // data di rilascio
  43.         array('type' => 'text','name' => 'data_rilascio',
  44.             'desc' => 'Data di rilascio',
  45.             'tooltip' => "Data in cui il gioco &egrave; stato rilasciato in formato giorno/mese/anno. Se il gioco non &egrave; stato mai rilasciato usare \"Cancellato\", mentre se la data &egrave; sconosciuta lasciare il campo vuoto.",
  46.             'optional' => '1'),
  47.         // genere
  48.         array('type' => 'list','name' => 'genere',
  49.             'desc' => 'Genere',
  50.             'stype' => 'genre',
  51.             'tooltip' => "Genere a cui appartiene il gioco."),
  52.         // piattaforma
  53.         array('type' => 'list','name' => 'piattaforma',
  54.          'desc' => 'Piattaforma',
  55.             'stype' => 'platform',
  56.             'tooltip' => "Piattaforma su cui gira il gioco."),
  57.         // immagine del titolo
  58.         array('type' => 'urli','name' => 'img_titolo',
  59.             'desc' => 'Immagine del titolo (URL)',
  60.             'stype' => 'upload/title/',
  61.             'tooltip' => "Immagine del titolo, rigorosamente della versione originale.",
  62.             'optional' => '1'),
  63.         // descrizione
  64.         array('type' => 'area','name' => 'descrizione',
  65.             'desc' => 'Descrizione',
  66.             'tooltip' => 'Una breve descrizione del gioco. Qualora mancasse l&#39;ispirazione, copia carbone da Wikipedia.',
  67.             'optional' => '1')
  68.     ),
  69.     // progetto
  70.     'project' => array
  71.     (
  72.         // id
  73.         array('type' => 'id','name' => 'id_project'),
  74.         // ultimo aggiornamento
  75.         array('type' => 'time', 'name' => 'last_change'),
  76.         // gioco
  77.         array('type' => 'list','name' => 'id_game',
  78.             'desc' => 'Gioco',
  79.             'stype' => 'game',
  80.             'tooltip' => "Gioco utilizzato per il progetto (NB: viene mostrato solo il nome originale)."),
  81.         // autore
  82.         array('type' => 'list','name' => 'id_author',
  83.             'desc' => 'Autore',
  84.             'stype' => 'author',
  85.             'tooltip' => "Autore principale del progetto, da selezionare dal database degli utenti nel forum."),
  86.         // lingua di partenza
  87.         array('type' => 'list','name' => 'lingua_originale',
  88.             'desc' => 'Lingua originale',
  89.             'stype' => 'slang',
  90.             'tooltip' => "Lingua da cui si &egrave; partiti per la traduzione."),
  91.         // lingua di arrivo
  92.         array('type' => 'list','name' => 'lingua_destinazione',
  93.             'desc' => 'Lingua della traduzione',
  94.             'stype' => 'dlang',
  95.             'tooltip' => "Lingua di arrivo della traduzione."),
  96.         // regione da usare
  97.         array('type' => 'list','name' => 'regione_usata',
  98.             'desc' => 'Regione',
  99.             'stype' => 'region',
  100.             'tooltip' => "Versione del gioco utilizzata per il progetto."),
  101.         // stato
  102.         array('type' => 'list','name' => 'stato',
  103.             'desc' => 'Stato',
  104.             'stype' => 'status',
  105.             'tooltip' => "Stato corrente del progetto. Si auto-imposta su Sospeso dopo 6 mesi di inattivit&agrave."),
  106.         // percentuale
  107.         array('type' => 'text','name' => 'percentuale',
  108.             'desc' => 'Percentuale',
  109.             'tooltip' => 'Percentuale globale di progresso del progetto, non necessita del simbolo "%".'),
  110.         // screenshot 1
  111.         array('type' => 'urli','name' => 'pict_1',
  112.             'desc' => 'Immagine 1 (URL)',
  113.             'stype' => 'upload/screenproj/',
  114.             'tooltip' => "Screenshot della traduzione."),
  115.         // screenshot 2
  116.         array('type' => 'urli','name' => 'pict_2',
  117.             'desc' => 'Immagine 2 (URL)',
  118.             'stype' => 'upload/screenproj/',
  119.             'tooltip' => "Screenshot della traduzione.",
  120.             'optional' => '1'),
  121.         // screenshot 3
  122.         array('type' => 'urli','name' => 'pict_3',
  123.             'desc' => 'Immagine 3 (URL)',
  124.             'stype' => 'upload/screenproj/',
  125.             'tooltip' => "Screenshot della traduzione.",
  126.             'optional' => '1'),
  127.         // screenshot 4
  128.         array('type' => 'urli','name' => 'pict_4',
  129.             'desc' => 'Immagine 4 (URL)',
  130.             'stype' => 'upload/screenproj/',
  131.             'tooltip' => "Screenshot della traduzione.",
  132.             'optional' => '1'),
  133.         // descrizione
  134.         array('type' => 'area','name' => 'proj_desc',
  135.             'desc' => 'Descrizione',
  136.             'tooltip' => 'Una descrizione medio-lunga in cui spiegare i punti salienti del progetto e lo stato di progresso.'),
  137.     ),
  138.     // traduzione
  139.     'patch' => array
  140.     (
  141.         // id
  142.         array('type' => 'id','name' => 'id_patch'),
  143.         // gioco
  144.         array('type' => 'list','name' => 'id_game',
  145.             'desc' => 'Gioco',
  146.             'stype' => 'game',
  147.             'tooltip' => "Gioco utilizzato per la traduzione. NB: viene mostrato solo il nome originale!"),
  148.         // lingua della traduzione
  149.         array('type' => 'list','name' => 'id_lang',
  150.             'desc' => 'Lingua',
  151.             'stype' => 'slang',
  152.             'tooltip' => "Lingua di arrivo della traduzione."),
  153.         // link dell'autore
  154.         array('type' => 'list','name' => 'id_link',
  155.             'desc' => 'Autore patch',
  156.             'stype' => 'pauthor',
  157.             'tooltip' => "Autore della traduzione preso dal database dei gruppi."),
  158.         // regione da usare
  159.         array('type' => 'list','name' => 'id_region',
  160.             'desc' => 'Regione',
  161.             'stype' => 'region',
  162.             'tooltip' => "Versione del gioco utilizzata per la traduzione."),
  163.         // versione della patch
  164.         array('type' => 'text','name' => 'version_patch',
  165.             'desc' => 'Versione della patch',
  166.             'tooltip' => "Nome della versione della patch. Es: 1.0, BETA, ecc..."),
  167.         // stato
  168.         array('type' => 'list','name' => 'id_status',
  169.             'desc' => 'Stato',
  170.             'stype' => 'status',
  171.             'tooltip' => 'Stato di completamento della traduzione.'),
  172.         // percentuale
  173.         array('type' => 'text','name' => 'percentage_patch',
  174.             'desc' => 'Percentuale di completamento',
  175.             'tooltip' => 'Valore numerico da 1 a 100 (0 non &egrave; accettato). Non necessita del simbolo "%".'),
  176.         // file della patch
  177.         array('type' => 'urld','name' => 'file_patch',
  178.             'desc' => 'File della patch (URL)',
  179.             'stype' => 'downloads/patches/',
  180.             'optional' => '1',
  181.             'tooltip' => 'Indirizzo URL al file della traduzione (massimo 10 MB). NB: il formato da usare deve essere Zip, Rar o 7z e gli archivi devono contenere almeno un file readme di supplemento.'),
  182.         // data di rilascio
  183.         array('type' => 'date','name' => 'release_date',
  184.             'desc' => 'Data di rilascio',
  185.             'optional' => '1',
  186.             'tooltip' => 'Data di rilascio della traduzione. Se non &egrave; conosciuta spuntare la casella "Nessuna data".'),
  187.         // screenshot 1
  188.         array('type' => 'urli','name' => 'pict_1',
  189.             'desc' => 'Immagine 1 (URL)',
  190.             'stype' => 'upload/patch/screens/',
  191.             'tooltip' => "Screenshot della traduzione."),
  192.         // screenshot 2
  193.         array('type' => 'urli','name' => 'pict_2',
  194.             'desc' => 'Immagine 2 (URL)',
  195.             'stype' => 'upload/patch/screens/',
  196.             'optional' => '1',
  197.             'tooltip' => "Screenshot della traduzione."),
  198.         // screenshot 3
  199.         array('type' => 'urli','name' => 'pict_3',
  200.             'desc' => 'Immagine 3 (URL)',
  201.             'stype' => 'upload/patch/screens/',
  202.             'optional' => '1',
  203.             'tooltip' => "Screenshot della traduzione."),
  204.         // screenshot 4
  205.         array('type' => 'urli','name' => 'pict_4',
  206.             'desc' => 'Immagine 4 (URL)',
  207.             'stype' => 'upload/patch/screens/',
  208.             'optional' => '1',
  209.             'tooltip' => "Screenshot della traduzione."),
  210.         // descrizione
  211.         array('type' => 'area','name' => 'patch_description',
  212.             'desc' => 'Descrizione',
  213.             'tooltip' => 'Breve descrizione di cosa contiene la traduzione ed eventualmente di cosa &egrave; stato cambiato.')
  214.     ),
  215.     // collaborazioni
  216.     'ads' => array
  217.     (
  218.         // id
  219.         array('type' => 'id','name' => 'id_ad'),
  220.         // data aggiornamento
  221.         array('type' => 'time','name' => 'last_change','optional' => '1'),
  222.         // autore libero
  223.         array('type' => 'text','name'=> 'author_name',
  224.             'desc' => 'Nome',
  225.             'tooltip' => 'Il nick da usare per identificarvi come autori della richiesta.'),
  226.         // email
  227.         array('type' => 'text','name'=> 'author_email',
  228.             'desc' => 'E-Mail',
  229.             'tooltip' => 'Verr&agrave; usata come indirizzo mostrato nel modulo per i contatti.'),
  230.         // gioco
  231.         array('type' => 'text','name'=> 'game_name',
  232.             'desc' => 'Gioco',
  233.             'tooltip' => 'Il nome del gioco.'),
  234.         // piattaforma
  235.         array('type' => 'list','name' => 'game_platform',
  236.             'desc' => 'Piattaforma',
  237.             'stype' => 'platform',
  238.             'tooltip' => 'Piattaforma su cui gira il gioco.'),
  239.         // tipologia
  240.         array('type' => 'list','name' => 'id_type',
  241.             'desc' => "Tipologia d'aiuto",
  242.             'stype' => 'adtype',
  243.             'tooltip' => 'Tipologia di aiuto che si sta cercando.'),
  244.         // sito autore
  245.         array('type' => 'text','name' => 'author_link',
  246.             'desc' => 'Link',
  247.             'tooltip' => 'Link ad una pagina del progetto o al proprio sito personale.',
  248.             'optional' => '1'),
  249.         // descrizione
  250.         array('type' => 'area','name' => 'description',
  251.             'desc' => 'Descrizione',
  252.             'tooltip' => 'Breve descrizione di ci&ograve; che si sta cercando.'),
  253.     ),
  254.     // programma
  255.     'tool' => array
  256.     (
  257.         // id
  258.         array('type' => 'id','name' => 'id_tool'),
  259.         // nome
  260.         array('type' => 'text','name' => 'name_tool',
  261.             'desc' => 'Nome',
  262.             'tooltip' => 'Nome del programma per esteso.'),
  263.         // link dell'autore
  264.         array('type' => 'list','name' => 'id_link',
  265.             'desc' => 'Autore',
  266.             'stype' => 'pauthor',
  267.             'has_null' => '1',
  268.             'optional' => '1',
  269.             'tooltip' => "Autore del programma preso dal database dei link. Lasciare vuoto se &egrave; sconosciuto."),
  270.         // tipo di programma
  271.         array('type' => 'list', 'name' => 'id_type',
  272.             'desc' => 'Tipo di programma',
  273.             'stype' => 'tool',
  274.             'tooltip' => 'Categoria a cui appartiene il programma.'),
  275.         // versione
  276.         array('type' => 'text','name' => 'version_tool',
  277.             'desc' => 'Versione',
  278.             'tooltip' => 'Nome della versione del programma. Es: 1.0, BETA, ecc...'),
  279.         // sistema operativo
  280.         array('type' => 'list', 'name' => 'id_os',
  281.             'desc' => 'Sistema operativo',
  282.             'stype' => 'os',
  283.             'tooltip' => 'Sistema operativo su cui gira il programma. Usare Cross-Platform per valori multipli.'),
  284.         // download programma
  285.         array('type' => 'urld', 'name' => 'file_tool',
  286.             'desc' => 'Indirizzo di download (URL)',
  287.             'stype' => 'downloads/tools/',
  288.             'tooltip' => 'Link al file da caricare sul server.'),
  289.         // download sorgente
  290.         array('type' => 'urld', 'name' => 'source_tool',
  291.             'desc' => 'Codice sorgente (URL)',
  292.             'stype' => 'downloads/tools/src/',
  293.             'tooltip' => 'Link al codice sorgente da caricare sul server. Lasciare vuoto se non esiste alcun sorgente.',
  294.             'optional' => '1'),
  295.         // descrizione
  296.         array('type' => 'area','name' => 'description_tool',
  297.             'desc' => 'Descrizione',
  298.             'tooltip' => 'Una breve descrizione di cosa fa il programma e delle sue caratteristiche peculiari.')
  299.     ),
  300.     // contributo
  301.     'package' => array
  302.     (
  303.         // id
  304.         array('type' => 'id','name' => 'id_package'),
  305.         // nome
  306.         array('type' => 'text','name' => 'pack_name',
  307.             'desc' => 'Nome',
  308.             'tooltip' => 'Nome del pacchetto, che pu&ograve; essere il nome del programma o del gioco per cui &egrave; inteso l\'archivio.'),
  309.         // link dell'autore
  310.         array('type' => 'text','name' => 'author_name',
  311.             'desc' => 'Autore',
  312.             'optional' => '1',
  313.             'tooltip' => "Autore del pacchetto, lasciare vuoto se &egrave sconosciuto."),
  314.         // tipo di programma
  315.         array('type' => 'list', 'name' => 'id_type',
  316.             'desc' => 'Categoria',
  317.             'stype' => 'package',
  318.             'tooltip' => 'Categoria a cui appartiene il pacchetto.'),
  319.         // download programma
  320.         array('type' => 'urld', 'name' => 'file_url',
  321.             'desc' => 'Indirizzo di download (URL)',
  322.             'stype' => 'downloads/tools/',
  323.             'tooltip' => 'Link al file da caricare sul server. NB: il formato da usare deve essere Zip, Rar o 7z.'),
  324.         // descrizione
  325.         array('type' => 'area','name' => 'description_tool',
  326.             'desc' => 'Descrizione',
  327.             'tooltip' => 'Una breve descrizione di cosa contiene il pacchetto.'),
  328.         // momento di inserimento
  329.         array('type' => 'time', 'name' => 'last_update')
  330.     ),
  331.     // documento
  332.     'doc' => array
  333.     (
  334.         // id
  335.         array('type' => 'id','name' => 'id_doc'),
  336.         // nome
  337.         array('type' => 'text','name' => 'name_doc',
  338.             'desc' => 'Nome',
  339.             'tooltip' => 'Nome del documento.'),
  340.         // link dell'autore
  341.         array('type' => 'list','name' => 'id_link',
  342.             'desc' => 'Autore',
  343.             'stype' => 'pauthor',
  344.             'has_null' => '1',
  345.             'optional' => '1',
  346.             'tooltip' => "Autore del documento preso dal database dei gruppi. Lasciare vuoto se &egrave; sconosciuto."),
  347.         // tipo di programma
  348.         array('type' => 'list', 'name' => 'id_type',
  349.             'desc' => 'Tipo di documento',
  350.             'stype' => 'tool',
  351.             'tooltip' => 'Categoria a cui appartiene il documento.'),
  352.         // versione
  353.         array('type' => 'text','name' => 'id_level',
  354.             'desc' => 'Livello',
  355.             'tooltip' => 'Nome della versione del programma. Es: 1.0, BETA, ecc...'),
  356.         // sistema operativo
  357.         array('type' => 'list', 'name' => 'id_os',
  358.             'desc' => 'Sistema operativo',
  359.             'stype' => 'os',
  360.             'tooltip' => 'Sistema operativo su cui gira il programma. Usare Cross-Platform per valori multipli.'),
  361.         // download programma
  362.         array('type' => 'urld', 'name' => 'file_tool',
  363.             'desc' => 'Indirizzo di download (URL)',
  364.             'stype' => 'downloads/tools/',
  365.             'tooltip' => 'Link al file da caricare sul server.'),
  366.         // download sorgente
  367.         array('type' => 'urld', 'name' => 'source_tool',
  368.             'desc' => 'Codice sorgente (URL)',
  369.             'stype' => 'downloads/tools/src/',
  370.             'tooltip' => 'Link al codice sorgente da caricare sul server. Lasciare vuoto se non esiste alcun sorgente.',
  371.             'optional' => '1'),
  372.         // descrizione
  373.         array('type' => 'area','name' => 'description_tool',
  374.             'desc' => 'Descrizione',
  375.             'tooltip' => 'Una breve descrizione di cosa fa il programma e delle sue caratteristiche peculiari.')
  376.     )
  377. );
  378.  
  379. /* semplice array che definisce i dati della query risultante */
  380. $tables=array(
  381.     'game' => array
  382.     (
  383.         'tbl' => 'rh_games',
  384.         'id' => 'id_gioco',
  385.         'genre' => 'genere',
  386.         'platform' => 'piattaforma'
  387.     ),
  388.     'project' => array
  389.     (
  390.         'tbl' => 'rh_projects',
  391.         'id' => 'id_project'
  392.     ),
  393.     'patch' => array
  394.     (
  395.         'tbl' => 'rh_patches',
  396.         'id' => 'id_patch'
  397.     ),
  398.     'ads' => array
  399.     (
  400.         'tbl' => 'rh_ads',
  401.         'id' => 'id_ad'
  402.     ),
  403.     'tool' => array
  404.     (
  405.         'tbl' => 'rh_tools',
  406.         'id' => 'id_tool'
  407.     ),
  408.     'package' => array
  409.     (
  410.         'tbl' => 'rh_package',
  411.         'id' => 'id_package'
  412.     ),
  413.     'doc' => array
  414.     (
  415.         'tbl' => 'rh_docs',
  416.         'id' => 'id_doc'
  417.     )
  418. );
  419. ?>
Advertisement
Add Comment
Please, Sign In to add comment