phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Overall_header non visualizzato nel PCA

Supporto stili in generale.
RoBBBi
Utente
Utente
Messaggi: 19
Iscritto il: 24/04/2013, 11:50
Sesso: Maschio
Versione: 3.0.8
Server: Windows
PHP: 5.2.12
Database: MySql

Overall_header non visualizzato nel PCA

Messaggio da RoBBBi » 09/01/2014, 12:46

Ciao a tutti!
Come al solito, dopo un po di test e ricerca senza soluzione, mi tocca chiedere a voi... :roll:

Da tempo, riscontro un problema relativamente alla visualizzazione dal PCA del file Overall_header.html .
Mi spiago meglio: accedendo al PCA, raggiungo la scheda per la modifica del template (stile prosilver) e selezionando il file dell'header, il riquadro di modifica resta bianco.
Questa situazione, si verifica solo per il file Overall_header e solo per il tema prosilver (facendo una verifica nel tema prosilver special edition, il file viene visualizzato in modo corretto all'interno del riquadro di modifica).
Di conseguenza, anche solo per visualizzarlo, devo utilizzare l'FTP.

Ho provato a cercare qua e la, ma non ho trovato granché.

Grazie dell'aiuto!

Avatar utente
Tiger
phpBB Expert
phpBB Expert
Messaggi: 1998
Iscritto il: 24/05/2011, 12:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.28
Database: MySQL(i) 5.5.35-cll
Località: Roma
Contatta:

Re: Overall_header non visualizzato nel PCA

Messaggio da Tiger » 09/01/2014, 12:57

Allora,il file incriminato potrebbe essere questo:

adm/styles/acp_styles.html

Controlla quest'ultimo file con uno preso dal pacchetto originale 3.0.12:

P.S:

Sopratutto questa parte di codice:

Codice: Seleziona tutto

<form id="acp_template" method="post" action="{U_ACTION}">

		<fieldset>
			<legend>{L_EDITOR}</legend>
		<!-- IF S_EDIT_TEMPLATE or (S_EDIT_THEME and not S_THEME_IN_DB) -->
		<dl>
			<dt><label>{L_SELECTED_FILE}:</label></dt>
			<dd>{TEMPLATE_FILE}</dd>
		</dl>
		<!-- ENDIF -->
		<dl>
			<dt><label for="text_rows">{L_EDITOR_HEIGHT}:</label></dt>
			<dd><input id="text_rows" type="text" maxlength="3" value="{TEXT_ROWS}" /> <input class="button2" type="button" name="update" onclick="change_editor_height(this.form.text_rows.value);" value="{L_UPDATE}" /></dd>
		</dl>
		<textarea id="template_data" name="template_data" style="font-family:'Courier New', monospace;font-size:9pt;line-height:125%;width:100%;" cols="80" rows="{TEXT_ROWS}">{TEMPLATE_DATA}</textarea>
		</fieldset>

		<fieldset class="submit-buttons">
			<legend>{L_SUBMIT}</legend>
			{S_HIDDEN_FIELDS}
			{S_FORM_TOKEN}
			<input class="button1" id="save" type="submit" name="save" value="{L_SUBMIT}" />
		</fieldset>
		</form>
	<!-- ENDIF -->


Edit:

Potrebbe essere compromesso anche il file:

includes/acp_styles.php

Magari hai installato qualche mod che interessava i seguenti file.

RoBBBi
Utente
Utente
Messaggi: 19
Iscritto il: 24/04/2013, 11:50
Sesso: Maschio
Versione: 3.0.8
Server: Windows
PHP: 5.2.12
Database: MySql

Re: Overall_header non visualizzato nel PCA

Messaggio da RoBBBi » 09/01/2014, 13:29

Prima di tutto, grazie per l'aiuto!

A meno che non mi sia perso qualcosa, direi che il codice che mi hai inserito, è uguale al mio.

Il mio:

Codice: Seleziona tutto

<form id="acp_template" method="post" action="{U_ACTION}">

		<fieldset>
			<legend>{L_EDITOR}</legend>
		<!-- IF S_EDIT_TEMPLATE or (S_EDIT_THEME and not S_THEME_IN_DB) -->
		<dl>
			<dt><label>{L_SELECTED_FILE}:</label></dt>
			<dd>{TEMPLATE_FILE}</dd>
		</dl>
		<!-- ENDIF -->
		<dl>
			<dt><label for="text_rows">{L_EDITOR_HEIGHT}:</label></dt>
			<dd><input id="text_rows" type="text" maxlength="3" value="{TEXT_ROWS}" /> <input class="button2" type="button" name="update" onclick="change_editor_height(this.form.text_rows.value);" value="{L_UPDATE}" /></dd>
		</dl>
		<textarea id="template_data" name="template_data" style="font-family:'Courier New', monospace;font-size:9pt;line-height:125%;width:100%;" cols="80" rows="{TEXT_ROWS}">{TEMPLATE_DATA}</textarea>
		</fieldset>

		<fieldset class="submit-buttons">
			<legend>{L_SUBMIT}</legend>
			{S_HIDDEN_FIELDS}
			{S_FORM_TOKEN}
			<input class="button1" id="save" type="submit" name="save" value="{L_SUBMIT}" />
		</fieldset>
		</form>
Utilizzando un software di merge tra file e confrontando il mio acp_styles.html (versione 3.0.8) e quello dell'ultima versione, ho notato solo che al mio mancano le seguenti parti rispetto all'altro:

Codice: Seleziona tutto

	<!-- IF S_DELETE_STYLE -->
		<hr />
		<dl>
			<dt><label for="new_template_id">{L_DELETE_TEMPLATE}:</label><br /><span>{L_REPLACE_TEMPLATE_EXPLAIN}</span></dt>
			<dd><select id="new_template_id" name="new_template_id">{S_REPLACE_TEMPLATE_OPTIONS}</select></dd>
		</dl>
		<dl>
			<dt><label for="new_theme_id">{L_DELETE_THEME}:</label><br /><span>{L_REPLACE_THEME_EXPLAIN}</span></dt>
			<dd><select id="new_theme_id" name="new_theme_id">{S_REPLACE_THEME_OPTIONS}</select></dd>
		</dl>
		<dl>
			<dt><label for="new_imageset_id">{L_DELETE_IMAGESET}:</label><br /><span>{L_REPLACE_IMAGESET_EXPLAIN}</span></dt>
			<dd><select id="new_imageset_id" name="new_imageset_id">{S_REPLACE_IMAGESET_OPTIONS}</select></dd>
		</dl>
	<!-- ENDIF -->

Codice: Seleziona tutto

	<!-- IF installed.S_INACTIVE and not $INACTIVE_STYLES -->
		<!-- DEFINE $INACTIVE_STYLES = 1 -->
		<tr>
			<td class="row3" colspan="{$COLSPAN}"><strong>{L_INACTIVE_STYLES}</strong></td>
		</tr>
	<!-- ENDIF -->
Altre differenze non me ne segnala.



Edit:

Ora verifico anche il secondo file.

RoBBBi
Utente
Utente
Messaggi: 19
Iscritto il: 24/04/2013, 11:50
Sesso: Maschio
Versione: 3.0.8
Server: Windows
PHP: 5.2.12
Database: MySql

Re: Overall_header non visualizzato nel PCA

Messaggio da RoBBBi » 09/01/2014, 14:15

Per quel che riguarda il file includes/aco/acp_styles.php, ci son diverse differenze.

Te le riporto tutte anche se vedo che molte son dovute a MODs installate sul mio...

Mio:

Codice: Seleziona tutto

		$user->add_lang('acp/styles');
		$user->add_lang('mods/reimg');
		$this->tpl_name = 'acp_styles';
		$this->page_title = 'ACP_CAT_STYLES';
Originale:

Codice: Seleziona tutto

		$user->add_lang('acp/styles');
		$this->tpl_name = 'acp_styles';
		$this->page_title = 'ACP_CAT_STYLES';
---

Mio:

Codice: Seleziona tutto

# Some configuration options
#
# You can use this function to inherit templates from another template.
# The template of the given name has to be installed.
# Templates cannot inherit from inheriting templates.
#';
		$this->imageset_keys = array(
			'logos' => array(
				'site_logo',
			),
			'buttons'	=> array(
				'icon_back_top', 'icon_contact_aim', 'icon_contact_email', 'icon_contact_icq', 'icon_contact_jabber', 'icon_contact_msnm', 'icon_contact_pm', 'icon_contact_yahoo', 'icon_contact_www', 'icon_post_delete', 'icon_post_edit', 'icon_post_info', 'icon_post_quote', 'icon_post_report', 'icon_user_online', 'icon_user_offline', 'icon_user_profile', 'icon_user_search', 'icon_user_warn', 'button_pm_forward', 'button_pm_new', 'button_pm_reply', 'button_topic_locked', 'button_topic_new', 'button_topic_reply', 'button_blog_new',
				'icon_reimg_loading', 'icon_reimg_zoom_in', 'icon_reimg_zoom_out',				
			),
			'icons'		=> array(
Originale:

Codice: Seleziona tutto

# Some configuration options
# Template inheritance
# See http://blog.phpbb.com/2008/07/31/templating-just-got-easier/
# Set value to empty or this template name to ignore template inheritance.
inherit_from = {INHERIT_FROM}
';
		$this->imageset_keys = array(
			'logos' => array(
				'site_logo',
			),
			'buttons'	=> array(
				'icon_back_top', 'icon_contact_aim', 'icon_contact_email', 'icon_contact_icq', 'icon_contact_jabber', 'icon_contact_msnm', 'icon_contact_pm', 'icon_contact_yahoo', 'icon_contact_www', 'icon_post_delete', 'icon_post_edit', 'icon_post_info', 'icon_post_quote', 'icon_post_report', 'icon_user_online', 'icon_user_offline', 'icon_user_profile', 'icon_user_search', 'icon_user_warn', 'button_pm_forward', 'button_pm_new', 'button_pm_reply', 'button_topic_locked', 'button_topic_new', 'button_topic_reply',
			),
			'icons'		=> array(
---

Mio:

Codice: Seleziona tutto

		);	
		$user->add_lang('mods/facebook');
		$this->imageset_keys['icons'][] = 'icon_contact_facebook';		

		// Execute overall actions
Originale:

Codice: Seleziona tutto

		);
		// Execute overall actions
---

Mio:

Codice: Seleziona tutto

							$cache->destroy('sql', STYLES_IMAGESET_DATA_TABLE);

							add_log('admin', 'LOG_IMAGESET_REFRESHED', $imageset_row['imageset_name']);
Originale:

Codice: Seleziona tutto

							$cache->destroy('sql', STYLES_IMAGESET_DATA_TABLE);
							$cache->destroy('imageset_site_logo_md5');

							add_log('admin', 'LOG_IMAGESET_REFRESHED', $imageset_row['imageset_name']);
---

Mio:

Codice: Seleziona tutto

		$sql_from = '';
		$style_count = array();

		switch ($mode)
		{
			case 'style':
				$sql_from = STYLES_TABLE;

				$sql = 'SELECT user_style, COUNT(user_style) AS style_count
Originale:

Codice: Seleziona tutto

		$sql_from = '';
		$sql_sort = 'LOWER(' . $mode . '_name)';
		$style_count = array();

		switch ($mode)
		{
			case 'style':
				$sql_from = STYLES_TABLE;
				$sql_sort = 'style_active DESC, ' . $sql_sort;

				$sql = 'SELECT user_style, COUNT(user_style) AS style_count
---

Mio:

Codice: Seleziona tutto

			break;
		}
Originale:

Codice: Seleziona tutto

			break;
			
			default:
				trigger_error($user->lang['NO_MODE'] . adm_back_link($this->u_action), E_USER_WARNING);
		}
---

Mio:

Codice: Seleziona tutto

		$sql = "SELECT *
			FROM $sql_from";
		$result = $db->sql_query($sql);
Originale:

Codice: Seleziona tutto

		$sql = "SELECT *
			FROM $sql_from
			ORDER BY $sql_sort ASC";
		$result = $db->sql_query($sql);
---

Mio:

Codice: Seleziona tutto

				'STYLE_COUNT'			=> ($mode == 'style' && isset($style_count[$row['style_id']])) ? $style_count[$row['style_id']] : 0,
				)
Originale:

Codice: Seleziona tutto

				'STYLE_COUNT'			=> ($mode == 'style' && isset($style_count[$row['style_id']])) ? $style_count[$row['style_id']] : 0,

				'S_INACTIVE'			=> ($mode == 'style' && !$row['style_active']) ? true : false,
				)
---

Mio:

Codice: Seleziona tutto

						{
							$new_ary[] = array(
								'path'		=> $file,
Originale:

Codice: Seleziona tutto

						{
							// The array key is used for sorting later on.
							// $file is appended because $name doesn't have to be unique.
							$new_ary[$name . $file] = array(
								'path'		=> $file,
---

Mio:

Codice: Seleziona tutto

		if (sizeof($new_ary))
		{
			foreach ($new_ary as $cfg)
			{
				$template->assign_block_vars('uninstalled', array(
Originale:

Codice: Seleziona tutto

		if (sizeof($new_ary))
		{
			ksort($new_ary);

			foreach ($new_ary as $cfg)
			{
				$template->assign_block_vars('uninstalled', array(
---

Mio:

Codice: Seleziona tutto

		// make sure template_file path doesn't go upwards
		$template_file = str_replace('..', '.', $template_file);

Originale:

Codice: Seleziona tutto

		// make sure template_file path doesn't go upwards
		$template_file = preg_replace('#\.{2,}#', '.', $template_file);

---

Mio:

Codice: Seleziona tutto

				$sql_from = STYLES_TABLE;
				$sql_select = 'style_name';
				$sql_where = 'AND style_active = 1';
			break;

			case 'template':
				$sql_from = STYLES_TEMPLATE_TABLE;
				$sql_select = 'template_name, template_path, template_storedb';
			break;

			case 'theme':
				$sql_from = STYLES_THEME_TABLE;
				$sql_select = 'theme_name, theme_path, theme_storedb';
			break;

			case 'imageset':
				$sql_from = STYLES_IMAGESET_TABLE;
				$sql_select = 'imageset_name, imageset_path';
			break;
Originale:

Codice: Seleziona tutto

				$sql_from = STYLES_TABLE;
				$sql_select = 'style_id, style_name, template_id, theme_id, imageset_id';
				$sql_where = 'AND style_active = 1';
			break;

			case 'template':
				$sql_from = STYLES_TEMPLATE_TABLE;
				$sql_select = 'template_id, template_name, template_path, template_storedb';
			break;

			case 'theme':
				$sql_from = STYLES_THEME_TABLE;
				$sql_select = 'theme_id, theme_name, theme_path, theme_storedb';
			break;

			case 'imageset':
				$sql_from = STYLES_IMAGESET_TABLE;
				$sql_select = 'imageset_id, imageset_name, imageset_path';
---

Mio:

Codice: Seleziona tutto

		if (!$style_row)
		{
			trigger_error($user->lang['NO_' . $l_prefix] . adm_back_link($this->u_action), E_USER_WARNING);
		}

		$sql = "SELECT {$mode}_id, {$mode}_name
			FROM $sql_from
			WHERE {$mode}_id <> $style_id
			$sql_where
			ORDER BY {$mode}_name ASC";
		$result = $db->sql_query($sql);

		$s_options = '';

		if ($row = $db->sql_fetchrow($result))
		{
			do
			{
				$s_options .= '<option value="' . $row[$mode . '_id'] . '">' . $row[$mode . '_name'] . '</option>';
			}
			while ($row = $db->sql_fetchrow($result));
		}
		else
		{
			trigger_error($user->lang['ONLY_' . $l_prefix] . adm_back_link($this->u_action), E_USER_WARNING);
		}
		$db->sql_freeresult($result);

		if ($update)
		{
			$sql = "DELETE FROM $sql_from
				WHERE {$mode}_id = $style_id";
			$db->sql_query($sql);

			if ($mode == 'style')
			{
				$sql = 'UPDATE ' . USERS_TABLE . "
					SET user_style = $new_id
					WHERE user_style = $style_id";
				$db->sql_query($sql);

				$sql = 'UPDATE ' . FORUMS_TABLE . "
					SET forum_style = $new_id
					WHERE forum_style = $style_id";
				$db->sql_query($sql);

				// Start User Blog Mod ----------------------
				global $phpEx;
				include("{$phpbb_root_path}blog/includes/functions_admin.$phpEx");
				blog_remove_style($style_id, $new_id);
				// End User Blog Mod ------------------------				

				if ($style_id == $config['default_style'])
				{
					set_config('default_style', $new_id);
				}
			}
			else
			{
				if ($mode == 'imageset')
				{
					$sql = 'DELETE FROM ' . STYLES_IMAGESET_DATA_TABLE . "
						WHERE imageset_id = $style_id";
					$db->sql_query($sql);
				}
				$sql = 'UPDATE ' . STYLES_TABLE . "
					SET {$mode}_id = $new_id
					WHERE {$mode}_id = $style_id";
				$db->sql_query($sql);
			}

			$cache->destroy('sql', STYLES_TABLE);

			add_log('admin', 'LOG_' . $l_prefix . '_DELETE', $style_row[$mode . '_name']);
			$message = ($mode != 'style') ? $l_prefix . '_DELETED_FS' : $l_prefix . '_DELETED';
			trigger_error($user->lang[$message] . adm_back_link($this->u_action));
		}

		$this->page_title = 'DELETE_' . $l_prefix;

		$template->assign_vars(array(
			'S_DELETE'			=> true,
			'S_REPLACE_OPTIONS'	=> $s_options,

			'L_TITLE'			=> $user->lang[$this->page_title],
			'L_EXPLAIN'			=> $user->lang[$this->page_title . '_EXPLAIN'],
			'L_NAME'			=> $user->lang[$l_prefix . '_NAME'],
			'L_REPLACE'			=> $user->lang['REPLACE_' . $l_prefix],
			'L_REPLACE_EXPLAIN'	=> $user->lang['REPLACE_' . $l_prefix . '_EXPLAIN'],

			'U_ACTION'		=> $this->u_action . "&action=delete&id=$style_id",
			'U_BACK'		=> $this->u_action,

			'NAME'			=> $style_row[$mode . '_name'],
			)
		);
	}

Originale:

Codice: Seleziona tutto

		if (!$style_row)
		{
			trigger_error($user->lang['NO_' . $l_prefix] . adm_back_link($this->u_action), E_USER_WARNING);
		}

		$s_only_component = $this->display_component_options($mode, $style_row[$mode . '_id'], $style_row);

		if ($s_only_component)
		{
			trigger_error($user->lang['ONLY_' . $l_prefix] . adm_back_link($this->u_action), E_USER_WARNING);
		}

		if ($update)
		{
			if ($mode == 'style')
			{
				$sql = "DELETE FROM $sql_from
					WHERE {$mode}_id = $style_id";
				$db->sql_query($sql);

				$sql = 'UPDATE ' . USERS_TABLE . "
					SET user_style = $new_id
					WHERE user_style = $style_id";
				$db->sql_query($sql);

				$sql = 'UPDATE ' . FORUMS_TABLE . "
					SET forum_style = $new_id
					WHERE forum_style = $style_id";
				$db->sql_query($sql);

				if ($style_id == $config['default_style'])
				{
					set_config('default_style', $new_id);
				}

				// Remove the components
				$components = array('template', 'theme', 'imageset');
				foreach ($components as $component)
				{
					$new_id = request_var('new_' . $component . '_id', 0);
					$component_id = $style_row[$component . '_id'];
					$this->remove_component($component, $component_id, $new_id, $style_id);
				}
			}
			else
			{
				$this->remove_component($mode, $style_id, $new_id);
			}

			$cache->destroy('sql', STYLES_TABLE);

			add_log('admin', 'LOG_' . $l_prefix . '_DELETE', $style_row[$mode . '_name']);
			$message = ($mode != 'style') ? $l_prefix . '_DELETED_FS' : $l_prefix . '_DELETED';
			trigger_error($user->lang[$message] . adm_back_link($this->u_action));
		}

		$this->page_title = 'DELETE_' . $l_prefix;

		$template->assign_vars(array(
			'S_DELETE'			=> true,

			'L_TITLE'			=> $user->lang[$this->page_title],
			'L_EXPLAIN'			=> $user->lang[$this->page_title . '_EXPLAIN'],
			'L_NAME'			=> $user->lang[$l_prefix . '_NAME'],
			'L_REPLACE'			=> $user->lang['REPLACE_' . $l_prefix],
			'L_REPLACE_EXPLAIN'	=> $user->lang['REPLACE_' . $l_prefix . '_EXPLAIN'],

			'U_ACTION'		=> $this->u_action . "&action=delete&id=$style_id",
			'U_BACK'		=> $this->u_action,

			'NAME'			=> $style_row[$mode . '_name'],
			)
		);

		if ($mode == 'style')
		{
			$template->assign_vars(array(
				'S_DELETE_STYLE'		=> true,
			));
		}
	}

	/**
	* Remove template/theme/imageset entry from the database
	*/
	function remove_component($component, $component_id, $new_id, $style_id = false)
	{
		global $db;

		if (($new_id == 0) || ($component === 'template' && ($conflicts = $this->check_inheritance($component, $component_id))))
		{
			// We can not delete the template, as the user wants to keep the component or an other template is inheriting from this one.
			return;
		}

		$component_in_use = array();
		if ($component != 'style')
		{
			$component_in_use = $this->component_in_use($component, $component_id, $style_id);
		}

		if (($new_id == -1) && !empty($component_in_use))
		{
			// We can not delete the component, as it is still in use
			return;
		}

		if ($component == 'imageset')
		{
			$sql = 'DELETE FROM ' . STYLES_IMAGESET_DATA_TABLE . "
				WHERE imageset_id = $component_id";
			$db->sql_query($sql);
		}

		switch ($component)
		{
			case 'template':
				$sql_from = STYLES_TEMPLATE_TABLE;
			break;

			case 'theme':
				$sql_from = STYLES_THEME_TABLE;
			break;

			case 'imageset':
				$sql_from = STYLES_IMAGESET_TABLE;;
			break;
		}

		$sql = "DELETE FROM $sql_from
			WHERE {$component}_id = $component_id";
		$db->sql_query($sql);

		$sql = 'UPDATE ' . STYLES_TABLE . "
			SET {$component}_id = $new_id
			WHERE {$component}_id = $component_id";
		$db->sql_query($sql);
	}

	/**
	* Display the options which can be used to replace a style/template/theme/imageset
	*
	* @return boolean Returns true if the component is the only component and can not be deleted.
	*/
	function display_component_options($component, $component_id, $style_row = false, $style_id = false)
	{
		global $db, $template, $user;

		$is_only_component = true;
		$component_in_use = array();
		if ($component != 'style')
		{
			$component_in_use = $this->component_in_use($component, $component_id, $style_id);
		}

		$sql_where = '';
		switch ($component)
		{
			case 'style':
				$sql_from = STYLES_TABLE;
				$sql_where = 'WHERE style_active = 1';
			break;

			case 'template':
				$sql_from = STYLES_TEMPLATE_TABLE;
				$sql_where = 'WHERE template_inherits_id <> ' . $component_id;
			break;

			case 'theme':
				$sql_from = STYLES_THEME_TABLE;
			break;

			case 'imageset':
				$sql_from = STYLES_IMAGESET_TABLE;
			break;
		}

		$s_options = '';
		if (($component != 'style') && empty($component_in_use))
		{
			// If it is not in use, there must be another component
			$is_only_component = false;

			$sql = "SELECT {$component}_id, {$component}_name
				FROM $sql_from
				WHERE {$component}_id = {$component_id}";
			$result = $db->sql_query($sql);
			$row = $db->sql_fetchrow($result);
			$db->sql_freeresult($result);

			$s_options .= '<option value="-1" selected="selected">' . $user->lang['DELETE_' . strtoupper($component)] . '</option>';
			$s_options .= '<option value="0">' . sprintf($user->lang['KEEP_' . strtoupper($component)], $row[$component . '_name']) . '</option>';
		}
		else
		{
			$sql = "SELECT {$component}_id, {$component}_name
				FROM $sql_from
				$sql_where
				ORDER BY {$component}_name ASC";
			$result = $db->sql_query($sql);

			$s_keep_option = $s_options = '';
			while ($row = $db->sql_fetchrow($result))
			{
				if ($row[$component . '_id'] != $component_id)
				{
					$is_only_component = false;
					$s_options .= '<option value="' . $row[$component . '_id'] . '">' . sprintf($user->lang['REPLACE_WITH_OPTION'], $row[$component . '_name']) . '</option>';
				}
				else if ($component != 'style')
				{
					$s_keep_option = '<option value="0" selected="selected">' . sprintf($user->lang['KEEP_' . strtoupper($component)], $row[$component . '_name']) . '</option>';
				}
			}
			$db->sql_freeresult($result);
			$s_options = $s_keep_option . $s_options;
		}

		if (!$style_row)
		{
			$template->assign_var('S_REPLACE_' . strtoupper($component) . '_OPTIONS', $s_options);
		}
		else
		{
			$template->assign_var('S_REPLACE_OPTIONS', $s_options);
			if ($component == 'style')
			{
				$components = array('template', 'theme', 'imageset');
				foreach ($components as $component)
				{
					$this->display_component_options($component, $style_row[$component . '_id'], false, $component_id, true);
				}
			}
		}

		return $is_only_component;
	}

	/**
	* Check whether the component is still used by another style or component
	*/
	function component_in_use($component, $component_id, $style_id = false)
	{
		global $db;

		$component_in_use = array();

		if ($style_id)
		{
			$sql = 'SELECT style_id, style_name
				FROM ' . STYLES_TABLE . "
				WHERE {$component}_id = {$component_id}
					AND style_id <> {$style_id}
				ORDER BY style_name ASC";
		}
		else
		{
			$sql = 'SELECT style_id, style_name
				FROM ' . STYLES_TABLE . "
				WHERE {$component}_id = {$component_id}
				ORDER BY style_name ASC";
		}
		$result = $db->sql_query($sql);
		while ($row = $db->sql_fetchrow($result))
		{
			$component_in_use[] = $row['style_name'];
		}
		$db->sql_freeresult($result);

		if ($component === 'template' && ($conflicts = $this->check_inheritance($component, $component_id)))
		{
			foreach ($conflicts as $temp_id => $conflict_data)
			{
				$component_in_use[] = $conflict_data['template_name'];
			}
		}

		return $component_in_use;
	}
---

Mio:

Codice: Seleziona tutto

			{
				$template_cfg = str_replace(array('{MODE}', '{NAME}', '{COPYRIGHT}', '{VERSION}'), array($mode, $style_row['template_name'], $style_row['template_copyright'], $config['version']), $this->template_cfg);

				$use_template_name = '';

				// Add the inherit from variable, depending on it's use...
				if ($style_row['template_inherits_id'])
				{
					// Get the template name
					$sql = 'SELECT template_name
						FROM ' . STYLES_TEMPLATE_TABLE . '
						WHERE template_id = ' . (int) $style_row['template_inherits_id'];
					$result = $db->sql_query($sql);
					$use_template_name = (string) $db->sql_fetchfield('template_name');
					$db->sql_freeresult($result);
				}

				$template_cfg .= ($use_template_name) ? "\ninherit_from = $use_template_name" : "\n#inherit_from = ";
				$template_cfg .= "\n\nbbcode_bitfield = {$style_row['bbcode_bitfield']}";

				$data[] = array(
Originale:

Codice: Seleziona tutto

			{
				$use_template_name = $style_row['template_name'];

				// Add the inherit from variable, depending on it's use...
				if ($style_row['template_inherits_id'])
				{
					// Get the template name
					$sql = 'SELECT template_name
						FROM ' . STYLES_TEMPLATE_TABLE . '
						WHERE template_id = ' . (int) $style_row['template_inherits_id'];
					$result = $db->sql_query($sql);
					$use_template_name = (string) $db->sql_fetchfield('template_name');
					$db->sql_freeresult($result);
				}

				$template_cfg = str_replace(array('{MODE}', '{NAME}', '{COPYRIGHT}', '{VERSION}', '{INHERIT_FROM}'), array($mode, $style_row['template_name'], $style_row['template_copyright'], $config['version'], $use_template_name), $this->template_cfg);

				$template_cfg .= "\n\nbbcode_bitfield = {$style_row['bbcode_bitfield']}";

				$data[] = array(
E scusa per il maxipost :?

Avatar utente
Tiger
phpBB Expert
phpBB Expert
Messaggi: 1998
Iscritto il: 24/05/2011, 12:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.28
Database: MySQL(i) 5.5.35-cll
Località: Roma
Contatta:

Re: Overall_header non visualizzato nel PCA

Messaggio da Tiger » 09/01/2014, 15:33

Allora il problema non e' facilmente risolvibile,ossia potrebbe dipendere da una modifica effettuata male(maggiormente implicati ripeto i due file citati),anche perche' le differenze trovate da te nel file php,molte sono dovute ai cambiamenti di codice tra 3.0.8 e 3.0.12:

https://area51.phpbb.com/code-changes/3 ... s.php.html

Ora i miei consiglii potrebbe essere i seguenti:

Attivazione del debug:

Apri il file config.php presente nella root del tuo forum:

cerchi:

Codice: Seleziona tutto

// @define('DEBUG', true);
// @define('DEBUG_EXTRA', true);
sostituisci con:

Codice: Seleziona tutto

 @define('DEBUG', true);
 @define('DEBUG_EXTRA', true);
Poi accedi in ACP e,nel tab styles vedi cosa accade provando a visualizzare il template incriminato:

2)Porti il tuo forum da remoto a locale,utilizzando il software XAMPP,che di default ti dovrebbe indicare con il suo sistema debug,l'errore in ACP---Stili


3)Provando a fare mente locale delle mod installate in modo tale da operare per esclusione.



Edit:

Dimentico scusa,quello piu' importante di consiglio:

Prendi in seria considerazione l'aggiornamento della tua board con la nuova versione 3.0.12. ;)

RoBBBi
Utente
Utente
Messaggi: 19
Iscritto il: 24/04/2013, 11:50
Sesso: Maschio
Versione: 3.0.8
Server: Windows
PHP: 5.2.12
Database: MySql

Re: Overall_header non visualizzato nel PCA

Messaggio da RoBBBi » 09/01/2014, 15:47

Nel frattempo, ho spulciato il file includes/aco/acp_styles.php della versione 3.0.12.

Sostanzialmente ho notato che la lista di file nel menu in cui viene selezionato l'overall_header.html viene creata tramite una select sul DB ed in particolare, viene utilizzata la tabella phpbb_styles_template_data

Facendo delle query su questa tabella, mi sono accorto che sono presenti dei record ripetuti più volte (ad esempio con template_filename = 'overall_footer.html' estrae 9 record).
La cosa che non mi risulta strana è che, anche facendo una GROUP BY per avere un solo record per ogni template_filename, non ci sia nemmeno un record con template_filename = 'overall_header.html'!

La query che ho utilizzato, è questa:

Codice: Seleziona tutto

SELECT * FROM `phpbb_styles_template_data` GROUP BY template_filename ORDER BY template_filename ASC
Non è che riusciresti a darmi un riscontro in merito?


EDIT:
Ci ho smanettato un po con l'ausilio del webmaster del nostro sito e alla fine, mettendo mano all'overall_header via FTP e ricaricandolo praticamente invariato, si è ripreso ed ora visualizzo il file anche nel PCA. :shock:

Segnalo
Utente
Utente
Messaggi: 244
Iscritto il: 08/12/2013, 18:40
Sesso: Maschio
Versione: 3.0.12
Server: Windows
PHP: 5.3
Contatta:

Re: Overall_header non visualizzato nel PCA

Messaggio da Segnalo » 09/01/2014, 19:21

Hai svuotato la cache? quando apporti una modifica ai file del template devi svuotare sempre la cache generale, invece, quando apporti mod nei file del theme devi sempre svuotare la cache del tema (in uso) in stili e aggiornare il browser più volte con F5 come alternativa a svuotare la cache del browser

RoBBBi
Utente
Utente
Messaggi: 19
Iscritto il: 24/04/2013, 11:50
Sesso: Maschio
Versione: 3.0.8
Server: Windows
PHP: 5.2.12
Database: MySql

Re: Overall_header non visualizzato nel PCA

Messaggio da RoBBBi » 09/01/2014, 19:28

Si si... Avevamo provato sia con la cache ovunque sia con l'aggiornamento di template e temi.
Infatti non ci capacitiamo di come si sia risolta togliendo e ricaricano lo stesso identico file.

Inviato dal mio GT-I9300 usando Tapatalk Pro

Segnalo
Utente
Utente
Messaggi: 244
Iscritto il: 08/12/2013, 18:40
Sesso: Maschio
Versione: 3.0.12
Server: Windows
PHP: 5.3
Contatta:

Re: Overall_header non visualizzato nel PCA

Messaggio da Segnalo » 09/01/2014, 23:38

semplice, non può essere

RoBBBi
Utente
Utente
Messaggi: 19
Iscritto il: 24/04/2013, 11:50
Sesso: Maschio
Versione: 3.0.8
Server: Windows
PHP: 5.2.12
Database: MySql

Re: Overall_header non visualizzato nel PCA

Messaggio da RoBBBi » 10/01/2014, 1:12

Eppure, ti assicuro che è quello che è stato fatto!

I vari passaggi delle prove sono stati:
- caricato l'header su un altro forum e pagina bianca pure li.
- tolti uno ad uno gli script delle MODs e togliendo quello di PayPal si è sistemato (sempre sull'altro forum)
- aggiunti uno ad uno gli script negli stessi identici punti ed ha continuato a funzionare
- scaricato l'header dall'altro forum su cui è stato provato ed è tornato a funzionare anche sul mio

Inviato dal mio GT-I9300 usando Tapatalk Pro

Rispondi

Torna a “Supporto stili”

Chi c’è in linea

Visitano il forum: Bing [Bot] e 77 ospiti