Administrion/Styles

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
caesargrau
Mitglied
Beiträge: 121
Registriert: 16.03.2006 20:56

Administrion/Styles

Beitrag von caesargrau »

Wenn ich in der Administration auf den Reiter Syles gehe kommen seit Neusestem folgdende Meldungen:

]; $inherit_bf = ($mode === 'template') ? $row["bbcode_bitfield"] : false; $cfg_data['store_db'] = $row["{$mode}_storedb"]; $store_db = $row["{$mode}_storedb"]; } } else { $inherit_id = 0; $inherit_path = ''; $inherit_bf = false; } if (sizeof($error)) { return false; } $sql_ary = array( $mode . '_name' => $name, $mode . '_copyright' => $copyright, $mode . '_path' => $path, ); switch ($mode) { case 'template': // We check if the template author defined a different bitfield if (!empty($cfg_data['template_bitfield'])) { $sql_ary['bbcode_bitfield'] = $cfg_data['template_bitfield']; } else if ($inherit_bf) { $sql_ary['bbcode_bitfield'] = $inherit_bf; } else { $sql_ary['bbcode_bitfield'] = TEMPLATE_BITFIELD; } // We set a pre-defined bitfield here which we may use further in 3.2 $sql_ary += array( 'template_storedb' => $store_db, ); if (isset($cfg_data['inherit_from']) && $cfg_data['inherit_from']) { $sql_ary += array( 'template_inherits_id' => $inherit_id, 'template_inherit_path' => $inherit_path, ); } break; case 'theme': // We are only interested in the theme configuration for now if (isset($cfg_data['parse_css_file']) && $cfg_data['parse_css_file']) { $store_db = 1; } $sql_ary += array( 'theme_storedb' => $store_db, 'theme_data' => ($store_db) ? $this->db_theme_data($sql_ary, false, $root_path) : '', 'theme_mtime' => (int) filemtime("{$phpbb_root_path}styles/$path/theme/stylesheet.css") ); break; // all the heavy lifting is done later case 'imageset': break; } $db->sql_transaction('begin'); $sql = "INSERT INTO $sql_from " . $db->sql_build_array('INSERT', $sql_ary); $db->sql_query($sql); $id = $db->sql_nextid(); if ($mode == 'template' && $store_db) { $filelist = filelist("{$root_path}template", '', 'html'); $this->store_templates('insert', $id, $path, $filelist); } else if ($mode == 'imageset') { $cfg_data = parse_cfg_file("$root_path$mode/imageset.cfg"); $imageset_definitions = array(); foreach ($this->imageset_keys as $topic => $key_array) { $imageset_definitions = array_merge($imageset_definitions, $key_array); } foreach ($cfg_data as $key => $value) { if (strpos($value, '*') !== false) { if (substr($value, -1, 1) === '*') { list($image_filename, $image_height) = explode('*', $value); $image_width = 0; } else { list($image_filename, $image_height, $image_width) = explode('*', $value); } } else { $image_filename = $value; $image_height = $image_width = 0; } if (strpos($key, 'img_') === 0 && $image_filename) { $key = substr($key, 4); if (in_array($key, $imageset_definitions)) { $sql_ary = array( 'image_name' => $key, 'image_filename' => str_replace('{PATH}', "styles/$path/imageset/", trim($image_filename)), 'image_height' => (int) $image_height, 'image_width' => (int) $image_width, 'imageset_id' => (int) $id, 'image_lang' => '', ); $db->sql_query('INSERT INTO ' . STYLES_IMAGESET_DATA_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary)); } } } unset($cfg_data); $sql = 'SELECT lang_dir FROM ' . LANG_TABLE; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { if (@file_exists("$root_path$mode/{$row['lang_dir']}/imageset.cfg")) { $cfg_data_imageset_data = parse_cfg_file("$root_path$mode/{$row['lang_dir']}/imageset.cfg"); foreach ($cfg_data_imageset_data as $image_name => $value) { if (strpos($value, '*') !== false) { if (substr($value, -1, 1) === '*') { list($image_filename, $image_height) = explode('*', $value); $image_width = 0; } else { list($image_filename, $image_height, $image_width) = explode('*', $value); } } else { $image_filename = $value; $image_height = $image_width = 0; } if (strpos($image_name, 'img_') === 0 && $image_filename) { $image_name = substr($image_name, 4); if (in_array($image_name, $imageset_definitions)) { $sql_ary = array( 'image_name' => $image_name, 'image_filename' => $image_filename, 'image_height' => (int) $image_height, 'image_width' => (int) $image_width, 'imageset_id' => (int) $id, 'image_lang' => $row['lang_dir'], ); $db->sql_query('INSERT INTO ' . STYLES_IMAGESET_DATA_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary)); } } } unset($cfg_data_imageset_data); } } $db->sql_freeresult($result); } $db->sql_transaction('commit'); $log = ($store_db) ? 'LOG_' . $l_type . '_ADD_DB' : 'LOG_' . $l_type . '_ADD_FS'; add_log('admin', $log, $name); // Return store_db in case it had to be altered return $store_db; } /** * Checks downwards dependencies * * @access public * @param string $mode The element type to check - only template is supported * @param int $id The template id * @returns false if no component inherits, array with name, path and id for each subtemplate otherwise */ function check_inheritance($mode, $id) { global $db; $l_type = strtoupper($mode); switch ($mode) { 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 = "SELECT {$mode}_id, {$mode}_name, {$mode}_path FROM $sql_from WHERE {$mode}_inherits_id = " . (int) $id; $result = $db->sql_query($sql); $names = array(); while ($row = $db->sql_fetchrow($result)) { $names[$row["{$mode}_id"]] = array( "{$mode}_id" => $row["{$mode}_id"], "{$mode}_name" => $row["{$mode}_name"], "{$mode}_path" => $row["{$mode}_path"], ); } $db->sql_freeresult($result); if (sizeof($names)) { return $names; } else { return false; } } /** * Checks upwards dependencies * * @access public * @param string $mode The element type to check - only template is supported * @param int $id The template id * @returns false if the component does not inherit, array with name, path and id otherwise */ function get_super($mode, $id) { global $db; $l_type = strtoupper($mode); switch ($mode) { 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 = "SELECT {$mode}_inherits_id FROM $sql_from WHERE {$mode}_id = " . (int) $id; $result = $db->sql_query_limit($sql, 1); if ($row = $db->sql_fetchrow($result)) { $db->sql_freeresult($result); } else { return false; } $super_id = $row["{$mode}_inherits_id"]; $sql = "SELECT {$mode}_id, {$mode}_name, {$mode}_path FROM $sql_from WHERE {$mode}_id = " . (int) $super_id; $result = $db->sql_query_limit($sql, 1); if ($row = $db->sql_fetchrow($result)) { $db->sql_freeresult($result); return $row; } return false; } /** * Moves a template set and its subtemplates to the database * * @access public * @param string $mode The component to move - only template is supported * @param int $id The template id */ function store_in_db($mode, $id) { global $db, $user; $error = array(); $l_type = strtoupper($mode); if ($super = $this->get_super($mode, $id)) { $error[] = (sprintf($user->lang["{$l_type}_INHERITS"], $super['template_name'])); return $error; } $sql = "SELECT {$mode}_id, {$mode}_name, {$mode}_path FROM " . STYLES_TEMPLATE_TABLE . ' WHERE template_id = ' . (int) $id; $result = $db->sql_query_limit($sql, 1); if ($row = $db->sql_fetchrow($result)) { $db->sql_freeresult($result); $subs = $this->check_inheritance($mode, $id); $this->_store_in_db($mode, $id, $row["{$mode}_path"]); if ($subs && sizeof($subs)) { foreach ($subs as $sub_id => $sub) { if ($err = $this->_store_in_db($mode, $sub["{$mode}_id"], $sub["{$mode}_path"])) { $error[] = $err; } } } } if (sizeof($error)) { return $error; } return false; } /** * Moves a template set to the database * * @access private * @param string $mode The component to move - only template is supported * @param int $id The template id * @param string $path TThe path to the template files */ function _store_in_db($mode, $id, $path) { global $phpbb_root_path, $db; $filelist = filelist("{$phpbb_root_path}styles/{$path}/template", '', 'html'); $this->store_templates('insert', $id, $path, $filelist); // Okay, we do the query here -shouldn't be triggered often. $sql = 'UPDATE ' . STYLES_TEMPLATE_TABLE . ' SET template_storedb = 1 WHERE template_id = ' . $id; $db->sql_query($sql); } /** * Moves a template set and its subtemplates to the filesystem * * @access public * @param string $mode The component to move - only template is supported * @param int $id The template id */ function store_in_fs($mode, $id) { global $db, $user; $error = array(); $l_type = strtoupper($mode); if ($super = $this->get_super($mode, $id)) { $error[] = (sprintf($user->lang["{$l_type}_INHERITS"], $super['template_name'])); return($error); } $sql = "SELECT {$mode}_id, {$mode}_name, {$mode}_path FROM " . STYLES_TEMPLATE_TABLE . ' WHERE template_id = ' . (int) $id; $result = $db->sql_query_limit($sql, 1); if ($row = $db->sql_fetchrow($result)) { $db->sql_freeresult($result); if (!sizeof($error)) { $subs = $this->check_inheritance($mode, $id); $this->_store_in_fs($mode, $id, $row["{$mode}_path"]); if ($subs && sizeof($subs)) { foreach ($subs as $sub_id => $sub) { $this->_store_in_fs($mode, $sub["{$mode}_id"], $sub["{$mode}_path"]); } } } if (sizeof($error)) { $this->store_in_db($id, $mode); return $error; } } return false; } /** * Moves a template set to the filesystem * * @access private * @param string $mode The component to move - only template is supported * @param int $id The template id * @param string $path The path to the template */ function _store_in_fs($mode, $id, $path) { global $phpbb_root_path, $db, $user, $safe_mode; $store_db = 0; $error = array(); if (!$safe_mode && @is_writable("{$phpbb_root_path}styles/{$path}/template")) { $sql = 'SELECT * FROM ' . STYLES_TEMPLATE_DATA_TABLE . " WHERE template_id = $id"; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { if (!($fp = @fopen("{$phpbb_root_path}styles/{$path}/template/" . $row['template_filename'], 'wb'))) { $store_db = 1; $error[] = $user->lang['EDIT_TEMPLATE_STORED_DB']; break; } fwrite($fp, $row['template_data']); fclose($fp); } $db->sql_freeresult($result); if (!$store_db) { $sql = 'DELETE FROM ' . STYLES_TEMPLATE_DATA_TABLE . " WHERE template_id = $id"; $db->sql_query($sql); } } if (sizeof($error)) { return $error; } $sql = 'UPDATE ' . STYLES_TEMPLATE_TABLE . ' SET template_storedb = 0 WHERE template_id = ' . $id; $db->sql_query($sql); return false; } } ?>[phpBB Debug] PHP Notice: in file /adm/index.php on line 150: Cannot modify header information - headers already sent by (output started at /includes/acp/acp_styles.php:171)
[phpBB Debug] PHP Notice: in file /adm/index.php on line 152: Cannot modify header information - headers already sent by (output started at /includes/acp/acp_styles.php:171)
[phpBB Debug] PHP Notice: in file /adm/index.php on line 153: Cannot modify header information - headers already sent by (output started at /includes/acp/acp_styles.php:171)
[phpBB Debug] PHP Notice: in file /adm/index.php on line 154: Cannot modify header information - headers already sent by (output started at /includes/acp/acp_styles.php:171)

Kann mir jemand helfen ?
Gruß caesargrau
caesargrau
Mitglied
Beiträge: 121
Registriert: 16.03.2006 20:56

Re: Administrion/Styles

Beitrag von caesargrau »

Daß die Meldung kommt ist nicht so schlimm; denn unter der Meldung ist das normale Menü; aber mein Board sieht seither für die User leider sehr verschoben aus !!!
Gruß caesargrau
Benutzeravatar
schnagga
Mitglied
Beiträge: 901
Registriert: 10.03.2006 18:26
Wohnort: Verden

Re: Administrion/Styles

Beitrag von schnagga »

Was hast du denn verändert?
Schon gelesen?: https://www.phpbb.de/kb/headers_already_sent

LG
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12259
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Administrion/Styles

Beitrag von Mahony »

Hallo
Deine /includes/acp/acp_styles.php ist kaputt - siehe http://www.yorkshire-in-not.de/phpbb3/i ... styles.php

Lösung: Lade dir eine frische acp_styles.php aus dem von dir verwendeten phpBB3 - Paket hoch.


Grüße: Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
caesargrau
Mitglied
Beiträge: 121
Registriert: 16.03.2006 20:56

Re: Administrion/Styles

Beitrag von caesargrau »

super; vielen Dank für die Hilfe ... funktioniert wieder einwandfrei !
Gruß caesargrau
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“