• Mercatino: Parte 4

    Passiamo ora dalla teoria alla pratica! Il primo passo è costituito dalla creazione del prodotto vBulletin, che si compone essenzialmente da un codice univoco, un titolo, e una descrizione breve, e qualche procedura di prima configurazione. Un prodotto vBulletin è il contenitore di tutte le altre procedure e opzioni, ed è l'insieme che verrà installato nei forum dove si desidera aggiungere una nuova funzionalità.


    Entriamo quindi nel pannello di controllo (ACP) e nel menu sotto Plugin & Prodotti accediamo alla voce Gestione prodotti. Si apre la finestra dei prodotti già installati. In fondo alla lista si trova un collegamento chiamato [Aggiungi/Importa Prodotto], dove andiamo, cliccandoci.

    Nei campi del riquadro Aggiungi Nuovo Prodotto inseriamo:
    • ID Prodotto: vtp4
    • Titolo: vB4 Trading Platform
    • Versione: 1.0.0
    • Descrizione: Transforms forum sections to trading areas and eCommerce.

    e salviamo.

    E' buona norma di inserire tutto in inglese. La maggioranza dei dati potrà poi essere tradotta nelle frasi del sistema lingue di vBulletin.

    Dopo il salvataggio si torna all'elenco dei prodotti installati, dove troviamo ora anche il nostro:


    Sulla destra clicchiamo sul pulsante Modifica. Si torna al prodotto, dove si possono ora inserire i parametri. Giusto per evitare problemi di vario genere, impostiamo la versione vBulletin in uso. Non è obbligatorio, ma se ci sono problemi di compatibilità, è probabile che si cerca di eseguire il prodotto su una versione vBulletin meno recente della versione consigliata. Dopo il cambiamento salviamo.



    Poi andiamo a creare le impostazioni base, per la versione * (tutte):



    I codici sono i seguenti, utilizzati in prodotti commerciali e molto stabili.

    Codice Installazione:
    Codice PHP: [Visualizza]
    // (C) Copyright Y2K Software s.a.s. 2012 - All Rights Reserved.
    // This file may not be redistributed in whole or significant part.

    /**
     * run_sqls()
     *
     * @param mixed $SQL
     * @return void
     */
    function run_sqls(&$SQL)
    {
        global 
    $vbulletin;

        foreach(
    $SQL as $value)
        {
            if(
    strpos($value'ALTER TABLE ') !== false)
            {
                
    $vbulletin->db->hide_errors();
                
    $vbulletin->db->query_write($value);
                
    $vbulletin->db->hide_errors();
            }
            else
            {
                
    $vbulletin->db->query_write($value);
            }
        }
    }

    $mysqlversion $vbulletin->db->query_first("SELECT version() AS version");
    define('MYSQL_VERSION'$mysqlversion['version']);

    if(!
    $admincpdir $vbulletin->config['Misc']['admincpdir'])
    {
        
    $admincpdir 'admincp';
    }
    $admincpdir $admincpdir;

    $files = array();
    //$files[] = 'product_file.php';
    //$files[] = 'includes/cron/product_cron.xml';
    //$files[] = 'includes/xml/cpnav_product.xml';
    //$files[] = $admincpdir . '/product.php';

    $missingfiles '';
    foreach(
    $files as $value)
    {
        if(
    $value && !file_exists(DIR '/' $value))
        {
            
    $missingfiles .= '' $value;
        }
    }
    if(
    $missingfiles)
    {
        
    print_dots_stop();
        
    print_cp_message('Please upload the files that came with the product before installing or upgrading!Missing files:<b>' $missingfiles '</b>');

    Codice Disinstallazione:
    Codice PHP: [Visualizza]
    // (C) Copyright Y2K Software s.a.s. 2012 - All Rights Reserved.
    // This file may not be redistributed in whole or significant part.

    /**
     * run_sqls()
     *
     * @param mixed $SQL
     * @return void
     */
    function run_sqls(&$SQL)
    {
        global 
    $vbulletin;

        foreach(
    $SQL as $value)
        {
            if(
    strpos($value'ALTER TABLE ') !== false)
            {
                
    $vbulletin->db->hide_errors();
                
    $vbulletin->db->query_write($value);
                
    $vbulletin->db->hide_errors();
            }
            else
            {
                
    $vbulletin->db->query_write($value);
            }
        }

    Salviamo (è l'ultima volta che lo dico, ormai è sottinteso).

    In allegato la base del prodotto. Vi consiglio di provare prima in autonomia, poi importare il prodotto, per evitare che vi siano problemi di copia-incolla. Con la sola importazione non imparate nulla, ma non fa niente