• Super User

    [Guida] mkportal

    **Guida su mkportal
    **
    Questa Guida è stata realizzata con il contributo di: cangianos

    Introduzione

    MKPortal è un portale gratuito/un CMS (Content Management System) che può essere utilizzato con le più importanti boards (Simple Machines, Invision Power Board 1.3 e 2.x, phpBB, e vBulletin). Permette un’integrazione completa, la schermata del login compare nella pagina iniziale, cosi come tutti i moduli riferiti al forum che andremo ad installare. Mkportal possiede moduli molto utili che rimandano direttamente al forum ed è possibile visualizzare la board all’interno del sito stesso per non avere differenze di layout. L’amministratore potrà gestire il portale in una interfaccia semplice ed intuitiva e la sicurezza è ottimale.

    MKPortal Features:

    • Ha piena integrazione con il forum, quindi non ci saranno doppi loghin da effettuare.
    • E’ possibile tramite il menu amministratore usare la skin (layout grafico) uguale a quella utilizzata dal forum. IL processo è semplice, il portale carica il semplice css del forum e lo adatta anche per lui.
    • Si possono modificare e selezionare le skin a piacimento con la possibilità di scelta da parte degli utenti.
    • Si possono modificare i linguaggi e si ha la possibilità di scegliere quello più opportuno.
    • Ci sono più di 25 blocchi già installati, con la possibilità di realizzarne altri sia in html che in php.
    • E’ possible creare pagine interne in php ed in html.

    Moduli inclusi:

    • Blog (dai la possibilità agli utenti di realizzare un proprio blog personale, aumentando anche la tua indicizzazione)
    • Gallery (possibilità di offrire upload di foto, descriverle e commentarle)
    • Shoutbox (una vero servizio di messaggistica )
    • Downloads (upload, gestisci, commenta e scarica file nella sezione)
    • News (modulo che permette di inserire le tue news divise per categoria)
    • TopSite (inserisci i tuoi siti preferiti e sponsorizzali, con descrizione, logo e banner)
    • Reviews (realizza e gestisci vere e proprie recensioni)
    • Quotes (inserisci citazioni)
    • Chat (chat online in tempo reale, inserisci la stanza e divertiti con gli utenti o dai supporto veloce)

    Requisiti minimi:

    • Piattaforma: linux, windows, freebsd, osx, sun
    • Spazio su Disco: L'installazione base di MKPortal richiede approssimativamente 5 MB di spazio su disco sul server. Questa quota non include i files della board, skins aggiuntive e altri add-ons, o le immagini caricate dagli utenti nelle aree Gallery, Downloads, Blog o TopSite. Necessiterete di almeno 8-10 MB di spazio su disco per gestire una comunità di utenti media utilizzando tutti i moduli.
    • PHP: PHP 4.1.0 o superiore.
    • MySQL: 3.23.4 o superiore.
    • Database: 1 database MySQL con almeno 500 KB di spazio disponibile per le tabelle create da MKPortal. L'installazione base di MKPortal condivide il database della board e richiede approssimativamente 280 KB di spazio aggiuntivo, oltre a quello utilizzato dalle tabelle della board. Naturalmente necessiterete di uno spazio ben maggiore se avete una comunità di utenti numerosa.
    • Forum: una delle Board Compatibili installata. (Simple Machines, Invision Power Board 1.3 e 2.x, phpBB, e vBulletin).

    Dove reperire le board e il portale:

    • Mkportal: www.mkportal.it
    • Simple Machines: www.simplemachines.org
    • Invision Power Board 2.x: www.invisionboard.com
    • vBulletin: www.vbulletin.com
    • phpBB: www.phpbb.com

    Come installare il portale :

    Troverete nella cartella scaricata dal sito ufficiale la guida, noi la riportiamo integralmente. (se si vuole integrare il forum nel sito, leggere le guide relative dal readme ufficiale)

    STEP 1: Backup Database
    Prima di installare MKPortal è molto importante fare un backup del database della propria Board.
    STEP 2: Upload dei File di MKPortal & delle Cartelle
    Il pacchetto di installazione (.zip) contiene la cartella "upload". Trasferire il contenuto della cartella "upload" nel vostro spazio seguendo la struttura requisita per il corretto funzionamento. Se la vostra Board è nella root principale del vostro sito dovrete spostare il tutto in una sua cartella e ovviamente modificare i suoi principali file di configurazione per la nuova posizione nel vostro spazio.
    Nota: Se userai AEF non avrai bisogno di caricare un altra board e volendo potrai rinominare la sua cartella come vorrai, l'importante che userai il nome corretto durante l'installazione di MKPortal.
    • /index.php (File index.php principale di MKPortal)
    • /mkportal (La cartella di "mkportal" e il suo contenuto. Non rinominate!)
    • /forum (Cartella contente la vostra Board. Il nome è indifferente)

    image

    Dopo aver caricato i files di & le cartelle la struttura sarà simile a questa.
    http://www.example.com/index.php (index.php di MKPortal)
    http://www.example.com/mkportal
    http://www.example.com/forum
    In caso caricaste MKPortal in una eventuale sottocartella, sarà invece così strutturata. Come potete notare la struttura rimane la stessa della precedente.

    http://www.example.com/subdirectory/index.php (index.php di MKPortal)
    http://www.example.com/subdirectory/mkportal
    http://www.example.com/subdirectory/forum
    MKPortal può essere usato anche con i sottodomini, mantenendo sempre la stessa struttura.
    http://subdomain.example.com/index.php (index.php di MKPortal)
    http://subdomain.example.com/mkportal
    http://subdomain.example.com/forum
    MKPortal non funzionerà se non seguirete questa struttura!

    STEP 3: CHMOD dei File di MKPortal & delle Cartelle
    Dovrete impostare i permessi ai seguenti files (0666) e cartelle (0777) incluso i contenuti:
    • mkportal/conf_mk.php
    • mkportal/blog
    • mkportal/blog/images
    • mkportal/blog/images/tmp
    • mkportal/cache
    • mkportal/lang
    • mkportal/lang/English
    • mkportal/lang/Francais
    • mkportal/lang/Italiano
    • mkportal/modules/downloads/file
    • mkportal/modules/gallery/album
    • mkportal/modules/gallery/album/tmp
    • mkportal/modules/reviews/images
    • mkportal/modules/reviews/images/tmp
    • mkportal/templates
    • mkportal/templates/default
    • mkportal/templates/Forum

    STEP 4: Installazione di MKPortal
    Avviate lo script di installazione digitandohttp://www.example.com/mkportal/mk_install.php. L'installazione guidata vi aiuterà a creare le tabelle nel database per il completo funzionamento di MKPortal.
    Nota: come detto in precedenza, in caso usate AEF partirà anche la sua installazione, in caso invece usiate una board esterna dovrete installarla precedentemente.

    STEP 5: Eliminazione dei i file di Installazione e Upgrade di MKPortal
    Molto importante per la vostra sicurezza! Cancellare Immediatamente il file mk_install.php e la cartella mkportal/upgrades del vostro spazio dopo la completa installazione. In caso vi dimentichiate un messaggio nell'amministrazione ve lo ricorderà fino alla loro eliminazione.

    STEP 6: Istruzioni specifiche per alcune Board (SMF & phpBB2)

    Solo SMF:
    Andando nella vostra board SMF Amministrazione > Configurazioni > Parametri del Server > Configurazione delle Opzioni e togliete il segno di spunta su "Abilita il salvataggio locale dei cookies". Se voi non lo disabilitate potreste avere problemi di login dal Portale.

    Solo phpBB2
    Modificate il seguente file di phpBB2: login.php
    TROVATE
    Your browser does not support frames or is currently configured not to display frames. However, you may visit <a href="../files/code/phpbb/login_1a_find.txt">the related document.</a>
    SOSTITUITE CON:
    Your browser does not support frames or is currently configured not to display frames. However, you may visit <a href="../files/code/phpbb/login_1b_replace.txt">the related document.</a> IMPORTANTE! Questa stringa è presente 3 volte nel file login.php. Dovete sostituirla in tutti e 3 i punti!

    Come si presenta mkportal:
    Una volta che avete installato mkportal si presenterà così:

    image

    Personalizzare mkportal:

    Il passo successivo è rendere il sito personalizzato. Cominciando dall’aspetto grafico, vediamo quindi cosa ci occorre per abbellire il nostro nuovo sito. Assicuriamoci come prima cosa di avere gli strumenti necessari per le modifiche che andremo ad effettuare come un'editor per i file CSS e uno per file php, se non li avete con una semplice ricerca in un motore di ricerca vi aiuterà a trovarne semplici con licenza a pagamento o free.
    I template sono installati nella root di mkportal e li trovate seguendo il percorso mkportal/templates all'interno della cartella templates troverete le cartelle "forum" e "default", o in alternativa altre cartelle se avete già installato qualche altra skin già realizzata per mkportal.
    La cartella di default contiene:
    cartella/images [tutte le immagini che compongono la skin]
    style.css [stile del sito,colori testo,link,ecc]
    tpl_main.php [in pratica lo "scheletro" del portale]
    index.html
    mkp.js [il file che contiene gli script]

    tutti questi file interagiscono tra di loro per far funzionare la skin del nostro portale ma per personalizzare la nostra skin basterà editare solo 2 file
    style.css
    tpl_main.php
    e le immagini contenute nella cartella images che tratteremo poi,semplice no? con soli 2 file potrete personalizzare il vostro sito.
    Consigliamo per una realizzazione da zero di copiare la cartella default in modo tale che vi sono nel sito due skin default e quindi modificare man mano quest’ultima. Come sapete avendo già una base, a piccole modifiche alla volta si riesce a modificare tutto più facilmente e con la possibilità di fare meno errori.

    Il primo passo e cominciare a modificare solo le immagini sostituendole con quelle che vogliamo noi, ad esempio se prendiamo in causa la foto precedente, e visualizziamo in alto, troverete un logo di mkportal, questo logo può essere eliminato dalla cartella “images” e sostituito con un altro a nostro piacimento, ma deve avere lo stesso nome ed estensione di quello eliminato.

    Modificando pian piano tutte le immagini potremo dare già un bel e personalizzato aspetto al nostro sito web.
    Modificando il file “tpl_main.php” avrete le seguenti variabili, ora non posso descrivervi ognuna come può essere modificata, sta a voi cambiare le impostazioni standard e vedere che cambiamenti ci saranno. Il file è composto come segue, eseguite piccole modifiche e vedete gli effetti caricando la pagina, cosi sarete sicuri di non fare errori, se qualcosa non dovesse funzionare ripristinate il tutto.

    Crediti del Template

    <?php

    /*
    +--------------------------------------------------------------------------
    |   MkPortal "default" Portal Template
    |   ========================================
    |   by Meo aka Luponero <Amedeo de longis>
    |      visiblesoul <Don K. Colburn>    
    |   (c) 2004-2005 mkportal.it
    |   http://www.mkportal.it
    |   Email: [email protected]
    |
    +---------------------------------------------------------------------------
    |
    |   > MKPortal
    |   > Written By Amedeo de longis
    |   > Date started: 9.2.2004
    |
    +--------------------------------------------------------------------------
    */
    ```Class tpl_main
    

    class tpl_main {

    
    

    function view_header($title, $css, $js, $pmk_js, $board_header) {
    global $mklib, $mklib_board;
    //$css = $mklib_board->import_css();
    return <<<EOF

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

    <!-- begin document head -->

    <head>
    <meta http-equiv="content-type" content="text/html; charset={$mklib->charset}" />
    <meta name="generator" content="MKPortal" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta content="no-cache" http-equiv="no-cache" />
    <meta http-equiv="Cache-Control" content="no-cache" />
    {$title}
    {$css}
    {$board_header}
    <script type="text/javascript" src="{$js}"></script>
    {$pmk_js}
    </head>

    <body onload="javascript:GetPos()">

    <!-- end document head -->

    EOF;
    }

    
    

    function open_main($mainwidth) {
    global $mklib;
    return <<<EOF

    <!-- begin open main table -->

    <div id="mkwrapper" style="width: {$mainwidth};">
    <table class="tabmain" width="100%" align="center" border="0" cellspacing="0" cellpadding="0">

    <tr>
    <td width="100%" align="center">

      <table border="0" width="100%" cellpadding="0" cellspacing="0">
    

    <!-- end open main table -->

    EOF;
    }

    function view_logo() {
    global $mklib;
    return <<<EOF

    <!-- begin logostrip -->

    <tr>
      <td id="mklogostrip" style="background-image: url('$mklib->http://www.giorgiotave.it/forum/images/sf_logo.jpg')" width="100%">
          <a href="$mklib->siteurl/index.php"><img src="$mklib->http://www.giorgiotave.it/forum/images/logo.gif" border="0" alt="" /></a>
          </td>
    </tr>
    

    <!-- end logostrip -->

    EOF;
    }

    
    

    function view_linkbar($row_link) {
    global $mklib, $mkportals;
    return <<<EOF

    <!-- begin linkbar -->

    <tr>
      <td>
        <table width="100%" align="center" cellspacing="0" cellpadding="2" border="0">
          <tr>
        <td class="navigatore" style="padding: 4px;">          
          $row_link           
        </td>
          </tr>
        </table>
      </td>
    </tr>
    

    <!-- end linkbar -->

    EOF;
    }

    
    

    function view_urlo($urlo1, $urlo2) {
    global $mklib;
    return <<<EOF

    <!-- begin shoutbox -->

    <tr align="left">
      <td>      
        <table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
          <tr>
        <td class="urlo" style="background-image: url('$mklib->http://www.giorgiotave.it/forum/images/m_sf.gif')" width="100%" valign="bottom" nowrap="nowrap">
        {$mklib->lang['urlolast']} - $urlo1
        </td>        
          </tr>
          <tr>
        <td class="urlo2" colspan="2">$urlo2
        </td>
          </tr>
        </table>         
      </td>
    </tr>
    

    <!-- end shoutbox -->

    EOF;
    }

    
    

    function view_separator_h() {
    global $mklib;
    return <<<EOF

    <!-- begin horizontal spacer -->

    <!-- separatore orizzontale
    <tr align="center">
    <td class="trattini"><img src="$mklib->http://www.giorgiotave.it/forum/images/punto_or.gif" width="1" height="1" alt="" />
    </td>
    </tr> -->

    <!-- end horizontal spacer -->

    EOF;
    }

    
    

    function open_body() {
    global $mklib;
    return <<<EOF

    <!-- begin open portal body -->

    <tr align="center">
      <td width="100%">
        <table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
    

    <!-- end open portal body -->

    EOF;
    }

    
    

    function view_column_left($blocks) {
    global $mklib;

    return <<<EOF

    <!-- begin left column -->

        <td id="menusx" valign="top" align="left">
        <div id="menucontents" style="$mklib->menucontents">
        <div style="text-align:right;"><a href="javascript:ColumnClose('menusx');MemoPos('MKmenusx', '1');"><img src="$mklib->http://www.giorgiotave.it/forum/images/f2.gif" border="0" alt="" /></a> </div>
          <table cellpadding="0" cellspacing="2" border="0" style="width: {$mklib->columnwidth}px;">
          {$blocks}
          </table>
        </div>
        <div id="menucloseds" style="$mklib->menucloseds">
        <div style="text-align:right;"><a href="javascript:ColumnOpen('menusx');MemoPos('MKmenusx', '0');"><img src="$mklib->http://www.giorgiotave.it/forum/images/f1.gif" border="0"  alt="" /></a></div>
        </div>
        </td>
    

    <!-- end left column -->

    EOF;
    }

    
    

    function view_separator_v() {
    global $mklib;
    return <<<EOF

    <!-- begin column spacer -->

        <td class="vspacer" width="0%" align="left" style="background-image: url('$mklib->http://www.giorgiotave.it/forum/images/punto_vert.gif')"><img src="$mklib->http://www.giorgiotave.it/forum/images/punto_vert.gif" width="6" height="3" alt="" />
        </td>
    

    <!-- end column spacer -->

    EOF;
    }

    
    

    function view_column_center($blocks) {
    global $mklib;
    return <<<EOF

    <!-- begin center column -->

        <td valign="top" align="left" width="100%">
          <table cellpadding="0" cellspacing="3" border="0" width="100%">
          {$blocks}
          </table>
        </td>
    

    <!-- end center column -->

    EOF;
    }

    
    

    function view_column_right($blocks) {
    global $mklib;
    return <<<EOF

    <!-- begin right column -->

        <td id="menudx" valign="top" align="left">
        <div id="menucontentr" style="$mklib->menucontentr">
        <div style="text-align:left;"> <a href="javascript:ColumnClose('menudx');MemoPos('MKmenudx', '1')"><img src="$mklib->http://www.giorgiotave.it/forum/images/f1.gif" border="0" alt="" /></a></div>
          <table cellpadding="0" cellspacing="2" border="0" style="width: {$mklib->columnwidth}px;">
          {$blocks}
          </table>
        </div>
        <div id="menuclosedr" style="$mklib->menuclosedr">
        <div style="text-align:left;"><a href="javascript:ColumnOpen('menudx');MemoPos('MKmenudx', '0')"><img src="$mklib->http://www.giorgiotave.it/forum/images/f2.gif" border="0" alt="" /></a></div>
        </div>
        </td>
    

    <!-- end right column -->

    EOF;
    }

    
    

    function close_body() {
    global $mklib;
    return <<<EOF

    <!-- begin close portal body -->

          </tr>
        </table>
      </td>
    </tr>
    

    <!-- end close portal body -->

    EOF;
    }

    
    

    function close_main() {
    global $mklib;
    return <<<EOF

    <!-- begin close main table -->

      </table>
    
    </td>
    

    </tr>
    </table>
    </div>

    <!-- end close main table -->

    EOF;
    }

    
    

    function view_footer($block) {
    global $mklib;
    return <<<EOF

    <!-- begin footer -->
    <!-- you can add your credits here -->

    <!-- end footer -->
    <p align="center">{$block}</p>

    </body>
    </html>

    <!-- end footer -->

    EOF;
    }

    
    

    function view_block($title, $content) {
    global $mklib;
    return <<<EOF

    <!-- begin block template -->

            <tr>
              <td valign="top">
            <table border="0" width="100%" cellpadding="0" cellspacing="0">
              <tr>
                <td>
                  <table border="0" cellpadding="0" cellspacing="0" width="100%">
                <tr>
                  <td class="tdmenblock" width="1%"><img src="$mklib->http://www.giorgiotave.it/forum/images/m_sx.gif" border="0" class="tdmenblock" alt="" />
                  </td>
                  <td class="sottotitolo" width="99%" style="background-image: url('$mklib->http://www.giorgiotave.it/forum/images/m_sf.gif')" valign="middle" nowrap="nowrap">{$title}
                  </td>
                  <td class="tdmenblock" width="1%"><img src="$mklib->http://www.giorgiotave.it/forum/images/m_dx.gif" border="0" class="tdmenblock" alt="" />
                  </td>
                </tr>
                  </table>
                </td>
              </tr>
              <tr>
                <td class="tablemenu" width="100%">
                  <table border="0" width="100%" cellpadding="1" cellspacing="1">
                  {$content}
                  </table>
                </td>
              </tr>
              <tr>
                <td>
                  <table border="0" cellpadding="0" cellspacing="0" width="100%">
                <tr>
                  <td class="tdmenblock" width="1%" align="right" valign="top"><img src="$mklib->http://www.giorgiotave.it/forum/images/m_sx2.gif" class="tdmenblock" alt="" />
                  </td>
                  <td class="tdmenblock" width="99%" style="background-image: url('$mklib->http://www.giorgiotave.it/forum/images/m_sf2.gif')"><img src="$mklib->http://www.giorgiotave.it/forum/images/m_sf2.gif" border="0" class="tdmenblock" alt="" />
                  </td>
                  <td class="tdmenblock" width="1%"><img src="$mklib->http://www.giorgiotave.it/forum/images/m_dx2.gif" class="tdmenblock" alt="" />
                  </td>
                </tr>
                  </table>
                </td>
              </tr>
            </table>
              </td>
            </tr>
            <tr>
              <td class="tdspacer"> 
              </td>
            </tr>
    

    <!-- end block template -->

    EOF;
    }

    
    

    function row_link( $icon, $url, $text) {
    global $mklib;
    return <<<EOF

    <!-- begin link template -->

         <img src="$icon" border="0" style="vertical-align: middle;" alt="" /> <a class="uno" $url>$text</a>
    

    <!-- end link template -->

    EOF;
    }

    
    

    function view_quote($content, $author) {
    global $mklib;
    return <<<EOF
    <!-- begin mkportal quote -->
    <table class="mkquotetable" style="margin-top: 5px; margin-bottom: 5px; width: auto;" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td>
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
    <td valign="bottom">
    <table border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td valign="top" width="26"><img src="$mklib->http://www.giorgiotave.it/forum/images/quote/mkquote_balloon_l.gif" height="23" width="26" alt="" /></td>
    <td style="background-image: url($mklib->http://www.giorgiotave.it/forum/images/quote/mkquote_balloon_bg.gif); background-position: center; padding-bottom: 3px;" valign="middle" nowrap="nowrap">
    <span class="mkquoteball"><b>{$mklib->lang['editor_quote']}</b> $author</span>
    </td>
    <td valign="top"><img src="$mklib->http://www.giorgiotave.it/forum/images/quote/mkquote_balloon_r.gif" height="23" width="26" alt="" /></td>
    </tr>
    </table>
    </td>

      <td align="right" valign="bottom" width="100%">
        <table border="0" cellpadding="0" cellspacing="0" width="100%">          
          <tr>
        <td width="100%">
          <table border="0" cellpadding="0" cellspacing="0" width="100%">            
            <tr>
              <td style="background-image: url($mklib->http://www.giorgiotave.it/forum/images/quote/mkquote_top_bg.gif);" valign="middle" width="100%"></td>
              <td align="left" valign="top"><img src="$mklib->http://www.giorgiotave.it/forum/images/quote/mkquote_top_r.gif" height="23" width="13" alt="" /></td>
            </tr>            
          </table>
        </td>
          </tr>          
        </table>
      </td>
    </tr>    
      </table>
    
      <table border="0" cellpadding="0" cellspacing="0" width="100%">    
    <tr>
      <td style="background-image: url($mklib->http://www.giorgiotave.it/forum/images/quote/mkquote_left_bg.gif);" width="13"></td>
      <td class="mkquotetext" bgcolor="#ffffff" valign="top" width="100%">
        <i>$content</i>
      </td>
      <td style="background-image: url($mklib->http://www.giorgiotave.it/forum/images/quote/mkquote_right_bg.gif);" width="13"></td>
    </tr>
    <tr>
      <td valign="bottom" height="9" width="13"><img src="$mklib->http://www.giorgiotave.it/forum/images/quote/mkquote_bot_l.gif" alt="" /></td>
      <td style="background-image: url($mklib->http://www.giorgiotave.it/forum/images/quote/mkquote_bot_bg.gif);" width="100%"></td>
      <td valign="bottom" height="9" width="13"><img src="$mklib->http://www.giorgiotave.it/forum/images/quote/mkquote_bot_r.gif" alt="" /></td>
    </tr>    
      </table>
    </td>
    

    </tr>
    </table>
    <!-- end mkportal quote -->
    EOF;
    }

    
    

    }

    $Skin = new tpl_main;

    ?>

    
    Segue[ Guida su mkportal seconda parte](http://www.giorgiotave.it/forum/cms-world-gt/86125-guida-mkportal-seconda-parte.html)