Autore Sottoscrivi questo autore
Avatar utente
Lucky
Amministratore
Amministratore
 
Articoli: 75
Iscritto il: 11 gen 2009, 21:14
Località: Bari
Sito Web: http://www.portalxl.eu
Cerca articoli

Opzioni segnalibri
Segnalibri social networks disponibili:
Blogger Delicious Digg Facebook Feed amici Google Link in Live Mixx MySpace Netvibes Reddit Stumbleupon Technorati Twitter Wordpress
Vota questo articolo

Questo articolo è valutato 3
con 0 voti espressi.
Esporta articolo
 

[Docs] Istruzioni e modifiche per il mod arcade

ID Articolo: 13
Scritto da: Lucky
Scritto il: 1 mag 2009, 22:28
Descrizione articolo: Come installare la mod arcade e come procedere alle modifiche manuali.
Link esterno a questo articolo:
http://portalxl.eu/kb.php?a=13

Il mod arcade è disponibile in italiano nella nostra area download.

Istruzioni per l'installazione

Premessa: prima di installare qualunque mods è buona regola fare un backup del sito e del database.

Scaricate e decomprimete il pacchetto, inviate sul vostro server l'intero contenuto della cartella root, puntare su vostro sito http://yoursite.com/phpBB/install/index.php (loggati da admin) e procedete con l'installazione. configurate permessi 0755 alle seguenti cartelle: arcade/, arcade/gamedata/, arcade/games/, arcade/install/ (su alcuni server occorre configurare a 0777).

Dopo l'installazione sono necessarie modifiche al tema in uso e ad alcuni files, le istruzioni seguenti riguardano le modifiche al tema prosilver e modifiche classiche valide per tutte le versioni di phpBB, plain o premod.

Modifiche al tema prosilver

Files da modificare:

styles/prosilver/template/memberlist_view.html
styles/prosilver/template/overall_header.html
styles/prosilver/template/viewtopic_body.html

Aprite: styles/prosilver/template/memberlist_view.html

Cercate:

Codice: Seleziona tutto
         <!-- IF S_SHOW_ACTIVITY and POSTS -->
            <dt>{L_ACTIVE_IN_FORUM}:</dt> <dd><!-- IF ACTIVE_FORUM --><strong><a href="{U_ACTIVE_FORUM}">{ACTIVE_FORUM}</a></strong><br />({ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT})<!-- ELSE --> - <!-- ENDIF --></dd>
            <dt>{L_ACTIVE_IN_TOPIC}:</dt> <dd><!-- IF ACTIVE_TOPIC --><strong><a href="{U_ACTIVE_TOPIC}">{ACTIVE_TOPIC}</a></strong><br />({ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT})<!-- ELSE --> - <!-- ENDIF --></dd>
         <!-- ENDIF -->


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
                  <!-- IF S_HAS_HIGHSCORES --><dt>{L_ARCADE_HIGHSCORES}:</dt> <dd>{TOTAL_HIGHSCORES} | <strong><a href="{U_ARCADE_STATS}">{L_ARCADE_VIEW_USERS_STATS}</a></strong></dd><!-- ENDIF -->


Aprite: styles/prosilver/template/overall_header.html

Cercate:


Codice: Seleziona tutto
</head>


Alla riga precedente aggiungete:

Codice: Seleziona tutto
<!-- IF S_IN_ARCADE -->
   <link href="{T_THEME_PATH}/arcade.css" rel="stylesheet" type="text/css" media="screen, projection" />
<!-- ENDIF -->


Cercate:

Codice: Seleziona tutto
            <li class="icon-faq"><a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}">{L_FAQ}</a></li>


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
            <li class="icon-ucp"><a href="{U_ARCADE}" title="{L_ARCADE_EXPLAIN}">{L_ARCADE}</a></li>


Cercate:

Codice: Seleziona tutto
       <!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN and (U_MCP or U_ACP) -->
      <div id="message" class="rules">
         <div class="inner"><span class="corners-top"><span></span></span>
            <strong>{L_INFORMATION}:</strong> {L_BOARD_DISABLED}
         <span class="corners-bottom"><span></span></span></div>
      </div>
      <!-- ENDIF -->


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
      <!-- IF S_IN_ARCADE -->
         <!-- IF (S_ARCADE_DISABLED and S_USER_LOGGED_IN and U_ACP) or (S_ARCADE_REPORTS and S_ARCADE_REPORTS_OPEN) -->
         <div id="message" class="rules">
            <div class="inner"><span class="corners-top"><span></span></span>
               <strong>{L_INFORMATION}:</strong>
                  <!-- IF S_ARCADE_DISABLED and S_USER_LOGGED_IN and U_ACP -->{L_ARCADE_DISABLED}<!-- ENDIF -->
                  <!-- IF (S_ARCADE_DISABLED and S_USER_LOGGED_IN and U_ACP) and (S_ARCADE_REPORTS and S_ARCADE_REPORTS_OPEN) -->&nbsp;<!-- ENDIF -->
                  <!-- IF S_ARCADE_REPORTS and S_ARCADE_REPORTS_OPEN --><a href="{U_ARCADE_REPORTS_OPEN}">{ARCADE_REPORTS_OPEN}</a><!-- ENDIF -->
            <span class="corners-bottom"><span></span></span></div>
         </div>
         <!-- ENDIF -->
      <!-- ENDIF -->


Aprite: styles/prosilver/template/viewtopic_body.html

Cercate:

Codice: Seleziona tutto
      <!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
      <!-- IF postrow.S_HAS_HIGHSCORES --><dd><strong>{L_ARCADE_HIGHSCORES}:</strong> <a href="{postrow.U_ARCADE_STATS}">{postrow.TOTAL_HIGHSCORES}</a></dd><!-- ENDIF -->


Aggiornate e svuotare la cache del tema.


Modifiche per tutte le versioni phpBB, plain e premod

Files da modificare
index.php,
includes/auth.php,
includes/functions.php,
includes/functions_user.php,
memberlist.php,
ucp.php,
viewonline.php,
viewtopic.php


Aprite: index.php

Cercate:

Codice: Seleziona tutto
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
// IBPro Game Support
$autocom = request_var('autocom', '');
$act = request_var('act', '');
$do = request_var('do','');

if (strtolower($act) == 'arcade' && strtolower($do) == 'newscore')
{
   require($phpbb_root_path . 'includes/arcade/scoretype/ibpro.'.$phpEx);
}

if (strtolower($autocom) == 'arcade')
{
   require($phpbb_root_path . 'includes/arcade/scoretype/ibprov3.'.$phpEx);
}
//IBPro Game Support


Aprite: includes/auth.php

Cercate:

Codice: Seleziona tutto
      // Now empty user permissions
      $where_sql = '';

      if ($user_id !== false)
      {
         $user_id = (!is_array($user_id)) ? $user_id = array((int) $user_id) : array_map('intval', $user_id);
         $where_sql = ' WHERE ' . $db->sql_in_set('user_id', $user_id);
      }

      $sql = 'UPDATE ' . USERS_TABLE . "
         SET user_permissions = '',
            user_perm_from = 0
         $where_sql";
      $db->sql_query($sql);


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
      //Clear arcade permissions
      if (!class_exists('auth_arcade'))
      {
         global $phpbb_root_path, $table_prefix, $phpEx;
         include_once($phpbb_root_path . 'includes/arcade/arcade_constants.' . $phpEx);
         include_once($phpbb_root_path . 'includes/auth_arcade.' . $phpEx);

      }
      $auth_arcade = new auth_arcade();
      $auth_arcade->acl_clear_prefetch($user_id);


Aprite: includes/functions.php

Cercate:

Codice: Seleziona tutto
function page_header($page_title = '', $display_online_list = true)
{
   global $db, $config, $template, $SID, $_SID, $user, $auth, $phpEx, $phpbb_root_path;


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
   global $arcade;


Cercate:

Codice: Seleziona tutto
   // The following assigns all _common_ variables that may be used at any point in a template.


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
   if (!isset($arcade))
   {
      $user->add_lang('mods/arcade');
      $template->assign_var('U_ARCADE', append_sid("{$phpbb_root_path}arcade.$phpEx"));
   }


Aprite: includes/functions_user.php

Cercate:

Codice: Seleziona tutto
   // These are the additional vars able to be specified
   $additional_vars = array(
      'user_permissions'   => '',


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
      'user_arcade_permissions'   => '',


Cercate:

Codice: Seleziona tutto
function user_delete($mode, $user_id, $post_username = false)
{
   global $cache, $config, $db, $user, $auth;
   global $phpbb_root_path, $phpEx;


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
   global $arcade, $auth_arcade, $table_prefix;


Cercate:

Codice: Seleziona tutto
   $sql = 'SELECT *
      FROM ' . USERS_TABLE . '
      WHERE user_id = ' . $user_id;
   $result = $db->sql_query($sql);
   $user_row = $db->sql_fetchrow($result);
   $db->sql_freeresult($result);

   if (!$user_row)
   {
      return false;
   }


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
   //Start remove arcade user data
   if (!class_exists('arcade_admin'))
   {
      include($phpbb_root_path . 'includes/arcade/arcade_common.' . $phpEx);
   }

   if (!isset($arcade))
   {
      $arcade = new arcade_admin();
   }

   $arcade->delete_user($user_id, $user_row['username']);
   //End remove arcade user data


Cercate:

Codice: Seleziona tutto
      $sql = 'UPDATE ' . TOPICS_TABLE . " SET topic_last_poster_colour = '" . $db->sql_escape($sql_ary['user_colour']) . "'
         WHERE " . $db->sql_in_set('topic_last_poster_id', $user_id_ary);
      $db->sql_query($sql);


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
      global $cache, $phpbb_root_path, $phpEx, $table_prefix;
      include($phpbb_root_path . 'includes/arcade/arcade_constants.' . $phpEx);
      $sql = 'UPDATE ' . ARCADE_CATS_TABLE . " SET cat_last_play_user_colour = '" . $db->sql_escape($sql_ary['user_colour']) . "'
         WHERE " . $db->sql_in_set('cat_last_play_user_id', $user_id_ary);
      $db->sql_query($sql);

      $cache->destroy('sql', ARCADE_CATS_TABLE);
      $cache->destroy('sql', ARCADE_GAMES_TABLE);
      $cache->destroy('sql', ARCADE_SCORES_TABLE);
      $cache->destroy('_arcade_leaders');   


Aprite: memberlist.php

Cercate:

Codice: Seleziona tutto
   case 'viewprofile':
      // Display a profile
      if ($user_id == ANONYMOUS && !$username)
      {
         trigger_error('NO_USER');
      }


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
      include($phpbb_root_path . 'includes/arcade/arcade_constants.' . $phpEx);
      include($phpbb_root_path . 'includes/arcade/arcade_cache.' . $phpEx);
      include($phpbb_root_path . 'includes/arcade/functions_arcade.' . $phpEx);
      $user->add_lang('mods/arcade');


Cercate:

Codice: Seleziona tutto
      if (!empty($profile_fields['row']))
      {
         $template->assign_vars($profile_fields['row']);
      }


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
      $arcade_data = display_arcade_highscores($user_id, basename(__FILE__, '.' . $phpEx));
      if (sizeof($arcade_data))
      {
         $template->assign_vars($arcade_data);
      }


Aprite: ucp.php

Cercate:

Codice: Seleziona tutto
      $auth_admin = new auth_admin();
      if (!$auth_admin->ghost_permissions($user_id, $user->data['user_id']))
      {
         redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
      }


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
      include($phpbb_root_path . 'includes/arcade/arcade_constants.' . $phpEx);
      include($phpbb_root_path . 'includes/auth_arcade.' . $phpEx);
      include($phpbb_root_path . 'includes/acp/auth_arcade.' . $phpEx);

      $auth_arcade_admin = new auth_arcade_admin();

      if (!$auth_arcade_admin->ghost_permissions($user_id, $user->data['user_id']))
      {
         redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
      }


Cercate:

Codice: Seleziona tutto
      $sql = 'SELECT username
         FROM ' . USERS_TABLE . '
         WHERE user_id = ' . $user->data['user_perm_from'];
      $result = $db->sql_query($sql);
      $username = $db->sql_fetchfield('username');
      $db->sql_freeresult($result);


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
      include($phpbb_root_path . 'includes/arcade/arcade_common.' . $phpEx);
      $auth_arcade->acl($user->data);
      $auth_arcade->acl_cache($user->data);

      $sql = 'UPDATE ' . USERS_TABLE . "
         SET user_arcade_perm_from = 0
         WHERE user_id = " . $user->data['user_id'];
      $db->sql_query($sql);


Aprite: viewonline.php

Cercate:

Codice: Seleziona tutto
      case 'ucp':
         $location = $user->lang['VIEWING_UCP'];

         // Grab some common modules
         $url_params = array(
            'mode=register'      => 'VIEWING_REGISTER',
            'i=pm&mode=compose'   => 'POSTING_PRIVATE_MESSAGE',
            'i=pm&'            => 'VIEWING_PRIVATE_MESSAGES',
            'i=profile&'      => 'CHANGING_PROFILE',
            'i=prefs&'         => 'CHANGING_PREFERENCES',
         );

         foreach ($url_params as $param => $lang)
         {
            if (strpos($row['session_page'], $param) !== false)
            {
               $location = $user->lang[$lang];
               break;
            }
         }

         $location_url = append_sid("{$phpbb_root_path}index.$phpEx");
      break;


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
      case 'arcade':
         include($phpbb_root_path . 'includes/arcade/arcade_viewonline.' . $phpEx);
      break;


Aprite: viewtopic.php

Cercate:

Codice: Seleziona tutto
// Output the posts
$first_unread = $post_unread = false;


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
include($phpbb_root_path . 'includes/arcade/arcade_constants.' . $phpEx);
include($phpbb_root_path . 'includes/arcade/arcade_cache.' . $phpEx);
include($phpbb_root_path . 'includes/arcade/functions_arcade.' . $phpEx);
$user->add_lang('mods/arcade');


Cercate:

Codice: Seleziona tutto
   if (isset($cp_row['row']) && sizeof($cp_row['row']))
   {
      $postrow = array_merge($postrow, $cp_row['row']);
   }


Alla riga successiva aggiungete in una nuova linea:

Codice: Seleziona tutto
   $arcade_data = display_arcade_highscores($poster_id, basename(__FILE__, '.' . $phpEx));
   if (sizeof($arcade_data))
   {
      $postrow = array_merge($postrow, $arcade_data);
   }


La creazione, il mantenimento e gli aggiornamenti per il progetto Portal XL Italia richiedono molto tempo e fatica, aiutaci con una donazione, tutte le info qui.

Immagine
© Portal XL Italia Group - www.portalxl.eu
Questo articolo è stato modificato da Lucky il 1 gen 2011, 11:05

Chi c’è in linea

Iscritti connessi: Nessuno

cron