www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/include/fields.fun.php
<?php !defined('M_COM') && exit('No Permission'); load_cache('rprojects'); @set_time_limit(0); $datatypearr = array( 'text' => lang('text'), 'multitext' => lang('multitext'), 'htmltext' => lang('htmltext'), 'image' => lang('image_f'), 'images' => lang('images'), 'flash' => lang('flash'), 'flashs' => lang('flashs'), 'media' => lang('media'), 'medias' => lang('medias'), 'file' => lang('file_f'), 'files' => lang('files_f'), 'select' => lang('select'), 'mselect' => lang('mselect'), 'date' => lang('date_f'), 'int' => lang('int'), 'float' => lang('float'), ); $limitarr = array( '' => lang('nolimit format'), 'int' => lang('int'), 'number' => lang('number'), 'letter' => lang('letter'), 'numberletter' => lang('numberletter'), 'tagtype' => lang('tagtype'), 'date' => lang('date'), 'email' => lang('email'), ); $rpidsarr = array('0' => lang('notremote')); foreach($rprojects as $rpid => $rproject){ $rpidsarr[$rpid] = $rproject['cname']; } $commonarr = array('1' => lang('based message'),'0'=> lang('advanced message')); function fieldlist($fname,$field=array(),$mode='ch'){ global $datatypearr,$chid,$mchid; if($mode == 'ch'){ echo "<tr>\n". "<td class=\"item1\" align=\"center\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$fname]\" value=\"$fname\"".(!empty($field['mcommon']) || !empty($field['issystem']) ? ' disabled' : '')."></td>\n". "<td class=\"item2\" align=\"center\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"fieldsnew[$fname][available]\" value=\"1\"".($field['available'] ? ' checked' : '').(!empty($field['issystem']) ? ' disabled' : '')."></td>\n". "<td class=\"item1\" align=\"center\" width=\"250\"><input type=\"text\" size=\"25\" name=\"fieldsnew[$fname][cname]\" value=\"".mhtmlspecialchars($field['cname'])."\"></td>\n". "<td class=\"item2\" align=\"center\" width=\"60\"><input class=\"checkbox\" type=\"checkbox\" name=\"fieldsnew[$fname][isadmin]\" value=\"1\"".(!empty($field['issystem']) ? ' disabled' : '').($field['isadmin'] ? ' checked' : '')."></td>\n". "<td class=\"item1\" align=\"center\" width=\"60\"><input type=\"text\" size=\"4\" name=\"fieldsnew[$fname][vieworder]\" value=\"$field[vieworder]\"></td>\n". "<td class=\"item2\" align=\"center\">".mhtmlspecialchars($fname)."</td>\n". "<td class=\"item1\" align=\"center\" width=\"100\">".$datatypearr[$field['datatype']]."</td>\n". "<td class=\"item2\" align=\"center\" width=\"50\"><a href=\"?entry=channels&action=fielddetail&chid=$chid&fieldename=$fname\">".lang('detail')."</a></td>\n". "</tr>"; }elseif($mode == 'fch'){ echo "<tr>\n". "<td class=\"item1\" align=\"center\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$fname]\" value=\"$fname\"".(!empty($field['issystem']) ? ' disabled' : '')."></td>\n". "<td class=\"item2\" align=\"center\" width=\"250\"><input type=\"text\" size=\"25\" name=\"fieldsnew[$fname][cname]\" value=\"".mhtmlspecialchars($field['cname'])."\"></td>\n". "<td class=\"item1\" align=\"center\" width=\"60\"><input class=\"checkbox\" type=\"checkbox\" name=\"fieldsnew[$fname][isadmin]\" value=\"1\"".(!empty($field['issystem']) ? ' disabled' : '').($field['isadmin'] ? ' checked' : '')."></td>\n". "<td class=\"item2\" align=\"center\" width=\"60\"><input type=\"text\" size=\"4\" name=\"fieldsnew[$fname][vieworder]\" value=\"$field[vieworder]\"></td>\n". "<td class=\"item1\" align=\"center\">".mhtmlspecialchars($fname)."</td>\n". "<td class=\"item2\" align=\"center\" width=\"100\">".$datatypearr[$field['datatype']]."</td>\n". "<td class=\"item1\" align=\"center\" width=\"50\"><a href=\"?entry=fchannels&action=fielddetail&chid=$chid&fieldename=$fname\">".lang('detail')."</a></td>\n". "</tr>"; }elseif($mode == 'init'){ echo "<tr>\n". "<td class=\"item1\" align=\"center\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$fname]\" value=\"$fname\"".(empty($field['iscustom']) ? ' disabled' : '')."></td>\n". "<td class=\"item2\" align=\"center\" width=\"250\"><input type=\"text\" size=\"25\" name=\"fieldsnew[$fname][cname]\" value=\"".mhtmlspecialchars($field['cname'])."\"></td>\n". "<td class=\"item1\" align=\"center\">".mhtmlspecialchars($fname)."</td>\n". "<td class=\"item2\" align=\"center\" width=\"100\">".$datatypearr[$field['datatype']]."</td>\n". "<td class=\"item1\" align=\"center\" width=\"60\"><a href=\"?entry=channels&action=initfielddetail&fieldename=$fname\">".lang('detail')."</a></td>\n". "</tr>"; }elseif($mode == 'initm'){ echo "<tr>\n". "<td class=\"item1\" align=\"center\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$fname]\" value=\"$fname\"".($field['issystem'] ? ' disabled' : '')."></td>\n". "<td class=\"item2\" align=\"center\" width=\"250\"><input type=\"text\" size=\"25\" name=\"fieldsnew[$fname][cname]\" value=\"".mhtmlspecialchars($field['cname'])."\"></td>\n". "<td class=\"item1\" align=\"center\">".mhtmlspecialchars($fname)."</td>\n". "<td class=\"item2\" align=\"center\" width=\"100\">".$datatypearr[$field['datatype']]."</td>\n". "<td class=\"item1\" align=\"center\" width=\"60\">".($field['issystem'] ? lang('system') : "<a href=\"?entry=mchannels&action=initmfielddetail&fieldename=$fname\">".lang('detail')."</a>")."</td>\n". "</tr>"; }elseif($mode == 'member'){ echo "<tr>\n". "<td class=\"item1\" align=\"center\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$fname]\" value=\"$fname\"".($field['mcommon'] ? ' disabled' : '')."></td>\n". "<td class=\"item2\" align=\"center\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"fieldsnew[$fname][available]\" value=\"1\"".($field['available'] ? ' checked' : '').($field['issystem'] ? ' disabled' : '')."></td>\n". "<td class=\"item1\" width=\"200\"><input type=\"text\" size=\"20\" name=\"fieldsnew[$fname][cname]\" value=\"".mhtmlspecialchars($field['cname'])."\"></td>\n". "<td class=\"item2\" align=\"center\">".mhtmlspecialchars($fname)."</td>\n". "<td class=\"item1\" align=\"center\" width=\"60\"><input class=\"checkbox\" type=\"checkbox\" name=\"fieldsnew[$fname][isadmin]\" value=\"1\"".(!empty($field['issystem']) ? ' disabled' : '').($field['isadmin'] ? ' checked' : '')."></td>\n". "<td class=\"item2\" align=\"center\" width=\"60\"><input type=\"text\" size=\"4\" name=\"fieldsnew[$fname][vieworder]\" value=\"$field[vieworder]\"></td>\n". "<td class=\"item1\" align=\"center\" width=\"100\">".$datatypearr[$field['datatype']]."</td>\n". "<td class=\"item2\" align=\"center\" width=\"50\">".($field['issystem'] ? lang('system') : "<a href=\"?entry=mchannels&action=mfielddetail&mchid=$mchid&fieldename=$fname\">".lang('detail')."</a>")."</td>\n". "</tr>"; }elseif($mode == 'ca'){ echo "<tr>\n". "<td class=\"item1\" align=\"center\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$fname]\" value=\"$fname\"></td>\n". "<td class=\"item2\" align=\"center\" width=\"250\"><input type=\"text\" size=\"25\" name=\"fieldsnew[$fname][cname]\" value=\"".mhtmlspecialchars($field['cname'])."\"></td>\n". "<td class=\"item1\" align=\"center\" width=\"60\"><input type=\"text\" size=\"4\" name=\"fieldsnew[$fname][vieworder]\" value=\"$field[vieworder]\"></td>\n". "<td class=\"item2\" align=\"center\">".mhtmlspecialchars($fname)."</td>\n". "<td class=\"item1\" align=\"center\" width=\"100\">".$datatypearr[$field['datatype']]."</td>\n". "<td class=\"item2\" align=\"center\" width=\"60\"><a href=\"?entry=catalogs&action=cafielddetail&fieldename=$fname\">".lang('detail')."</a></td>\n". "</tr>"; }elseif($mode == 'cc'){ echo "<tr>\n". "<td class=\"item1\" align=\"center\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$fname]\" value=\"$fname\"></td>\n". "<td class=\"item2\" align=\"center\" width=\"250\"><input type=\"text\" size=\"25\" name=\"fieldsnew[$fname][cname]\" value=\"".mhtmlspecialchars($field['cname'])."\"></td>\n". "<td class=\"item1\" align=\"center\" width=\"60\"><input type=\"text\" size=\"4\" name=\"fieldsnew[$fname][vieworder]\" value=\"$field[vieworder]\"></td>\n". "<td class=\"item2\" align=\"center\">".mhtmlspecialchars($fname)."</td>\n". "<td class=\"item1\" align=\"center\" width=\"100\">".$datatypearr[$field['datatype']]."</td>\n". "<td class=\"item2\" align=\"center\" width=\"60\"><a href=\"?entry=cotypes&action=ccfielddetail&fieldename=$fname\">".lang('detail')."</a></td>\n". "</tr>"; }elseif($mode == 'p'){ echo "<tr>\n". "<td class=\"item1\" align=\"center\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$fname]\" value=\"$fname\"></td>\n". "<td class=\"item2\" align=\"center\" width=\"250\"><input type=\"text\" size=\"25\" name=\"fieldsnew[$fname][cname]\" value=\"".mhtmlspecialchars($field['cname'])."\"></td>\n". "<td class=\"item1\" align=\"center\" width=\"60\"><input class=\"checkbox\" type=\"checkbox\" name=\"fieldsnew[$fname][isadmin]\" value=\"1\"".($field['isadmin'] ? ' checked' : '')."></td>\n". "<td class=\"item2\" align=\"center\" width=\"60\"><input type=\"text\" size=\"4\" name=\"fieldsnew[$fname][vieworder]\" value=\"$field[vieworder]\"></td>\n". "<td class=\"item1\" align=\"center\">".mhtmlspecialchars($fname)."</td>\n". "<td class=\"item2\" align=\"center\" width=\"100\">".$datatypearr[$field['datatype']]."</td>\n". "<td class=\"item1\" align=\"center\" width=\"50\"><a href=\"?entry=commus&action=pfielddetail&fieldename=$fname\">".lang('detail')."</a></td>\n". "</tr>"; } } function fields_order($fields){ if(!is_array($fields) || empty($fields) || !function_exists('array_multisort')) return $fields; foreach($fields as $k => $field){ if(in_array($field['datatype'],array('int','float','date','select','mselect'))){ $fields[$k]['dorder'] = '0'; }elseif(in_array($field['datatype'],array('text','multitext','htmltext'))){ $fields[$k]['dorder'] = '1'; }elseif(in_array($field['datatype'],array('image','flash','media','file'))){ $fields[$k]['dorder'] = '2'; }else{ $fields[$k]['dorder'] = '3'; } $dorder[$k] = $fields[$k]['dorder']; } array_multisort($dorder,SORT_ASC,$fields); return $fields; } function trspecial($trname,$varname,$value = '',$type = 'htmltext',$mode=0,$guide='',$width='25%'){ global $cms_abs,$ftp_url,$cmsurl; $trname .= empty($guide) ? '' : "<font class=\"gray\"> $guide</font>"; $trname .= " <font id=\"alert_$varname\" name=\"alert_$varname\" class=\"red\"></font>"; if($type == 'htmltext'){ echo !$mode ? "<tr><td colspan=\"2\" class=\"item1\">".$trname."</td></tr><tr><td colspan=\"2\" class=\"item2\">\n" : "<tr><td width=\"$width\" class=\"item1\">".$trname."</td><td class=\"item2\">\n"; include_once M_ROOT.'./include/fckeditor/fckeditor.php'; $sBasePath = $cmsurl.'include/fckeditor/'; $oFCKeditor = new FCKeditor($varname); $oFCKeditor->BasePath = $sBasePath; $oFCKeditor->Height = !$mode ? '500' : '280'; $oFCKeditor->Value = tag2atm($value,1); $oFCKeditor->ToolbarSet = !$mode ? 'Default' : 'Basic'; $oFCKeditor->Create(); echo "</td></tr>\n"; }elseif(in_array($type,array('images','files','medias','flashs'))){ $type = substr($type,0,strlen($type)-1); echo "<tr><td width=\"$width\" class=\"item1\">".$trname."</td>\n"; echo "<td class=\"item2\">\n"; uploadmodule($varname,$value,$type,$mode); echo "</td></tr>\n"; }elseif($type == 'image'){ echo "<tr><td width=\"$width\" class=\"item1\">".$trname."</td>\n"; echo "<td class=\"item2\">\n"; singlemodule($varname,$value,'image'); echo "<div class=\"s_view\" style=\"display:none;\" id=\"view$varname\">\n". "<img src=\"./images/admina/pview.gif\" id=\"{$varname}view\" width=\"150\" height=\"120\" align=\"absmiddle\">\n". "</div>\n"; echo "</td></tr>\n"; }elseif(in_array($type,array('file','flash','media'))){ echo "<tr><td width=\"$width\" class=\"item1\">".$trname."</td>\n"; echo "<td class=\"item2\">\n"; singlemodule($varname,$value,$type,$mode); echo "</td></tr>\n"; }elseif($type == 'text'){ echo "<tr><td width=\"$width\" class=\"item1\">".$trname."</td>\n"; echo "<td class=\"item2\"><input type=\"text\" size=\"".($mode ? 60 : 20)."\" id=\"$varname\" name=\"$varname\" value=\"".$value."\"></td></tr>\n"; }elseif($type == 'multitext'){// echo "<tr><td width=\"$width\" class=\"item1\">".$trname."</td>\n"; echo "<td class=\"item2\"><textarea rows=\"".($mode ? 10 : 4)."\" id=\"$varname\" name=\"$varname\" id=\"$varname\" cols=\"".($mode ? 100 : 50)."\">".$value."</textarea></td></tr>\n"; }elseif($type == 'select'){ echo "<tr><td width=\"$width\" class=\"item1\">".$trname."</td>\n"; echo "<td class=\"item2\">".($mode ? $value : "<select name=\"$varname\">".$value."</select>")."</td></tr>\n"; }elseif($type == 'mselect'){ echo "<tr><td width=\"$width\" class=\"item1\">".$trname."</td>\n"; echo "<td class=\"item2\">".$value."</td></tr>\n"; }elseif($type == 'date'){ echo "<tr><td width=\"$width\" class=\"item1\">".$trname."</td>\n"; echo "<td class=\"item2\"><input type=\"text\" id=\"$varname\" size=\"10\" name=\"$varname\" value=\"".$value."\" onclick=\"ShowCalendar(this.id);\"></td></tr>\n"; } } function uploadmodule($fieldname,$value = '',$mode = 'image',$vp = 0){ global $localfiles,$images_max,$files_max,$medias_max,$flashs_max; load_cache('localfiles'); $upfilestr = ''; ${'exts_'.$mode} = implode(',',array_keys($localfiles[$mode])); $countlimit = ${$mode.'s_max'}; if($mode == 'image'){ if($value){ $upfiles = @unserialize($value); if(is_array($upfiles)){ foreach($upfiles as $k => $upfile){ $viewwidth = 150; $viewheight = 120; if(!empty($upfile['width']) && !empty($upfile['height'])){ $x_ratio = $viewwidth / $upfile['width']; $y_ratio = $viewheight / $upfile['height']; if(($x_ratio * $upfile['height']) < $viewheight) { $thumb['height'] = @ceil($x_ratio * $upfile['height']); $thumb['width'] = $viewwidth; } else { $thumb['width'] = @ceil($y_ratio * $upfile['width']); $thumb['height'] = $viewheight; } }else{ $thumb['width'] = $viewwidth; $thumb['height'] = $viewheight; } $upfile['preview'] = view_thumburl($upfile['remote']); $upfile['remote'] = tag2atm($upfile['remote']); $upfilestr .= "addmodule('$fieldname','$mode',$k,'$upfile[title]','$upfile[remote]','$upfile[preview]');"; } $countlimit -= count($upfiles); } } echo "<div id=\"add$fieldname\" style=\"display:none;\">". "<div class=\"ibox\">". "<div class=\"info\">". "<div class=\"tr\">". "<div class=\"td1\">".lang('mode')."</div>". "<div class=\"td2\"><input class=\"checkbox\" type=\"checkbox\" name=\"{$fieldname}mode\" value=\"1\">". "<span id=\"{$fieldname}edit\" style=\"vertical-align: middle;\">".lang('local_upload')."</span></div>". "</div>". "<div class=\"tr\">". "<div class=\"td1\">".lang('file')."</div>". "<div class=\"td2\"><input type=\"file\" size=\"30\" name=\"{$fieldname}local\" style=\"display:none;\" onChange=\"\">". "<input type=\"text\" size=\"30\" name=\"{$fieldname}remote\" value=\"\" style=\"display:;\" onChange=\"\">". "<input class=\"button\" type=\"button\" name=\"{$fieldname}select\" value=\"".lang('chooseinserver')."\" style=\"display:;\">". "<span id=\"{$fieldname}name\" style=\"vertical-align: middle;\"></span></div>". "</div>". "<div class=\"tr\">". "<div class=\"td1\">".lang('title')."</div>". "<div class=\"td2\"><input type=\"text\" size=\"50\" name=\"{$fieldname}title\" value=\"\"></div>". "</div>". "</div>". "<div class=\"thumb\"><img src=\"./images/admina/pview.gif\" id=\"{$fieldname}view\" width=\"150\" height=\"120\" align=\"absmiddle\"></div>". "</div>". "</div>"; echo "<div id=\"new$fieldname\"></div><script type=\"text/javascript\">". "_08cms_uploads.$mode.$fieldname=0;". "var {$fieldname}_limit = '$countlimit';". "var viewwidth = 150;". "var viewheight = 120;". "var image_extensions = '".$exts_image."';$upfilestr". "addmodule('".$fieldname."','".$mode."');". "</script>"; } elseif(in_array($mode,array('file','media','flash'))){ if($vp && in_array($mode,array('media','flash'))){ global $players; load_cache('players'); $playerarr = array('0' => lang('default player')); foreach($players as $plid => $player){ ($player['available'] && $player['ptype'] == $mode) && $playerarr[$plid] = $player['cname']; } } if($value){ $upfiles = @unserialize($value); if(is_array($upfiles)){ foreach($upfiles as $k => $upfile){ $tmp=$vp && in_array($mode,array('media','flash'))?1:0; $upfile['remote'] = tag2atm($upfile['remote']); $upfilestr .= "addmodule('$fieldname','$mode',$k,'$upfile[title]','$upfile[remote]','".($tmp?$upfile['player']:'')."',$tmp);"; } $countlimit -= count($upfiles); } } echo "<div id=\"add$fieldname\" style=\"display:none;\">". "<div class=\"fbox\">". "<div class=\"tr\">". "<div class=\"td1\">".lang('mode')."</div>". "<div class=\"td2\"><input class=\"checkbox\" type=\"checkbox\" name=\"{$fieldname}mode\" value=\"1\">". "<span id=\"{$fieldname}edit\" style=\"vertical-align: middle;\">".lang('local_upload')."</span></div>". "</div>". "<div class=\"tr\">". "<div class=\"td1\">".lang('file')."</div>". "<div class=\"td2\"><input type=\"file\" size=\"30\" name=\"{$fieldname}local\" style=\"display:none;\" onChange=\"\">". "<input type=\"text\" size=\"30\" name=\"{$fieldname}remote\" value=\"\" style=\"display:;\" onChange=\"\">". "<input class=\"button\" type=\"button\" name=\"{$fieldname}select\" value=\"".lang('chooseinserver')."\" style=\"display:;\">". "<span id=\"{$fieldname}name\" style=\"vertical-align: middle;\"></span></div>". "</div>". "<div class=\"tr\">". "<div class=\"td1\">".lang('title')."</div>". "<div class=\"td2\"><input type=\"text\" size=\"50\" name=\"{$fieldname}title\" value=\"\"></div>". "</div>"; if($vp && in_array($mode,array('media','flash'))){ echo "<div class=\"tr\">". "<div class=\"td1\">".lang('player')."</div>". "<div class=\"td2\"><select id=\"{$fieldname}player\" name=\"{$fieldname}player\">".makeoption($playerarr)."</select></div>". "</div>"; } echo "</div>". "</div>"; echo "<div id=\"new$fieldname\"></div>"; echo "<script type=\"text/javascript\">". "_08cms_uploads.$mode.$fieldname=0;". "var {$fieldname}_limit = '$countlimit';". "var ".$mode."_extensions = '".${'exts_'.$mode}."';$upfilestr". "addmodule('".$fieldname."','".$mode."');". "</script>"; } } function singlemodule($varname,$value = '',$mode = 'image',$vp = 0){ global $localfiles; load_cache('localfiles'); ${'exts_'.$mode} = implode(',',array_keys($localfiles[$mode])); $oldarr = explode('#',$value); $oldremote = tag2atm($oldarr[0]); if($mode == 'image'){ echo "<div class=\"s_tr\">\n". "<div class=\"td1\">\n". "<input type=\"file\" size=\"30\" id=\"{$varname}local\" name=\"{$varname}local\" style=\"display:none;\" unselectable=\"on\" onchange=\"checksingle('".$varname."','image')\">\n". "<input type=\"text\" size=\"30\" id=\"{$varname}remote\" name=\"{$varname}remote\" value=\"$oldremote\" style=\"display:;\" onchange=\"checksingle('".$varname."','image')\">\n". "<input type=\"button\" class=\"button\" id=\"{$varname}select\" value=\"".lang('chooseinserver')."\" style=\"display:;\" onclick=\"severmanager('".$varname."','0','singleimage')\">\n". "</div>". "<div class=\"td2\">\n". "<input class=\"checkbox\" type=\"checkbox\" id=\"{$varname}mode\" name=\"{$varname}mode\" value=\"1\" onclick = \"singlemode('".$varname."','image')\">".lang('local_upload')."\n". "</div>". "<div class=\"td3\">\n". "<span id=\"openview$varname\" style=\"cursor:pointer;\" onclick=\"openview('".$varname."')\"><img src=\"./images/admina/pv_open.gif\" title=\"".lang('preview')."\"></span>\n". "</div>\n". "</div>\n". "<div id=\"{$varname}_hidden\" style=\"position:absolute;left:-100000px;top:-100000px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');width:250px;height:250px\"></div>\n". "<script type=\"text/javascript\">\n". "var viewwidth = 150;\n". "var viewheight = 120;\n". "var ".$mode."_extensions = '".${"exts_".$mode}."';\n". "</script>\n"; }elseif(in_array($mode,array('flash','media','file'))){ if($vp && in_array($mode,array('flash','media'))){ global $players; load_cache('players'); $oldplayer = !empty($oldarr[1]) ? $oldarr[1] : '0'; $playerarr = array('0' => lang('default player')); foreach($players as $plid => $player){ ($player['available'] && $player['ptype'] == $mode) && $playerarr[$plid] = $player['cname']; } } echo "<div class=\"s_tr\">\n". "<div class=\"td1\">\n". "<input type=\"file\" size=\"30\" id=\"{$varname}local\" name=\"{$varname}local\" style=\"display:none;\" unselectable=\"on\" onchange=\"checksingle('".$varname."','".$mode."')\">\n". "<input type=\"text\" size=\"30\" id=\"{$varname}remote\" name=\"{$varname}remote\" value=\"$oldremote\" style=\"display:;\" onchange=\"checksingle('".$varname."','".$mode."')\">\n". "<input type=\"button\" class=\"button\" id=\"{$varname}select\" value=\"".lang('chooseinserver')."\" style=\"display:;\" onclick=\"severmanager('".$varname."','0','single".$mode."')\">\n". "</div>". "<div class=\"td2\">\n". "<input class=\"checkbox\" type=\"checkbox\" id=\"{$varname}mode\" name=\"{$varname}mode\" value=\"1\" onclick = \"singlemode('".$varname."','".$mode."')\">".lang('local_upload')."\n". "</div>"; if($vp && in_array($mode,array('flash','media'))){ echo "<div class=\"s_tr\">\n". "<div class=\"td1\"><select id=\"{$varname}player\" name=\"{$varname}player\">".makeoption($playerarr,$oldplayer)."</select></div>\n". "</div>\n"; } echo "</div>\n". "<script type=\"text/javascript\">\n". "var ".$mode."_extensions = '".${"exts_".$mode}."';\n". "</script>\n"; } } function upload_m($varname,$oldvalue = '',$mode = 'image',$rpid=0){ global $$varname,$c_upload,${'old'.$varname}; $result = ''; $maxoldkey = 0; $oldfiles = array(); $old = ${'old'.$varname}; if(!empty($oldvalue)){ $oldfiles = unserialize($oldvalue); if(!empty($oldfiles)){ foreach($oldfiles as $k => $oldfile){ if(!isset($old[$k]['title'])){ unset($oldfiles[$k]); continue; } if($old[$k]['remote']){ $old[$k]['remote'] = tag2atm($old[$k]['remote']); if(islocal($old[$k]['remote'],1)) $oldfiles[$k]['remote'] = save_atmurl($old[$k]['remote']); else $oldfiles[$k] = $c_upload->remote_upload($old[$k]['remote'],$rpid); if($mode == 'image' && $infos = @getimagesize(local_file($oldfiles[$k]['remote']))){ $oldfiles[$k]['width'] = $infos[0]; $oldfiles[$k]['height'] = $infos[1]; } }else{ $upload = $c_upload->local_upload('old'.$varname.'local'.$k,$mode); if(empty($uploadfile['error']))$oldfiles[$k]=$upload; } $oldfiles[$k]['title'] = strip_tags($old[$k]['title']); isset($old[$k]['player']) && $oldfiles[$k]['player'] = $old[$k]['player']; } } if(!empty($oldfiles)){ $maxoldkey = max(array_keys($oldfiles)) + 1; } } if(!empty($$varname)){ $upfilesadd = $$varname; foreach($upfilesadd as $k => $upfileadd){ $addok = 0; $uploadfile = array(); if($upfileadd['remote']){ $upfileadd['remote'] = strip_tags($upfileadd['remote']); if(!islocal($upfileadd['remote'],1)){ $uploadfile = $c_upload->remote_upload($upfileadd['remote'],$rpid); $upfileadd = array_merge($upfileadd,$uploadfile); } if($mode == 'image' && !isset($uploadfile['width']) && $infos = @getimagesize(local_file($upfileadd['remote']))){ $upfileadd['width'] = $infos[0]; $upfileadd['height'] = $infos[1]; } $addok = 1; }else{ $uploadfile = $c_upload->local_upload($varname.'local'.$k,$mode); if(empty($uploadfile['error'])){ $upfileadd = array_merge($upfileadd,$uploadfile); $addok = 1; } } $upfileadd['remote'] = save_atmurl($upfileadd['remote']); $upfileadd['title'] = strip_tags($upfileadd['title']); if($addok) $oldfiles[$maxoldkey + $k] = $upfileadd; } } $result = empty($oldfiles) ? '' : addslashes(serialize($oldfiles)); return $result; } function upload_s($varname,$oldvalue = '',$mode = 'image',$rpid=0){ $remotename = $varname.'remote'; $modename = $varname.'mode'; $playername = $varname.'player'; global $$remotename,$$modename,$$playername,$c_upload; $upremote = $$remotename; $upmode = $$modename; $plid = $$playername; $plidstr = !empty($plid) ? '#'.$plid : ''; $oldarr = explode('#',$oldvalue); $oldremote = tag2atm($oldarr[0]); $filearr = array(); $newvalue = ''; $upremote = trim($upremote); if(empty($upmode) && empty($upremote)){ $newvalue = ''; }elseif(!empty($upremote) && empty($upmode) && ($upremote != $oldremote)){ $upremote = strip_tags($upremote); if(!islocal($upremote,1)){ $filearr = $c_upload->remote_upload($upremote,$rpid);//返回的是小url $newvalue = $filearr['remote']; if($mode == 'image' && isset($filearr['width']) && isset($filearr['height'])){ $newvalue .= '#'.$filearr['width'].'#'.$filearr['height']; }elseif($mode == 'image' && $infos = getimagesize(local_file($newvalue))){ $newvalue .= '#'.$infos[0].'#'.$infos[1]; } }else{ $newvalue = $upremote; if($mode == 'image' && $infos = getimagesize(local_file($newvalue))){ $newvalue .= '#'.$infos[0].'#'.$infos[1]; } } }elseif(!empty($upmode)){ $filearr = $c_upload->local_upload($varname.'local',$mode); if(empty($filearr['error'])){ $newvalue = $filearr['remote']; if($mode == 'image' && isset($filearr['width']) && isset($filearr['height'])){ $newvalue .= '#'.$filearr['width'].'#'.$filearr['height']; } } }else{ $newvalue = in_array($mode,array('flash','media')) ? $oldremote : $oldvalue; } $newvalue .= !empty($newvalue) ? $plidstr : ''; $newvalue = save_atmurl($newvalue); unset($filearr,$oldarr); return $newvalue; } function rm_filesize($url){ $url = parse_url($url); if($fp = fsockopen($url['host'],empty($url['port']) ? 80 : $url['port'],$error)){ fputs($fp,"GET ".(empty($url['path']) ? '/' : $url['path'])." HTTP/1.1\r\n"); fputs($fp,"Host:$url[host]\r\n\r\n"); while(!feof($fp)){ $tmp = fgets($fp); if(trim($tmp) == ''){ break; }elseif(preg_match('/Content-Length:(.*)/si',$tmp,$arr)){ return trim($arr[1]); } } } return 0; } function atm_size($value,$datatype,$mode=0){//使用没有经过addslashes的值,以k为单位 if(empty($value)) return 0; $size = 0; if(in_array($datatype,array('image','flash','media','file'))){ $temps = explode('#',$value); if($url = tag2atm($temps[0])) $size = islocal($url) ? filesize(local_file($url)) : rm_filesize($url); }elseif(in_array($datatype,array('images','flashs','medias','files'))){ if($temps = @unserialize($value)){ foreach($temps as $v){ if($url = tag2atm($v['remote'])){ $size += isset($v['size']) ? $v['size'] : (islocal($url) ? filesize(local_file($url)) : rm_filesize($url)); if($mode) break; } } } } unset($temps,$url); return intval($size / 1024); } ?>