PDA

View Full Version : [Mini-Hack] Make select function for admin functions.


Slynderdale
21 Jan 2003, 07:10
I recently installed the gender hack on my version 2.2.9 forum and looked through adminfunction.php and couldnt find a function to make a select menu si i made my own and figured I'll release it in case it would be helpful to others, any ways, here it is:


// ###################### Start makeselectcode #######################
function makeselectcode ($title,$name,$selectarray,$value="select_null") {
// Makes code for select menu's
unset($content);
if (count($selectarray)) {
$content = "<select name='".$name."'>\n";
while (list($select_name,$select_value) = each($selectarray)) {
if ($select_name) {
unset($selected);
if ((trim(strtolower($select_value)) == trim(strtolower($value))) and $value != "select_null")
$selected = " selected";
$content .= '<option value="'.$select_value.'"'.$selected.'>'.$select_name.'</option>\n';
}
}
$content .= "</select>";
}
echo "<tr class='".getrowbg()."' valign='top'>\n<td><p>$title</p></td>\n<td><p>".$content."</p></td>\n</tr>\n";
}


just place that in adminfunctions.php, like above the ?>

Heres an example on how to use it:

makeselectcode("Gender","gender",array("Undisclosed" => "0","Female" => "1","Male" => "2"),0);


The first parameter in the function is the title of the select menu, the secton param is the select name, the third is an array to male the select menu with, heres how that is set up:

array("Name" => "Value");

and you can have all you want for example:

array("Name" => "Value","Name" => "Value","Name" => "Value");

and the forth and final param is the value of the select menu, as it creates the select menu, if the value in the array matches the value param, it selected it like:

<option value="$Value" selected>$Name</select>

so in:

array("foo1" => "bar1","foo2" => "bar2","foo3" => "bar3");

and you set the function value parameter to bar2 like:

makeselectcode("Test","text",array("foo1" => "bar1","foo2" => "bar2","foo3" => "bar3"),"foo2");


the secon option will be selected like:

<option value="bar2" selected>foo2</select>

I hoped I explained it well enough, also If a function similar to this exsists, can a mod please delete this thread, thank you.

Ill post an attachment below to show the outcome in admin users for the gender hack I installed.

Boofo
21 Jan 2003, 16:31
Could this be made to use in other areas of the board, too, and not just the Admin area?

Dean C
21 Jan 2003, 18:47
Indeed this looks very nice but would be nice to use anywhere :)

Would we just add it to functions.php?

- miSt

Slynderdale
21 Jan 2003, 21:50
Originally posted by Boofo
Could this be made to use in other areas of the board, too, and not just the Admin area?

Yea, I actually made a function for that, i just edited for adminfunctions.php, heres the other:

function createselectmenu($name,$selectarray,$value="select_null") {
unset($content);
if (count($selectarray)) {
$content = "<select name=".$name.">\n";
while (list($select_name,$select_value) = each($selectarray)) {
if ($select_name) {
unset($selected);
if (substr($select_name,0,1)=="@" or (trim(strtolower($select_value)) == trim(strtolower($value))) and $value != "select_null")) {
if (substr($select_name,0,1)=="@") $select_name = substr($select_name,1,strlen($select_name));
$selected = " selected";
}
$content .= '<option value="'.$select_value.'"'.$selected.'>'.$select_name.'</option>\n';
}
}
$content .= "</select>\n";
}
if ($content) return $content;
else return false;
}


This works the same as the one i posted before but you dont give it a title, this just outputs the select html code and thats all so you can place it any wheres. Theres two ways you can have it select a value, one is like below, have the $value param in the function the same value of in the array or add a @ in front of the name in the array like:


$array = array(
"@Select Color" => "-1",
"Aliceblue" => "#F0F8FF",
"Antiquewhite" => "#FAEBD7",
"Aqua" => "#00FFFF",
"Aquamarine" => "#7FFFD4",
"Azure" => "#F0FFFF",
"Beige" => "#F5F5DC",
"Bisque" => "#FFE4C4",
"Black" => "#000000",
"Blanchedalmond" => "#FFEBCD",
"Blue" => "#0000FF",
"Blueviolet" => "#8A2BE2",
"Brown" => "#A52A2A",
"Burlywood" => "#DEB887",
"Cadetblue" => "#5F9EA0",
"Chartreuse" => "#7FFF00",
"Chocolate" => "#D2691E",
"Coral" => "#FF7F50",
"Cornflowerblue" => "#6495ED",
"Cornsilk" => "#FFF8DC",
"Crimson" => "#DC143C",
"Cyan" => "#00FFFF",
"Darkblue" => "#00008B",
"Darkcyan" => "#008B8B",
"Darkgoldenrod" => "#B8860B",
"Darkgray" => "#A9A9A9",
"Darkgreen" => "#006400",
"Darkkhaki" => "#BDB76B",
"Darkmagenta" => "#8B008B",
"Darkolivegreen" => "#556B2F",
"Darkorange" => "#FF8C00",
"Darkorchid" => "#9932CC",
"Darkred" => "#8B0000",
"Darksalmon" => "#E9967A",
"Darkseagreen" => "#8FBC8F",
"Darkslateblue" => "#483D8B",
"Darkslategray" => "#2F4F4F",
"Darkturquoise" => "#00CED1",
"Darkviolet" => "#9400D3",
"Deeppink" => "#FF1493",
"Deepskyblue" => "#00BFFF",
"Dimgray" => "#696969",
"Dodgerblue" => "#1E90FF",
"Firebrick" => "#B22222",
"Floralwhite" => "#FFFAF0",
"Forestgreen" => "#228B22",
"Fuchsia" => "#FF00FF",
"Gainsboro" => "#DCDCDC",
"Ghostwhite" => "#F8F8FF",
"Gold" => "#FFD700",
"Goldenrod" => "#DAA520",
"Gray" => "#808080",
"Green" => "#008000",
"Greenyellow" => "#ADFF2F",
"Honeydew" => "#F0FFF0",
"Hotpink" => "#FF69B4",
"Indianred" => "#CD5C5C",
"Indigo" => "#4B0082",
"Ivory" => "#FFFFF0",
"Khaki" => "#F0E68C",
"Lavender" => "#E6E6FA",
"Lavenderblush" => "#FFF0F5",
"Lawngreen" => "#7CFC00",
"Lemonchiffon" => "#FFFACD",
"Lightblue" => "#ADD8E6",
"Lightcoral" => "#F08080",
"Lightcyan" => "#E0FFFF",
"Lightgoldenrodyellow" => "#FAFAD2",
"Lightgreen" => "#90EE90",
"Lightgrey" => "#D3D3D3",
"Lightpink" => "#FFB6C1",
"Lightsalmon" => "#FFA07A",
"Lightseagreen" => "#20B2AA",
"Lightskyblue" => "#87CEFA",
"Lightslategray" => "#778899",
"Lightsteelblue" => "#B0C4DE",
"Lightyellow" => "#FFFFE0",
"Lime" => "#00FF00",
"Limegreen" => "#32CD32",
"Linen" => "#FAF0E6",
"Magenta" => "#FF00FF",
"Maroon" => "#800000",
"Mediumauqamarine" => "#66CDAA",
"Mediumblue" => "#0000CD",
"Mediumorchid" => "#BA55D3",
"Mediumpurple" => "#9370D8",
"Mediumseagreen" => "#3CB371",
"Mediumslateblue" => "#7B68EE",
"Mediumspringgreen" => "#00FA9A",
"Mediumturquoise" => "#48D1CC",
"Mediumvioletred" => "#C71585",
"Midnightblue" => "#191970",
"Mintcream" => "#F5FFFA",
"Mistyrose" => "#FFE4E1",
"Moccasin" => "#FFE4B5",
"Navajowhite" => "#FFDEAD",
"Navy" => "#000080",
"Oldlace" => "#FDF5E6",
"Olive" => "#808000",
"Olivedrab" => "#688E23",
"Orange" => "#FFA500",
"Orangered" => "#FF4500",
"Orchid" => "#DA70D6",
"Palegoldenrod" => "#EEE8AA",
"Palegreen" => "#98FB98",
"Paleturquoise" => "#AFEEEE",
"Palevioletred" => "#D87093",
"Papayawhip" => "#FFEFD5",
"Peachpuff" => "#FFDAB9",
"Peru" => "#CD853F",
"Pink" => "#FFC0CB",
"Plum" => "#DDA0DD",
"Powderblue" => "#B0E0E6",
"Purple" => "#800080",
"Red" => "#FF0000",
"Rosybrown" => "#BC8F8F",
"Royalblue" => "#4169E1",
"Saddlebrown" => "#8B4513",
"Salmon" => "#FA8072",
"Sandybrown" => "#F4A460",
"Seagreen" => "#2E8B57",
"Seashell" => "#FFF5EE",
"Sienna" => "#A0522D",
"Silver" => "#C0C0C0",
"Skyblue" => "#87CEEB",
"Slateblue" => "#6A5ACD",
"Slategray" => "#708090",
"Snow" => "#FFFAFA",
"Springgreen" => "#00FF7F",
"Steelblue" => "#4682B4",
"Tan" => "#D2B48C",
"Teal" => "#008080",
"Thistle" => "#D8BFD8",
"Tomato" => "#FF6347",
"Turquoise" => "#40E0D0",
"Violet" => "#EE82EE",
"Wheat" => "#F5DEB3",
"White" => "#FFFFFF",
"Whitesmoke" => "#F5F5F5",
"Yellow" => "#FFFF00",
"YellowGreen" => "#9ACD32"
);

Slynderdale
21 Jan 2003, 21:57
Note: The function in the first post goes in adminfunctions.php the one i just posted above can go in functions.php to use any where on the forum.

Boofo
21 Jan 2003, 22:07
Great! Thanks! I'll play with it a little and see what I can make with it. ;)

DWZ
22 Jan 2003, 12:45
Can you put your code in a text document to stop unlicensed members from viewing the code please?

Thanks

Kriek
01 Mar 2003, 13:37
Slynderdale, check your PM =)