GetName(); $formitem = "
~name~ ~form~
\r\n"; $innertext = trim($ctag->GetInnerText()); if($innertext != "") { if($ctag->GetAtt("type") == 'select') { $myformItem = ''; $items = explode(',', $innertext); $myformItem = "\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); $i = 0; if($v!='') { if($i==0) { $myformItem .= "\r\n"; } else { $myformItem .= "\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', '', $formitem); return $formitem; } } if($ctag->GetAtt("type")=="htmltext"||$ctag->GetAtt("type")=="textdata") { $formitem = ""; $formitem .= "
".$ctag->GetAtt('itemname').""; $formitem .= GetEditor($fieldname,'',350,'Basic','string'); $formitem .= "
\r\n"; return $formitem; } else if($ctag->GetAtt("type")=="multitext") { $innertext = "\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(time()); $innertext = ""; $innertext .= ""; $formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem); $formitem = str_replace("~form~",$innertext,$formitem); return $formitem; } else if($ctag->GetAtt("type")=="img") { $innertext = "\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 = "\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 = "\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 = "\r\n"; $formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem); $formitem = str_replace("~form~",$innertext,$formitem); return $formitem; } else if ($ctag->GetAtt("type")=="relation") { $innertext = "\r\n"; $formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem); $formitem = str_replace("~form~",$innertext,$formitem); return $formitem; } else { if($ctag->GetAtt('default')!="") $dfvalue = $ctag->GetAtt('default'); else $dfvalue = ""; $innertext = "\r\n"; $formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem); $formitem = str_replace("~form~",$innertext,$formitem); return $formitem; } } /** * 处理不同类型的数据 * * @access public * @param string $dvalue 值 * @param string $dtype 类型 * @param int $aid 文档ID * @param string $job 操作类型 * @param string $addvar 增加值 * @return string */ function GetFieldValue($dvalue,$dtype,$aid=0,$job='add',$addvar='') { global $cfg_cookie_encode,$cfg_dir_purview,$isUrlOpen; if($dtype=="int") { $dvalue = trim(preg_replace("#[^0-9]#", "", $dvalue)); if($dvalue=="") $dvalue = 0; return $dvalue; } else if($dtype=="float") { $dvalue = trim(preg_replace("#[^0-9\.]#", "", $dvalue)); if($dvalue=="") $dvalue = 0; return $dvalue; } else if($dtype=="datetime") { return GetMkTime($dvalue); } else if($dtype=="textdata") { if($job=='edit') { $addvarDirs = explode('/', $addvar); $addvarDir = preg_replace("#\/".$addvarDirs[count($addvarDirs)-1]."$#", "", $addvar); $mdir = $GLOBALS['cfg_basedir'].$addvarDir; if(!is_dir($mdir)) { MkdirAll($mdir, $GLOBALS['cfg_dir_purview']); } $fp = fopen($GLOBALS['cfg_basedir'].$addvar, "w"); fwrite($fp, stripslashes($dvalue)); fclose($fp); CloseFtp(); return $addvar; } else { $ipath = $GLOBALS['cfg_cmspath']."/data/textdata"; $tpath = ceil($aid/5000); if(!is_dir($GLOBALS['cfg_basedir'].$ipath)) { MkdirAll($GLOBALS['cfg_basedir'].$ipath,$cfg_dir_purview); } if(!is_dir($GLOBALS['cfg_basedir'].$ipath.'/'.$tpath)) { MkdirAll($GLOBALS['cfg_basedir'].$ipath.'/'.$tpath,$cfg_dir_purview); } $ipath = $ipath.'/'.$tpath; $filename = "{$ipath}/{$aid}-".cn_substr(md5($cfg_cookie_encode), 0, 16).".txt"; $fp = fopen($GLOBALS['cfg_basedir'].$filename,"w"); fwrite($fp, stripslashes($dvalue)); fclose($fp); CloseFtp(); return $filename; } } else if($dtype=="img") { $iurl = stripslashes($dvalue); if(trim($iurl)=="") { return ""; } $iurl = trim(str_replace($GLOBALS['cfg_basehost'],"",$iurl)); $imgurl = "{dede:img text='' width='' height=''} ".$iurl." {/dede:img}"; if(preg_match("#^http:\/\/#i", $iurl) && $GLOBALS['isUrlOpen']) { //远程图片 $reimgs = ""; if($isUrlOpen) { $reimgs = GetRemoteImage($iurl,$GLOBALS['adminid']); if(is_array($reimgs)) { $imgurl = "{dede:img text='' width='".$reimgs[1]."' height='".$reimgs[2]."'} ".$reimgs[0]." {/dede:img}"; } } else { $imgurl = "{dede:img text='' width='' height=''} ".$iurl." {/dede:img}"; } } else if($iurl!="") { //站内图片 $imgfile = $GLOBALS['cfg_basedir'].$iurl; if(is_file($imgfile)) { $imginfos = GetImageSize($imgfile); $imgurl = "{dede:img text='' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}"; } } return addslashes($imgurl); } else { return $dvalue; } } /** * 获得带值的表单(编辑时用) * * @access public * @param object $ctag ctag * @param string $fvalue 表单值 * @return string */ function GetFormItemValue($ctag, $fvalue) { $fieldname = $ctag->GetName(); $formitem = "
~name~ ~form~
\r\n"; $innertext = trim($ctag->GetInnerText()); if($innertext != "") { if($ctag->GetAtt("type") == 'select') { $myformItem = ''; $items = explode(',', $innertext); $myformItem = "\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.= "\r\n"; } else { $myformItem.= "\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 = "\r\n"; $formitem .= "\r\n"; $formitem .= "
".$ctag->GetAtt('itemname')."\r\n".GetEditor($fieldname,$okfvalue,350,'Basic','string')."
\r\n"; $formitem .= "\r\n"; return $formitem; } else if($ctag->GetAtt("type")=="htmltext") { $formitem = "\r\n"; $formitem .= "\r\n"; $formitem .= "
".$ctag->GetAtt('itemname')."\r\n".GetEditor($fieldname,$fvalue,350,'Basic','string')."
\r\n"; return $formitem; } else if($ctag->GetAtt("type")=="multitext") { $innertext = "\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 = ""; $innertext .= ""; $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 = "\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 = "\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 = "\r\n"; $formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem); $formitem = str_replace("~form~",$innertext,$formitem); return $formitem; } else { $innertext = "\r\n"; $formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem); $formitem = str_replace("~form~",$innertext,$formitem); return $formitem; } }