www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/mtags.inc.php
<? (!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission'); aheader(); !in_array($ttype,array('ctag','utag','rtag','ptag')) && amessage(lang('param error')); $aps = !$sid ? array('ctag' => 88,'utag' => 87,'rtag' => 90,'ptag' => 89,) : array('ctag' => 149,'utag' => 148,'rtag' => 151,'ptag' => 150,); !checkapermission($aps[$ttype]) && amessage(lang('no_apermission')); unset($aps); load_cache('channels,fchannels,fcatalogs,cotypes,votes,commus,shipings,vcatalogs,mchannels,dbsources'); load_cache('catalogs,altypes',$sid); cache_merge($channels,'channels',$sid); include_once M_ROOT."./include/upload.cls.php"; include_once M_ROOT."./include/fields.fun.php"; include_once M_ROOT."./include/template.fun.php"; load_cache($ttype.'s',$sid); $mtags = &${$ttype.'s'}; switch($ttype){ case 'ctag': $tclassarr = array( 'archives' => lang('archive list'), 'alarchives' => lang('inalbum archive list'), 'searchs' => lang('search archive list'), 'relates' => lang('related archive list'), 'outinfos' => lang('free pick list'), 'archive' => lang('archive content mod'), 'arcscount' => lang('archive amount stat'), 'catalogs' => lang('catas list'), 'cnode' => lang('catas cnode'), 'functions' => lang('iscustom func list'), 'nownav' => lang('catas place navi'), 'context' => lang('context'), 'acontext' => lang('inalbum context'), 'farchives' => lang('freeinfo list'), 'farchive' => lang('message content mod'), 'freeurl' => lang('isolute page0 url'), 'commus' => lang('commu message list'), 'vote' => lang('vote mod'), 'votes' => lang('vote list'), 'members' => lang('member list'), 'userinfos' => lang('member message'), 'memscount' => lang('member amount stat'), 'keywords' => lang('keyword list'), 'channels' => lang('archive channel list'), 'mchannels' => lang('member channel list'), 'mcatalogs' => lang('catas list').'('.lang('space0').')', 'mnownav' => lang('catas place').'('.lang('space0').')', 'subsites' => lang('subsite list'), 'scatalogs' => lang('oversite catas list'), 'sarchives' => lang('oversite archive list'), ); break; case 'utag': $tclassarr = array( 'image' => lang('image mod'), 'file' => lang('download mod'), 'flash' => lang('flash mod'), 'media' => lang('media mod'), 'images' => lang('images list'), 'files' => lang('download list'), 'flashs' => lang('flash list'), 'medias' => lang('media list'), 'follow' => lang('attachment url'), 'date' => lang('time view tag'), 'odeal' => lang('txt deal tag'), 'arcfee' => lang('archive fee message'), 'function' => lang('iscustom func tag') ); break; case 'rtag': $tclassarr = array('' => '',); break; case 'ptag': $tclassarr = array( 'normal' => lang('pt txt'), 'archives' => lang('archive list'), 'alarchives' => lang('inalbum archive list'), 'functions' => lang('iscustom func list'), 'farchives' => lang('freeinfo list'), 'images' => lang('pt images'), 'commus' => lang('commu message list'), 'searchs' => lang('search archive list'), 'outinfos' => lang('free pick list'), 'members' => lang('member list'), ); break; } $unsetvars = array('casource','cainherit','caidson','urlmode','chsource','atsource','space','ucsource','detail','rec','orderby','orderby1','orderstr','startno','wherestr','simple','alimits', 'fmode','date','time','tmode','width','height','maxwidth','maxheight','expand','emptyurl','emptytitle','dealhtml','trim','badword','wordlink','nl2br','randstr', 'next','atsource','atid','chid','caid','mid','aid','func','mpfunc','sqlstr','relays','vid','vsource','vids','chdata','js',);//只要为空或为0就可以清除的参数 foreach($cotypes as $k => $cotype){ $unsetvars[] = 'cosource'.$k; $unsetvars[] = 'coinherit'.$k; $unsetvars[] = 'ccid'.$k; $unsetvars[] = 'ccidson'.$k; } if($action == 'mtagadd'){ $forward = empty($forward) ? M_REFERER : $forward; $forwardstr = '&forward='.urlencode($forward); $tclass = empty($mtagnew['tclass']) ? '' : $mtagnew['tclass']; if($tclass == 'scatalogs'){ $nsidsarr = array('-1' => lang('active subsite'),'0' => lang('msite'),) + sidsarr(1); }elseif($tclass == 'sarchives'){ $nsidsarr = array('-2' => lang('nolimit subsite'),'-1' => lang('active subsite'),'0' => lang('msite'),) + sidsarr(1); } if(!submitcheck('bmtagadd') && !submitcheck('bmtagcode')){ a_guide($ttype.(empty($mtagnew['tclass']) ? 'edit' : $mtagnew['tclass'])); $upform = (!empty($mtagnew['tclass']) && in_array($mtagnew['tclass'],array('image','images',))) ? 1 : 0; $helpstr = empty($mtagnew['tclass']) || $ttype == 'rtag' ? '' : " [<a href=\"./taghelp.html#".(str_replace('tag','',$ttype).'_'.$mtagnew['tclass'])."\" target=\"08cmstaghelp\">".lang('help')."</a>]"; tabheader(lang('add '.$ttype).$helpstr,'mtagsadd',"?entry=mtags&action=mtagadd&ttype=$ttype$param_suffix$forwardstr",2,$upform); trbasic(lang('tag cname'),'mtagnew[cname]',empty($mtagnew['cname']) ? '' : $mtagnew['cname']); trbasic(lang('en id'),'mtagnew[ename]',empty($mtagnew['ename']) ? '' : $mtagnew['ename']); if(empty($mtagnew['tclass']) && $ttype != 'rtag'){ //if(!submitcheck('bmtagaddpre') && !submitcheck('bmtagaddpre1') && $ttype != 'rtag'){ trbasic(lang('tag type'),'mtagnew[tclass]',makeoption($tclassarr),'select'); tabfooter('bmtagaddpre',lang('continue')); }elseif($ttype != 'rtag' && in_array($mtagnew['tclass'],array('scatalogs','sarchives',)) && !isset($mtagnew['setting']['nsid'])){ //}elseif(!submitcheck('bmtagaddpre1') && $ttype != 'rtag' && in_array($mtagnew['tclass'],array('scatalogs','sarchives',))){ trbasic(lang('tag type'),'',$tclassarr[$mtagnew['tclass']],''); echo "<input type=\"hidden\" name=\"mtagnew[tclass]\" value=\"$mtagnew[tclass]\">\n"; trbasic(lang('subsite attr'),'mtagnew[setting][nsid]',makeoption($nsidsarr),'select'); tabfooter('bmtagaddpre1',lang('continue')); }else{ if($ttype != 'rtag'){ trbasic(lang('tag type'),'',$tclassarr[$mtagnew['tclass']],''); echo "<input type=\"hidden\" name=\"mtagnew[tclass]\" value=\"$mtagnew[tclass]\">\n"; if(in_array($mtagnew['tclass'],array('scatalogs','sarchives',))){ trbasic(lang('subsite attr'),'',$nsidsarr[$mtagnew['setting']['nsid']],''); echo "<input type=\"hidden\" name=\"mtagnew[setting][nsid]\" value=\"".$mtagnew['setting']['nsid']."\">\n"; } } include_once M_ROOT."./include/mtags/$ttype/".($tclass ? $tclass : 'tag').".php"; echo "<input class=\"button\" type=\"submit\" name=\"bmtagadd\" value=\"".lang('add')."\">". ($ttype != 'rtag' ? " <input class=\"button\" type=\"submit\" name=\"bmtagcode\" value=\"".lang('create code')."\" onclick=\"this.form.action='?entry=mtags&action=mtagadd&ttype=$ttype$param_suffix';this.form.target='mtagcodeiframe';\">" : ''). "</form><br><iframe id=\"mtagcodeiframe\" name=\"mtagcodeiframe\" frameborder=\"0\" width=\"100%\" height=\"200\" style=\"display:none\"></iframe>"; } }elseif(submitcheck('bmtagcode')){ $errormsg = ''; if(empty($mtagnew['ename'])){ $errormsg = lang('please input tag en id'); }elseif(preg_match("/[^a-z_A-Z0-9]+/",$mtagnew['ename'])){ $errormsg = lang('tag en id illegal'); }else{ $mtagnew['ename'] = trim(strtolower($mtagnew['ename'])); $usedename = array_keys($mtags); if(in_array($mtagnew['ename'], $usedename)) $errormsg = lang('tag en id illegal'); } if(!$errormsg){ $tclass = empty($mtagnew['tclass']) ? '' : $mtagnew['tclass']; include_once M_ROOT."./include/mtags/$ttype/".($tclass ? $tclass : 'tag').".php"; if(!$errormsg){ $mtagnew['setting'] = empty($mtagnew['setting']) ? array() : $mtagnew['setting']; if(!empty($mtagnew['setting'])){ foreach($mtagnew['setting'] as $key => $val){ if(in_array($key,$unsetvars) && empty($val)) unset($mtagnew['setting'][$key]); } } $mtagnew['template'] = empty($mtagnew['template']) ? '' : stripslashes($mtagnew['template']); $mtagcode = mtag_code($ttype,$mtagnew); echo "<script language=\"javascript\">parent.$('mtagcodeiframe').style.display='';</script>". "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"#D3ECFC\" style=\"padding:0px;margin:0px;\">". "<tr><td class=\"item1\" width=\"25%\">".lang('current tag of template code'). "<br><br>[<a href='#' onclick=\"mtagcodecopy($('mtagcode'));\">".lang('copy code')."</a>] [<a href='#' onclick=\"parent.$('mtagcodeiframe').style.display='none';\">".lang('close code')."</a>]</td><td class=\"item2\">". "<textarea rows=\"8\" name=\"mtagcode\" id=\"mtagcode\" cols=\"110\">".(empty($mtagcode) ? '' : htmlspecialchars(str_replace("\t"," ",$mtagcode)))."</textarea>"; "</td></tr></table>"; } } echo "<script language=\"javascript\">".($errormsg ? "alert('$errormsg');" : '')."parent.$('mtagsadd').action='?entry=mtags&action=mtagadd&ttype=$ttype$param_suffix';parent.$('mtagsadd').target='_self';</script>"; mexit(); }else{ $error_url = "?entry=mtags&action=mtagadd&ttype=$ttype$param_suffix$forwardstr".($ttype == 'rtag' ? '' : '&mtagnew[tclass]='.$mtagnew['tclass']); if(empty($mtagnew['cname']) || empty($mtagnew['ename'])){ amessage(lang('tag data missing'),$error_url); } if(preg_match("/[^a-z_A-Z0-9]+/",$mtagnew['ename'])){ amessage(lang('tag en id illegal'),$error_url); } $mtagnew['ename'] = trim(strtolower($mtagnew['ename'])); $usedename = array_keys($mtags); if(in_array($mtagnew['ename'], $usedename)){ amessage(lang('tag en id repeat'),$error_url); } $tclass = empty($mtagnew['tclass']) ? '' : $mtagnew['tclass']; include_once M_ROOT."./include/mtags/$ttype/".($tclass ? $tclass : 'tag').".php"; $mtagnew['setting'] = empty($mtagnew['setting']) ? array() : $mtagnew['setting']; if(!empty($mtagnew['setting'])){ foreach($mtagnew['setting'] as $key => $val){ if(in_array($key,$unsetvars) && empty($val)) unset($mtagnew['setting'][$key]); } } $mtagnew['template'] = empty($mtagnew['template']) ? '' : stripslashes($mtagnew['template']); $mtag = array( 'cname' => stripslashes($mtagnew['cname']), 'ename' => $mtagnew['ename'], 'tclass' => $tclass, 'template' => $mtagnew['template'], 'setting' => $mtagnew['setting'], ); $mtags[$mtagnew['ename']] = array('tclass' => $tclass,'vieworder' => 0,); cache2file($mtag,cache_name($ttype,$mtagnew['ename']),$ttype,$sid); mtags_order($mtags); cache2file($mtags,$ttype.'s',$ttype.'s',$sid); adminlog(lang('add '.$ttype)); amessage(lang('tag add finish'),$forward); } }elseif($action == 'mtagcode'){ empty($mtags[$tname]) && amessage(lang('confirmchoose tag')); $mtag = read_cache($ttype,$tname,'',$sid); $tclass = empty($mtag['tclass']) ? '' : $mtag['tclass']; $mtagcode = mtag_code($ttype,$mtag); $helpstr = $ttype == 'rtag' ? '' : " [<a href=\"./taghelp.html#".(str_replace('tag','',$ttype).'_'.$tclass)."\" target=\"08cmstaghelp\">".lang('help')."</a>]"; tabheader(lang($ttype).' - '.$tclassarr[$mtag['tclass']].' - '.$mtag['cname']); echo "<tr><td class=\"item1\">".lang('current tag template code').$helpstr. "<br><br>[<a href='#' onclick=\"mtagcodecopy($('mtagcode'));\">".lang('copy code')."</a>] [<a href='#' onclick=\"window.close();\">".lang('close window')."</a>]". "</td><td class=\"item2\"><textarea rows=\"15\" name=\"mtagcode\" id=\"mtagcode\" cols=\"110\">".(empty($mtagcode) ? '' : htmlspecialchars(str_replace("\t"," ",$mtagcode)))."</textarea></td></tr>"; tabfooter(); }elseif($action == 'mtagsedit'){ $ftclass = empty($ftclass) ? '' : $ftclass; if(!submitcheck('bmtagsedit')){ a_guide($ttype.'edit'); $rsubmiturl = "?entry=mtags&action=mtagsedit&ttype=$ttype$param_suffix".($ftclass && $ttype != 'rtag' ? "&ftclass=$ftclass" : ''); if($ttype != 'rtag'){ $ftclassarr = array('' => lang('nolimit type')) + $tclassarr; $filterbox = lang('filter0 tag').' '; $filterbox .= "<select style=\"vertical-align: middle;\" name=\"ftclass\" onchange=\"redirect('?entry=mtags&action=mtagsedit&ttype=$ttype$param_suffix&ftclass=' + this.options[this.selectedIndex].value);\">"; foreach($ftclassarr as $k => $v){ $filterbox .= "<option value=\"$k\"".($ftclass == $k ? ' selected' : '').">$v</option>"; } $filterbox .= "</select>"; tabheader($filterbox); tabfooter(); } tabheader(lang($ttype.' admin')." [<a href=\"?entry=mtags&action=mtagadd&ttype=$ttype$param_suffix\">".lang('add').'</a>]','mtagsedit',$rsubmiturl,'9'); trcategory(array(lang('sn'),'<input class="checkbox" type="checkbox" name="chkall" onclick="checkall(this.form)">'.lang('del'),lang('tag cname'),lang('tag style'),lang('type'),lang('order'),lang('edit'),lang('copy'),lang('code'))); $i = 1; foreach($mtags as $key => $mtag){ if(empty($ftclass) || $ftclass == $mtag['tclass']){ $vieworder = $mtag['vieworder']; $mtag = read_cache($ttype,$key,'',$sid); $tclass = $tclassarr[$mtag['tclass']]; $mtagcodestr = $tclass ? "<a href=\"?entry=mtags&action=mtagcode&ttype=$ttype$param_suffix&tname=$key\" target=\"_blank\">".lang('code')."</a>" : ''; echo "<tr>". "<td class=\"item1\" width=\"30\" align=\"center\">$i</td>\n". "<td class=\"item2\" width=\"40\" align=\"center\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$key]\" value=\"$key\"></td>\n". "<td class=\"item1\"><input type=\"text\" size=\"30\" maxlength=\"30\" name=\"mtagsnew[$key][cname]\" value=\"".mhtmlspecialchars($mtag['cname'])."\"></td>\n". "<td class=\"item2\">".tag_style($key)."</td>\n". "<td class=\"item1\" width=\"100\">$tclass</td>\n". "<td class=\"item2\" width=\"50\" align=\"center\"><input type=\"text\" size=\"4\" name=\"mtagsnew[$key][vieworder]\" value=\"$vieworder\"></td>\n". "<td class=\"item1\" width=\"30\" align=\"center\"><a href=\"?entry=mtags&action=mtagsdetail&ttype=$ttype$param_suffix&tname=$key\">".lang('detail')."</a></td>\n". "<td class=\"item2\" width=\"30\" align=\"center\"><a href=\"?entry=mtags&action=mtagscopy&ttype=$ttype$param_suffix&tname=$key\">".lang('copy')."</a></td>\n". "<td class=\"item1\" width=\"30\" align=\"center\">$mtagcodestr</td>\n". "</tr>\n"; $i ++; } } tabfooter('bmtagsedit',lang('modify')); }else{ if(!empty($delete)){ foreach($delete as $key){ del_cache($ttype,$key,'',$sid); unset($mtagsnew[$key],$mtags[$key]); } } if(!empty($mtagsnew)){ foreach($mtagsnew as $key => $mtagnew){ $mtagnew['vieworder'] = max(0,intval($mtagnew['vieworder'])); $mtagnew['cname'] = empty($mtagnew['cname']) ? $mtags[$key]['cname'] : $mtagnew['cname']; $mtag = read_cache($ttype,$key,'',$sid); if($mtagnew['cname'] != $mtag['cname'] || $mtagnew['vieworder'] != $mtags[$key]['vieworder']){ $mtag['cname'] = stripslashes($mtagnew['cname']); $mtags[$key]['vieworder'] = $mtagnew['vieworder']; cache2file($mtag,cache_name($ttype,$key),$ttype,$sid); } } } mtags_order($mtags); cache2file($mtags,$ttype.'s',$ttype.'s',$sid); adminlog(lang('edit '.$ttype.' manager list')); amessage(lang('tag modify finish'),M_REFERER); } } elseif($action == 'mtagscopy' && $tname){ $forward = empty($forward) ? M_REFERER : $forward; $forwardstr = '&forward='.urlencode($forward); empty($mtags[$tname]) && amessage(lang('confirmchoose tag'),$forward); $mtag = read_cache($ttype,$tname,'',$sid); if(!submitcheck('bmtagscopy')){ a_guide($ttype.'edit'); tabheader(lang('copy '.$ttype),'mtagscopy',"?entry=mtags&action=mtagscopy&ttype=$ttype$param_suffix&tname=$tname$forwardstr"); $ttype != 'rtag' && trbasic(lang('tag type'),'',$tclassarr[$mtag['tclass']],''); trbasic(lang('soc tag cname'),'',$mtag['cname'],''); trbasic(lang('soc tag id'),'',$tname,''); trbasic(lang('new tag cname'),'mtagnew[cname]'); trbasic(lang('new tag id'),'mtagnew[ename]'); tabfooter('bmtagscopy'); } else{ if(!$mtagnew['cname'] || !$mtagnew['ename']){ amessage(lang('tag data missing'),M_REFERER); } if(preg_match("/[^a-z_A-Z0-9]+/",$mtagnew['ename'])){ amessage(lang('tag en id illegal'),M_REFERER); } $mtagnew['ename'] = trim(strtolower($mtagnew['ename'])); $usedename = array_keys($mtags); if(in_array($mtagnew['ename'], $usedename)){ amessage(lang('tag en id repeat'),M_REFERER); } $mtag['cname'] = stripslashes($mtagnew['cname']); $mtag['ename'] = $mtagnew['ename']; $mtags[$mtagnew['ename']] = array('tclass' => $mtag['tclass'],'vieworder' => 0,); cache2file($mtag,cache_name($ttype,$mtagnew['ename']),$ttype,$sid); mtags_order($mtags); cache2file($mtags,$ttype.'s',$ttype.'s',$sid); adminlog(lang('copy '.$ttype)); amessage(lang('tag copy finish'),$forward); } } elseif($action == 'mtagsdetail' && $tname){ $forward = empty($forward) ? M_REFERER : $forward; $forwardstr = '&forward='.urlencode($forward); empty($mtags[$tname]) && amessage(lang('confirmchoose tag'),$forward); $mtag = read_cache($ttype,$tname,'',$sid); $tclass = empty($mtag['tclass']) ? '' : $mtag['tclass']; if($tclass == 'scatalogs'){ $nsidsarr = array('-1' => lang('active subsite'),'0' => lang('msite'),) + sidsarr(1); }elseif($tclass == 'sarchives'){ $nsidsarr = array('-2' => lang('nolimit subsite'),'-1' => lang('active subsite'),'0' => lang('msite'),) + sidsarr(1); } if(!submitcheck('bmtagsdetail') && !submitcheck('bmtagcode')){ a_guide($ttype.(empty($mtag['tclass']) ? 'edit' : $mtag['tclass'])); $upform = in_array($mtag['tclass'],array('image','images',)) ? 1 : 0; $helpstr = $ttype == 'rtag' ? '' : " [<a href=\"./taghelp.html#".(str_replace('tag','',$ttype).'_'.$mtag['tclass'])."\" target=\"08cmstaghelp\">".lang('help')."</a>]"; tabheader(lang($ttype.' setting').$helpstr,'mtagsdetail',"?entry=mtags&action=mtagsdetail&ttype=$ttype$param_suffix&tname=$tname$forwardstr",2,$upform); ($ttype != 'rtag') && trbasic(lang('tag type'),'',$tclassarr[$mtag['tclass']],''); trbasic(lang('tag cname'),'mtagnew[cname]',$mtag['cname']); trbasic(lang('en id'),'mtagnew[ename]',$tname); if(!submitcheck('bmtagaddpre') && $ttype != 'rtag' && in_array($mtag['tclass'],array('scatalogs','sarchives',))){ trbasic(lang('subsite attr'),'mtagnew[setting][nsid]',makeoption($nsidsarr,$mtag['setting']['nsid']),'select'); tabfooter('bmtagaddpre',lang('continue')); }else{ if(in_array($mtag['tclass'],array('scatalogs','sarchives',))){ trbasic(lang('subsite attr'),'',$nsidsarr[$mtagnew['setting']['nsid']],''); echo "<input type=\"hidden\" name=\"mtagnew[setting][nsid]\" value=\"".$mtagnew['setting']['nsid']."\">\n"; } include_once M_ROOT."./include/mtags/$ttype/".($tclass ? $tclass : 'tag').".php"; echo "<input class=\"button\" type=\"submit\" name=\"bmtagsdetail\" value=\"".lang('submit')."\">". ($ttype != 'rtag' ? " <input class=\"button\" type=\"submit\" name=\"bmtagcode\" value=\"".lang('create code')."\" onclick=\"this.form.action='?entry=mtags&action=mtagsdetail&ttype=$ttype$param_suffix&tname=$tname';this.form.target='mtagcodeiframe';\">" : ''). "</form><br><iframe id=\"mtagcodeiframe\" name=\"mtagcodeiframe\" frameborder=\"0\" width=\"100%\" height=\"200\" style=\"display:none\"></iframe>"; } }elseif(submitcheck('bmtagcode')){ $errormsg = ''; if(empty($mtagnew['ename'])){ $errormsg = lang('please input tag en id'); }elseif(preg_match("/[^a-z_A-Z0-9]+/",$mtagnew['ename'])){ $errormsg = lang('tag en id illegal'); }else{ $mtagnew['ename'] = trim(strtolower($mtagnew['ename'])); $usedename = array_keys($mtags); if(($mtagnew['ename'] != $tname) && in_array($mtagnew['ename'], $usedename)) $errormsg = lang('tag en id illegal'); } if(!$errormsg){ $tclass = $mtagnew['tclass'] = $mtag['tclass']; include_once M_ROOT."./include/mtags/$ttype/".($tclass ? $tclass : 'tag').".php"; if(!$errormsg){ $mtagnew['setting'] = empty($mtagnew['setting']) ? array() : $mtagnew['setting']; if(!empty($mtagnew['setting'])){ foreach($mtagnew['setting'] as $key => $val){ if(in_array($key,$unsetvars) && empty($val)) unset($mtagnew['setting'][$key]); } } $mtagnew['template'] = empty($mtagnew['template']) ? '' : stripslashes($mtagnew['template']); $mtagcode = mtag_code($ttype,$mtagnew); echo "<script language=\"javascript\">parent.$('mtagcodeiframe').style.display='';</script>". "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"#D3ECFC\" style=\"padding:0px;margin:0px;\">". "<tr><td class=\"item1\" width=\"25%\">".lang('current tag of template code'). "<br><br>[<a href='#' onclick=\"mtagcodecopy($('mtagcode'));\">".lang('copy code')."</a>] [<a href='#' onclick=\"parent.$('mtagcodeiframe').style.display='none';\">".lang('close code')."</a>]</td><td class=\"item2\">". "<textarea rows=\"8\" name=\"mtagcode\" id=\"mtagcode\" cols=\"110\">".(empty($mtagcode) ? '' : htmlspecialchars(str_replace("\t"," ",$mtagcode)))."</textarea>"; "</td></tr></table>"; } } echo "<script language=\"javascript\">".($errormsg ? "alert('$errormsg');" : '')."parent.$('mtagsdetail').action='?entry=mtags&action=mtagsdetail&ttype=$ttype$param_suffix&tname=$tname';parent.$('mtagsdetail').target='_self';</script>"; mexit(); }else{ if(!$mtagnew['cname'] || !$mtagnew['ename']) { amessage(lang('tag data missing'),M_REFERER); } if(preg_match("/[^a-z_A-Z0-9]+/",$mtagnew['ename'])) { amessage(lang('tag en id illegal'),M_REFERER); } $mtagnew['ename'] = trim(strtolower($mtagnew['ename'])); $usedename = array_keys($mtags); if(($mtagnew['ename'] != $tname) && in_array($mtagnew['ename'], $usedename)){ amessage(lang('tag en id repeat'),M_REFERER); } $tclass = $mtag['tclass']; include_once M_ROOT."./include/mtags/$ttype/".($tclass ? $tclass : 'tag').".php"; $mtagnew['setting'] = empty($mtagnew['setting']) ? array() : $mtagnew['setting']; if(!empty($mtagnew['setting'])){ foreach($mtagnew['setting'] as $key => $val){ if(in_array($key,$unsetvars) && empty($val)) unset($mtagnew['setting'][$key]); } } $mtagnew['template'] = empty($mtagnew['template']) ? '' : stripslashes($mtagnew['template']); $mtag = array( 'cname' => stripslashes($mtagnew['cname']), 'ename' => $mtagnew['ename'], 'tclass' => $tclass, 'template' => $mtagnew['template'], 'setting' => $mtagnew['setting'], ); $mtags[$mtagnew['ename']] = array('tclass' => $tclass,'vieworder' => $mtags[$tname]['vieworder'],); cache2file($mtag,cache_name($ttype,$mtagnew['ename']),$ttype,$sid); if($mtagnew['ename'] != $tname){ del_cache($ttype,$tname,'',$sid); unset($mtags[$tname]); } mtags_order($mtags); cache2file($mtags,$ttype.'s',$ttype.'s',$sid); adminlog(lang('detail0 modify '.$ttype)); amessage(lang('tag modify finish'),$forward); } } function mtags_order(&$mtags){ if(!is_array($mtags) || empty($mtags) || !function_exists('array_multisort')) return; foreach($mtags as $k => $v){ $vorder[$k] = $v['vieworder']; $eorder[$k] = $k; } array_multisort($vorder,SORT_ASC,$eorder,SORT_ASC,$mtags); } function tag_style($ename){ global $ttype; return "{".($ttype == 'rtag' ? 'tpl' : str_replace('tag','',$ttype))."\$<b>$ename</b>}"; } function mtag_code($ttype,$mtag){ $mode = str_replace('tag','',$ttype); $str = '{'.$mode.'$'.$mtag['ename'];//起始符 !empty($mtag['tclass']) && $str .= ' [tclass='.$mtag['tclass'].'/]'; if(!empty($mtag['setting'])){ foreach($mtag['setting'] as $key => $val){ $newline = in_array($key,array('wherestr','func','mpfunc','sqlstr')) ? "\n" : ''; $str .= $newline.' ['.$key.'='.$val.'/]'.$newline; } } $str .= "}";//参数中止 !empty($mtag['template']) && $str .= $mtag['template'];//加入模板 $str .= '{/'.$mode.'$'.$mtag['ename'].'}';//加入结束符 return $str; } ?>