Vergleich admin/modules/style/themes.php - 1.6.0 - 1.6.13

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 6Zeile 6
 * Website: http://mybb.com
* License: http://mybb.com/about/license
*

 * Website: http://mybb.com
* License: http://mybb.com/about/license
*

 * $Id: themes.php 5117 2010-07-26 04:09:21Z RyanGordon $

 * $Id$

 */

// Disallow direct access to this file for security reasons

 */

// Disallow direct access to this file for security reasons

Zeile 36Zeile 36
	$query = $db->simple_select("themes", "*", "tid='".intval($mybb->input['tid'])."'");
$theme = $db->fetch_array($query);


	$query = $db->simple_select("themes", "*", "tid='".intval($mybb->input['tid'])."'");
$theme = $db->fetch_array($query);


	if(!$theme['tid'])

	if(!$theme['tid'] || $theme['tid'] == 1)

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

Zeile 178Zeile 178
	$parser = new XMLParser($contents);
$tree = $parser->get_tree();


	$parser = new XMLParser($contents);
$tree = $parser->get_tree();


	if(!array_key_exists("results", $tree))

	if(!is_array($tree) || !isset($tree['results']))

	{
$page->output_inline_error($lang->error_communication_problem);
$page->output_footer();

	{
$page->output_inline_error($lang->error_communication_problem);
$page->output_footer();

Zeile 385Zeile 385
						case -3:
$errors[] = $lang->error_theme_already_exists;
break;

						case -3:
$errors[] = $lang->error_theme_already_exists;
break;

 
						case -4:
$errors[] = $lang->error_theme_security_problem;

					}
}
}

					}
}
}

Zeile 633Zeile 635
		$plugins->run_hooks("admin_style_themes_export_commit");

// Log admin action

		$plugins->run_hooks("admin_style_themes_export_commit");

// Log admin action

		log_admin_action($theme['tid'], $theme['name']);

		log_admin_action($theme['tid'], htmlspecialchars_uni($theme['name']));

		
$theme['name'] = rawurlencode($theme['name']);
header("Content-disposition: attachment; filename=".$theme['name']."-theme.xml");

		
$theme['name'] = rawurlencode($theme['name']);
header("Content-disposition: attachment; filename=".$theme['name']."-theme.xml");

Zeile 648Zeile 650
	$page->add_breadcrumb_item(htmlspecialchars_uni($theme['name']), "index.php?module=style-themes&action=edit&tid={$mybb->input['tid']}");

$page->add_breadcrumb_item($lang->export_theme, "index.php?module=style-themes&action=export");

	$page->add_breadcrumb_item(htmlspecialchars_uni($theme['name']), "index.php?module=style-themes&action=edit&tid={$mybb->input['tid']}");

$page->add_breadcrumb_item($lang->export_theme, "index.php?module=style-themes&action=export");

	
$page->output_header("{$lang->themes} - {$lang->export_theme}");

$sub_tabs['edit_stylesheets'] = array(
'title' => $lang->edit_stylesheets,
'link' => "index.php?module=style-themes&action=edit&tid={$mybb->input['tid']}",
);

$sub_tabs['add_stylesheet'] = array(
'title' => $lang->add_stylesheet,
'link' => "index.php?module=style-themes&action=add_stylesheet&tid={$mybb->input['tid']}",
);

$sub_tabs['export_theme'] = array(

	
$page->output_header("{$lang->themes} - {$lang->export_theme}");

$sub_tabs['edit_stylesheets'] = array(
'title' => $lang->edit_stylesheets,
'link' => "index.php?module=style-themes&action=edit&tid={$mybb->input['tid']}",
);

$sub_tabs['add_stylesheet'] = array(
'title' => $lang->add_stylesheet,
'link' => "index.php?module=style-themes&action=add_stylesheet&tid={$mybb->input['tid']}",
);

$sub_tabs['export_theme'] = array(

		'title' => $lang->export_theme,
'link' => "index.php?module=style-themes&action=export&tid={$mybb->input['tid']}",
'description' => $lang->export_theme_desc
);

		'title' => $lang->export_theme,
'link' => "index.php?module=style-themes&action=export&tid={$mybb->input['tid']}",
'description' => $lang->export_theme_desc
);

	

	

	$page->output_nav_tabs($sub_tabs, 'export_theme');

if($errors)

	$page->output_nav_tabs($sub_tabs, 'export_theme');

if($errors)

Zeile 676Zeile 678
	
$form = new Form("index.php?module=style-themes&action=export", "post");
echo $form->generate_hidden_field("tid", $theme['tid']);

	
$form = new Form("index.php?module=style-themes&action=export", "post");
echo $form->generate_hidden_field("tid", $theme['tid']);

	

	

	$form_container = new FormContainer($lang->export_theme.": ".htmlspecialchars_uni($theme['name']));
$form_container->output_row($lang->include_custom_only, $lang->include_custom_only_desc, $form->generate_yes_no_radio('custom_theme', $mybb->input['custom_theme']), 'custom_theme');
$form_container->output_row($lang->include_templates, $lang->include_templates_desc, $form->generate_yes_no_radio('include_templates', $mybb->input['include_templates']), 'include_templates');

	$form_container = new FormContainer($lang->export_theme.": ".htmlspecialchars_uni($theme['name']));
$form_container->output_row($lang->include_custom_only, $lang->include_custom_only_desc, $form->generate_yes_no_radio('custom_theme', $mybb->input['custom_theme']), 'custom_theme');
$form_container->output_row($lang->include_templates, $lang->include_templates_desc, $form->generate_yes_no_radio('include_templates', $mybb->input['include_templates']), 'include_templates');

Zeile 686Zeile 688
	$buttons[] = $form->generate_submit_button($lang->export_theme);

$form->output_submit_wrapper($buttons);

	$buttons[] = $form->generate_submit_button($lang->export_theme);

$form->output_submit_wrapper($buttons);

	

	

	$form->end();

$page->output_footer();

	$form->end();

$page->output_footer();

Zeile 699Zeile 701
	if($mybb->request_method == "post")
{
if(!$mybb->input['name'])

	if($mybb->request_method == "post")
{
if(!$mybb->input['name'])

		{
$errors[] = $lang->error_missing_name;

		{
$errors[] = $lang->error_missing_name;

		}

if(!$errors)

		}

if(!$errors)

Zeile 710Zeile 712
			$plugins->run_hooks("admin_style_themes_add_commit");

// Log admin action

			$plugins->run_hooks("admin_style_themes_add_commit");

// Log admin action

			log_admin_action($mybb->input['name'], $tid);

			log_admin_action(htmlspecialchars_uni($mybb->input['name']), $tid);

			
flash_message($lang->success_theme_created, 'success');
admin_redirect("index.php?module=style-themes&action=edit&tid=".$tid);

			
flash_message($lang->success_theme_created, 'success');
admin_redirect("index.php?module=style-themes&action=edit&tid=".$tid);

Zeile 779Zeile 781
		while($theme2 = $db->fetch_array($query))
{
$theme2['stylesheets'] = unserialize($theme2['stylesheets']);

		while($theme2 = $db->fetch_array($query))
{
$theme2['stylesheets'] = unserialize($theme2['stylesheets']);

			

			

			if(!$theme2['stylesheets']['inherited'])
{
continue;

			if(!$theme2['stylesheets']['inherited'])
{
continue;

Zeile 837Zeile 839
		$plugins->run_hooks("admin_style_themes_delete_commit");

// Log admin action

		$plugins->run_hooks("admin_style_themes_delete_commit");

// Log admin action

		log_admin_action($theme['tid'], $theme['name']);

		log_admin_action($theme['tid'], htmlspecialchars_uni($theme['name']));

		
flash_message($lang->success_theme_deleted, 'success');
admin_redirect("index.php?module=style-themes");

		
flash_message($lang->success_theme_deleted, 'success');
admin_redirect("index.php?module=style-themes");

Zeile 856Zeile 858
	$theme = $db->fetch_array($query);

// Does the theme not exist?

	$theme = $db->fetch_array($query);

// Does the theme not exist?

	if(!$theme['tid'])

	if(!$theme['tid'] || $theme['tid'] == 1)

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

Zeile 935Zeile 937
		if(!$properties['editortheme'] || !@is_dir(MYBB_ROOT."jscripts/editor_themes/".$properties['editortheme']))
{
$errors[] = $lang->error_invalid_editortheme;

		if(!$properties['editortheme'] || !@is_dir(MYBB_ROOT."jscripts/editor_themes/".$properties['editortheme']))
{
$errors[] = $lang->error_invalid_editortheme;

		}


		}


		if(empty($errors))
{
$db->update_query("themes", $update_array, "tid='{$theme['tid']}'");

		if(empty($errors))
{
$db->update_query("themes", $update_array, "tid='{$theme['tid']}'");

Zeile 944Zeile 946
			$plugins->run_hooks("admin_style_themes_edit_commit");

// Log admin action

			$plugins->run_hooks("admin_style_themes_edit_commit");

// Log admin action

			log_admin_action($theme['tid'], $theme['name']);

			log_admin_action($theme['tid'], htmlspecialchars_uni($theme['name']));

			
flash_message($lang->success_theme_properties_updated, 'success');
admin_redirect("index.php?module=style-themes&action=edit&tid={$theme['tid']}");

			
flash_message($lang->success_theme_properties_updated, 'success');
admin_redirect("index.php?module=style-themes&action=edit&tid={$theme['tid']}");

Zeile 973Zeile 975
				if(is_array($file_stylesheets['inherited'][$file."_".$action]) && in_array($stylesheet, array_keys($file_stylesheets['inherited'][$file."_".$action])))
{
$stylesheets[$stylesheet]['inherited'] = $file_stylesheets['inherited'][$file."_".$action];

				if(is_array($file_stylesheets['inherited'][$file."_".$action]) && in_array($stylesheet, array_keys($file_stylesheets['inherited'][$file."_".$action])))
{
$stylesheets[$stylesheet]['inherited'] = $file_stylesheets['inherited'][$file."_".$action];

					foreach($file_stylesheets['inherited'][$file."_".$action] as $value)
{
$inherited_load[] = $value;
}

					foreach($file_stylesheets['inherited'][$file."_".$action] as $value)
{
$inherited_load[] = $value;
}

				}
}
}

				}
}
}

Zeile 1002Zeile 1004
		$query = $db->simple_select("themestylesheets", "*", "", array('order_by' => 'sid DESC, tid', 'order_dir' => 'desc'));
while($theme_stylesheet = $db->fetch_array($query))
{

		$query = $db->simple_select("themestylesheets", "*", "", array('order_by' => 'sid DESC, tid', 'order_dir' => 'desc'));
while($theme_stylesheet = $db->fetch_array($query))
{

			if(!$theme_stylesheets[$theme_stylesheet['cachefile']] && in_array($theme_stylesheet['tid'], $inherited_load))

			if(!isset($theme_stylesheets[$theme_stylesheet['cachefile']]) && in_array($theme_stylesheet['tid'], $inherited_load))

			{
$theme_stylesheets[$theme_stylesheet['cachefile']] = $theme_stylesheet;
}

			{
$theme_stylesheets[$theme_stylesheet['cachefile']] = $theme_stylesheet;
}

Zeile 1077Zeile 1079
			
foreach($inherited_ary as $tid => $file)
{

			
foreach($inherited_ary as $tid => $file)
{

				if($count == $applied_to_count && $count != 0)

				if(isset($applied_to_count) && $count == $applied_to_count && $count != 0)

				{
$sep = ", {$lang->and} ";
}

				{
$sep = ", {$lang->and} ";
}

Zeile 1090Zeile 1092
			$inherited .= ")</small>";
}


			$inherited .= ")</small>";
}


		if(is_array($style['applied_to']) && $style['applied_to']['global'][0] != "global")

		if(is_array($style['applied_to']) && (!isset($style['applied_to']['global']) || $style['applied_to']['global'][0] != "global"))

		{
$attached_to = "<small>{$lang->attached_to}";


		{
$attached_to = "<small>{$lang->attached_to}";


Zeile 1174Zeile 1176
	while($templateset = $db->fetch_array($query))
{
$options[intval($templateset['sid'])] = $templateset['title'];

	while($templateset = $db->fetch_array($query))
{
$options[intval($templateset['sid'])] = $templateset['title'];

	}

	}

	$form_container->output_row($lang->template_set." <em>*</em>", $lang->template_set_desc, $form->generate_select_box('templateset', $options, $properties['templateset'], array('id' => 'templateset')), 'templateset');

$options = array();

	$form_container->output_row($lang->template_set." <em>*</em>", $lang->template_set_desc, $form->generate_select_box('templateset', $options, $properties['templateset'], array('id' => 'templateset')), 'templateset');

$options = array();

Zeile 1215Zeile 1217
	$query = $db->simple_select("themes", "*", "tid='".intval($mybb->input['tid'])."'");
$theme = $db->fetch_array($query);


	$query = $db->simple_select("themes", "*", "tid='".intval($mybb->input['tid'])."'");
$theme = $db->fetch_array($query);


	if(!$theme['tid'])

	if(!$theme['tid'] || $theme['tid'] == 1)

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

Zeile 1290Zeile 1292
	}

$this_stylesheet = $stylesheets[$stylesheet['cachefile']];

	}

$this_stylesheet = $stylesheets[$stylesheet['cachefile']];

	unset($stylesheets);


	unset($stylesheets);


	if($mybb->request_method == "post")
{

	if($mybb->request_method == "post")
{

		if(!$mybb->input['name'])


		// Do we not have a name, or is it just an extension?
if(!$mybb->input['name'] || $mybb->input['name'] == ".css")

		{
$errors[] = $lang->error_missing_stylesheet_name;
}


		{
$errors[] = $lang->error_missing_stylesheet_name;
}


		if(substr($mybb->input['name'], -4) != ".css")



		// Get 30 chars only because we don't want more than that
$mybb->input['name'] = my_substr($mybb->input['name'], 0, 30);
if(get_extension($mybb->input['name']) != "css")

		{
// Does not end with '.css'
$errors[] = $lang->sprintf($lang->error_missing_stylesheet_extension, $mybb->input['name']);

		{
// Does not end with '.css'
$errors[] = $lang->sprintf($lang->error_missing_stylesheet_extension, $mybb->input['name']);

Zeile 1370Zeile 1375
			
// Update the CSS file list for this theme
update_theme_stylesheet_list($theme['tid']);

			
// Update the CSS file list for this theme
update_theme_stylesheet_list($theme['tid']);

			

			

			$plugins->run_hooks("admin_style_themes_stylesheet_properties_commit");

// Log admin action

			$plugins->run_hooks("admin_style_themes_stylesheet_properties_commit");

// Log admin action

			log_admin_action($stylesheet['sid'], $mybb->input['name'], $theme['tid'], $theme['name']);

			log_admin_action($stylesheet['sid'], $mybb->input['name'], $theme['tid'], htmlspecialchars_uni($theme['name']));

		
flash_message($lang->success_stylesheet_properties_updated, 'success');
admin_redirect("index.php?module=style-themes&action=edit&tid={$theme['tid']}");

		
flash_message($lang->success_stylesheet_properties_updated, 'success');
admin_redirect("index.php?module=style-themes&action=edit&tid={$theme['tid']}");

		}
}



		}
}



	$page->add_breadcrumb_item(htmlspecialchars_uni($theme['name']), "index.php?module=style-themes&amp;action=edit&amp;tid={$mybb->input['tid']}");
$page->add_breadcrumb_item(htmlspecialchars_uni($stylesheet['name'])." {$lang->properties}", "index.php?module=style-themes&amp;action=edit_properties&amp;tid={$mybb->input['tid']}");


	$page->add_breadcrumb_item(htmlspecialchars_uni($theme['name']), "index.php?module=style-themes&amp;action=edit&amp;tid={$mybb->input['tid']}");
$page->add_breadcrumb_item(htmlspecialchars_uni($stylesheet['name'])." {$lang->properties}", "index.php?module=style-themes&amp;action=edit_properties&amp;tid={$mybb->input['tid']}");


Zeile 1410Zeile 1415
	if($errors)
{
$page->output_inline_error($errors);

	if($errors)
{
$page->output_inline_error($errors);

		

		

		foreach($mybb->input as $name => $value)
{
if(strpos($name, "attached") !== false)

		foreach($mybb->input as $name => $value)
{
if(strpos($name, "attached") !== false)

Zeile 1488Zeile 1493
			$check_actions .= "\n\tcheckAction('action_{$count}');";

++$count;

			$check_actions .= "\n\tcheckAction('action_{$count}');";

++$count;

		}

		}

	}
else
{

	}
else
{

Zeile 1559Zeile 1564
}

// Shows the page where you can actually edit a particular selector or the whole stylesheet

}

// Shows the page where you can actually edit a particular selector or the whole stylesheet

if($mybb->input['action'] == "edit_stylesheet" && (!$mybb->input['mode'] || $mybb->input['mode'] == "simple"))

if($mybb->input['action'] == "edit_stylesheet" && (!isset($mybb->input['mode']) || $mybb->input['mode'] == "simple"))

{
$plugins->run_hooks("admin_style_themes_edit_stylesheet_simple");

// Fetch the theme we want to edit this stylesheet in
$query = $db->simple_select("themes", "*", "tid='".intval($mybb->input['tid'])."'");
$theme = $db->fetch_array($query);

{
$plugins->run_hooks("admin_style_themes_edit_stylesheet_simple");

// Fetch the theme we want to edit this stylesheet in
$query = $db->simple_select("themes", "*", "tid='".intval($mybb->input['tid'])."'");
$theme = $db->fetch_array($query);

	
if(!$theme['tid'])

	
if(!$theme['tid'] || $theme['tid'] == 1)

	{
flash_message($lang->error_invalid_theme, 'error');

	{
flash_message($lang->error_invalid_theme, 'error');

		admin_redirect("index.php?module=style-themes");
}


		admin_redirect("index.php?module=style-themes");
}


	$parent_list = make_parent_theme_list($theme['tid']);
$parent_list = implode(',', $parent_list);
if(!$parent_list)

	$parent_list = make_parent_theme_list($theme['tid']);
$parent_list = implode(',', $parent_list);
if(!$parent_list)

Zeile 1606Zeile 1611
		if($mybb->input['serialized'] == 1)
{
$mybb->input['css_bits'] = unserialize($mybb->input['css_bits']);

		if($mybb->input['serialized'] == 1)
{
$mybb->input['css_bits'] = unserialize($mybb->input['css_bits']);

		}

		}


$css_to_insert = '';
foreach($mybb->input['css_bits'] as $field => $value)


$css_to_insert = '';
foreach($mybb->input['css_bits'] as $field => $value)

		{

		{

			if(!trim($value) || !trim($field))
{
continue;

			if(!trim($value) || !trim($field))
{
continue;

			}

			}

			
if($field == "extra")
{

			
if($field == "extra")
{

Zeile 1639Zeile 1644

// Cache the stylesheet to the file
if(!cache_stylesheet($theme['tid'], $stylesheet['name'], $new_stylesheet))


// Cache the stylesheet to the file
if(!cache_stylesheet($theme['tid'], $stylesheet['name'], $new_stylesheet))

		{
$db->update_query("themestylesheets", array('cachefile' => "css.php?stylesheet={$sid}"), "sid='{$sid}'", 1);
}

// Update the CSS file list for this theme
update_theme_stylesheet_list($theme['tid']);

		{
$db->update_query("themestylesheets", array('cachefile' => "css.php?stylesheet={$sid}"), "sid='{$sid}'", 1);
}

// Update the CSS file list for this theme
update_theme_stylesheet_list($theme['tid']);

		
$plugins->run_hooks("admin_style_themes_edit_stylesheet_simple_commit");

// Log admin action

		
$plugins->run_hooks("admin_style_themes_edit_stylesheet_simple_commit");

// Log admin action

		log_admin_action($theme['name'], $stylesheet['name']);

		log_admin_action(htmlspecialchars_uni($theme['name']), $stylesheet['name']);


if(!$mybb->input['ajax'])
{


if(!$mybb->input['ajax'])
{

Zeile 1669Zeile 1674
			echo "1";
exit;
}

			echo "1";
exit;
}

	}


	}


	// Has the file on the file system been modified?
if(resync_stylesheet($stylesheet))
{

	// Has the file on the file system been modified?
if(resync_stylesheet($stylesheet))
{

Zeile 1684Zeile 1689
	
// Do we not have any selectors? Send em to the full edit page
if(!$selector_list)

	
// Do we not have any selectors? Send em to the full edit page
if(!$selector_list)

	{

	{

		flash_message($lang->error_cannot_parse, 'error');
admin_redirect("index.php?module=style-themes&action=edit_stylesheet&tid={$theme['tid']}&file=".htmlspecialchars_uni($stylesheet['name'])."&mode=advanced");
exit;

		flash_message($lang->error_cannot_parse, 'error');
admin_redirect("index.php?module=style-themes&action=edit_stylesheet&tid={$theme['tid']}&file=".htmlspecialchars_uni($stylesheet['name'])."&mode=advanced");
exit;

	}

	}

	
// Fetch list of all of the stylesheets for this theme
$file_stylesheets = unserialize($theme['stylesheets']);

	
// Fetch list of all of the stylesheets for this theme
$file_stylesheets = unserialize($theme['stylesheets']);

Zeile 1698Zeile 1703
	
// Now we loop through the list of stylesheets for each file
foreach($file_stylesheets as $file => $action_stylesheet)

	
// Now we loop through the list of stylesheets for each file
foreach($file_stylesheets as $file => $action_stylesheet)

	{

	{

		if($file == 'inherited')
{
continue;

		if($file == 'inherited')
{
continue;

		}

		}

		
foreach($action_stylesheet as $action => $style)
{

		
foreach($action_stylesheet as $action => $style)
{

Zeile 1722Zeile 1727
	}

foreach($stylesheets as $file => $stylesheet2)

	}

foreach($stylesheets as $file => $stylesheet2)

	{

	{

		if(is_array($stylesheet2['inherited']))
{
foreach($stylesheet2['inherited'] as $inherited_file => $tid)

		if(is_array($stylesheet2['inherited']))
{
foreach($stylesheet2['inherited'] as $inherited_file => $tid)

Zeile 1730Zeile 1735
				$stylesheet2['inherited'][basename($inherited_file)] = $tid;
unset($stylesheet2['inherited'][$inherited_file]);
}

				$stylesheet2['inherited'][basename($inherited_file)] = $tid;
unset($stylesheet2['inherited'][$inherited_file]);
}

		}


		}


		$stylesheets[basename($file)] = $stylesheet2;
unset($stylesheets[$file]);
}

		$stylesheets[basename($file)] = $stylesheet2;
unset($stylesheets[$file]);
}

Zeile 1761Zeile 1766
			$page->output_alert($lang->sprintf($lang->stylesheet_inherited_default, $stylesheet_parent), "ajax_alert");
}
else

			$page->output_alert($lang->sprintf($lang->stylesheet_inherited_default, $stylesheet_parent), "ajax_alert");
}
else

		{

		{

			$page->output_alert($lang->sprintf($lang->stylesheet_inherited, $stylesheet_parent), "ajax_alert");
}

			$page->output_alert($lang->sprintf($lang->stylesheet_inherited, $stylesheet_parent), "ajax_alert");
}

	}


	}


	$sub_tabs['edit_stylesheet'] = array(
'title' => $lang->edit_stylesheet_simple_mode,
'link' => "index.php?module=style-themes&amp;action=edit_stylesheet&amp;tid={$mybb->input['tid']}&amp;file=".htmlspecialchars_uni($mybb->input['file'])."&amp;mode=simple",
'description' => $lang->edit_stylesheet_simple_mode_desc

	$sub_tabs['edit_stylesheet'] = array(
'title' => $lang->edit_stylesheet_simple_mode,
'link' => "index.php?module=style-themes&amp;action=edit_stylesheet&amp;tid={$mybb->input['tid']}&amp;file=".htmlspecialchars_uni($mybb->input['file'])."&amp;mode=simple",
'description' => $lang->edit_stylesheet_simple_mode_desc

	);

	);


$sub_tabs['edit_stylesheet_advanced'] = array(
'title' => $lang->edit_stylesheet_advanced_mode,


$sub_tabs['edit_stylesheet_advanced'] = array(
'title' => $lang->edit_stylesheet_advanced_mode,

Zeile 1800Zeile 1805
	}
// Show a specific selector
else

	}
// Show a specific selector
else

	{

	{

		$editable_selector = $css_array[$mybb->input['selector']];
$selector = $mybb->input['selector'];

		$editable_selector = $css_array[$mybb->input['selector']];
$selector = $mybb->input['selector'];

	}

	}

	
// Get the properties from this item
$properties = parse_css_properties($editable_selector['values']);

	
// Get the properties from this item
$properties = parse_css_properties($editable_selector['values']);

	










foreach(array('background', 'color', 'width', 'font-family', 'font-size', 'font-style', 'font-weight', 'text-decoration') as $_p)
{
if(!isset($properties[$_p]))
{
$properties[$_p] = '';
}
}


	$form = new Form("index.php?module=style-themes&amp;action=edit_stylesheet", "post");
echo $form->generate_hidden_field("tid", $mybb->input['tid'], array('id' => "tid"))."\n";
echo $form->generate_hidden_field("file", htmlspecialchars_uni($mybb->input['file']), array('id' => "file"))."\n";

	$form = new Form("index.php?module=style-themes&amp;action=edit_stylesheet", "post");
echo $form->generate_hidden_field("tid", $mybb->input['tid'], array('id' => "tid"))."\n";
echo $form->generate_hidden_field("file", htmlspecialchars_uni($mybb->input['file']), array('id' => "file"))."\n";

Zeile 1866Zeile 1879
	$query = $db->simple_select("themes", "*", "tid='".intval($mybb->input['tid'])."'");
$theme = $db->fetch_array($query);


	$query = $db->simple_select("themes", "*", "tid='".intval($mybb->input['tid'])."'");
$theme = $db->fetch_array($query);


	if(!$theme['tid'])

	if(!$theme['tid'] || $theme['tid'] == 1)

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

Zeile 1911Zeile 1924
		if(!cache_stylesheet($theme['tid'], $stylesheet['name'], $mybb->input['stylesheet']))
{
$db->update_query("themestylesheets", array('cachefile' => "css.php?stylesheet={$sid}"), "sid='{$sid}'", 1);

		if(!cache_stylesheet($theme['tid'], $stylesheet['name'], $mybb->input['stylesheet']))
{
$db->update_query("themestylesheets", array('cachefile' => "css.php?stylesheet={$sid}"), "sid='{$sid}'", 1);

		}

// Update the CSS file list for this theme
update_theme_stylesheet_list($theme['tid']);

$plugins->run_hooks("admin_style_themes_edit_stylesheet_advanced_commit");

// Log admin action
log_admin_action($theme['name'], $stylesheet['name']);


		}

// Update the CSS file list for this theme
update_theme_stylesheet_list($theme['tid']);

$plugins->run_hooks("admin_style_themes_edit_stylesheet_advanced_commit");

// Log admin action
log_admin_action(htmlspecialchars_uni($theme['name']), $stylesheet['name']);


		flash_message($lang->success_stylesheet_updated, 'success');

if(!$mybb->input['save_close'])

		flash_message($lang->success_stylesheet_updated, 'success');

if(!$mybb->input['save_close'])

Zeile 1930Zeile 1943
		else
{
admin_redirect("index.php?module=style-themes&action=edit&tid={$theme['tid']}");

		else
{
admin_redirect("index.php?module=style-themes&action=edit&tid={$theme['tid']}");

		}
}

// Fetch list of all of the stylesheets for this theme
$file_stylesheets = unserialize($theme['stylesheets']);

$stylesheets = array();
$inherited_load = array();

// Now we loop through the list of stylesheets for each file
foreach($file_stylesheets as $file => $action_stylesheet)
{
if($file == 'inherited')
{
continue;
}

foreach($action_stylesheet as $action => $style)
{
foreach($style as $stylesheet2)
{
$stylesheets[$stylesheet2]['applied_to'][$file][] = $action;
if(is_array($file_stylesheets['inherited'][$file."_".$action]) && in_array($stylesheet2, array_keys($file_stylesheets['inherited'][$file."_".$action])))
{
$stylesheets[$stylesheet2]['inherited'] = $file_stylesheets['inherited'][$file."_".$action];

		}
}

// Fetch list of all of the stylesheets for this theme
$file_stylesheets = unserialize($theme['stylesheets']);

$stylesheets = array();
$inherited_load = array();

// Now we loop through the list of stylesheets for each file
foreach($file_stylesheets as $file => $action_stylesheet)
{
if($file == 'inherited')
{
continue;
}

foreach($action_stylesheet as $action => $style)
{
foreach($style as $stylesheet2)
{
$stylesheets[$stylesheet2]['applied_to'][$file][] = $action;
if(is_array($file_stylesheets['inherited'][$file."_".$action]) && in_array($stylesheet2, array_keys($file_stylesheets['inherited'][$file."_".$action])))
{
$stylesheets[$stylesheet2]['inherited'] = $file_stylesheets['inherited'][$file."_".$action];

					foreach($file_stylesheets['inherited'][$file."_".$action] as $value)
{
$inherited_load[] = $value;
}
}

					foreach($file_stylesheets['inherited'][$file."_".$action] as $value)
{
$inherited_load[] = $value;
}
}

			}
}
}


			}
}
}


	foreach($stylesheets as $file => $stylesheet2)
{
if(is_array($stylesheet2['inherited']))

	foreach($stylesheets as $file => $stylesheet2)
{
if(is_array($stylesheet2['inherited']))

Zeile 1985Zeile 1998
	if($admin_options['codepress'] != 0)
{
$page->extra_header .= '

	if($admin_options['codepress'] != 0)
{
$page->extra_header .= '

	<link type="text/css" href="./jscripts/codepress/languages/codepress-css.css" rel="stylesheet" id="cp-lang-style" />

	<link type="text/css" href="./jscripts/codepress/languages/css.css" rel="stylesheet" id="cp-lang-style" />

	<script type="text/javascript" src="./jscripts/codepress/codepress.js"></script>
<script type="text/javascript">
CodePress.language = \'css\';

	<script type="text/javascript" src="./jscripts/codepress/codepress.js"></script>
<script type="text/javascript">
CodePress.language = \'css\';

	</script>';

	</script>';

	}

$page->add_breadcrumb_item(htmlspecialchars_uni($theme['name']), "index.php?module=style-themes&amp;action=edit&amp;tid={$mybb->input['tid']}");

	}

$page->add_breadcrumb_item(htmlspecialchars_uni($theme['name']), "index.php?module=style-themes&amp;action=edit&amp;tid={$mybb->input['tid']}");

Zeile 2056Zeile 2069
	{
echo "<script type=\"text/javascript\">
Event.observe('edit_stylesheet', 'submit', function()

	{
echo "<script type=\"text/javascript\">
Event.observe('edit_stylesheet', 'submit', function()

	{

	{

		if($('stylesheet_cp')) {
var area = $('stylesheet_cp');
area.id = 'stylesheet';

		if($('stylesheet_cp')) {
var area = $('stylesheet_cp');
area.id = 'stylesheet';

Zeile 2077Zeile 2090
	// Fetch the theme we want to edit this stylesheet in
$query = $db->simple_select("themes", "*", "tid='".intval($mybb->input['tid'])."'");
$theme = $db->fetch_array($query);

	// Fetch the theme we want to edit this stylesheet in
$query = $db->simple_select("themes", "*", "tid='".intval($mybb->input['tid'])."'");
$theme = $db->fetch_array($query);

	
if(!$theme['tid'])
{

	
if(!$theme['tid'] || $theme['tid'] == 1)
{

		flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

		flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

	}


	}


	$parent_list = make_parent_theme_list($theme['tid']);
$parent_list = implode(',', $parent_list);
if(!$parent_list)

	$parent_list = make_parent_theme_list($theme['tid']);
$parent_list = implode(',', $parent_list);
if(!$parent_list)

	{
$parent_list = 1;
}


	{
$parent_list = 1;
}


	$query = $db->simple_select("themestylesheets", "*", "name='".$db->escape_string($mybb->input['file'])."' AND tid IN ({$parent_list})", array('order_by' => 'tid', 'order_dir' => 'desc', 'limit' => 1));
$stylesheet = $db->fetch_array($query);


	$query = $db->simple_select("themestylesheets", "*", "name='".$db->escape_string($mybb->input['file'])."' AND tid IN ({$parent_list})", array('order_by' => 'tid', 'order_dir' => 'desc', 'limit' => 1));
$stylesheet = $db->fetch_array($query);


Zeile 2118Zeile 2131
		$plugins->run_hooks("admin_style_themes_delete_stylesheet_commit");

// Log admin action

		$plugins->run_hooks("admin_style_themes_delete_stylesheet_commit");

// Log admin action

		log_admin_action($stylesheet['sid'], $stylesheet['name'], $theme['tid'], $theme['name']);

		log_admin_action($stylesheet['sid'], $stylesheet['name'], $theme['tid'], htmlspecialchars_uni($theme['name']));

		
flash_message($lang->success_stylesheet_deleted, 'success');
admin_redirect("index.php?module=style-themes&action=edit&tid={$theme['tid']}");

		
flash_message($lang->success_stylesheet_deleted, 'success');
admin_redirect("index.php?module=style-themes&action=edit&tid={$theme['tid']}");

Zeile 2137Zeile 2150
	$query = $db->simple_select("themes", "*", "tid='".intval($mybb->input['tid'])."'");
$theme = $db->fetch_array($query);


	$query = $db->simple_select("themes", "*", "tid='".intval($mybb->input['tid'])."'");
$theme = $db->fetch_array($query);


	if(!$theme['tid'])

	if(!$theme['tid'] || $theme['tid'] == 1)

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");
}

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");
}

	

	

	// Fetch list of all of the stylesheets for this theme
$file_stylesheets = unserialize($theme['stylesheets']);


	// Fetch list of all of the stylesheets for this theme
$file_stylesheets = unserialize($theme['stylesheets']);


Zeile 2158Zeile 2171
		}

foreach($action_stylesheet as $action => $style)

		}

foreach($action_stylesheet as $action => $style)

		{

		{

			foreach($style as $stylesheet2)
{
$stylesheets[$stylesheet2]['applied_to'][$file][] = $action;

			foreach($style as $stylesheet2)
{
$stylesheets[$stylesheet2]['applied_to'][$file][] = $action;

Zeile 2170Zeile 2183
						$inherited_load[] = $value;
}
}

						$inherited_load[] = $value;
}
}

			}
}

			}
}

	}

foreach($stylesheets as $file => $stylesheet2)

	}

foreach($stylesheets as $file => $stylesheet2)

	{

	{

		if(is_array($stylesheet2['inherited']))
{
foreach($stylesheet2['inherited'] as $inherited_file => $tid)

		if(is_array($stylesheet2['inherited']))
{
foreach($stylesheet2['inherited'] as $inherited_file => $tid)

Zeile 2191Zeile 2204
	
if($mybb->request_method == "post")
{

	
if($mybb->request_method == "post")
{

		if(!$mybb->input['name'])



		// Remove special characters
$mybb->input['name'] = preg_replace('#([^a-z0-9-_\.]+)#i', '', $mybb->input['name']);
if(!$mybb->input['name'] || $mybb->input['name'] == ".css")

		{
$errors[] = $lang->error_missing_stylesheet_name;
}


		{
$errors[] = $lang->error_missing_stylesheet_name;
}


		if(substr($mybb->input['name'], -4) != ".css")



		// Get 30 chars only because we don't want more than that
$mybb->input['name'] = my_substr($mybb->input['name'], 0, 30);
if(get_extension($mybb->input['name']) != "css")

		{
// Does not end with '.css'
$errors[] = $lang->sprintf($lang->error_missing_stylesheet_extension, $mybb->input['name']);

		{
// Does not end with '.css'
$errors[] = $lang->sprintf($lang->error_missing_stylesheet_extension, $mybb->input['name']);

Zeile 2274Zeile 2291
			$plugins->run_hooks("admin_style_themes_add_stylesheet_commit");

// Log admin action

			$plugins->run_hooks("admin_style_themes_add_stylesheet_commit");

// Log admin action

			log_admin_action($sid, $mybb->input['name'], $theme['tid'], $theme['name']);

			log_admin_action($sid, $mybb->input['name'], $theme['tid'], htmlspecialchars_uni($theme['name']));

		
flash_message($lang->success_stylesheet_added, 'success');
admin_redirect("index.php?module=style-themes&action=edit_stylesheet&tid={$mybb->input['tid']}&sid={$sid}&file=".urlencode($mybb->input['name']));

		
flash_message($lang->success_stylesheet_added, 'success');
admin_redirect("index.php?module=style-themes&action=edit_stylesheet&tid={$mybb->input['tid']}&sid={$sid}&file=".urlencode($mybb->input['name']));

Zeile 2284Zeile 2301
	if($admin_options['codepress'] != 0)
{
$page->extra_header .= '

	if($admin_options['codepress'] != 0)
{
$page->extra_header .= '

	<link type="text/css" href="./jscripts/codepress/languages/codepress-css.css" rel="stylesheet" id="cp-lang-style" />

	<link type="text/css" href="./jscripts/codepress/languages/css.css" rel="stylesheet" id="cp-lang-style" />

	<script type="text/javascript" src="./jscripts/codepress/codepress.js"></script>
<script type="text/javascript">
CodePress.language = \'css\';

	<script type="text/javascript" src="./jscripts/codepress/codepress.js"></script>
<script type="text/javascript">
CodePress.language = \'css\';

Zeile 2357Zeile 2374
	$specific_files = "<div id=\"attach_1\" class=\"attachs\">";
$count = 0;


	$specific_files = "<div id=\"attach_1\" class=\"attachs\">";
$count = 0;


	if(is_array($mybb->input['applied_to']) && $mybb->input['applied_to']['global'][0] != "global")

	if(is_array($mybb->input['applied_to']) && (!isset($mybb->input['applied_to']['global']) || $mybb->input['applied_to']['global'][0] != "global"))

	{
$check_actions = "";


	{
$check_actions = "";


Zeile 2525Zeile 2542
	$theme = $db->fetch_array($query);

// Does the theme not exist?

	$theme = $db->fetch_array($query);

// Does the theme not exist?

	if(!$theme['tid'])

	if(!$theme['tid'] || $theme['tid'] == 1)

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

Zeile 2537Zeile 2554
	$plugins->run_hooks("admin_style_themes_set_default_commit");

// Log admin action

	$plugins->run_hooks("admin_style_themes_set_default_commit");

// Log admin action

	log_admin_action($theme['tid'], $theme['name']);


	log_admin_action($theme['tid'], htmlspecialchars_uni($theme['name']));


	flash_message($lang->success_theme_set_default, 'success');
admin_redirect("index.php?module=style-themes");
}

	flash_message($lang->success_theme_set_default, 'success');
admin_redirect("index.php?module=style-themes");
}





if($mybb->input['action'] == "force")
{
$plugins->run_hooks("admin_style_themes_force");

if($mybb->input['action'] == "force")
{
$plugins->run_hooks("admin_style_themes_force");

Zeile 2551Zeile 2568
	$theme = $db->fetch_array($query);

// Does the theme not exist?

	$theme = $db->fetch_array($query);

// Does the theme not exist?

	if(!$theme['tid'])

	if(!$theme['tid'] || $theme['tid'] == 1)

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

	{
flash_message($lang->error_invalid_theme, 'error');
admin_redirect("index.php?module=style-themes");

Zeile 2574Zeile 2591
		$plugins->run_hooks("admin_style_themes_force_commit");

// Log admin action

		$plugins->run_hooks("admin_style_themes_force_commit");

// Log admin action

		log_admin_action($theme['tid'], $theme['name']);

		log_admin_action($theme['tid'], htmlspecialchars_uni($theme['name']));


flash_message($lang->success_theme_forced, 'success');
admin_redirect("index.php?module=style-themes");


flash_message($lang->success_theme_forced, 'success');
admin_redirect("index.php?module=style-themes");