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)
{
}
}