Vergleich admin/modules/style/themes.php - 1.8.1 - 1.8.13

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 35Zeile 35
if($mybb->input['action'] == "xmlhttp_stylesheet" && $mybb->request_method == "post")
{
// Fetch the theme we want to edit this stylesheet in

if($mybb->input['action'] == "xmlhttp_stylesheet" && $mybb->request_method == "post")
{
// Fetch the theme we want to edit this stylesheet in

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', 1)."'");

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");

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

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

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

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

Zeile 155Zeile 155

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


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

		$url_page = "&page=".$mybb->get_input('page', 1);

		$url_page = "&page=".$mybb->get_input('page', MyBB::INPUT_INT);

	}
else
{

	}
else
{

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 199Zeile 199
			unset($tree['results']['result']);
$tree['results']['result'][0] = $only_theme;
}

			unset($tree['results']['result']);
$tree['results']['result'][0] = $only_theme;
}

 

require_once MYBB_ROOT . '/inc/class_parser.php';
$post_parser = new postParser();


foreach($tree['results']['result'] as $result)
{


foreach($tree['results']['result'] as $result)
{

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










			$result['thumbnail']['value'] = htmlspecialchars_uni($result['thumbnail']['value']);
$result['name']['value'] = htmlspecialchars_uni($result['name']['value']);
$result['description']['value'] = htmlspecialchars_uni($result['description']['value']);
$result['author']['value'] = $post_parser->parse_message($result['author']['value'], array(
'allow_html' => true
)
);
$result['download_url']['value'] = htmlspecialchars_uni(html_entity_decode($result['download_url']['value']));

$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\" rel=\"noopener\">{$lang->download}</a></strong>", array("class" => "align_center"));

			$table->construct_row();
}
}

			$table->construct_row();
}
}

Zeile 274Zeile 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\" rel=\"noopener\">{$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\" rel=\"noopener\">{$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 367Zeile 379
				$options = array(
'no_stylesheets' => ($mybb->input['import_stylesheets'] ? 0 : 1),
'no_templates' => ($mybb->input['import_templates'] ? 0 : 1),

				$options = array(
'no_stylesheets' => ($mybb->input['import_stylesheets'] ? 0 : 1),
'no_templates' => ($mybb->input['import_templates'] ? 0 : 1),

					'version_compat' => (int)$mybb->input['version_compat'],
'parent' => $mybb->get_input('tid', 1),

					'version_compat' => $mybb->get_input('version_compat', MyBB::INPUT_INT),
'parent' => $mybb->get_input('tid', MyBB::INPUT_INT),

					'force_name_check' => true,
);
$theme_id = import_theme_xml($contents, $options);

					'force_name_check' => true,
);
$theme_id = import_theme_xml($contents, $options);

Zeile 504Zeile 516

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


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

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', 1)."'");

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");

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

// Does the theme not exist?

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

// Does the theme not exist?

Zeile 529Zeile 541

if(is_array($value))
{


if(is_array($value))
{

				$value = serialize($value);

				$value = my_serialize($value);

			}

$value = str_replace(']]>', ']]]]><![CDATA[>', $value);

			}

$value = str_replace(']]>', ']]]]><![CDATA[>', $value);

Zeile 602Zeile 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 722Zeile 734

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


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

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', 1)."'");

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");

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

// Does the theme not exist?

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

// Does the theme not exist?

Zeile 744Zeile 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)

			if($numthemes)

			{

			{

				$errors[] = $lang->error_theme_already_exists;
}
}

				$errors[] = $lang->error_theme_already_exists;
}
}





		if(!$errors)
{
$properties = my_unserialize($theme['properties']);

		if(!$errors)
{
$properties = my_unserialize($theme['properties']);

			$sid = $properties['sid'];

			$sid = $properties['templateset'];

			$nprops = null;

			$nprops = null;

			if($mybb->input['duplicate_templates'])
{
$nsid = $db->insert_query("templatesets", array('title' => $db->escape_string($mybb->input['name'])." Templates"));


			if($mybb->input['duplicate_templates'])
{
$nsid = $db->insert_query("templatesets", array('title' => $db->escape_string($mybb->input['name'])." Templates"));


				// Copy all old Templates to our new templateset
$query = $db->simple_select("templates", "*", "sid='{$sid}'");
while($template = $db->fetch_array($query))

				// Copy all old Templates to our new templateset
$query = $db->simple_select("templates", "*", "sid='{$sid}'");
while($template = $db->fetch_array($query))

Zeile 936Zeile 948

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


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

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', 1)."'");

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");

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

// Does the theme not exist? or are we trying to delete the master?

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

// Does the theme not exist? or are we trying to delete the master?

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

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

			}

			}


$inherited_theme_cache[$theme2['tid']] = $theme2['stylesheets']['inherited'];
}


$inherited_theme_cache[$theme2['tid']] = $theme2['stylesheets']['inherited'];
}

Zeile 975Zeile 987

// Are any other themes relying on stylesheets from this theme? Get a list and show an error
foreach($inherited_theme_cache as $tid => $inherited)


// Are any other themes relying on stylesheets from this theme? Get a list and show an error
foreach($inherited_theme_cache as $tid => $inherited)

		{

		{

			foreach($inherited as $file => $value)
{
foreach($value as $filepath => $val)

			foreach($inherited as $file => $value)
{
foreach($value as $filepath => $val)

Zeile 992Zeile 1004
		{
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");





		$db->delete_query("themestylesheets", "tid='{$theme['tid']}'");

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

		$db->delete_query("themestylesheets", "tid='{$theme['tid']}'");

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





		$db->update_query("users", array('style' => 0), "style='{$theme['tid']}'");

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

		$db->update_query("users", array('style' => 0), "style='{$theme['tid']}'");

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


$children = make_child_theme_list($theme['tid']);
$child_tid = $children[0];

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

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














$children = (array)make_child_theme_list($theme['tid']);
$child_tids = array();

foreach($children as $child_tid)
{
if($child_tid != 0)
{
$child_tids[] = $child_tid;
}
}

if(!empty($child_tids))
{
$db->update_query("themes", array('pid' => $theme['pid']), "tid IN (".implode(',', $child_tids).")");
}

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


		$plugins->run_hooks("admin_style_themes_delete_commit");

// Log admin action

		$plugins->run_hooks("admin_style_themes_delete_commit");

// Log admin action

Zeile 1032Zeile 1058
}

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

}

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

{
$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', 1)."'");
$theme = $db->fetch_array($query);

// Does the theme not exist?
if(!$theme['tid'] || $theme['tid'] == 1)
{

{
$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");
$theme = $db->fetch_array($query);

// Does the theme not exist?
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 1048Zeile 1074
	if($mybb->request_method == "post" && !$mybb->input['do'])
{
$properties = array(

	if($mybb->request_method == "post" && !$mybb->input['do'])
{
$properties = array(

			'templateset' => (int)$mybb->input['templateset'],

			'templateset' => $mybb->get_input('templateset', MyBB::INPUT_INT),

			'editortheme' => $mybb->input['editortheme'],
'imgdir' => $mybb->input['imgdir'],
'logo' => $mybb->input['logo'],

			'editortheme' => $mybb->input['editortheme'],
'imgdir' => $mybb->input['imgdir'],
'logo' => $mybb->input['logo'],

			'tablespace' => (int)$mybb->input['tablespace'],
'borderwidth' => (int)$mybb->input['borderwidth'],

			'tablespace' => $mybb->get_input('tablespace', MyBB::INPUT_INT),
'borderwidth' => $mybb->get_input('borderwidth', MyBB::INPUT_INT),

			'color' => $mybb->input['color']
);


			'color' => $mybb->input['color']
);


Zeile 1075Zeile 1101
		}

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 1103Zeile 1133
		{
$allowedgroups = implode(",", $allowedgroups);
}

		{
$allowedgroups = implode(",", $allowedgroups);
}





		$update_array = array(
'name' => $db->escape_string($mybb->input['name']),

		$update_array = array(
'name' => $db->escape_string($mybb->input['name']),

			'pid' => $mybb->get_input('pid', 1),

			'pid' => $mybb->get_input('pid', MyBB::INPUT_INT),

			'allowedgroups' => $allowedgroups,

			'allowedgroups' => $allowedgroups,

			'properties' => $db->escape_string(serialize($properties))

			'properties' => $db->escape_string(my_serialize($properties))

		);

// perform validation
if(!$update_array['name'])

		);

// perform validation
if(!$update_array['name'])

		{

		{

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

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

Zeile 1159Zeile 1189
			$plugins->run_hooks("admin_style_themes_edit_commit");

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

			$plugins->run_hooks("admin_style_themes_edit_commit");

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

 
			update_theme_stylesheet_list($theme['tid']);


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


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

Zeile 1181Zeile 1212

// 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' || !is_array($action_stylesheet))
{
continue;

		if($file == 'inherited' || !is_array($action_stylesheet))
{
continue;

		}

		}


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


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

Zeile 1201Zeile 1232
					}
}
}

					}
}
}

		}

		}

	}

$inherited_load[] = $mybb->input['tid'];

	}

$inherited_load[] = $mybb->input['tid'];

	$inherited_load = array_unique($inherited_load);

	$inherited_load = array_unique($inherited_load);


$inherited_themes = array();
if(count($inherited_load) > 0)


$inherited_themes = array();
if(count($inherited_load) > 0)

Zeile 1214Zeile 1245
		while($inherited_theme = $db->fetch_array($query))
{
$inherited_themes[$inherited_theme['tid']] = $inherited_theme['name'];

		while($inherited_theme = $db->fetch_array($query))
{
$inherited_themes[$inherited_theme['tid']] = $inherited_theme['name'];

		}
}


		}
}


	$theme_stylesheets = array();

if(count($inherited_load) > 0)

	$theme_stylesheets = array();

if(count($inherited_load) > 0)

Zeile 1261Zeile 1292
		$properties['disporder'] = $orders;

$update_array = array(

		$properties['disporder'] = $orders;

$update_array = array(

			"properties" => $db->escape_string(serialize($properties))

			"properties" => $db->escape_string(my_serialize($properties))

		);

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

		);

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

Zeile 1319Zeile 1350

// Order the stylesheets
$ordered_stylesheets = array();


// Order the stylesheets
$ordered_stylesheets = array();





	foreach($properties['disporder'] as $style_name => $order)
{
foreach($stylesheets as $filename => $style)
{
if(strpos($filename, 'css.php?stylesheet=') !== false)
{

	foreach($properties['disporder'] as $style_name => $order)
{
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']];

			}


			}


			if(basename($filename) != $style_name)
{
continue;
}

			if(basename($filename) != $style_name)
{
continue;
}





			$ordered_stylesheets[$filename] = $style;
}
}

			$ordered_stylesheets[$filename] = $style;
}
}





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

	foreach($ordered_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']];
}
else

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

Zeile 1356Zeile 1387
		resync_stylesheet($theme_stylesheets[$filename]);

$filename = $theme_stylesheets[$filename]['name'];

		resync_stylesheet($theme_stylesheets[$filename]);

$filename = $theme_stylesheets[$filename]['name'];





		$inherited = "";
$inherited_ary = array();
if(is_array($style['inherited']))

		$inherited = "";
$inherited_ary = array();
if(is_array($style['inherited']))

Zeile 1369Zeile 1400
				}
}
}

				}
}
}





		if(!empty($inherited_ary))
{
$inherited = " <small>({$lang->inherited_from}";

		if(!empty($inherited_ary))
{
$inherited = " <small>({$lang->inherited_from}";

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

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

		}

		}


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


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





			$applied_to_count = count($style['applied_to']);
$count = 0;
$sep = " ";

			$applied_to_count = count($style['applied_to']);
$count = 0;
$sep = " ";

Zeile 1407Zeile 1438
			{
$properties['colors'] = array();
}

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

				}

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

				{

				{

					$colors[] = $properties['colors'][$name];
}


					$colors[] = $properties['colors'][$name];
}


Zeile 1424Zeile 1455
				{
// Colors override files and are handled below.
continue;

				{
// Colors override files and are handled below.
continue;

				}

				}


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


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

Zeile 1492Zeile 1523
		}

$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("<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($form->generate_numeric_field("disporder[{$theme_stylesheets[$filename]['sid']}]", $properties['disporder'][$filename], array('style' => 'width: 80%; text-align: center;')), array("class" => "align_center"));

		$table->construct_cell($form->generate_numeric_field("disporder[{$theme_stylesheets[$filename]['sid']}]", $properties['disporder'][$filename], array('style' => 'width: 80%; text-align: center;', 'min' => 0)), array("class" => "align_center"));

		$table->construct_cell($popup->fetch(), array("class" => "align_center"));
$table->construct_row();
}

		$table->construct_cell($popup->fetch(), array("class" => "align_center"));
$table->construct_row();
}

Zeile 1527Zeile 1558
		$options[(int)$usergroup['gid']] = $usergroup['title'];
}
$form_container->output_row($lang->allowed_user_groups, $lang->allowed_user_groups_desc, $form->generate_select_box('allowedgroups[]', $options, explode(",", $theme['allowedgroups']), array('id' => 'allowedgroups', 'multiple' => true, 'size' => 5)), 'allowedgroups');

		$options[(int)$usergroup['gid']] = $usergroup['title'];
}
$form_container->output_row($lang->allowed_user_groups, $lang->allowed_user_groups_desc, $form->generate_select_box('allowedgroups[]', $options, explode(",", $theme['allowedgroups']), array('id' => 'allowedgroups', 'multiple' => true, 'size' => 5)), 'allowedgroups');


$options = array();


$options = array();

	$query = $db->simple_select("templatesets", "*", "", array('order_by' => 'title'));
while($templateset = $db->fetch_array($query))
{
$options[(int)$templateset['sid']] = $templateset['title'];

	$query = $db->simple_select("templatesets", "*", "", array('order_by' => 'title'));
while($templateset = $db->fetch_array($query))
{
$options[(int)$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 1554Zeile 1585

$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->logo, $lang->logo_desc, $form->generate_text_box('logo', $properties['logo'], array('id' => 'boardlogo')), 'logo');


$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->logo, $lang->logo_desc, $form->generate_text_box('logo', $properties['logo'], array('id' => 'boardlogo')), 'logo');

	$form_container->output_row($lang->table_spacing, $lang->table_spacing_desc, $form->generate_numeric_field('tablespace', $properties['tablespace'], array('id' => 'tablespace')), 'tablespace');
$form_container->output_row($lang->inner_border, $lang->inner_border_desc, $form->generate_numeric_field('borderwidth', $properties['borderwidth'], array('id' => 'borderwidth')), 'borderwidth');


	$form_container->output_row($lang->table_spacing, $lang->table_spacing_desc, $form->generate_numeric_field('tablespace', $properties['tablespace'], array('id' => 'tablespace', 'min' => 0)), 'tablespace');
$form_container->output_row($lang->inner_border, $lang->inner_border_desc, $form->generate_numeric_field('borderwidth', $properties['borderwidth'], array('id' => 'borderwidth', 'min' => 0)), 'borderwidth');


	$form_container->end();

$form_container = new FormContainer($lang->colors_manage);

	$form_container->end();

$form_container = new FormContainer($lang->colors_manage);

Zeile 1564Zeile 1595
	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']);

	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'] = '';

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

$mybb->input['colors'] = '';

Zeile 1586Zeile 1617

$form_container->output_row($lang->colors_setting, $lang->colors_setting_desc, $color_setting, 'color');
$form_container->output_row($lang->colors_add, $lang->colors_add_desc, $form->generate_text_area('colors', $mybb->input['colors'], array('style' => 'width: 200px;', 'rows' => '5')));


$form_container->output_row($lang->colors_setting, $lang->colors_setting_desc, $color_setting, 'color');
$form_container->output_row($lang->colors_add, $lang->colors_add_desc, $form->generate_text_area('colors', $mybb->input['colors'], array('style' => 'width: 200px;', 'rows' => '5')));





	$form_container->end();

$buttons = array();

	$form_container->end();

$buttons = array();

Zeile 1598Zeile 1629
}

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

}

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

{

{

	// Fetch the theme we want to edit this stylesheet in

	// Fetch the theme we want to edit this stylesheet in

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', 1)."'");

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");

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

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





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

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





	$plugins->run_hooks("admin_style_themes_stylesheet_properties");

$parent_list = make_parent_theme_list($theme['tid']);

	$plugins->run_hooks("admin_style_themes_stylesheet_properties");

$parent_list = make_parent_theme_list($theme['tid']);

Zeile 1616Zeile 1647
	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);





	// Does the theme not exist?
if(!$stylesheet['sid'])
{

	// Does the theme not exist?
if(!$stylesheet['sid'])
{

Zeile 1632Zeile 1663
	$stylesheets = fetch_theme_stylesheets($theme);

if(!array_key_exists($stylesheet['cachefile'], $stylesheets) && array_key_exists("css.php?stylesheet=".$stylesheet['tid'], $stylesheets))

	$stylesheets = fetch_theme_stylesheets($theme);

if(!array_key_exists($stylesheet['cachefile'], $stylesheets) && array_key_exists("css.php?stylesheet=".$stylesheet['tid'], $stylesheets))

	{

	{

		$stylesheet['cachefile'] = "css.php?stylesheet=".$stylesheet['tid'];
}


		$stylesheet['cachefile'] = "css.php?stylesheet=".$stylesheet['tid'];
}


Zeile 1681Zeile 1712
						{
// 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 1697Zeile 1728
				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'];

Zeile 1726Zeile 1757
				$update_d = true;

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

				$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']))

				if(!cache_stylesheet($theme['tid'], str_replace('/', '', $mybb->input['name']), $stylesheet['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('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 1974Zeile 2008
if($mybb->input['action'] == "edit_stylesheet" && (!isset($mybb->input['mode']) || $mybb->input['mode'] == "simple"))
{
// Fetch the theme we want to edit this stylesheet in

if($mybb->input['action'] == "edit_stylesheet" && (!isset($mybb->input['mode']) || $mybb->input['mode'] == "simple"))
{
// Fetch the theme we want to edit this stylesheet in

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', 1)."'");

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");

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

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

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

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

Zeile 2219Zeile 2253

$form->output_submit_wrapper($buttons);



$form->output_submit_wrapper($buttons);


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

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

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

$(document).ready(function() {
//<![CDATA[

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

$(document).ready(function() {
//<![CDATA[

	new ThemeSelector("./index.php?module=style-themes&action=xmlhttp_stylesheet", "./index.php?module=style-themes&action=edit_stylesheet", $("#selector"), $("#stylesheet"), "'.htmlspecialchars_uni($mybb->input['file']).'", $("#selector_form"), "'.$mybb->input['tid'].'");

	ThemeSelector.init("./index.php?module=style-themes&action=xmlhttp_stylesheet", "./index.php?module=style-themes&action=edit_stylesheet", $("#selector"), $("#stylesheet"), "'.htmlspecialchars_uni($mybb->input['file']).'", $("#selector_form"), "'.$mybb->input['tid'].'");

	lang.saving = "'.$lang->saving.'";
});
//]]>

	lang.saving = "'.$lang->saving.'";
});
//]]>

Zeile 2238Zeile 2272
if($mybb->input['action'] == "edit_stylesheet" && $mybb->input['mode'] == "advanced")
{
// Fetch the theme we want to edit this stylesheet in

if($mybb->input['action'] == "edit_stylesheet" && $mybb->input['mode'] == "advanced")
{
// Fetch the theme we want to edit this stylesheet in

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', 1)."'");

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");

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

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

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

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

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

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

<link href="./jscripts/codemirror/lib/codemirror.css" rel="stylesheet">
<link href="./jscripts/codemirror/theme/mybb.css" rel="stylesheet">
<link href="./jscripts/codemirror/addon/dialog/dialog-mybb.css" rel="stylesheet">
<script src="./jscripts/codemirror/lib/codemirror.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>

<link href="./jscripts/codemirror/lib/codemirror.css?ver=1813" rel="stylesheet">
<link href="./jscripts/codemirror/theme/mybb.css?ver=1813" rel="stylesheet">
<link href="./jscripts/codemirror/addon/dialog/dialog-mybb.css?ver=1813" rel="stylesheet">
<script src="./jscripts/codemirror/lib/codemirror.js?ver=1813"></script>
<script src="./jscripts/codemirror/mode/css/css.js?ver=1813"></script>
<script src="./jscripts/codemirror/addon/dialog/dialog.js?ver=1813"></script>
<script src="./jscripts/codemirror/addon/search/searchcursor.js?ver=1813"></script>
<script src="./jscripts/codemirror/addon/search/search.js?ver=1813"></script>

';
}


';
}


Zeile 2379Zeile 2413
	$table = new Table;
$table->construct_cell($form->generate_text_area('stylesheet', $stylesheet['stylesheet'], array('id' => 'stylesheet', 'style' => 'width: 99%;', 'class' => '', 'rows' => '30')));
$table->construct_row();

	$table = new Table;
$table->construct_cell($form->generate_text_area('stylesheet', $stylesheet['stylesheet'], array('id' => 'stylesheet', 'style' => 'width: 99%;', 'class' => '', 'rows' => '30')));
$table->construct_row();

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

	$table->output($lang->full_stylesheet_for.' '.htmlspecialchars_uni($stylesheet['name']), 1, 'tfixed');


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


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

Zeile 2390Zeile 2424

if($admin_options['codepress'] != 0)
{


if($admin_options['codepress'] != 0)
{

		echo "<script type=\"text/javascript\">
var editor = CodeMirror.fromTextArea(document.getElementById(\"stylesheet\"), {

		echo '<script type="text/javascript">
var editor = CodeMirror.fromTextArea(document.getElementById("stylesheet"), {

				lineNumbers: true,

				lineNumbers: true,

				tabMode: \"indent\",
theme: \"mybb\",
lineWrapping: true
});</script>";




				lineWrapping: true,
viewportMargin: Infinity,
indentWithTabs: true,
indentUnit: 4,
mode: "text/css",
theme: "mybb"
});</script>';

	}

$page->output_footer();

	}

$page->output_footer();

Zeile 2405Zeile 2442
if($mybb->input['action'] == "delete_stylesheet")
{
// Fetch the theme we want to edit this stylesheet in

if($mybb->input['action'] == "delete_stylesheet")
{
// Fetch the theme we want to edit this stylesheet in

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', 1)."'");

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");

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

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

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

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

Zeile 2443Zeile 2480
	{
$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 2464Zeile 2504
if($mybb->input['action'] == "add_stylesheet")
{
// Fetch the theme we want to edit this stylesheet in

if($mybb->input['action'] == "add_stylesheet")
{
// Fetch the theme we want to edit this stylesheet in

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', 1)."'");

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");

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

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

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

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

Zeile 2558Zeile 2598
			// Add Stylesheet
$insert_array = array(
'name' => $db->escape_string($mybb->input['name']),

			// Add Stylesheet
$insert_array = array(
'name' => $db->escape_string($mybb->input['name']),

				'tid' => $mybb->get_input('tid', 1),

				'tid' => $mybb->get_input('tid', MyBB::INPUT_INT),

				'attachedto' => implode('|', array_map(array($db, "escape_string"), $attached)),
'stylesheet' => $db->escape_string($stylesheet),
'cachefile' => $db->escape_string(str_replace('/', '', $mybb->input['name'])),

				'attachedto' => implode('|', array_map(array($db, "escape_string"), $attached)),
'stylesheet' => $db->escape_string($stylesheet),
'cachefile' => $db->escape_string(str_replace('/', '', $mybb->input['name'])),

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

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

<link href="./jscripts/codemirror/lib/codemirror.css" rel="stylesheet">
<link href="./jscripts/codemirror/theme/mybb.css" rel="stylesheet">
<link href="./jscripts/codemirror/addon/dialog/dialog-mybb.css" rel="stylesheet">
<script src="./jscripts/codemirror/lib/codemirror.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>

<link href="./jscripts/codemirror/lib/codemirror.css?ver=1813" rel="stylesheet">
<link href="./jscripts/codemirror/theme/mybb.css?ver=1813" rel="stylesheet">
<link href="./jscripts/codemirror/addon/dialog/dialog-mybb.css?ver=1813" rel="stylesheet">
<script src="./jscripts/codemirror/lib/codemirror.js?ver=1813"></script>
<script src="./jscripts/codemirror/mode/css/css.js?ver=1813"></script>
<script src="./jscripts/codemirror/addon/dialog/dialog.js?ver=1813"></script>
<script src="./jscripts/codemirror/addon/search/searchcursor.js?ver=1813"></script>
<script src="./jscripts/codemirror/addon/search/search.js?ver=1813"></script>

';
}


';
}


Zeile 2812Zeile 2852

echo $form->generate_hidden_field("sid", $stylesheet['sid'])."<br />\n";



echo $form->generate_hidden_field("sid", $stylesheet['sid'])."<br />\n";


	$form_container = new FormContainer("{$lang->add_stylesheet_to} ".htmlspecialchars_uni($theme['name']));

	$form_container = new FormContainer($lang->add_stylesheet_to.' '.htmlspecialchars_uni($theme['name']), 'tfixed');

	$form_container->output_row($lang->file_name, $lang->file_name_desc, $form->generate_text_box('name', $mybb->input['name'], array('id' => 'name', 'style' => 'width: 200px;')), 'name');

$form_container->output_row($lang->attached_to, $lang->attached_to_desc, $actions);

	$form_container->output_row($lang->file_name, $lang->file_name_desc, $form->generate_text_box('name', $mybb->input['name'], array('id' => 'name', 'style' => 'width: 200px;')), 'name');

$form_container->output_row($lang->attached_to, $lang->attached_to_desc, $actions);

Zeile 2846Zeile 2886

if($admin_options['codepress'] != 0)
{


if($admin_options['codepress'] != 0)
{

		echo "<script type=\"text/javascript\">
var editor = CodeMirror.fromTextArea(document.getElementById(\"stylesheet\"), {

		echo '<script type="text/javascript">
var editor = CodeMirror.fromTextArea(document.getElementById("stylesheet"), {

				lineNumbers: true,

				lineNumbers: true,

				tabMode: \"indent\",
theme: \"mybb\",
lineWrapping: true
});</script>";




				lineWrapping: true,
viewportMargin: Infinity,
indentWithTabs: true,
indentUnit: 4,
mode: "text/css",
theme: "mybb"
});</script>';

	}


	}


	echo '<script type="text/javascript" src="./jscripts/themes.js"></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() {

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


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


	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', 1)."'");

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");

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

// Does the theme not exist?

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

// Does the theme not exist?

Zeile 2894Zeile 2937
	$cache->update('default_theme', $theme);

$db->update_query("themes", array('def' => 0));

	$cache->update('default_theme', $theme);

$db->update_query("themes", array('def' => 0));

	$db->update_query("themes", array('def' => 1), "tid='".$mybb->get_input('tid', 1)."'");

	$db->update_query("themes", array('def' => 1), "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");


$plugins->run_hooks("admin_style_themes_set_default_commit");



$plugins->run_hooks("admin_style_themes_set_default_commit");


Zeile 2907Zeile 2950

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


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

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', 1)."'");

	$query = $db->simple_select("themes", "*", "tid='".$mybb->get_input('tid', MyBB::INPUT_INT)."'");

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

// Does the theme not exist?

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

// Does the theme not exist?