コード例 #1
0
 function __construct($fid)
 {
     global $dsql;
     $this->FreeID = $fid;
     $this->TypeLink = new TypeLink(0);
     $this->dsql = $dsql;
     $this->maintable = '#@__archives';
     $this->TempletsFile = '';
     $this->FLInfos = $this->dsql->GetOne("Select * From `#@__freelist` where aid='{$fid}' ");
     $liststr = $this->FLInfos['listtag'];
     $this->FLInfos['maxpage'] = empty($this->FLInfos['maxpage']) ? 100 : $this->FLInfos['maxpage'];
     //载入数据里保存的列表属性信息
     $ndtp = new DedeTagParse();
     $ndtp->SetNameSpace("dede", "{", "}");
     $ndtp->LoadString($liststr);
     $this->ListObj = $ndtp->GetTag('list');
     $this->PageSize = $this->ListObj->GetAtt('pagesize');
     if (empty($this->PageSize)) {
         $this->PageSize = 30;
     }
     $channelid = $this->ListObj->GetAtt('channel');
     /*
     if(empty($channelid))
     {
     	showmsg('必须指定频道','-1');exit();
     }
     else
     {
     	$channelid = intval($channelid);
     	$channelinfo = $this->dsql->getone("select maintable from #@__channeltype where id='$channelid'");
     	$this->maintable = $channelinfo['maintable'];
     }
     */
     $channelid = intval($channelid);
     $this->maintable = '#@__archives';
     //全局模板解析器
     $this->dtp = new DedeTagParse();
     $this->dtp->SetNameSpace("dede", "{", "}");
     $this->dtp->SetRefObj($this);
     //设置一些全局参数的值
     $this->Fields['aid'] = $this->FLInfos['aid'];
     $this->Fields['title'] = $this->FLInfos['title'];
     $this->Fields['position'] = $this->FLInfos['title'];
     $this->Fields['keywords'] = $this->FLInfos['keywords'];
     $this->Fields['description'] = $this->FLInfos['description'];
     $channelid = $this->ListObj->GetAtt('channel');
     if (!empty($channelid)) {
         $this->Fields['channeltype'] = $channelid;
         $this->ChannelUnit = new ChannelUnit($channelid);
     } else {
         $this->Fields['channeltype'] = 0;
     }
     foreach ($GLOBALS['PubFields'] as $k => $v) {
         $this->Fields[$k] = $v;
     }
     $this->PartView = new PartView();
     $this->CountRecord();
 }
コード例 #2
0
function GetFormItemValue($ctag, $fvalue)
{
    $fieldname = $ctag->GetName();
    $formitem = "\r\n\t\t<table width=\"800\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\r\n       <tr>\r\n        <td width=\"80\">~name~</td>\r\n        <td width=\"720\">~form~</td>\r\n       </tr>\r\n    </table>\r\n";
    $innertext = trim($ctag->GetInnerText());
    if ($innertext != "") {
        if ($ctag->GetAtt("type") == 'select') {
            $myformItem = '';
            $items = explode(',', $innertext);
            $myformItem = "<select name='{$fieldname}' style='width:150px'>";
            foreach ($items as $v) {
                $v = trim($v);
                if ($v != '') {
                    if ($fvalue == $v) {
                        $myformItem .= "<option value='{$v}' selected>{$v}</option>\r\n";
                    } else {
                        $myformItem .= "<option value='{$v}'>{$v}</option>\r\n";
                    }
                }
            }
            $myformItem .= "</select>\r\n";
            $formitem = str_replace("~name~", $ctag->GetAtt('itemname'), $formitem);
            $formitem = str_replace("~form~", $myformItem, $formitem);
            return $formitem;
        } else {
            if ($ctag->GetAtt("type") == 'radio') {
                $myformItem = '';
                $items = explode(',', $innertext);
                foreach ($items as $v) {
                    $v = trim($v);
                    if ($v != '') {
                        if ($fvalue == $v) {
                            $myformItem .= "<input type='radio' name='{$fieldname}' class='np' value='{$v}' checked>{$v}\r\n";
                        } else {
                            $myformItem .= "<input type='radio' name='{$fieldname}' class='np' value='{$v}'>{$v}\r\n";
                        }
                    }
                }
                $formitem = str_replace("~name~", $ctag->GetAtt('itemname'), $formitem);
                $formitem = str_replace("~form~", $myformItem, $formitem);
                return $formitem;
            } else {
                $formitem = str_replace('~name~', $ctag->GetAtt('itemname'), $formitem);
                $formitem = str_replace('~form~', $innertext, $formitem);
                $formitem = str_replace('@value', $fvalue, $formitem);
                return $formitem;
            }
        }
    }
    //文本数据的特殊处理
    if ($ctag->GetAtt("type") == "textdata") {
        if (is_file($GLOBALS['cfg_basedir'] . $fvalue)) {
            $fp = fopen($GLOBALS['cfg_basedir'] . $fvalue, 'r');
            $okfvalue = "";
            while (!feof($fp)) {
                $okfvalue .= fgets($fp, 1024);
            }
            fclose($fp);
        } else {
            $okfvalue = "";
        }
        $formitem = "<table width=\"800\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td width=\"80\">" . $ctag->GetAtt('itemname') . "</td>\r\n";
        $formitem .= "<td>\r\n" . GetEditor($fieldname, $okfvalue, 350, 'Basic', 'string') . "</td>\r\n";
        $formitem .= "</tr></table>\r\n";
        $formitem .= "<input type='hidden' name='{$fieldname}_file' value='{$fvalue}'>\r\n";
        return $formitem;
    } else {
        if ($ctag->GetAtt("type") == "htmltext") {
            $formitem = "<table width=\"800\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td width=\"80\">" . $ctag->GetAtt('itemname') . "</td>\r\n";
            $formitem .= "<td>\r\n" . GetEditor($fieldname, $fvalue, 350, 'Basic', 'string') . "</td>\r\n";
            $formitem .= "</tr></table>\r\n";
            return $formitem;
        } else {
            if ($ctag->GetAtt("type") == "multitext") {
                $innertext = "<textarea name='{$fieldname}' id='{$fieldname}' style='width:100%;height:80'>{$fvalue}</textarea>\r\n";
                $formitem = str_replace("~name~", $ctag->GetAtt('itemname'), $formitem);
                $formitem = str_replace("~form~", $innertext, $formitem);
                return $formitem;
            } else {
                if ($ctag->GetAtt("type") == "datetime") {
                    $nowtime = GetDateTimeMk($fvalue);
                    $innertext = "<input name=\"{$fieldname}\" value=\"{$nowtime}\" type=\"text\" id=\"{$fieldname}\" style=\"width:200\">";
                    $innertext .= "<input name=\"selPubtime\" type=\"button\" id=\"selkeyword\" value=\"选择\" onClick=\"showCalendar('{$fieldname}', 'Y-m-d H:i:00', '24');\">";
                    $formitem = str_replace("~name~", $ctag->GetAtt('itemname'), $formitem);
                    $formitem = str_replace("~form~", $innertext, $formitem);
                    return $formitem;
                } else {
                    if ($ctag->GetAtt("type") == "img") {
                        $ndtp = new DedeTagParse();
                        $ndtp->LoadSource($fvalue);
                        if (!is_array($ndtp->CTags)) {
                            $ndtp->Clear();
                            $fvalue = "";
                        }
                        $ntag = $ndtp->GetTag("img");
                        $fvalue = trim($ntag->GetInnerText());
                        $innertext = "<input type='text' name='{$fieldname}' value='{$fvalue}' id='{$fieldname}' style='width:300'><input name='" . $fieldname . "_bt' type='button' value='浏览...' onClick=\"SelectImage('form1.{$fieldname}','big')\">\r\n";
                        $formitem = str_replace("~name~", $ctag->GetAtt('itemname'), $formitem);
                        $formitem = str_replace("~form~", $innertext, $formitem);
                        return $formitem;
                    } else {
                        if ($ctag->GetAtt("type") == "media") {
                            $innertext = "<input type='text' name='{$fieldname}' value='{$fvalue}' id='{$fieldname}' style='width:300'><input name='" . $fieldname . "_bt' type='button' value='浏览...' onClick=\"SelectMedia('form1.{$fieldname}')\">\r\n";
                            $formitem = str_replace("~name~", $ctag->GetAtt('itemname'), $formitem);
                            $formitem = str_replace("~form~", $innertext, $formitem);
                            return $formitem;
                        } else {
                            if ($ctag->GetAtt("type") == "addon") {
                                $innertext = "<input type='text' name='{$fieldname}' id='{$fieldname}' value='{$fvalue}' style='width:300'><input name='" . $fieldname . "_bt' type='button' value='浏览...' onClick=\"SelectSoft('form1.{$fieldname}')\">\r\n";
                                $formitem = str_replace("~name~", $ctag->GetAtt('itemname'), $formitem);
                                $formitem = str_replace("~form~", $innertext, $formitem);
                                return $formitem;
                            } else {
                                $innertext = "<input type='text' name='{$fieldname}' id='{$fieldname}' style='width:200' value='{$fvalue}'>\r\n";
                                $formitem = str_replace("~name~", $ctag->GetAtt('itemname'), $formitem);
                                $formitem = str_replace("~form~", $innertext, $formitem);
                                return $formitem;
                            }
                        }
                    }
                }
            }
        }
    }
}
コード例 #3
0
	function GetImgLinks($fvalue)
	{
		$revalue = "";
		$dtp = new DedeTagParse();
    $dtp->LoadSource($fvalue);
    if(!is_array($dtp->CTags)){
    	$dtp->Clear();
    	return "无图片信息!";
    }
    $ptag = $dtp->GetTag("pagestyle");
    if(is_object($ptag)){
    	$pagestyle = $ptag->GetAtt('value');
    	$maxwidth = $ptag->GetAtt('maxwidth');
    	$ddmaxwidth = $ptag->GetAtt('ddmaxwidth');
    	$irow = $ptag->GetAtt('row');
    	$icol = $ptag->GetAtt('col');
    	if(empty($maxwidth)) $maxwidth = $GLOBALS['cfg_album_width'];
    }else{
    	$pagestyle = 2;
    	$maxwidth = $GLOBALS['cfg_album_width'];
    	$ddmaxwidth = 200;
    }
    if($pagestyle == 3){
      if(empty($irow)) $irow = 4;
      if(empty($icol)) $icol = 4;
    }
    //遍历图片信息
    $mrow = 0;
    $mcol = 0;
    $photoid = 0;
    $images = array();
    
    $sysimgpath = $GLOBALS['cfg_templeturl']."/sysimg";
    foreach($dtp->CTags as $ctag){
    	if($ctag->GetName()=="img"){
    		$iw = $ctag->GetAtt('width');
    		$ih = $ctag->GetAtt('heigth');
    		$alt = str_replace("'","",$ctag->GetAtt('text'));
    		$src = trim($ctag->GetInnerText());
    		$ddimg = $ctag->GetAtt('ddimg');
    		if($iw > $maxwidth) $iw = $maxwidth;
    		$iw = (empty($iw) ? "" : "width='$iw'");
    		//全部列出式或分页式图集
    		if($pagestyle<3){
    		   if($revalue==""){
    			   if($pagestyle==2){
                $playsys = "
			<div class='butbox'>
				<a href='$src' target='_blank' class='c1'>原始图片</a>\r\n
				<a href='javascript:dPlayPre();' class='c1'>上一张</a>\r\n
				<a href='javascript:dPlayNext();' class='c1'>下一张</a>\r\n
				<a href='javascript:dStopPlay();' class='c1'>自动 / 暂停播放</a>\r\n
			</div>\r\n";
    			   	  $revalue = " {$playsys} 
				<div class='imgview'>\r\n
				<center>
				<a href='javascript:dPlayNext();'><img src='$src' alt='$alt'/></a>\r\n
				</center>
				</div>\r\n
				<script language='javascript'>dStartPlay();</script>\r\n";
    		     }
    		     else $revalue = "
				<div class='imgview'>\r\n
				<center>
				<a href='$src' target='_blank'><img src='$src' alt='$alt' /></a>\r\n
				</center>
				</div>\r\n";
    		   }else{
    			   if($pagestyle==2){
    			   	   $playsys = "
			<div class='butbox'>
				<a href='$src' target='_blank' class='c1'>原始图片</a>\r\n
				<a href='javascript:dPlayPre();' class='c1'>上一张</a>\r\n
				<a href='javascript:dPlayNext();' class='c1'>下一张</a>\r\n
				<a href='javascript:dStopPlay();' class='c1'>自动 / 暂停播放</a>\r\n
			</div>\r\n";
    			   	   $revalue .= "#p#分页标题#e# {$playsys}
				<div class='imgview'>\r\n
				<center>
				<a href='javascript:dPlayNext();'><img src='$src' alt='$alt'/></a>\r\n
				</center>
				</div>\r\n
				<script language='javascript'>dStartPlay();</script>\r\n";
    			   }
    			   else $revalue .= "
				<div class='imgview'>\r\n
				<center>
				<a href='$src' target='_blank'><img src='$src' alt='$alt' /></a>\r\n
				</center>
				</div>\r\n";
    		   }
    		//多列式图集
    		}else if($pagestyle==3){
    			$images[$photoid][0] = $src;
    			$images[$photoid][1] = $alt;
    			$images[$photoid][2] = $ddimg;
    			$photoid++;
    		}
      }
    }
    //重新运算多列式图集
    if($pagestyle==3){
    	if(empty($ddmaxwidth)) $ddmaxwidth = 200;
    	$picnum = count($images);
    	$sPos = 0;
    	if($icol==0) $icol = 1;
    	$tdwidth = ceil(100 / $icol);
    	while($sPos < $picnum){
    		for($i=0;$i < $irow;$i++){
    			//$revalue .= "<ul class='imgline'>\r\n";
    			for($j=0;$j < $icol;$j++){
    				if(!isset($images[$sPos])){ $revalue .= ""; }
    				else{
    					$src = $images[$sPos][0];
    					$alt = $images[$sPos][1];
    					$litsrc = $images[$sPos][2];
    					$tpwidth = $ddmaxwidth;
    					if($litsrc==''){
    						$litsrc = $src;
    						$tpwidth = '';
    					}else{
    						$tpwidth = " width='$tpwidth'";
    					}
						//多行多列imgurls标签生成代码
    					$revalue .= "<dl>\r\n
						<dt><a href='{$GLOBALS['cfg_phpurl']}/showphoto.php?aid={$this->ArcID}&src=".urlencode($src)."&npos=$sPos' target='_blank'><img src='$litsrc' alt='$alt'{$tpwidth} border='0'/></a></dt>\r\n
						<dd class='title'><img src='/templets/images/ico_15.gif' /><a href='{$GLOBALS['cfg_phpurl']}/showphoto.php?aid={$this->ArcID}&src=".urlencode($src)."&npos=$sPos' target='_blank'>$alt</a></dd>\r\n
						</dl>\r\n";
    					$sPos++;
    				}
    			}
    			//$revalue .= "</ul>\r\n";
    			if(!isset($images[$sPos])) break;
    		}
    		if(!isset($images[$sPos])){
    			break;
    		}else{
    			$revalue .= "#p#分页标题#e#";
    		}
    	}
    }
    unset($dtp);
    unset($images);
    return $revalue;
	}
コード例 #4
0
ファイル: channelunit.class.php プロジェクト: stonelf/mcgmh
 /**
  *  获取缩略图链接
  *
  * @access    public
  * @param     string  $fvalue  表单值
  * @return    string
  */
 function GetlitImgLinks($fvalue)
 {
     if ($GLOBALS["htmltype"] == "dm") {
         if (empty($GLOBALS["pageno"])) {
             $NowPage = 1;
         } else {
             $NowPage = intval($GLOBALS["pageno"]);
         }
     } else {
         if (empty($GLOBALS["stNowPage"])) {
             $NowPage = 1;
         } else {
             $NowPage = intval($GLOBALS["stNowPage"]);
         }
     }
     $revalue = "";
     $dtp = new DedeTagParse();
     $dtp->LoadSource($fvalue);
     if (!is_array($dtp->CTags)) {
         $dtp->Clear();
         return "无图片信息!";
     }
     $ptag = $dtp->GetTag("pagestyle");
     if (is_object($ptag)) {
         $pagestyle = $ptag->GetAtt('value');
         $maxwidth = $ptag->GetAtt('maxwidth');
         $ddmaxwidth = $ptag->GetAtt('ddmaxwidth');
         $irow = $ptag->GetAtt('row');
         $icol = $ptag->GetAtt('col');
         if (empty($maxwidth)) {
             $maxwidth = $GLOBALS['cfg_album_width'];
         }
     } else {
         $pagestyle = 2;
         $maxwidth = $GLOBALS['cfg_album_width'];
         $ddmaxwidth = 200;
     }
     if ($pagestyle == 3) {
         if (empty($irow)) {
             $irow = 4;
         }
         if (empty($icol)) {
             $icol = 4;
         }
     }
     $mrow = 0;
     $mcol = 0;
     $photoid = 1;
     $images = array();
     $TotalPhoto = sizeof($dtp->CTags);
     foreach ($dtp->CTags as $ctag) {
         if ($ctag->GetName() == "img") {
             $iw = $ctag->GetAtt('width');
             $ih = $ctag->GetAtt('heigth');
             $alt = str_replace("'", "", $ctag->GetAtt('text'));
             $src = trim($ctag->GetInnerText());
             $ddimg = $ctag->GetAtt('ddimg');
             if ($iw > $maxwidth) {
                 $iw = $maxwidth;
             }
             $iw = empty($iw) ? "" : "width='{$iw}'";
             if ($GLOBALS["htmltype"] == "dm") {
                 $imgurl = "view.php?aid={$this->ArcID}&pageno={$photoid}";
             } else {
                 if ($photoid == 1) {
                     $imgurl = $GLOBALS["fileFirst"] . ".html";
                 } else {
                     $imgurl = $GLOBALS["fileFirst"] . "_" . $photoid . ".html";
                 }
             }
             $imgcls = "image" . ($photoid - 1);
             $revalue .= "<dl><dt>{$alt}<dd>{$ddimg}<dd>{$ddimg}<dd>{$ddimg}<dd><dd><div></div><div></div><dd><dd>{$photoid}</dd></dl>\r\n";
             $photoid++;
         }
     }
     unset($dtp);
     unset($images);
     return $revalue;
 }
コード例 #5
0
ファイル: customfields.func.php プロジェクト: iabing/mzzyc
/**
 *  获得带值的表单(编辑时用)
 *
 * @access    public
 * @param     object  $ctag  标签
 * @param     mixed  $fvalue  变量值
 * @param     string  $admintype  会员类型
 * @param     string  $fieldname  变量名称
 * @return    string
 */
function GetFormItemValue($ctag, $fvalue, $admintype = 'admin', $fieldname = '')
{
    global $cfg_basedir, $dsql;
    $fieldname = $ctag->GetName();
    $formitem = $formitem = GetSysTemplets("custom_fields_{$admintype}.htm");
    $innertext = trim($ctag->GetInnerText());
    if ($innertext != '') {
        $formitem = $innertext;
    }
    $ftype = $ctag->GetAtt('type');
    $myformItem = '';
    if (preg_match("/select|radio|checkbox/i", $ftype)) {
        $items = explode(',', $ctag->GetAtt('default'));
    }
    if ($ftype == 'select') {
        $myformItem = "<select name='{$fieldname}' style='width:150px'>";
        if (is_array($items)) {
            foreach ($items as $v) {
                $v = trim($v);
                if ($v == '') {
                    continue;
                }
                $myformItem .= $fvalue == $v ? "<option value='{$v}' selected>{$v}</option>\r\n" : "<option value='{$v}'>{$v}</option>\r\n";
            }
        }
        $myformItem .= "</select>\r\n";
        $innertext = $myformItem;
    } else {
        if ($ctag->GetAtt("type") == 'stepselect') {
            global $hasSetEnumJs, $cfg_cmspath;
            $cmspath = empty($cfg_cmspath) || preg_match('/[/$]/', $cfg_cmspath) ? $cfg_cmspath . '/' : $cfg_cmspath;
            $myformItem = '';
            $myformItem .= "<input type='hidden' id='hidden_{$fieldname}' name='{$fieldname}' value='{$fvalue}' />\r\n";
            $myformItem .= "<span id='span_{$fieldname}'></span>\r\n";
            $myformItem .= "<span id='span_{$fieldname}_son'></span>\r\n";
            $myformItem .= "<span id='span_{$fieldname}_sec'></span>\r\n";
            if ($hasSetEnumJs != 'hasset') {
                $myformItem .= '<script language="javascript" type="text/javascript" src="' . $cmspath . 'images/enums.js"></script>' . "\r\n";
                $GLOBALS['hasSetEnumJs'] = 'hasset';
            }
            $myformItem .= "<script language='javascript' type='text/javascript' src='{$cmspath}data/enums/{$fieldname}.js'></script>\r\n";
            $myformItem .= "<script language='javascript' type='text/javascript'>MakeTopSelect('{$fieldname}', {$fvalue});</script>\r\n";
            $formitem = str_replace('~name~', $ctag->GetAtt('itemname'), $formitem);
            $formitem = str_replace('~form~', $myformItem, $formitem);
            return $formitem;
        } else {
            if ($ftype == 'radio') {
                if (is_array($items)) {
                    foreach ($items as $v) {
                        $v = trim($v);
                        if ($v == '') {
                            continue;
                        }
                        $myformItem .= $fvalue == $v ? "<input type='radio' name='{$fieldname}' class='np' value='{$v}' checked='checked' />{$v}\r\n" : "<input type='radio' name='{$fieldname}' class='np' value='{$v}' />{$v}\r\n";
                    }
                }
                $innertext = $myformItem;
            } else {
                if ($ftype == 'checkbox') {
                    $myformItem = '';
                    $fvalues = explode(',', $fvalue);
                    if (is_array($items)) {
                        foreach ($items as $v) {
                            $v = trim($v);
                            if ($v == '') {
                                continue;
                            }
                            if (in_array($v, $fvalues)) {
                                $myformItem .= "<input type='checkbox' name='{$fieldname}[]' class='np' value='{$v}' checked='checked' />{$v}\r\n";
                            } else {
                                $myformItem .= "<input type='checkbox' name='{$fieldname}[]' class='np' value='{$v}' />{$v}\r\n";
                            }
                        }
                    }
                    $innertext = $myformItem;
                } else {
                    if ($ftype == "textdata") {
                        if (is_file($cfg_basedir . $fvalue)) {
                            $fp = fopen($cfg_basedir . $fvalue, 'r');
                            $okfvalue = '';
                            while (!feof($fp)) {
                                $okfvalue .= fgets($fp, 1024);
                            }
                            fclose($fp);
                        } else {
                            $okfvalue = '';
                        }
                        if ($admintype == 'admin') {
                            $myformItem = GetEditor($fieldname, $okfvalue, 350, 'Basic', 'string') . "\r\n <input type='hidden' name='{$fieldname}_file' value='{$fvalue}' />\r\n ";
                        } else {
                            $myformItem = GetEditor($fieldname, $okfvalue, 350, 'Member', 'string') . "\r\n <input type='hidden' name='{$fieldname}_file' value='{$fvalue}' />\r\n ";
                        }
                        $innertext = $myformItem;
                    } else {
                        if ($ftype == "htmltext") {
                            if ($admintype == 'admin') {
                                $myformItem = GetEditor($fieldname, $fvalue, 350, 'Basic', 'string') . "\r\n ";
                            } else {
                                $myformItem = GetEditor($fieldname, $fvalue, 350, 'Member', 'string') . "\r\n ";
                            }
                            $innertext = $myformItem;
                        } else {
                            if ($ftype == "multitext") {
                                $innertext = "<textarea name='{$fieldname}' id='{$fieldname}' style='width:90%;height:80px'>{$fvalue}</textarea>\r\n";
                            } else {
                                if ($ftype == "datetime") {
                                    $nowtime = GetDateTimeMk($fvalue);
                                    $innertext = "<input name=\"{$fieldname}\" value=\"{$nowtime}\" type=\"text\" id=\"{$fieldname}\" style=\"width:250px\" class=\"intxt\" />";
                                    $innertext .= "   <script language=\"javascript\" type=\"text/javascript\">\r\n                    Calendar.setup({\r\n                        inputField     :    \"{$fieldname}\",\r\n                        ifFormat       :    \"%Y-%m-%d %H:%M\",\r\n                        showsTime      :    true,\r\n                        timeFormat     :    \"24\"\r\n                    });\r\n                 </script>";
                                } else {
                                    if ($ftype == "img") {
                                        $ndtp = new DedeTagParse();
                                        $ndtp->LoadSource($fvalue);
                                        if (!is_array($ndtp->CTags)) {
                                            $ndtp->Clear();
                                            $fvalue = "";
                                        } else {
                                            $ntag = $ndtp->GetTag("img");
                                            $fvalue = trim($ntag->GetInnerText());
                                        }
                                        $innertext = "<input type='text' name='{$fieldname}' value='{$fvalue}' id='{$fieldname}' style='width:300px'  class='text' /> <input name='" . $fieldname . "_bt' class='inputbut' type='button' value='浏览...' onClick=\"SelectImage('form1.{$fieldname}','big')\" />\r\n";
                                    } else {
                                        if ($ftype == "imgfile") {
                                            $innertext = "<input type='text' name='{$fieldname}' value='{$fvalue}' id='{$fieldname}' style='width:300px'  class='text' /> <input name='" . $fieldname . "_bt' class='inputbut' type='button' value='浏览...' onClick=\"SelectImage('form1.{$fieldname}','big')\" />\r\n";
                                        } else {
                                            if ($ftype == "media") {
                                                $innertext = "<input type='text' name='{$fieldname}' value='{$fvalue}' id='{$fieldname}' style='width:300px'  class='text' /> <input name='" . $fieldname . "_bt' class='inputbut' type='button' value='浏览...' onClick=\"SelectMedia('form1.{$fieldname}')\" />\r\n";
                                            } else {
                                                if ($ftype == "addon") {
                                                    $innertext = "<input type='text' name='{$fieldname}' id='{$fieldname}' value='{$fvalue}' style='width:300px'  class='text' /> <input name='" . $fieldname . "_bt' class='inputbut' type='button' value='浏览...' onClick=\"SelectSoft('form1.{$fieldname}')\" />\r\n";
                                                } else {
                                                    if ($ftype == "int" || $ftype == "float") {
                                                        $innertext = "<input type='text' name='{$fieldname}' id='{$fieldname}' style='width:100px'  class='intxt' value='{$fvalue}' /> (填写数值)\r\n";
                                                    } else {
                                                        $innertext = "<input type='text' name='{$fieldname}' id='{$fieldname}' style='width:250px'  class='intxt' value='{$fvalue}' />\r\n";
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    $formitem = str_replace('~name~', $ctag->GetAtt('itemname'), $formitem);
    $formitem = str_replace('~form~', $innertext, $formitem);
    return $formitem;
}
コード例 #6
0
function GetFormItemValue($ctag,$fvalue,$admintype='admin')
{
	global $cfg_basedir;
	$fieldname = $ctag->GetName();
	$formitem = $formitem = GetSysTemplets("custom_fields_{$admintype}.htm"); 
  $innertext = trim($ctag->GetInnerText()); 
  $ftype = $ctag->GetAtt("type");
	$myformItem = '';
	if(eregi("select|radio|checkbox",$ftype)) $items = explode(',',$innertext);
	if($ftype=='select')
	{
		 $myformItem = "<select name='$fieldname' style='width:150px'>";
		 if(is_array($items))
		 {
		    foreach($items as $v){
		 	 	  $v = trim($v);
		 	 	  if($v=='') continue;
		 	 	  $myformItem.= ($fvalue==$v ? "<option value='$v' selected>$v</option>\r\n" : "<option value='$v'>$v</option>\r\n");
		 	  }
		 }
		 $myformItem .= "</select>\r\n";
		 $formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		 $formitem = str_replace("~form~",$myformItem,$formitem);
		 return $formitem;
	}else if($ctag->GetAtt("type")=='radio')
	{
		 if(is_array($items))
		 {
		 	  foreach($items as $v)
		 	  {
		 	 	  $v = trim($v);
		 	 	  if($v=='') continue;
		 	 	  $myformItem.= ($fvalue==$v ? "<input type='radio' name='$fieldname' class='np' value='$v' checked>$v\r\n" : "<input type='radio' name='$fieldname' class='np' value='$v'>$v\r\n");
		 	  }
		 }
		 $formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		 $formitem = str_replace("~form~",$myformItem,$formitem);
		 return $formitem;
	}
	//checkbox
  else if($ctag->GetAtt("type")=='checkbox')
  {
		 	  $myformItem = '';
		 	  $items = explode(',',$innertext);
		 	  $fvalues = explode(',',$fvalue);
		 	  foreach($items as $v){
		 	 	  $v = trim($v);
		 	 	  if($v=='') continue;
		 	 	  if(in_array($v,$fvalues)){ $myformItem .= "<input type='checkbox' name='{$fieldname}[]' class='np' value='$v' checked='checked' />$v\r\n"; }
		 	 	  else{ $myformItem .= "<input type='checkbox' name='{$fieldname}[]' class='np' value='$v' />$v\r\n"; }
		 	  }
		 	  $formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		    $formitem = str_replace("~form~",$myformItem,$formitem);
		    return $formitem;
  }
	
	//除了以上类型,如果其它的类型自定义了发布表单,则直接输出发布表单优先
	if(!empty($innertext))
	{
		 $formitem = str_replace('~name~',$ctag->GetAtt('itemname'),$formitem);
		 $formitem = str_replace('~form~',$innertext,$formitem);
		 $formitem = str_replace('@value',$fvalue,$formitem);
		 return $formitem;
	}
	
  //文本数据的特殊处理
  if($ftype=="textdata")
  {
  	if(is_file($cfg_basedir.$fvalue)){
  	   $fp = fopen($cfg_basedir.$fvalue,'r');
		   $okfvalue = "";
		   while(!feof($fp)){ $okfvalue .= fgets($fp,1024); }
		   fclose($fp);
	  }else{
	  	$okfvalue = '';
	  }
		
		if($admintype=='admin')  $myformItem = GetEditor($fieldname,$okfvalue,350,'Basic','string')."\r\n <input type='hidden' name='{$fieldname}_file' value='{$fvalue}'>\r\n ";
		else $myformItem = GetEditor($fieldname,$okfvalue,350,'Member','string')."\r\n <input type='hidden' name='{$fieldname}_file' value='{$fvalue}'>\r\n ";
		
		$formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		$formitem = str_replace("~form~",$myformItem,$formitem);
		
		return $formitem;
  }  
	else if($ftype=="htmltext")
	{
		if($admintype=='admin')  $myformItem = GetEditor($fieldname,$fvalue,350,'Basic','string')."\r\n ";
		else $myformItem = GetEditor($fieldname,$fvalue,350,'Member','string')."\r\n ";
		
		$formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		$formitem = str_replace("~form~",$myformItem,$formitem);
		
		return $formitem;
	}
	else if($ftype=="multitext")
	{
		$innertext = "<textarea name='$fieldname' id='$fieldname' style='width:100%;height:80px'>$fvalue</textarea>\r\n";
		$formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		$formitem = str_replace("~form~",$innertext,$formitem);
		return $formitem;
	}
	else if($ftype=="datetime")
	{
		$nowtime = GetDateTimeMk($fvalue);
		$innertext = "<input name=\"$fieldname\" value=\"$nowtime\" type=\"text\" id=\"$fieldname\" style=\"width:250px\">";
		$formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		$formitem = str_replace("~form~",$innertext,$formitem);
		return $formitem;
	}
	else if($ftype=="img")
	{
		$ndtp = new DedeTagParse();
    $ndtp->LoadSource($fvalue);
    if(!is_array($ndtp->CTags)){
    	$ndtp->Clear();
    	$fvalue =  "";
    }else
    {
      $ntag = $ndtp->GetTag("img");
      //$fvalue = trim($ntag->GetInnerText());
	  $fvalue = trim($ndtp->InnerText);
    }
		$innertext = "<input type='text' name='$fieldname' value='$fvalue' id='$fieldname' style='width:300px'> <input name='".$fieldname."_bt' class='inputbut' type='button' value='浏览...' onClick=\"SelectImage('form1.$fieldname','big')\">\r\n";
		$formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		$formitem = str_replace("~form~",$innertext,$formitem);
		return $formitem;
	}
	else if($ftype=="imgfile")
	{
		$innertext = "<input type='text' name='$fieldname' value='$fvalue' id='$fieldname' style='width:300px'> <input name='".$fieldname."_bt' class='inputbut' type='button' value='浏览...' onClick=\"SelectImage('form1.$fieldname','big')\">\r\n";
		$formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		$formitem = str_replace("~form~",$innertext,$formitem);
		return $formitem;
	}
	else if($ftype=="media")
	{
		$innertext = "<input type='text' name='$fieldname' value='$fvalue' id='$fieldname' style='width:300px'> <input name='".$fieldname."_bt' class='inputbut' type='button' value='浏览...' onClick=\"SelectMedia('form1.$fieldname')\">\r\n";
		$formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		$formitem = str_replace("~form~",$innertext,$formitem);
		return $formitem;
	}
	else if($ftype=="addon")
	{
		$innertext = "<input type='text' name='$fieldname' id='$fieldname' value='$fvalue' style='width:300px'> <input name='".$fieldname."_bt' class='inputbut' type='button' value='浏览...' onClick=\"SelectSoft('form1.$fieldname')\">\r\n";
		$formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		$formitem = str_replace("~form~",$innertext,$formitem);
		return $formitem;
	}
	else if($ftype=="int"||$ftype=="float")
	{
		$innertext = "<input type='text' name='$fieldname' id='$fieldname' style='width:100px' value='$fvalue'> (填写数值)\r\n";
		$formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		$formitem = str_replace("~form~",$innertext,$formitem);
		return $formitem;
	}
	else
	{
		$innertext = "<input type='text' name='$fieldname' id='$fieldname' style='width:250px' value='$fvalue'>\r\n";
		$formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
		$formitem = str_replace("~form~",$innertext,$formitem);
		return $formitem;
	}
}
コード例 #7
0
<?php 
require_once(dirname(__FILE__)."/config.php");
require_once(dirname(__FILE__)."/../include/inc_typelink.php");
require_once(dirname(__FILE__)."/../include/pub_dedetag.php");
$dsql = new DedeSql(false);
$aid = ereg_replace("[^0-9]","",$aid);
$row = $dsql->GetOne("Select * From #@__freelist where aid='$aid' ");
$dtp = new DedeTagParse();
$dtp->SetNameSpace("dede","{","}");
$dtp->LoadSource("--".$row['listtag']."--");
$ctag = $dtp->GetTag('list');

require_once(dirname(__FILE__)."/templets/freelist_edit.htm");

ClearAllLink();
?>
コード例 #8
0
ファイル: img.lib.php プロジェクト: ahmatjan/cmf2
/**
 * 图像标签
 *
 * @version        $Id:img.lib.php 1 9:33 2010年7月8日Z tianya $
 * @package        DedeCMS.Taglib
 * @copyright      Copyright (c) 2007 - 2010, DesDev, Inc.
 * @license        http://help.dedecms.com/usersguide/license.html
 * @link           http://www.dedecms.com
 */
function ch_img($fvalue, &$arcTag, &$refObj, $fname = '')
{
    global $cfg_album_width, $cfg_album_row, $cfg_album_col, $cfg_album_pagesize, $cfg_album_style, $cfg_album_ddwidth, $cfg_basehost, $cfg_multi_site;
    $dtp = new DedeTagParse();
    $dtp->LoadSource($fvalue);
    if (!is_array($dtp->CTags)) {
        $dtp->Clear();
        return "无图片信息!";
    }
    $pagestyle = $cfg_album_style;
    $maxwidth = $cfg_album_width;
    $ddmaxwidth = $cfg_album_ddwidth;
    $pagepicnum = $cfg_album_pagesize;
    $row = $cfg_album_row;
    $icol = $cfg_album_col;
    $ptag = $dtp->GetTag('pagestyle');
    if (is_object($ptag)) {
        $pagestyle = $ptag->GetAtt('value');
        $maxwidth = $ptag->GetAtt('maxwidth');
        $ddmaxwidth = $ptag->GetAtt('ddmaxwidth');
        $pagepicnum = $ptag->GetAtt('pagepicnum');
        $irow = $ptag->GetAtt('row');
        $icol = $ptag->GetAtt('col');
        if (empty($maxwidth)) {
            $maxwidth = $cfg_album_width;
        }
    }
    //遍历图片信息
    $mrow = 0;
    $mcol = 0;
    $images = array();
    $innerTmp = $arcTag->GetInnerText();
    if (trim($innerTmp) == '') {
        $innerTmp = GetSysTemplets("channel_article_image.htm");
    }
    if ($pagestyle == 1) {
        $pagesize = $pagepicnum;
    } else {
        if ($pagestyle == 2) {
            $pagesize = 1;
        } else {
            $pagesize = $irow * $icol;
        }
    }
    if (is_object($arcTag) && $arcTag->GetAtt('pagesize') > 0) {
        $pagesize = $arcTag->GetAtt('pagesize');
    }
    if (empty($pagesize)) {
        $pagesize = 12;
    }
    $aid = $refObj->ArcID;
    $row = $refObj->dsql->GetOne("SELECT title FROM `#@__archives` WHERE `id` = '{$aid}';");
    $title = $row['title'];
    $revalue = '';
    $GLOBAL['photoid'] = 0;
    foreach ($dtp->CTags as $ctag) {
        if ($ctag->GetName() == "img") {
            $fields = $ctag->CAttribute->Items;
            $fields['text'] = str_replace("'", "", $ctag->GetAtt('text'));
            $fields['title'] = $title;
            $fields['imgsrc'] = trim($ctag->GetInnerText());
            $fields['imgsrctrue'] = $fields['imgsrc'];
            if (empty($fields['ddimg'])) {
                $fields['ddimg'] = $fields['imgsrc'];
            }
            if ($cfg_multi_site == 'Y') {
                //$cfg_basehost)
                if (!preg_match('#^http:#i', $fields['imgsrc'])) {
                    $fields['imgsrc'] = $cfg_basehost . $fields['imgsrc'];
                }
                if (!preg_match('#^http:#i', $fields['ddimg'])) {
                    $fields['ddimg'] = $cfg_basehost . $fields['ddimg'];
                }
            }
            if (empty($fields['width'])) {
                $fields['width'] = $maxwidth;
            }
            //if($fields['text']=='')
            //{
            //$fields['text'] = '图片'.($GLOBAL['photoid']+1);
            //}
            $fields['alttext'] = str_replace("'", '', $fields['text']);
            $fields['pagestyle'] = $pagestyle;
            $dtp2 = new DedeTagParse();
            $dtp2->SetNameSpace("field", "[", "]");
            $dtp2->LoadSource($innerTmp);
            if ($GLOBAL['photoid'] > 0 && $GLOBAL['photoid'] % $pagesize == 0) {
                $revalue .= "#p#分页标题#e#";
            }
            if ($pagestyle == 1) {
                $fields['imgwidth'] = '';
                $fields['linkurl'] = $fields['imgsrc'];
                $fields['textlink'] = "<br /><a href='{$fields['linkurl']}' target='_blank'>{$fields['text']}</a>";
            } else {
                if ($pagestyle == 2) {
                    if ($fields['width'] > $maxwidth) {
                        $fields['imgwidth'] = " width='{$maxwidth}' ";
                    } else {
                        $fields['imgwidth'] = " width='{$fields['width']}' ";
                    }
                    $fields['linkurl'] = $fields['imgsrc'];
                    if ($fields['text'] != '') {
                        $fields['textlink'] = "<br /><a href='{$fields['linkurl']}' target='_blank'>{$fields['text']}</a>\r\n";
                    } else {
                        $fields['textlink'] = '';
                    }
                } else {
                    if ($pagestyle == 3) {
                        $fields['text'] = $fields['textlink'] = '';
                        $fields['imgsrc'] = $fields['ddimg'];
                        $fields['imgwidth'] = " width='{$ddmaxwidth}' ";
                        $fields['linkurl'] = "{$GLOBALS['cfg_phpurl']}/showphoto.php?aid={$refObj->ArcID}&src=" . urlencode($fields['imgsrctrue']) . "&npos={$GLOBAL['photoid']}";
                    }
                }
            }
            if (is_array($dtp2->CTags)) {
                foreach ($dtp2->CTags as $tagid => $ctag) {
                    if (isset($fields[$ctag->GetName()])) {
                        $dtp2->Assign($tagid, $fields[$ctag->GetName()]);
                    }
                }
                $revalue .= $dtp2->GetResult();
            }
            $GLOBAL['photoid']++;
        }
    }
    return $revalue;
}