Vergleich admin/modules/style/themes.php - 1.6.3 - 1.6.10

  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 5380 2011-02-21 12:04:43Z Tomm $

 * $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 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(
'title' => $lang->export_theme,

	
$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
);

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

Zeile 682Zeile 684
	$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->end();

	$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->end();

	

	

	$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);

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)
{
$tid = build_new_theme($mybb->input['name'], null, $mybb->input['tid']);

		if(!$errors)
{
$tid = build_new_theme($mybb->input['name'], null, $mybb->input['tid']);

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 781Zeile 783
			$theme2['stylesheets'] = unserialize($theme2['stylesheets']);

if(!$theme2['stylesheets']['inherited'])

			$theme2['stylesheets'] = unserialize($theme2['stylesheets']);

if(!$theme2['stylesheets']['inherited'])

			{

			{

				continue;
}


				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");

	}

	}

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

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

Zeile 938Zeile 940
		}

if(empty($errors))

		}

if(empty($errors))

		{

		{

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

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

			

			

			$plugins->run_hooks("admin_style_themes_edit_commit");

			$plugins->run_hooks("admin_style_themes_edit_commit");

			

			

			// Log admin action

			// 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 1136Zeile 1138
		if($inherited == "")
{
$popup->add_item($lang->delete_revert, "index.php?module=style-themes&amp;action=delete_stylesheet&amp;file=".htmlspecialchars_uni($filename)."&amp;tid={$theme['tid']}&amp;my_post_key={$mybb->post_code}", "return AdminCP.deleteConfirmation(this, '{$lang->confirm_stylesheet_deletion}')");

		if($inherited == "")
{
$popup->add_item($lang->delete_revert, "index.php?module=style-themes&amp;action=delete_stylesheet&amp;file=".htmlspecialchars_uni($filename)."&amp;tid={$theme['tid']}&amp;my_post_key={$mybb->post_code}", "return AdminCP.deleteConfirmation(this, '{$lang->confirm_stylesheet_deletion}')");

		}


		}


		$table->construct_cell("<strong><a href=\"index.php?module=style-themes&amp;action=edit_stylesheet&amp;file=".htmlspecialchars_uni($filename)."&amp;tid={$theme['tid']}\">{$filename}</a></strong>{$inherited}<br />{$attached_to}");
$table->construct_cell($popup->fetch(), array("class" => "align_center"));
$table->construct_row();

		$table->construct_cell("<strong><a href=\"index.php?module=style-themes&amp;action=edit_stylesheet&amp;file=".htmlspecialchars_uni($filename)."&amp;tid={$theme['tid']}\">{$filename}</a></strong>{$inherited}<br />{$attached_to}");
$table->construct_cell($popup->fetch(), array("class" => "align_center"));
$table->construct_row();

	}


	}


	$table->output("{$lang->stylesheets_in} ".htmlspecialchars_uni($theme['name']));

// Theme Properties table
if($errors)

	$table->output("{$lang->stylesheets_in} ".htmlspecialchars_uni($theme['name']));

// Theme Properties table
if($errors)

	{

	{

		$page->output_inline_error($errors);
}


		$page->output_inline_error($errors);
}


Zeile 1176Zeile 1178
		$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[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();
$editor_theme_root = MYBB_ROOT."jscripts/editor_themes/";
if($dh = @opendir($editor_theme_root))

	$options = array();
$editor_theme_root = MYBB_ROOT."jscripts/editor_themes/";
if($dh = @opendir($editor_theme_root))

Zeile 1190Zeile 1192
			$options[$dir] = ucfirst(str_replace('_', ' ', $dir));
}
}

			$options[$dir] = ucfirst(str_replace('_', ' ', $dir));
}
}

	

	

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

$form_container->output_row($lang->img_directory, $lang->img_directory_desc, $form->generate_text_box('imgdir', $properties['imgdir'], array('id' => 'imgdir')), 'imgdir');

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

$form_container->output_row($lang->img_directory, $lang->img_directory_desc, $form->generate_text_box('imgdir', $properties['imgdir'], array('id' => 'imgdir')), 'imgdir');

Zeile 1214Zeile 1216
	// 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");

Zeile 1290Zeile 1292
	}

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

	}

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

	unset($stylesheets);

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

	unset($stylesheets);

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

		// 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;

		// 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;

		}

		}


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


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

Zeile 1313Zeile 1315
			{
$stylesheet['sid'] = copy_stylesheet_to_theme($stylesheet, $theme['tid']);
}

			{
$stylesheet['sid'] = copy_stylesheet_to_theme($stylesheet, $theme['tid']);
}

			

			

			$attached = array();

if($mybb->input['attach'] == 1)

			$attached = array();

if($mybb->input['attach'] == 1)

Zeile 1333Zeile 1335
						{
// We have custom actions for attached files
$actions_list = $mybb->input['action_list_'.$attached_id];

						{
// We have custom actions for attached files
$actions_list = $mybb->input['action_list_'.$attached_id];

						}

						}

						
if($actions_list)
{

						
if($actions_list)
{

Zeile 1375Zeile 1377
			$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']}");

Zeile 1451Zeile 1453

$action_list = "";
if($actions[0] != "global")


$action_list = "";
if($actions[0] != "global")

			{

			{

				$action_list = implode(',', $actions);
}


				$action_list = implode(',', $actions);
}


Zeile 1465Zeile 1467
				$global_action_checked[2] = "checked=\"checked\"";
$global_action_checked[1] = "";
}

				$global_action_checked[2] = "checked=\"checked\"";
$global_action_checked[1] = "";
}

			

			

			$specific_file = "<dl style=\"margin-top: 0; margin-bottom: 0; width: 100%;\">
<dt><label style=\"display: block;\"><input type=\"radio\" name=\"action_{$count}\" value=\"0\" {$global_action_checked[1]} class=\"action_{$count}s_check\" onclick=\"checkAction('action_{$count}');\" style=\"vertical-align: middle;\" /> {$lang->globally}</label></dt>
<dt><label style=\"display: block;\"><input type=\"radio\" name=\"action_{$count}\" value=\"1\" {$global_action_checked[2]} class=\"action_{$count}s_check\" onclick=\"checkAction('action_{$count}');\" style=\"vertical-align: middle;\" /> {$lang->specific_actions}</label></dt>

			$specific_file = "<dl style=\"margin-top: 0; margin-bottom: 0; width: 100%;\">
<dt><label style=\"display: block;\"><input type=\"radio\" name=\"action_{$count}\" value=\"0\" {$global_action_checked[1]} class=\"action_{$count}s_check\" onclick=\"checkAction('action_{$count}');\" style=\"vertical-align: middle;\" /> {$lang->globally}</label></dt>
<dt><label style=\"display: block;\"><input type=\"radio\" name=\"action_{$count}\" value=\"1\" {$global_action_checked[2]} class=\"action_{$count}s_check\" onclick=\"checkAction('action_{$count}');\" style=\"vertical-align: middle;\" /> {$lang->specific_actions}</label></dt>

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

++$count;

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

++$count;

		}
}

		}
}

	else
{
$global_checked[1] = "checked=\"checked\"";

	else
{
$global_checked[1] = "checked=\"checked\"";

Zeile 1505Zeile 1507
        var checked = \'\';

$$(\'.\'+id+\'s_check\').each(function(e)

        var checked = \'\';

$$(\'.\'+id+\'s_check\').each(function(e)

        {

        {

            if(e.checked == true)
{
checked = e.value;
}

            if(e.checked == true)
{
checked = e.value;
}

        });

        });

        $$(\'.\'+id+\'s\').each(function(e)
{
Element.hide(e);

        $$(\'.\'+id+\'s\').each(function(e)
{
Element.hide(e);

Zeile 1529Zeile 1531
	<script type="text/javascript">
checkAction(\'attach\');'.$check_actions.'
</script>';

	<script type="text/javascript">
checkAction(\'attach\');'.$check_actions.'
</script>';

	

	

	echo $form->generate_hidden_field("file", htmlspecialchars_uni($stylesheet['name']))."<br />\n";
echo $form->generate_hidden_field("tid", $theme['tid'])."<br />\n";


	echo $form->generate_hidden_field("file", htmlspecialchars_uni($stylesheet['name']))."<br />\n";
echo $form->generate_hidden_field("tid", $theme['tid'])."<br />\n";


Zeile 1560Zeile 1562
}

// 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');
admin_redirect("index.php?module=style-themes");
}

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

Zeile 1579Zeile 1581
	if(!$parent_list)
{
$parent_list = 1;

	if(!$parent_list)
{
$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 1594Zeile 1596
	if($mybb->request_method == "post")
{
$sid = $stylesheet['sid'];

	if($mybb->request_method == "post")
{
$sid = $stylesheet['sid'];

		

		

		// Theme & stylesheet theme ID do not match, editing inherited - we copy to local theme
if($theme['tid'] != $stylesheet['tid'])
{

		// Theme & stylesheet theme ID do not match, editing inherited - we copy to local theme
if($theme['tid'] != $stylesheet['tid'])
{

Zeile 1607Zeile 1609
		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 1626Zeile 1628
				$field = str_replace("_", "-", $field);
$css_to_insert .= "{$field}: {$value};\n";
}

				$field = str_replace("_", "-", $field);
$css_to_insert .= "{$field}: {$value};\n";
}

		}


		}


		$new_stylesheet = insert_into_css($css_to_insert, $mybb->input['selector'], $new_stylesheet);

// Now we have the new stylesheet, save it

		$new_stylesheet = insert_into_css($css_to_insert, $mybb->input['selector'], $new_stylesheet);

// Now we have the new stylesheet, save it

Zeile 1640Zeile 1642

// 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']);

$plugins->run_hooks("admin_style_themes_edit_stylesheet_simple_commit");


		{
$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

		// 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 1764Zeile 1766
		else
{
$page->output_alert($lang->sprintf($lang->stylesheet_inherited, $stylesheet_parent), "ajax_alert");

		else
{
$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 1804Zeile 1806
	{
$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 1867Zeile 1877
	$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 1920Zeile 1930
		$plugins->run_hooks("admin_style_themes_edit_stylesheet_advanced_commit");

// Log admin action

		$plugins->run_hooks("admin_style_themes_edit_stylesheet_advanced_commit");

// Log admin action

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

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


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


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

		

		

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

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

		{

		{

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

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

		}

		}

		else

		else

		{

		{

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

			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];
foreach($file_stylesheets['inherited'][$file."_".$action] as $value)
{
$inherited_load[] = $value;
}
}
}
}
}

		}
}

// 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($stylesheets as $file => $stylesheet2)
{

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

Zeile 1978Zeile 1988
		
$stylesheets[basename($file)] = $stylesheet2;
unset($stylesheets[$file]);

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

	}

	}

	
$this_stylesheet = $stylesheets[$stylesheet['name']];
unset($stylesheets);

	
$this_stylesheet = $stylesheets[$stylesheet['name']];
unset($stylesheets);

Zeile 2002Zeile 2012
	if($this_stylesheet['inherited'][$stylesheet['name']])
{
$query = $db->simple_select("themes", "name", "tid='{$stylesheet['tid']}'");

	if($this_stylesheet['inherited'][$stylesheet['name']])
{
$query = $db->simple_select("themes", "name", "tid='{$stylesheet['tid']}'");

		$stylesheet_parent = htmlspecialchars_uni($db->fetch_field($query, 'name'));

		$stylesheet_parent = htmlspecialchars_uni($db->fetch_field($query, 'name'));

		
// Show inherited warning
if($stylesheet['tid'] == 1)

		
// Show inherited warning
if($stylesheet['tid'] == 1)

Zeile 2074Zeile 2084
if($mybb->input['action'] == "delete_stylesheet")
{
$plugins->run_hooks("admin_style_themes_delete_stylesheet");

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

	
// 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'])
{

	
// 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'] || $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 2090Zeile 2100
	if(!$parent_list)
{
$parent_list = 1;

	if(!$parent_list)
{
$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 2099Zeile 2109
	if(!$stylesheet['sid'] || $stylesheet['tid'] == 1)
{
flash_message($lang->error_invalid_stylesheet, 'error');

	if(!$stylesheet['sid'] || $stylesheet['tid'] == 1)
{
flash_message($lang->error_invalid_stylesheet, 'error');

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

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

	
// User clicked no
if($mybb->input['no'])

	
// User clicked no
if($mybb->input['no'])

Zeile 2115Zeile 2125
		
// 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_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 2138Zeile 2148
	$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 2159Zeile 2169
		}

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 2171Zeile 2181
						$inherited_load[] = $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 2184Zeile 2194
				$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 2192Zeile 2202
	
if($mybb->request_method == "post")
{

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

 
		// 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;
}

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

		if(!$mybb->input['name'] || $mybb->input['name'] == ".css")
{
$errors[] = $lang->error_missing_stylesheet_name;
}

if(substr($mybb->input['name'], -4) != ".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 2213Zeile 2225
				
$query = $db->simple_select("themestylesheets", "stylesheet", "name='".$db->escape_string($mybb->input['import'])."' AND tid IN ({$parent_list})", array('limit' => 1, 'order_by' => 'tid', 'order_dir' => 'desc'));
$stylesheet = $db->fetch_field($query, "stylesheet");

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

			}

			}

			else
{
// Custom stylesheet

			else
{
// Custom stylesheet

Zeile 2237Zeile 2249
						$attached_to = $value;

if($mybb->input['action_'.$attached_id] == 1)

						$attached_to = $value;

if($mybb->input['action_'.$attached_id] == 1)

						{

						{

							// We have custom actions for attached files							
$actions_list = $mybb->input['action_list_'.$attached_id];
}

							// We have custom actions for attached files							
$actions_list = $mybb->input['action_list_'.$attached_id];
}

Zeile 2275Zeile 2287
			$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 2316Zeile 2328
	$page->output_nav_tabs($sub_tabs, 'add_stylesheet');

if($errors)

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

if($errors)

	{

	{

		$page->output_inline_error($errors);

foreach($mybb->input as $name => $value)

		$page->output_inline_error($errors);

foreach($mybb->input as $name => $value)

Zeile 2358Zeile 2370
	$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 2394Zeile 2406
			<table cellpadding=\"4\">
<tr>
<td>".$form->generate_text_box('action_list_'.$count, $action_list, array('id' => 'action_list_'.$count, 'style' => 'width: 190px;'))."</td>

			<table cellpadding=\"4\">
<tr>
<td>".$form->generate_text_box('action_list_'.$count, $action_list, array('id' => 'action_list_'.$count, 'style' => 'width: 190px;'))."</td>

				</tr>
</table>

				</tr>
</table>

		</dd>
</dl>";


		</dd>
</dl>";


Zeile 2473Zeile 2485
		<dt><label style=\"display: block;\"><input type=\"radio\" name=\"add_type\" value=\"2\" {$add_checked[2]} class=\"adds_check\" onclick=\"checkAction('add');\" style=\"vertical-align: middle;\" /> <strong>{$lang->write_own}</strong></label></dt>
<span id=\"add_2\" class=\"adds\"><br />".$form->generate_text_area('stylesheet', $mybb->input['stylesheet'], array('id' => 'stylesheet', 'style' => 'width: 99%;', 'class' => 'codepress css', 'rows' => '30'))."</span>
</dl>";

		<dt><label style=\"display: block;\"><input type=\"radio\" name=\"add_type\" value=\"2\" {$add_checked[2]} class=\"adds_check\" onclick=\"checkAction('add');\" style=\"vertical-align: middle;\" /> <strong>{$lang->write_own}</strong></label></dt>
<span id=\"add_2\" class=\"adds\"><br />".$form->generate_text_area('stylesheet', $mybb->input['stylesheet'], array('id' => 'stylesheet', 'style' => 'width: 99%;', 'class' => 'codepress css', 'rows' => '30'))."</span>
</dl>";

	

	

	$form_container->output_row("", "", $actions);

$form_container->end();

	$form_container->output_row("", "", $actions);

$form_container->end();

Zeile 2526Zeile 2538
	$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 2538Zeile 2550
	$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 2552Zeile 2564
	$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 2575Zeile 2587
		$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");