Widget example.

The following code is a simple widget example that display photo on Flickr.com


class flickr
{
	public $Text=array(
		'count'=>array(
			'en'=>'Display count',
			'zh'=>'显示数目',
			'zh-tr'=>'顯示數目'),
		'display'=>array(
			'en'=>'Display type',
			'zh'=>'显示类别',
			'zh-tr'=>'顯示類別'),
		'latest'=>array(
			'en'=>'Latest',
			'zh'=>'最新',
			'zh-tr'=>'最新'),
		'random'=>array(
			'en'=>'Random',
			'zh'=>'随机',
			'zh-tr'=>'隨機'),
		'popular'=>array(
			'en'=>'Popular',
			'zh'=>'最受欢迎的',
			'zh-tr'=>'最受歡迎的'),
		'label_userid'=>array(
			'en'=>'Flickr User ID',
			'zh'=>'Flickr账号ID',
			'zh-tr'=>'Flickr帳號ID'),
		'user_desc'=>array(
			'en'=>'It will show public photos if you don`t provide.',
			'zh'=>'如您不填写,则显示公开图片.',
			'zh-tr'=>'如您不填寫,則顯示公开圖片.')
		);
	function init($Data)
	{
		$Data['count']='9';
		$Data['display']='random';
		return $Data;
	}
	function display($Data)
	{
		echo '<style type="text/css">
		#flickr_badge {overflow:hidden;text-align:center;}
		.flickr_badge_image {float:left;}
		</style>
		<div id="flickr_badge">';
		$source=($Data['userid']=='')?'source=all_tag':'source=user_tag&user='.$Data['userid'];
		$html = file_get_contents('http://www.flickr.com/badge_code_v2.gne?count='.$Data['count'].'&'.$source.'&display='.$Data['display'].'&size=s&layout=x');
		preg_match_all("/<div.*div>/", $html, $matches); 
		foreach($matches[0] as $div)
		{ 
			echo str_replace("></a>", "/></a>", $div);
		}
		echo	'</div>';
	}
	function set($Data)
	{
		$Text=langinit(__CLASS__);
		echo '<label>'.$Text['count'].'</label>
			<input type="text" name="count" value="'.$Data['count'].'" />
			<label>'.$Text['display'].'</label>
			<select name="display" value="'.$Data['display'].'" id="flickr_display">
			<option value="latest">'.$Text['latest'].'</option>
			<option value="random">'.$Text['random'].'</option>
			<option value="popular">'.$Text['popular'].'</option>
			</select>
			<label>'.$Text['label_userid'].'</label>
			<p>'.$Text['user_desc'].'</p>
			<input type="text" name="userid" value="'.$Data['userid'].'" />
			<script type="text/javascript">selectOption("flickr_display","'.$Data['display'].'");</script>';
	}
	function update($Data,$POST)
	{
		$Data['count']=$POST['count'];
		$Data['display']=$POST['display'];
		$Data['userid']=$POST['userid'];
		return $Data;
	}
	function ajax($Data,$POST,$UserInf)
	{
		
	}
}