Vergleich admin/modules/style/themes.php - 1.8.5 - 1.8.8

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 168Zeile 168
	// Convert to mods site version codes
$search_version = ($major_version_code/100).'x';


	// Convert to mods site version codes
$search_version = ($major_version_code/100).'x';


	$contents = fetch_remote_file("http://community.mybb.com/xmlbrowse.php?type=themes&version={$search_version}{$keywords}{$url_page}", $post_data);

	$contents = fetch_remote_file("https://community.mybb.com/xmlbrowse.php?type=themes&version={$search_version}{$keywords}{$url_page}", $post_data);


if(!$contents)
{


if(!$contents)
{

Zeile 214Zeile 214
			);
$result['download_url']['value'] = htmlspecialchars_uni(html_entity_decode($result['download_url']['value']));


			);
$result['download_url']['value'] = htmlspecialchars_uni(html_entity_decode($result['download_url']['value']));


			$table->construct_cell("<img src=\"http://community.mybb.com/{$result['thumbnail']['value']}\" alt=\"{$lang->theme_thumbnail}\" title=\"{$lang->theme_thumbnail}\"/>", array("class" => "align_center", "width" => 100));

			$table->construct_cell("<img src=\"https://community.mybb.com/{$result['thumbnail']['value']}\" alt=\"{$lang->theme_thumbnail}\" title=\"{$lang->theme_thumbnail}\"/>", array("class" => "align_center", "width" => 100));

			$table->construct_cell("<strong>{$result['name']['value']}</strong><br /><small>{$result['description']['value']}</small><br /><i><small>{$lang->created_by} {$result['author']['value']}</small></i>");

			$table->construct_cell("<strong>{$result['name']['value']}</strong><br /><small>{$result['description']['value']}</small><br /><i><small>{$lang->created_by} {$result['author']['value']}</small></i>");

			$table->construct_cell("<strong><a href=\"http://community.mybb.com/{$result['download_url']['value']}\" target=\"_blank\">{$lang->download}</a></strong>", array("class" => "align_center"));

			$table->construct_cell("<strong><a href=\"https://community.mybb.com/{$result['download_url']['value']}\" target=\"_blank\">{$lang->download}</a></strong>", array("class" => "align_center"));

			$table->construct_row();
}
}

			$table->construct_row();
}
}

Zeile 286Zeile 286
	// Recommended themes = Default; Otherwise search results & pagination
if($mybb->request_method == "post")
{

	// Recommended themes = Default; Otherwise search results & pagination
if($mybb->request_method == "post")
{

		$table->output("<span style=\"float: right;\"><small><a href=\"http://community.mybb.com/mods.php?action=browse&category=themes\" target=\"_blank\">{$lang->browse_all_themes}</a></small></span>".$lang->sprintf($lang->browse_results_for_mybb, $mybb->version));

		$table->output("<span style=\"float: right;\"><small><a href=\"https://community.mybb.com/mods.php?action=browse&category=themes\" target=\"_blank\">{$lang->browse_all_themes}</a></small></span>".$lang->sprintf($lang->browse_results_for_mybb, $mybb->version));

	}
else
{

	}
else
{

		$table->output("<span style=\"float: right;\"><small><a href=\"http://community.mybb.com/mods.php?action=browse&category=themes\" target=\"_blank\">{$lang->browse_all_themes}</a></small></span>".$lang->sprintf($lang->recommended_themes_for_mybb, $mybb->version));

		$table->output("<span style=\"float: right;\"><small><a href=\"https://community.mybb.com/mods.php?action=browse&category=themes\" target=\"_blank\">{$lang->browse_all_themes}</a></small></span>".$lang->sprintf($lang->recommended_themes_for_mybb, $mybb->version));

	}

echo "<br />".draw_admin_pagination($mybb->input['page'], 15, $tree['results']['attributes']['total'], "index.php?module=style-themes&amp;action=browse{$keywords}&amp;page={page}");

	}

echo "<br />".draw_admin_pagination($mybb->input['page'], 15, $tree['results']['attributes']['total'], "index.php?module=style-themes&amp;action=browse{$keywords}&amp;page={page}");

Zeile 614Zeile 614
		{
if(strpos($filename, 'css.php?stylesheet=') !== false)
{

		{
if(strpos($filename, 'css.php?stylesheet=') !== false)
{

				$style['sid'] = (integer)str_replace('css.php?stylesheet=', '', $filename);

				$style['sid'] = (int)str_replace('css.php?stylesheet=', '', $filename);

				$filename = $theme_stylesheets[$style['sid']];
}
else

				$filename = $theme_stylesheets[$style['sid']];
}
else

Zeile 756Zeile 756
		{
$query = $db->simple_select("themes", "COUNT(tid) as numthemes", "name = '".$db->escape_string($mybb->get_input('name'))."'");
$numthemes = $db->fetch_field($query, 'numthemes');

		{
$query = $db->simple_select("themes", "COUNT(tid) as numthemes", "name = '".$db->escape_string($mybb->get_input('name'))."'");
$numthemes = $db->fetch_field($query, 'numthemes');

			



			if($numthemes)
{
$errors[] = $lang->error_theme_already_exists;

			if($numthemes)
{
$errors[] = $lang->error_theme_already_exists;

Zeile 783Zeile 783
						"version" => $db->escape_string($template['version']),
"dateline" => TIME_NOW
);

						"version" => $db->escape_string($template['version']),
"dateline" => TIME_NOW
);





					if($db->engine == "pgsql")
{
echo " ";

					if($db->engine == "pgsql")
{
echo " ";

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

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

	);

	);


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


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

	);


	);


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

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

	);


	);


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

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

Zeile 858Zeile 858
	$page->output_nav_tabs($sub_tabs, 'duplicate_theme');

if($errors)

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

if($errors)

	{

	{

		$page->output_inline_error($errors);
}
else

		$page->output_inline_error($errors);
}
else

	{
$mybb->input['duplicate_templates'] = true;

	{
$mybb->input['duplicate_templates'] = true;

	}

$form = new Form("index.php?module=style-themes&amp;action=duplicate&amp;tid={$theme['tid']}", "post");

	}

$form = new Form("index.php?module=style-themes&amp;action=duplicate&amp;tid={$theme['tid']}", "post");

Zeile 916Zeile 916
			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);
}

	}

	}


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



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


Zeile 969Zeile 969
	if($mybb->request_method == "post")
{
$inherited_theme_cache = array();

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





		$query = $db->simple_select("themes", "tid,stylesheets", "tid != '{$theme['tid']}'", array('order_by' => "pid, name"));
while($theme2 = $db->fetch_array($query))
{
$theme2['stylesheets'] = my_unserialize($theme2['stylesheets']);

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

		$query = $db->simple_select("themes", "tid,stylesheets", "tid != '{$theme['tid']}'", array('order_by' => "pid, name"));
while($theme2 = $db->fetch_array($query))
{
$theme2['stylesheets'] = my_unserialize($theme2['stylesheets']);

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

			{

			{

				continue;
}


				continue;
}


Zeile 996Zeile 996
					{
$inherited_stylesheets = true;
}

					{
$inherited_stylesheets = true;
}

				}

				}

			}

			}

		}

		}


if($inherited_stylesheets == true)


if($inherited_stylesheets == true)

		{

		{

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

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





		$query = $db->simple_select("themestylesheets", "cachefile", "tid='{$theme['tid']}'");
while($cachefile = $db->fetch_array($query))
{
@unlink(MYBB_ROOT."cache/themes/theme{$theme['tid']}/{$cachefile['cachefile']}");

		$query = $db->simple_select("themestylesheets", "cachefile", "tid='{$theme['tid']}'");
while($cachefile = $db->fetch_array($query))
{
@unlink(MYBB_ROOT."cache/themes/theme{$theme['tid']}/{$cachefile['cachefile']}");

 

$filename_min = str_replace('.css', '.min.css', $cachefile['cachefile']);
@unlink(MYBB_ROOT."cache/themes/theme{$theme['tid']}/{$filename_min}");

		}
@unlink(MYBB_ROOT."cache/themes/theme{$theme['tid']}/index.html");


		}
@unlink(MYBB_ROOT."cache/themes/theme{$theme['tid']}/index.html");


Zeile 1075Zeile 1078
		}

if($mybb->input['colors'])

		}

if($mybb->input['colors'])

		{

		{

			$colors = explode("\n", $mybb->input['colors']);

foreach($colors as $color)

			$colors = explode("\n", $mybb->input['colors']);

foreach($colors as $color)

Zeile 1084Zeile 1087

$properties['colors'][$color[0]] = $color[1];
}


$properties['colors'][$color[0]] = $color[1];
}

		}

		}


if($properties['templateset'] <= 0)


if($properties['templateset'] <= 0)

		{

		{

			$errors[] = $lang->error_invalid_templateset;

			$errors[] = $lang->error_invalid_templateset;

		}

		}


$theme_properties = my_unserialize($theme['properties']);


$theme_properties = my_unserialize($theme['properties']);

		if($theme_properties['disporder'])

		if(is_array($theme_properties['disporder']))

		{
$properties['disporder'] = $theme_properties['disporder'];

		{
$properties['disporder'] = $theme_properties['disporder'];

 
		}
else
{
$errors[] = $lang->error_no_display_order;

		}

$allowedgroups = array();

		}

$allowedgroups = array();

Zeile 1129Zeile 1136
			$errors[] = $lang->error_missing_name;
}
else

			$errors[] = $lang->error_missing_name;
}
else

		{

		{

			$query = $db->simple_select("themes", "COUNT(tid) as numthemes", "name = '".$db->escape_string($update_array['name'])."' AND tid != '{$theme['tid']}'");
$numthemes = $db->fetch_field($query, 'numthemes');

			$query = $db->simple_select("themes", "COUNT(tid) as numthemes", "name = '".$db->escape_string($update_array['name'])."' AND tid != '{$theme['tid']}'");
$numthemes = $db->fetch_field($query, 'numthemes');





			if($numthemes)
{
$errors[] = $lang->error_theme_already_exists;

			if($numthemes)
{
$errors[] = $lang->error_theme_already_exists;

Zeile 1155Zeile 1162
			if(!$ts_check)
{
unset($properties['templateset']);

			if(!$ts_check)
{
unset($properties['templateset']);

			}
}

			}
}

		if(!$properties['templateset'])
{
$errors[] = $lang->error_invalid_templateset;

		if(!$properties['templateset'])
{
$errors[] = $lang->error_invalid_templateset;

		}

		}

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

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

Zeile 1169Zeile 1176
		if(empty($errors))
{
$plugins->run_hooks("admin_style_themes_edit_commit");

		if(empty($errors))
{
$plugins->run_hooks("admin_style_themes_edit_commit");





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


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


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

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

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

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

		}
}


		}
}


Zeile 1260Zeile 1267
		foreach($theme_stylesheets as $stylesheet => $properties)
{
if(is_array($properties))

		foreach($theme_stylesheets as $stylesheet => $properties)
{
if(is_array($properties))

			{

			{

				$order = (int)$mybb->input['disporder'][$properties['sid']];

$orders[$properties['name']] = $order;
}

				$order = (int)$mybb->input['disporder'][$properties['sid']];

$orders[$properties['name']] = $order;
}

		}


		}


		asort($orders, SORT_NUMERIC);

// Save the orders in the theme properties
$properties = my_unserialize($theme['properties']);
$properties['disporder'] = $orders;

		asort($orders, SORT_NUMERIC);

// Save the orders in the theme properties
$properties = my_unserialize($theme['properties']);
$properties['disporder'] = $orders;





		$update_array = array(
"properties" => $db->escape_string(my_serialize($properties))
);

		$update_array = array(
"properties" => $db->escape_string(my_serialize($properties))
);





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

if($theme['def'] == 1)

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

if($theme['def'] == 1)

Zeile 1286Zeile 1293

// normalize for consistency
update_theme_stylesheet_list($theme['tid'], false, true);


// normalize for consistency
update_theme_stylesheet_list($theme['tid'], false, true);





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

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

Zeile 1338Zeile 1345
		foreach($stylesheets as $filename => $style)
{
if(strpos($filename, 'css.php?stylesheet=') !== false)

		foreach($stylesheets as $filename => $style)
{
if(strpos($filename, 'css.php?stylesheet=') !== false)

			{
$style['sid'] = (integer)str_replace('css.php?stylesheet=', '', $filename);

			{
$style['sid'] = (int)str_replace('css.php?stylesheet=', '', $filename);

				$filename = $theme_stylesheets[$style['sid']];
}


				$filename = $theme_stylesheets[$style['sid']];
}


Zeile 1356Zeile 1363
	{
if(strpos($filename, 'css.php?stylesheet=') !== false)
{

	{
if(strpos($filename, 'css.php?stylesheet=') !== false)
{

			$style['sid'] = (integer)str_replace('css.php?stylesheet=', '', $filename);

			$style['sid'] = (int)str_replace('css.php?stylesheet=', '', $filename);

			$filename = $theme_stylesheets[$style['sid']];
}
else

			$filename = $theme_stylesheets[$style['sid']];
}
else

Zeile 1393Zeile 1400
			foreach($inherited_ary as $tid => $file)
{
if(isset($applied_to_count) && $count == $applied_to_count && $count != 0)

			foreach($inherited_ary as $tid => $file)
{
if(isset($applied_to_count) && $count == $applied_to_count && $count != 0)

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


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


				$inherited .= $sep.$file;
$sep = $lang->comma;

				$inherited .= $sep.$file;
$sep = $lang->comma;





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

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

Zeile 1413Zeile 1420
			$count = 0;
$sep = " ";
$name = "";

			$count = 0;
$sep = " ";
$name = "";





			$colors = array();

if(!is_array($properties['colors']))
{
$properties['colors'] = array();

			$colors = array();

if(!is_array($properties['colors']))
{
$properties['colors'] = array();

			}

			}


foreach($style['applied_to'] as $name => $actions)
{
if(!$name)


foreach($style['applied_to'] as $name => $actions)
{
if(!$name)

				{
continue;

				{
continue;

				}

if(array_key_exists($name, $properties['colors']))
{
$colors[] = $properties['colors'][$name];

				}

if(array_key_exists($name, $properties['colors']))
{
$colors[] = $properties['colors'][$name];

				}

				}


if(count($colors))
{
// Colors override files and are handled below.
continue;


if(count($colors))
{
// Colors override files and are handled below.
continue;

				}


				}


				// It's a file:
++$count;

if($actions[0] != "global")
{
$name = "{$name} ({$lang->actions}: ".implode(',', $actions).")";

				// It's a file:
++$count;

if($actions[0] != "global")
{
$name = "{$name} ({$lang->actions}: ".implode(',', $actions).")";

				}

				}


if($count == $applied_to_count && $count > 1)
{


if($count == $applied_to_count && $count > 1)
{

Zeile 1498Zeile 1505

$popup->add_item($lang->edit_style, "index.php?module=style-themes&amp;action=edit_stylesheet&amp;file=".htmlspecialchars_uni($filename)."&amp;tid={$theme['tid']}");
$popup->add_item($lang->properties, "index.php?module=style-themes&amp;action=stylesheet_properties&amp;file=".htmlspecialchars_uni($filename)."&amp;tid={$theme['tid']}");


$popup->add_item($lang->edit_style, "index.php?module=style-themes&amp;action=edit_stylesheet&amp;file=".htmlspecialchars_uni($filename)."&amp;tid={$theme['tid']}");
$popup->add_item($lang->properties, "index.php?module=style-themes&amp;action=stylesheet_properties&amp;file=".htmlspecialchars_uni($filename)."&amp;tid={$theme['tid']}");





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

Zeile 1577Zeile 1584
	if(!$properties['colors'] || !is_array($properties['colors']))
{
$color_setting = $lang->colors_no_color_setting;

	if(!$properties['colors'] || !is_array($properties['colors']))
{
$color_setting = $lang->colors_no_color_setting;

	}

	}

	else
{
$colors = array('none' => $lang->colors_please_select);
$colors = array_merge($colors, $properties['colors']);

$color_setting = $form->generate_select_box('color', $colors, $properties['color'], array('class' => "select\" style=\"width: 200px;"));

	else
{
$colors = array('none' => $lang->colors_please_select);
$colors = array_merge($colors, $properties['colors']);

$color_setting = $form->generate_select_box('color', $colors, $properties['color'], array('class' => "select\" style=\"width: 200px;"));





		$mybb->input['colors'] = '';
foreach($properties['colors'] as $key => $color)
{

		$mybb->input['colors'] = '';
foreach($properties['colors'] as $key => $color)
{

Zeile 1604Zeile 1611

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


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

	$form->output_submit_wrapper($buttons);
$form->end();

$page->output_footer();
}

	$form->output_submit_wrapper($buttons);
$form->end();

$page->output_footer();
}


if($mybb->input['action'] == "stylesheet_properties")
{


if($mybb->input['action'] == "stylesheet_properties")
{

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

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

		}


		}


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

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

Zeile 1710Zeile 1717
				if(!is_array($mybb->input['color']))
{
$errors[] = $lang->error_no_color_picked;

				if(!is_array($mybb->input['color']))
{
$errors[] = $lang->error_no_color_picked;

				}

				}

				else
{
$attached = $mybb->input['color'];
}

				else
{
$attached = $mybb->input['color'];
}

			}

			}


// Update Stylesheet
$update_array = array(


// Update Stylesheet
$update_array = array(

Zeile 1728Zeile 1735
				$update_array['cachefile'] = $db->escape_string(str_replace('/', '', $mybb->input['name']));
}


				$update_array['cachefile'] = $db->escape_string(str_replace('/', '', $mybb->input['name']));
}


			$db->update_query("themestylesheets", $update_array, "sid='{$stylesheet['sid']}'", 1);


			$db->update_query("themestylesheets", $update_array, "sid='{$stylesheet['sid']}'", 1);


			// If the name changed, re-cache our stylesheet
$theme_c = $update_d = false;
if($stylesheet['name'] != $mybb->input['name'])

			// If the name changed, re-cache our stylesheet
$theme_c = $update_d = false;
if($stylesheet['name'] != $mybb->input['name'])

Zeile 1737Zeile 1744
				// Update the theme stylesheet list if the name is changed
$theme_c = $theme;
$update_d = true;

				// Update the theme stylesheet list if the name is changed
$theme_c = $theme;
$update_d = true;





				$db->update_query("themestylesheets", array('lastmodified' => TIME_NOW), "sid='{$stylesheet['sid']}'", 1);
if(!cache_stylesheet($theme['tid'], str_replace('/', '', $mybb->input['name']), $theme['stylesheet']))
{
$db->update_query("themestylesheets", array('cachefile' => "css.php?stylesheet={$stylesheet['sid']}"), "sid='{$stylesheet['sid']}'", 1);
}
@unlink(MYBB_ROOT."cache/themes/theme{$theme['tid']}/{$stylesheet['cachefile']}");

				$db->update_query("themestylesheets", array('lastmodified' => TIME_NOW), "sid='{$stylesheet['sid']}'", 1);
if(!cache_stylesheet($theme['tid'], str_replace('/', '', $mybb->input['name']), $theme['stylesheet']))
{
$db->update_query("themestylesheets", array('cachefile' => "css.php?stylesheet={$stylesheet['sid']}"), "sid='{$stylesheet['sid']}'", 1);
}
@unlink(MYBB_ROOT."cache/themes/theme{$theme['tid']}/{$stylesheet['cachefile']}");

 

$filename_min = str_replace('.css', '.min.css', $stylesheet['cachefile']);
@unlink(MYBB_ROOT."cache/themes/theme{$theme['tid']}/{$filename_min}");

			}

// Update the CSS file list for this theme

			}

// Update the CSS file list for this theme

Zeile 2031Zeile 2041
		if($mybb->input['serialized'] == 1)
{
$mybb->input['css_bits'] = my_unserialize($mybb->input['css_bits']);

		if($mybb->input['serialized'] == 1)
{
$mybb->input['css_bits'] = my_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)
{

Zeile 2083Zeile 2093
			if($mybb->input['save_close'])
{
admin_redirect("index.php?module=style-themes&action=edit&tid={$theme['tid']}");

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

			}

			}

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

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

Zeile 2094Zeile 2104
			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 2109Zeile 2119

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

Zeile 2135Zeile 2145
	{
$query = $db->simple_select("themes", "name", "tid='{$stylesheet['tid']}'");
$stylesheet_parent = htmlspecialchars_uni($db->fetch_field($query, 'name'));

	{
$query = $db->simple_select("themes", "name", "tid='{$stylesheet['tid']}'");
$stylesheet_parent = htmlspecialchars_uni($db->fetch_field($query, 'name'));





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

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

Zeile 2188Zeile 2198

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

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

Zeile 2210Zeile 2220
	$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[color]', $properties['color'], array('id' => 'css_bits[color]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->color}</strong></div>", array('style' => 'width: 40%;'));
$table->construct_row();
$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[width]', $properties['width'], array('id' => 'css_bits[width]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->width}</strong></div>", array('style' => 'width: 40%;'));

	$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[color]', $properties['color'], array('id' => 'css_bits[color]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->color}</strong></div>", array('style' => 'width: 40%;'));
$table->construct_row();
$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[width]', $properties['width'], array('id' => 'css_bits[width]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->width}</strong></div>", array('style' => 'width: 40%;'));

	$table->construct_row();

	$table->construct_row();

	$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[font_family]', $properties['font-family'], array('id' => 'css_bits[font_family]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->font_family}</strong></div>", array('style' => 'width: 40%;'));

	$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[font_family]', $properties['font-family'], array('id' => 'css_bits[font_family]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->font_family}</strong></div>", array('style' => 'width: 40%;'));

	$table->construct_row();

	$table->construct_row();

	$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[font_size]', $properties['font-size'], array('id' => 'css_bits[font_size]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->font_size}</strong></div>", array('style' => 'width: 40%;'));

	$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[font_size]', $properties['font-size'], array('id' => 'css_bits[font_size]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->font_size}</strong></div>", array('style' => 'width: 40%;'));

	$table->construct_row();

	$table->construct_row();

	$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[font_style]', $properties['font-style'], array('id' => 'css_bits[font_style]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->font_style}</strong></div>", array('style' => 'width: 40%;'));

	$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[font_style]', $properties['font-style'], array('id' => 'css_bits[font_style]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->font_style}</strong></div>", array('style' => 'width: 40%;'));

	$table->construct_row();

	$table->construct_row();

	$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[font_weight]', $properties['font-weight'], array('id' => 'css_bits[font_weight]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->font_weight}</strong></div>", array('style' => 'width: 40%;'));

	$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[font_weight]', $properties['font-weight'], array('id' => 'css_bits[font_weight]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->font_weight}</strong></div>", array('style' => 'width: 40%;'));

	$table->construct_row();

	$table->construct_row();

	$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[text_decoration]', $properties['text-decoration'], array('id' => 'css_bits[text_decoration]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->text_decoration}</strong></div>", array('style' => 'width: 40%;'));
$table->construct_row();

	$table->construct_cell("<div style=\"float: right;\">".$form->generate_text_box('css_bits[text_decoration]', $properties['text-decoration'], array('id' => 'css_bits[text_decoration]', 'style' => 'width: 260px;'))."</div><div><strong>{$lang->text_decoration}</strong></div>", array('style' => 'width: 40%;'));
$table->construct_row();





	$table->output(htmlspecialchars_uni($editable_selector['class_name'])."<span id=\"saved\" style=\"color: #FEE0C6;\"></span>");

echo "</div>";

	$table->output(htmlspecialchars_uni($editable_selector['class_name'])."<span id=\"saved\" style=\"color: #FEE0C6;\"></span>");

echo "</div>";

Zeile 2231Zeile 2241
	$buttons[] = $form->generate_submit_button($lang->save_changes_and_close, array('id' => 'save_close', 'name' => 'save_close'));

$form->output_submit_wrapper($buttons);

	$buttons[] = $form->generate_submit_button($lang->save_changes_and_close, array('id' => 'save_close', 'name' => 'save_close'));

$form->output_submit_wrapper($buttons);


echo '<script type="text/javascript" src="./jscripts/themes.js?ver=1804"></script>';


echo '<script type="text/javascript" src="./jscripts/themes.js?ver=1808"></script>';

	echo '<script type="text/javascript">

$(document).ready(function() {

	echo '<script type="text/javascript">

$(document).ready(function() {

Zeile 2242Zeile 2252
});
//]]>
</script>';

});
//]]>
</script>';


$form->end();

$page->output_footer();


$form->end();

$page->output_footer();

}

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

}

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

Zeile 2338Zeile 2348
<script src="./jscripts/codemirror/mode/css/css.js"></script>
<script src="./jscripts/codemirror/addon/dialog/dialog.js"></script>
<script src="./jscripts/codemirror/addon/search/searchcursor.js"></script>

<script src="./jscripts/codemirror/mode/css/css.js"></script>
<script src="./jscripts/codemirror/addon/dialog/dialog.js"></script>
<script src="./jscripts/codemirror/addon/search/searchcursor.js"></script>

<script src="./jscripts/codemirror/addon/search/search.js"></script>

<script src="./jscripts/codemirror/addon/search/search.js?ver=1808"></script>

';
}


';
}


Zeile 2352Zeile 2362
	{
$query = $db->simple_select("themes", "name", "tid='{$stylesheet['tid']}'");
$stylesheet_parent = htmlspecialchars_uni($db->fetch_field($query, 'name'));

	{
$query = $db->simple_select("themes", "name", "tid='{$stylesheet['tid']}'");
$stylesheet_parent = htmlspecialchars_uni($db->fetch_field($query, 'name'));





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

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

Zeile 2363Zeile 2373
			$page->output_alert($lang->sprintf($lang->stylesheet_inherited, $stylesheet_parent));
}
}

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





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

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

Zeile 2379Zeile 2389

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

	{

	{

		// Need to refetch new stylesheet as it was modified
$query = $db->simple_select("themestylesheets", "stylesheet", "sid='{$stylesheet['sid']}'");
$stylesheet['stylesheet'] = $db->fetch_field($query, 'stylesheet');

		// Need to refetch new stylesheet as it was modified
$query = $db->simple_select("themestylesheets", "stylesheet", "sid='{$stylesheet['sid']}'");
$stylesheet['stylesheet'] = $db->fetch_field($query, 'stylesheet');

Zeile 2459Zeile 2469
	{
$db->delete_query("themestylesheets", "sid='{$stylesheet['sid']}'", 1);
@unlink(MYBB_ROOT."cache/themes/theme{$theme['tid']}/{$stylesheet['cachefile']}");

	{
$db->delete_query("themestylesheets", "sid='{$stylesheet['sid']}'", 1);
@unlink(MYBB_ROOT."cache/themes/theme{$theme['tid']}/{$stylesheet['cachefile']}");

 

$filename_min = str_replace('.css', '.min.css', $stylesheet['cachefile']);
@unlink(MYBB_ROOT."cache/themes/theme{$theme['tid']}/{$filename_min}");


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


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

Zeile 2611Zeile 2624
<script src="./jscripts/codemirror/mode/css/css.js"></script>
<script src="./jscripts/codemirror/addon/dialog/dialog.js"></script>
<script src="./jscripts/codemirror/addon/search/searchcursor.js"></script>

<script src="./jscripts/codemirror/mode/css/css.js"></script>
<script src="./jscripts/codemirror/addon/dialog/dialog.js"></script>
<script src="./jscripts/codemirror/addon/search/searchcursor.js"></script>

<script src="./jscripts/codemirror/addon/search/search.js"></script>

<script src="./jscripts/codemirror/addon/search/search.js?ver=1808"></script>

';
}


';
}


Zeile 2874Zeile 2887
			});</script>';
}


			});</script>';
}


	echo '<script type="text/javascript" src="./jscripts/themes.js?ver=1804"></script>';

	echo '<script type="text/javascript" src="./jscripts/themes.js?ver=1808"></script>';

	echo '<script type="text/javascript" src="./jscripts/theme_properties.js"></script>';
echo '<script type="text/javascript">
$(function() {

	echo '<script type="text/javascript" src="./jscripts/theme_properties.js"></script>';
echo '<script type="text/javascript">
$(function() {