Created
August 8, 2012 20:39
-
-
Save pelagisk/3298508 to your computer and use it in GitHub Desktop.
Exempel 2 Adminstrationsmeny
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| /* lägger till inställningar */ | |
| function theme_admin_init() { | |
| register_setting('exempel_options', 'exempel_options', 'exempel_options_validate'); | |
| add_settings_section('exempel_main', 'Exempelinställningar', 'exempel_section_text', 'exempel'); | |
| add_settings_field('exempelfarg', 'Välj en färg', 'theme_setting_exempelfarg', 'exempel', 'exempel_main'); | |
| } | |
| /* ser till att funktionen theme_admin_init() körs i rätt sammanhang */ | |
| add_action('admin_init', 'theme_admin_init'); | |
| /* funktionen exempel_section_text() visar en förklaring av menyn */ | |
| function exempel_section_text() { | |
| ?> | |
| <p>Förklaring av menyn placeras här!</p> | |
| <?php | |
| } | |
| /* funktionen theme_setting_exempelfarg */ | |
| function theme_setting_exempelfarg() { | |
| $options = get_option('exempel_options'); | |
| ?> | |
| <input id="theme_exempelfarg" name="theme_options[exempelfarg]" type="text" value="<?php echo $options['exempelfarg']; ?>" /> | |
| <?php | |
| } | |
| /* funktion för att bekräfta att koden som användaren har matat in är säker (som ett skydd mot angripare som matar in kod i textfältet) */ | |
| function exempel_options_validate($input) { | |
| $newinput['exempelfarg'] = trim($input['exempelfarg']); | |
| /* en (fruktansvärd!) regular expression som matchar korrekta färgangivelser. Om strängen som användaren matar in INTE passar, kastas strängen och alternativet sätts till en tom sträng ('') */ | |
| $color_regexp = '/^#(?:(?:[a-f\d]{3}){1,2})|AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGray|DarkGrey|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|Darkorange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGray|DarkSlateGrey|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGray|DimGrey|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gray|Grey|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGray|LightGrey|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGray|LightSlateGrey|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGray|SlateGrey|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen$/i'; | |
| if(!preg_match($color_regexp, $newinput['exempelfarg'])) { | |
| $newinput['exempelfarg'] = ''; | |
| } | |
| return $newinput; | |
| } | |
| ?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment