Browse Source

! A little reorg and retrofitting everything to support big icons in the ACP. This is still a WIP and has some debug code in it yet.

Signed-off-by: Peter Spicer <[email protected]>
Peter Spicer 11 years ago
parent
commit
57cde67614
35 changed files with 81 additions and 26 deletions
  1. 16 16
      Sources/Admin.php
  2. 20 4
      Sources/Subs-Menu.php
  3. 28 2
      Themes/default/Admin.template.php
  4. 17 4
      Themes/default/css/admin.css
  5. BIN
      Themes/default/images/admin/big/attachment.png
  6. BIN
      Themes/default/images/admin/big/ban.png
  7. BIN
      Themes/default/images/admin/big/boards.png
  8. BIN
      Themes/default/images/admin/big/calendar.png
  9. BIN
      Themes/default/images/admin/big/current_theme.png
  10. BIN
      Themes/default/images/admin/big/default.png
  11. BIN
      Themes/default/images/admin/big/drafts.png
  12. BIN
      Themes/default/images/admin/big/engines.png
  13. BIN
      Themes/default/images/admin/big/features.png
  14. BIN
      Themes/default/images/admin/big/languages.png
  15. BIN
      Themes/default/images/admin/big/logs.png
  16. BIN
      Themes/default/images/admin/big/mail.png
  17. BIN
      Themes/default/images/admin/big/maintain.png
  18. BIN
      Themes/default/images/admin/big/membergroups.png
  19. BIN
      Themes/default/images/admin/big/members.png
  20. BIN
      Themes/default/images/admin/big/modifications.png
  21. BIN
      Themes/default/images/admin/big/news.png
  22. BIN
      Themes/default/images/admin/big/packages.png
  23. BIN
      Themes/default/images/admin/big/paid.png
  24. BIN
      Themes/default/images/admin/big/permissions.png
  25. BIN
      Themes/default/images/admin/big/posts.png
  26. BIN
      Themes/default/images/admin/big/regcenter.png
  27. BIN
      Themes/default/images/admin/big/reports.png
  28. BIN
      Themes/default/images/admin/big/scheduled.png
  29. BIN
      Themes/default/images/admin/big/search.png
  30. BIN
      Themes/default/images/admin/big/security.png
  31. BIN
      Themes/default/images/admin/big/server.png
  32. BIN
      Themes/default/images/admin/big/smiley.png
  33. BIN
      Themes/default/images/admin/big/support.png
  34. BIN
      Themes/default/images/admin/big/themes.png
  35. BIN
      Themes/default/images/admin/drafts.png

+ 16 - 16
Sources/Admin.php

@@ -141,20 +141,6 @@ function AdminMain()
 						'settings' => array($txt['language_settings']),
 					),
 				),
-				'serversettings' => array(
-					'label' => $txt['admin_server_settings'],
-					'file' => 'ManageServer.php',
-					'function' => 'ModifySettings',
-					'icon' => 'server.png',
-					'subsections' => array(
-						'general' => array($txt['general_settings']),
-						'database' => array($txt['database_paths_settings']),
-						'cookie' => array($txt['cookies_sessions_settings']),
-						'cache' => array($txt['caching_settings']),
-						'loads' => array($txt['load_balancing_settings']),
-						'phpinfo' => array($txt['phpinfo_settings']),
-					),
-				),
 				'current_theme' => array(
 					'label' => $txt['theme_current_settings'],
 					'file' => 'Themes.php',
@@ -223,7 +209,7 @@ function AdminMain()
 					'label' => $txt['manage_drafts'],
 					'file' => 'Drafts.php',
 					'function' => 'ModifyDraftSettings',
-					'icon' => 'logs.png',
+					'icon' => 'drafts.png',
 					'permission' => array('admin_forum'),
 					'enabled' => in_array('dr', $context['admin_features']),
 				),
@@ -381,6 +367,20 @@ function AdminMain()
 			'title' => $txt['admin_maintenance'],
 			'permission' => array('admin_forum'),
 			'areas' => array(
+				'serversettings' => array(
+					'label' => $txt['admin_server_settings'],
+					'file' => 'ManageServer.php',
+					'function' => 'ModifySettings',
+					'icon' => 'server.png',
+					'subsections' => array(
+						'general' => array($txt['general_settings']),
+						'database' => array($txt['database_paths_settings']),
+						'cookie' => array($txt['cookies_sessions_settings']),
+						'cache' => array($txt['caching_settings']),
+						'loads' => array($txt['load_balancing_settings']),
+						'phpinfo' => array($txt['phpinfo_settings']),
+					),
+				),
 				'maintain' => array(
 					'label' => $txt['maintain_title'],
 					'file' => 'ManageMaintenance.php',
@@ -461,7 +461,7 @@ function AdminMain()
 	validateSession();
 
 	// Actually create the menu!
-	$admin_include_data = createMenu($admin_areas);
+	$admin_include_data = createMenu($admin_areas, array('do_big_icons' => true));
 	unset($admin_areas);
 
 	// Nothing valid?

+ 20 - 4
Sources/Subs-Menu.php

@@ -26,9 +26,6 @@ function createMenu($menuData, $menuOptions = array())
 {
 	global $context, $settings, $options, $txt, $modSettings, $scripturl, $smcFunc, $user_info, $sourcedir, $options;
 
-	// Work out where we should get our images from.
-	$context['menu_image_path'] = file_exists($settings['theme_dir'] . '/images/admin/change_menu.png') ? $settings['images_url'] . '/admin' : $settings['default_images_url'] . '/admin';
-
 	/* Note menuData is array of form:
 
 		Possible fields:
@@ -127,10 +124,29 @@ function createMenu($menuData, $menuOptions = array())
 						if (!isset($area['force_menu_into_arms_of_another_menu']) && $user_info['name'] == 'iamanoompaloompa')
 							$menu_context['sections'][$section_id]['areas'][$area_id] = unserialize(base64_decode('YTozOntzOjU6ImxhYmVsIjtzOjEyOiJPb21wYSBMb29tcGEiO3M6MzoidXJsIjtzOjQzOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL09vbXBhX0xvb21wYXM/IjtzOjQ6Imljb24iO3M6ODY6IjxpbWcgc3JjPSJodHRwOi8vd3d3LnNpbXBsZW1hY2hpbmVzLm9yZy9pbWFnZXMvb29tcGEuZ2lmIiBhbHQ9IkknbSBhbiBPb21wYSBMb29tcGEiIC8+Ijt9'));
 						elseif (isset($area['icon']))
-							$menu_context['sections'][$section_id]['areas'][$area_id]['icon'] = '<img src="' . $context['menu_image_path'] . '/' . $area['icon'] . '" alt="" />&nbsp;&nbsp;';
+							$menu_context['sections'][$section_id]['areas'][$area_id]['icon'] = file_exists($settings['theme_dir'] . '/images/admin/' . $area['icon']) ? '<img src="' . $settings['images_url'] . '/admin/' . $area['icon'] . '" alt="" />&nbsp;&nbsp;' : '<img src="' . $settings['default_images_url'] . '/admin/' . $area['icon'] . '" alt="" />&nbsp;&nbsp;';
 						else
 							$menu_context['sections'][$section_id]['areas'][$area_id]['icon'] = '';
 
+						// Mod authors may wish to just set such an icon. Easy here, just drop in a URL.
+						if (!empty($menuOptions['do_big_icons']))
+						{
+							if (isset($area['bigicon']))
+								$menu_context['sections'][$section_id]['areas'][$area_id]['bigicon'] = $area['bigicon'];
+							// Otherwise we try to use the big icon, which has the same filename as the small one but in another folder.
+							elseif (isset($area['icon']))
+							{
+								if (file_exists($settings['theme_dir'] . '/images/admin/big/' . $area['icon']))
+									$menu_context['sections'][$section_id]['areas'][$area_id]['bigicon'] = $settings['images_url'] . '/admin/big/' . $area['icon'];
+								elseif (file_exists($settings['default_theme_dir'] . '/images/admin/big/' . $area['icon']))
+									$menu_context['sections'][$section_id]['areas'][$area_id]['bigicon'] = $settings['default_images_url'] . '/admin/big/' . $area['icon'];
+							}
+
+							// They do need an icon. Have they got one?
+							if (empty($menu_context['sections'][$section_id]['areas'][$area_id]['bigicon']))
+								$menu_context['sections'][$section_id]['areas'][$area_id]['bigicon'] = $settings['default_images_url'] . '/admin/big/default.png';
+						}
+
 						// Did it have subsections?
 						if (!empty($area['subsections']))
 						{

+ 28 - 2
Themes/default/Admin.template.php

@@ -78,7 +78,31 @@ function template_admin()
 			</div>
 		</div>';
 
-	echo '
+	//print_r($context[$context['admin_menu_name']]);
+	$use_bg2 = true;
+	foreach ($context[$context['admin_menu_name']]['sections'] as $area_id => $area)
+	{
+		echo '
+		<fieldset id="group_', $area_id, '" class="', $use_bg2 ? 'windowbg2' : 'windowbg', ' admin_group">
+			<legend>', $area['title'], '</legend>';
+
+		foreach ($area['areas'] as $item_id => $item)
+		{
+			// No point showing the 'home' page here, we're already on it!
+			if ($area_id == 'forum' && $item_id == 'index')
+				continue;
+
+			$url = isset($item['url']) ? $item['url'] : $scripturl . '?action=admin;area=' . $item_id . (!empty($context[$context['admin_menu_name']]['extra_parameters']) ? $context[$context['admin_menu_name']]['extra_parameters'] : '');
+			echo '
+				<a href="', $url, '"><img src="', $item['bigicon'], '" alt="" /><br />', $item['label'], '</a>';
+		}
+
+		echo '
+		</fieldset>';
+		$use_bg2 = !$use_bg2;
+	}
+
+	/*echo '
 		<div class="windowbg2 quick_tasks">
 			<div class="content">
 				<ul id="quick_tasks" class="flow_hidden">';
@@ -94,7 +118,9 @@ function template_admin()
 	echo '
 				</ul>
 			</div>
-		</div>
+		</div>';*/
+
+	echo '
 	</div>';
 
 	// The below functions include all the scripts needed from the simplemachines.org site. The language and format are passed for internationalization.

+ 17 - 4
Themes/default/css/admin.css

@@ -409,10 +409,9 @@ body#chrome  #quick_search .button_submit {
 /* Admin and moderation could generally do with a clean up everywhere.
 /* Live news from smf.org and support information. */
 #admin_main_section {
-	margin: 12px 0 0 0;
-	padding: 8px 12px 4px 12px;
-	border-radius: 7px 7px 0 0;
-	border-bottom: none;
+	margin: 12px 0;
+	padding: 8px 12px;
+	border-radius: 7px;
 }
 #admin_main_section .cat_bar {
 	background: none;
@@ -472,6 +471,20 @@ body#chrome  #quick_search .button_submit {
 	border-top: double #ddd;
 }
 
+fieldset.admin_group legend {
+	background: #eaf1f4;
+	border: 1px solid #cacdd3;
+	padding: 1px 5px;
+	border-radius: 3px;
+}
+fieldset.admin_group a {
+	display: inline-block;
+	width: 100px;
+	font-size: 85%;
+	text-align: center;
+	vertical-align: top;
+}
+
 /* The update warning. */
 #update_section {
 	margin: 6px 0;

BIN
Themes/default/images/admin/big/attachment.png


BIN
Themes/default/images/admin/big/ban.png


BIN
Themes/default/images/admin/big/boards.png


BIN
Themes/default/images/admin/big/calendar.png


BIN
Themes/default/images/admin/big/current_theme.png


BIN
Themes/default/images/admin/big/default.png


BIN
Themes/default/images/admin/big/drafts.png


BIN
Themes/default/images/admin/big/engines.png


BIN
Themes/default/images/admin/big/features.png


BIN
Themes/default/images/admin/big/languages.png


BIN
Themes/default/images/admin/big/logs.png


BIN
Themes/default/images/admin/big/mail.png


BIN
Themes/default/images/admin/big/maintain.png


BIN
Themes/default/images/admin/big/membergroups.png


BIN
Themes/default/images/admin/big/members.png


BIN
Themes/default/images/admin/big/modifications.png


BIN
Themes/default/images/admin/big/news.png


BIN
Themes/default/images/admin/big/packages.png


BIN
Themes/default/images/admin/big/paid.png


BIN
Themes/default/images/admin/big/permissions.png


BIN
Themes/default/images/admin/big/posts.png


BIN
Themes/default/images/admin/big/regcenter.png


BIN
Themes/default/images/admin/big/reports.png


BIN
Themes/default/images/admin/big/scheduled.png


BIN
Themes/default/images/admin/big/search.png


BIN
Themes/default/images/admin/big/security.png


BIN
Themes/default/images/admin/big/server.png


BIN
Themes/default/images/admin/big/smiley.png


BIN
Themes/default/images/admin/big/support.png


BIN
Themes/default/images/admin/big/themes.png


BIN
Themes/default/images/admin/drafts.png