Location: PHPKode > scripts > mixer > mixer/mixer.class.php
<?php
##############################################################################################################################################
##			information																														##
##############################################################################################################################################
##																																			##
##	description:		class mixer is for creation of a color mixer																		##
##	version:			1.3.0																												##
##	filename:			mixer.class.php																										##
##	author:				j├╝rgen kaucher																										##
## 	author Email: 		hide@address.com																									##
##	created:			2002-09-25																											##
##	last modified:		2002-10-03																											##
##																																			##
##############################################################################################################################################
##			changes																															##
##############################################################################################################################################
##																																			##
##	1.0.0	class with only 16 vga colors																									##
##	1.1.0	216 web colors																													##
##	1.2.0	120 netscape colors																												##
##	1.3.0	small table without names																										##
##																																			##
##############################################################################################################################################
##			class mixer																														##
##############################################################################################################################################
##																																			##
class Mixer {
	// (16 colors)
	var $vga=array(
		'black'=>'000000',
		'grey'=>'808080',
		'maroon'=>'800000',
		'red'=>'FF0000',
		'green'=>'008000',
		'lime'=>'00FF00',
		'olive'=>'808000',
		'yellow'=>'FFFF00',
		'navy'=>'000080',
		'blue'=>'0000FF',
		'purple'=>'800080',
		'fuchsia'=>'FF00FF',
		'teal'=>'008080',
		'aqua'=>'00FFFF',
		'silver'=>'C0C0C0',
		'white'=>'FFFFFF');
	// (120 colors)
	var $nc=array(
		'aliceblue'=>'F0F8FF',
		'antiquewhite'=>'FAEBD7',
		'aquamarine'=>'7FFFD4',
		'azure'=>'F0FFFF',
		'beige'=>'F5F5DC',
		'blueviolet'=>'8A2BE2',
		'brown'=>'A52A2A',
		'burlywood'=>'DEB887',
		'cadetblue'=>'5F9EA0',
		'chartreuse'=>'7FFF00',
		'chocolate'=>'D2691E',
		'coral'=>'FF7F50',
		'cornflowerblue'=>'6495ED',
		'cornsilk'=>'FFF8DC',
		'crimson'=>'DC143C',
		'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',
		'gainsboro'=>'DCDCDC',
		'ghostwhite'=>'F8F8FF',
		'gold'=>'FFD700',
		'goldenrod'=>'DAA520',
		'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',
		'limegreen'=>'32CD32',
		'linen'=>'FAF0E6',
		'mediumaquamarine'=>'66CDAA',
		'mediumblue'=>'0000CD',
		'mediumorchid'=>'BA55D3',
		'mediumpurple'=>'9370DB',
		'mediumseagreen'=>'3CB371',
		'mediumslateblue'=>'7B68EE',
		'mediumspringgreen'=>'00FA9A',
		'mediumturquoise'=>'48D1CC',
		'mediumvioletred'=>'C71585',
		'midnightblue'=>'191970',
		'mintcream'=>'F5FFFA',
		'mistyrose'=>'FFE4E1',
		'moccasin'=>'FFE4B5',
		'navajowhite'=>'FFDEAD',
		'oldlace'=>'FDF5E6',
		'olivedrab'=>'6B8E23',
		'orange'=>'FFA500',
		'orangered'=>'FF4500',
		'orchid'=>'DA70D6',
		'palegoldenrod'=>'EEE8AA',
		'palegreen'=>'98FB98',
		'paleturquoise'=>'AFEEEE',
		'palevioletred'=>'DB7093',
		'papayawhip'=>'FFEFD5',
		'peachpuff'=>'FFDAB9',
		'peru'=>'CD853F',
		'pink'=>'FFC0CB',
		'plum'=>'DDA0DD',
		'powderblue'=>'B0E0E6',
		'rosybrown'=>'BC8F8F',
		'royalblue'=>'4169E1',
		'saddlebrown'=>'8B4513',
		'salmon'=>'FA8072',
		'sandybrown'=>'F4A460',
		'seagreen'=>'2E8B57',
		'seashell'=>'FFF5EE',
		'sienna'=>'A0522D',
		'skyblue'=>'87CEEB',
		'slateblue'=>'6A5ACD',
		'slategray'=>'708090',
		'snow'=>'FFFAFA',
		'springgreen'=>'00FF7F',
		'steelblue'=>'4682B4',
		'tan'=>'D2B48C',
		'thistle'=>'D8BFD8',
		'tomato'=>'FF6347',
		'turquoise'=>'40E0D0',
		'violet'=>'EE82EE',
		'wheat'=>'F5DEB3',
		'whitesmoke'=>'F5F5F5',
		'yellowgreen'=>'9ACD32');	
		
	function Big_table($value) {
		$this->Head();
		print("<form name=form action=\"\"><table border=0 width=500 align=center><tr>");
		$i=0;
		if (($value=='16')||($value=='')) {
			print("<th>dec-value</th><th>hex-value</th><th>name</th><th>text test</th><th>set body</th></tr><tr>");
			while (list ($key, $val) = each ($this->vga)) {
				if (($i=='5')||($i=='7')||($i=='13')||($i=='14')||($i=='15')) $col=$this->vga['black'];
				else $col=$this->vga['white'];
				$dec=hexdec(substr($val,0,2))."-";
				$dec.=hexdec(substr($val,2,2))."-";
				$dec.=hexdec(substr($val,4,2));
				print("<td bgcolor=#".$val." width=100 align=center><font color=".$col.">".$dec."</font></td>");
				print("<td bgcolor=#".$val." width=100 align=center><font color=".$col.">#".$val."</font></td>");
				print("<td bgcolor=#".$val." width=100 align=center><font color=".$col.">".$key."</font></td>");
				print("<td width=100 align=center><font color=#".$val.">text</font></td>");
				print("<td bgcolor=#".$val." align=center><input type=button value='Set bgcolor' onClick=Set('".$val."')></td>");
				print("</tr><tr>");
				$i++;
			}
		} elseif ($value=='216') {
			print("<th>dec-value</th><th>hex-value</th><th>text test</th><th>set body</th></tr><tr>");
			for ($i=0;$i<=255;) {
				for ($j=0;$j<=255;) {
					for ($k=0;$k<=255;) {
						$colb=$this->vga['black'];
						$colw=$this->vga['white'];
						$hex=($i<=1) ? '00' : dechex($i);
						$hex.=($j<=1) ? '00' : dechex($j);
						$hex.=($k<=1) ? '00' : dechex($k);	
						print("<td bgcolor=#".$hex." width=100 align=center><font color=".$colb.">".$i."-".$j."-".$k."</font></td>");
						print("<td bgcolor=#".$hex." width=100 align=center><font color=".$colw.">#".$hex."</font></td>");
						print("<td width=100 align=center><font color=#".$hex.">text</font></td>");
						print("<td bgcolor=#".$hex." align=center><input type=button value='Set bgcolor' onClick=Set('".$hex."')></td>");
						print("</tr><tr>");						
						$k+=51;
					}
					$j+=51;
				}
				$i+=51;			
			}	
		} elseif ($value=='120') {
			print("<th>dec-value</th><th>hex-value</th><th>name</th><th>text test</th><th>set body</th></tr><tr>");
			while (list ($key, $val) = each ($this->nc)) {
				if (($i=='5')||($i=='6')||(($i>='14')&&($i<='25'))||(($i>='27')&&($i<='29'))||($i=='31')||($i=='34')||($i=='36')||($i=='38')||($i=='47')||($i=='70')||($i=='71')||($i=='77')||($i=='78')||($i=='84')||($i=='86')||($i=='99')||($i=='100')||($i=='103')||($i=='105')||($i=='107')||($i=='108')||($i=='111')) $col=$this->vga['white'];
				else $col=$this->vga['black'];
				$dec=hexdec(substr($val,0,2))."-";
				$dec.=hexdec(substr($val,2,2))."-";
				$dec.=hexdec(substr($val,4,2));
				print("<td bgcolor=#".$val." width=100 align=center><font color=".$col.">".$dec."</font></td>");
				print("<td bgcolor=#".$val." width=100 align=center><font color=".$col.">#".$val."</font></td>");
				print("<td bgcolor=#".$val." width=100 align=center><font color=".$col.">".$key."</font></td>");
				print("<td width=100 align=center><font color=#".$val.">text</font></td>");
				print("<td bgcolor=#".$val." align=center><input type=button value='Set bgcolor' onClick=Set('".$val."')></td>");
				print("</tr><tr>");
				$i++;
			}
		}
		print("</tr></table></form>");
	}
	
	function Small_table($value) {
		$this->Head();
		print("<form name=form action=\"\">");
		$i=0;
		if (($value=='16')||($value=='')) {
			print("<table border=0 width=200 align=center><tr>");
			while (list ($key, $val) = each ($this->vga)) {
				print("<td bgcolor=#".$val." width=10 height=10 align=center title=".$key." onClick=Set('".$val."')></td>");
			}
		} elseif ($value=='120') {
			print("<table border=0 width=200 align=center><tr>");
			while (list ($key, $val) = each ($this->nc)) {
				$i++;
				print("<td bgcolor=#".$val." width=10 height=10 align=center title=".$key." onClick=Set('".$val."')></td>");
				if ($i%10==0) print("</tr><tr>");
			}
		} elseif ($value=='216') {
			print("<table border=0 width=200 align=center><tr>");
			$mod=0;
			for ($i=0;$i<=255;) {
				for ($j=0;$j<=255;) {
					for ($k=0;$k<=255;) {
						$hex=($i<=1) ? '00' : dechex($i);
						$hex.=($j<=1) ? '00' : dechex($j);
						$hex.=($k<=1) ? '00' : dechex($k);
						$mod++;
						print("<td bgcolor=#".$hex." width=10 height=10 align=center title=".$hex." onClick=Set('".$hex."')></td>");
						if ($mod%12==0) print("</tr><tr>");
						$k+=51;
					}
					$j+=51;
				}
				$i+=51;			
			}	
		}
		print("</tr></table></form>");
	}
	
	function Head() {
		?>
		<html><head><title>mixer class example</title>
		<script type="text/javascript">
		<!--
		function Set(t) {
			document.getElementsByTagName("body")[0].bgColor = t;
		}
		//-->
		</script></head><body>
		<?php	
	}
}
##																																			##
##############################################################################################################################################
?>
Return current item: mixer