www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/mtpls.inc.php
<? (!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission'); aheader(); !checkapermission($sid ? 143 : 79) && amessage(lang('no_apermission')); load_cache('cotypes,bnames'); load_cache('mtpls',$sid); include_once M_ROOT."./include/template.fun.php"; $tpclasses = array( 'index' => lang('index'), 'cindex' => lang('catas index'), 'list' => lang('catas list'), 'archive' => lang('archive content'), 'freeinfo' => lang('freeinfo content'), 'commu' => lang('commu record'), 'search' => lang('search page0'), 'other' => lang('isolute page0'), 'mindex' => lang('( space0 ) index'), 'mcindex' => lang('( space0 ) catas index'), 'mlist' => lang('( space0 ) catas list'), ); $true_tpldir = M_ROOT."./template/$templatedir"; mmkdir($true_tpldir); if($action == 'mtpladd'){ if(!submitcheck('bmtpladd') && !submitcheck('bmtplsave')){ if(submitcheck('bmtplsearch')){ $mtplstmp = findfiles($true_tpldir); $enamearr = array_keys($mtpls); foreach($mtplstmp as $k => $tplname){ if(in_array($tplname,$enamearr)) unset($mtplstmp[$k]); } empty($mtplstmp) && amessage(lang('mtplsearchnone'), "?entry=mtpls&action=mtpladd$param_suffix"); $in_search = 1; } a_guide('mtpladd'); tabheader(lang('add normal template')." <input class=\"button\" type=\"submit\" name=\"bmtplsearch\" value=\"".lang('auto search')."\">",'mtpladd',"?entry=mtpls&action=mtpladd$param_suffix"); trbasic(lang('template cname'),'mtpladd[cname]'); trbasic(lang('template type'),'mtpladd[tpclass]',makeoption($tpclasses),'select'); trbasic(lang('template file'),'mtpladd[tplname]'); tabfooter('bmtpladd',lang('add')); if(!empty($in_search)){ tabheader(lang('normal template add putin'),'mtplsave',"?entry=mtpls&action=mtpladd$param_suffix",'4'); trcategory(array('<input class="checkbox" type="checkbox" name="chkall" onclick="checkall(this.form)">'.lang('selectall'),lang('template file'),lang('setting template cname'),lang('setting template type'))); foreach($mtplstmp as $tplname){ echo "<tr>". "<td class=\"item1\" width=\"45\" align=\"center\"><input class=\"checkbox\" type=\"checkbox\" name=\"selectid[$tplname]\" value=\"$tplname\">\n". "<td class=\"item2\">$tplname</td>\n". "<td class=\"item1\" align=\"center\"><input type=\"text\" size=\"30\" name=\"mtplsnew[$tplname][cname]\" value=\"\"></td>\n". "<td class=\"item2\" width=\"150\" align=\"center\"><select style=\"vertical-align: middle;\" name=\"mtplsnew[$tplname][tpclass]\">".makeoption($tpclasses)."</select></td></tr>"; } tabfooter('bmtplsave',lang('putin')); } }elseif(submitcheck('bmtpladd')){ if(empty($mtpladd['cname']) || empty($mtpladd['tplname'])) amessage(lang('data missing'),M_REFERER); if(preg_match("/[^a-z_A-Z0-9\.]+/",$mtpladd['tplname'])) amessage(lang('template cname illegal'),M_REFERER); $enamearr = array_keys($mtpls); if(in_array($mtpladd['tplname'], $enamearr)) amessage(lang('page template repeat define'),M_REFERER); if(!is_file($true_tpldir.'/'.$mtpladd['tplname'])){ if(@!touch($true_tpldir.'/'.$mtpladd['tplname'])) amessage(lang('template file add failed !'),M_REFERER); } $mtpls[$mtpladd['tplname']] = array('cname' => stripslashes($mtpladd['cname']),'tpclass' => $mtpladd['tpclass']); cache2file($mtpls,'mtpls','mtpls',$sid); adminlog(lang('add normal template')); amessage(lang('template add finish'),"?entry=mtpls&action=mtplsedit$param_suffix"); }elseif(submitcheck('bmtplsave')){ if(!empty($selectid)){ foreach($selectid as $tplname){ if(!empty($mtplsnew[$tplname]['cname']) && !empty($mtplsnew[$tplname]['tpclass'])){ $cname = $mtplsnew[$tplname]['cname']; $tpclass = $mtplsnew[$tplname]['tpclass']; $mtpls[$tplname] = array('cname' => stripslashes($mtplsnew[$tplname]['cname']),'tpclass' => $mtplsnew[$tplname]['tpclass']); } } } cache2file($mtpls,'mtpls','mtpls',$sid); adminlog(lang('add normal template')); amessage(lang('template putin finish'),"?entry=mtpls&action=mtplsedit$param_suffix"); } } elseif($action == 'mtplsedit'){ $ftpclass = empty($ftpclass) ? '' : $ftpclass; if(!submitcheck('bmtplsedit')) { a_guide('mtplsedit'); $ftpclassarr = array('' => lang('nolimit type')) + $tpclasses; $filterbox = lang('filter0 template').' '; $filterbox .= "<select style=\"vertical-align: middle;\" name=\"ftpclass\" onchange=\"redirect('?entry=mtpls&action=mtplsedit$param_suffix&ftpclass=' + this.options[this.selectedIndex].value);\">"; foreach($ftpclassarr as $k => $v){ $filterbox .= "<option value=\"$k\"".($ftpclass == $k ? ' selected' : '').">$v</option>"; } $filterbox .= "</select>"; tabheader($filterbox); tabfooter(); tabheader(lang('normal page template admin')." [<a href=\"?entry=mtpls&action=mtpladd$param_suffix\">".lang('add').'</a>]','mtplsedit',"?entry=mtpls&action=mtplsedit$param_suffix&ftpclass=$ftpclass",'9'); trcategory(array('<input class="checkbox" type="checkbox" name="chkall" onclick="checkall(this.form)">'.lang('del'),lang('template cname'),lang('type'),lang('template file'),lang('copy'),lang('content'))); foreach($mtpls as $k => $v){ if(empty($ftpclass) || $ftpclass == $v['tpclass']){ echo "<tr>". "<td class=\"item1\" width=\"40\" align=\"center\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$k]\" value=\"$k\">\n". "<td class=\"item2\"><input type=\"text\" size=\"25\" name=\"mtplsnew[$k][cname]\" value=\"".mhtmlspecialchars($v['cname'])."\"></td>\n". "<td class=\"item1\" width=\"150\" align=\"center\">".$tpclasses[$v['tpclass']]."</td>\n". "<td class=\"item2\">$k</td>\n". "<td class=\"item1\" width=\"30\" align=\"center\"><a href=\"?entry=mtpls&action=mtplcopy&tplname=$k$param_suffix\">".lang('copy')."</a></td>\n". "<td class=\"item2\" width=\"30\" align=\"center\"><a href=\"?entry=mtpls&action=mtpldetail&tplname=$k$param_suffix\">".lang('edit')."</a></td></tr>\n"; } } tabfooter('bmtplsedit',lang('modify')); }else{ if(!empty($delete)){ foreach($delete as $k){ unset($mtplsnew[$k],$mtpls[$k]); } } if(!empty($mtplsnew)){ foreach($mtplsnew as $k => $v){ $v['cname'] = empty($v['cname']) ? $mtpls[$k]['cname'] : $v['cname']; if($v['cname'] != $mtpls[$k]['cname']) $mtpls[$k]['cname'] = stripslashes($v['cname']); } } cache2file($mtpls,'mtpls','mtpls',$sid); adminlog(lang('edit normal template manager list')); amessage(lang('template modify finish'), "?entry=mtpls&action=mtplsedit$param_suffix&ftpclass=$ftpclass"); } } elseif($action == 'mtpldetail' && $tplname){ $mtpl = $mtpls[$tplname]; $forward = empty($forward) ? M_REFERER : $forward; $forwardstr = '&forward='.rawurlencode($forward); if(!submitcheck('bmtpldetail')){ $template = load_tpl($tplname,0); a_guide('mtpldetail'); tabheader("$mtpl[cname]".lang('setting'),'mtpldetail',"?entry=mtpls&action=mtpldetail&tplname=$tplname$param_suffix$forwardstr"); trbasic(lang('template cname'),'mtplnew[cname]',$mtpl['cname']); trbasic(lang('template class'),'mtplnew[tpclass]',makeoption($tpclasses,$mtpl['tpclass']),'select'); templatebox(lang('page template'),'templatenew',$template,30,140); tabfooter('bmtpldetail'); } else{ if(empty($mtplnew['cname']) || empty($mtplnew['tpclass'])){ amessage(lang('template data missing'),M_REFERER); } @str2file(stripslashes($templatenew),$true_tpldir.'/'.$tplname); $mtpls[$tplname]['cname'] = stripslashes($mtplnew['cname']); $mtpls[$tplname]['tpclass'] = $mtpl['tpclass'] = $mtplnew['tpclass']; cache2file($mtpls,'mtpls','mtpls',$sid); adminlog(lang('detail0 modify normal template')); amessage(lang('template modify finish'),$forward); } } elseif($action == 'mtplcopy' && $tplname){ $mtpl = $mtpls[$tplname]; if(!submitcheck('bmtplcopy')){ !is_file($true_tpldir.'/'.$tplname) && amessage(lang('pointed soc template file noexist')); a_guide('mtplcopy'); tabheader(lang('copy normal page template'),'mtplcopy',"?entry=mtpls&action=mtplcopy$param_suffix&tplname=$tplname"); trbasic(lang('template cname'),'mtpladd[cname]'); trbasic(lang('template class'),'mtpladd[tpclass]',makeoption($tpclasses,$mtpl['tpclass']),'select'); trbasic(lang('soc template file'),'',$tplname,''); trbasic(lang('template file saveas'),'mtpladd[tplname]'); tabfooter('bmtplcopy'); }else{ (!$mtpladd['cname'] || !$mtpladd['tplname']) && amessage(lang('data missing'),M_REFERER); $mtplsnew = findfiles($true_tpldir); in_array($mtpladd['tplname'],$mtplsnew) && amessage(lang('pointed template file cname repeat'),M_REFERER); (!copy($true_tpldir.'/'.$tplname,$true_tpldir.'/'.$mtpladd['tplname'])) && amessage(lang('template copy failed'),M_REFERER); $mtpls[$mtpladd['tplname']] = array('cname' => stripslashes($mtpladd['cname']),'tpclass' => $mtpladd['tpclass']); cache2file($mtpls,'mtpls','mtpls',$sid); adminlog(lang('copy normal template')); amessage(lang('template copy finish'),"?entry=mtpls&action=mtplsedit$param_suffix"); } } elseif($action == 'mtplsmap' && $tplname){ $mtpl = $mtpls[$tplname]; $forward = empty($forward) ? M_REFERER : $forward; $forwardstr = '&forward='.rawurlencode($forward); load_cache('ctags,utags,ptags,rtags',$sid); $tagsarr = m_tagsmap($tplname); a_guide('mtplsmap'); tabheader(lang('tag map')." - $mtpl[cname]",'','','6'); trcategory(array(lang('sn'),lang('tag style'),lang('tag cname'),lang('tag type'),lang('modify'),lang('ref'))); $no = 0; foreach($tagsarr as $tpltag){ $no ++; $tpltag['jsstr'] = $tpltag['updatestr'] = ''; if($tpltag['tmode'] == 'b'){ $tpltag['tmode'] = lang('init data1'); $tpltag['cname'] = !$tpltag['error'] ? $bnames[$tpltag['tname']] : '-'; $tpltag['error'] = !$tpltag['error'] ? '-' : 'x'; $tpltag['detail'] = "-"; $tpltag['tname'] = "{\$$tpltag[tname]}"; }elseif($tpltag['tmode'] == 'u'){ $tpltag['tmode'] = lang('ut field'); $tag = read_cache('utag',$tpltag['tname'],'',$sid); $tpltag['cname'] = !$tpltag['error'] ? $tag['cname'] : '-'; $tpltag['error'] = !$tpltag['error'] ? '-' : 'x'; $tpltag['detail'] = "<a href=\"?entry=mtags&action=mtagsdetail&ttype=utag&tname=$tpltag[tname]$param_suffix\">".lang('modify')."</a>"; $tpltag['tname'] = "<b>{u\$$tpltag[tname]}</b>"; }elseif($tpltag['tmode'] == 'c'){ $tpltag['tmode'] = lang('ct tag'); $tag = read_cache('ctag',$tpltag['tname'],'',$sid); $tpltag['cname'] = !$tpltag['error'] ? $tag['cname'] : '-'; $tpltag['error'] = !$tpltag['error'] ? '-' : 'x'; $tpltag['detail'] = "<a href=\"?entry=mtags&action=mtagsdetail&ttype=ctag&tname=$tpltag[tname]$param_suffix\">".lang('modify')."</a>"; $tpltag['tname'] = "<b>{c\$$tpltag[tname]}</b>"; }elseif($tpltag['tmode'] == 'p'){ $tpltag['tmode'] = lang('pt tag'); $tag = read_cache('ptag',$tpltag['tname'],'',$sid); $tpltag['cname'] = !$tpltag['error'] ? $tag['cname'] : '-'; $tpltag['error'] = !$tpltag['error'] ? '-' : 'x'; $tpltag['detail'] = "<a href=\"?entry=mtags&action=mtagsdetail&ttype=ptag&tname=$tpltag[tname]$param_suffix\">".lang('modify')."</a>"; $tpltag['tname'] = "<b>{p\$$tpltag[tname]}</b>"; }elseif($tpltag['tmode'] == 'tpl'){ $tpltag['tmode'] = lang('rt'); $tag = read_cache('rtag',$tpltag['tname'],'',$sid); $tpltag['cname'] = !$tpltag['error'] ? $tag['cname'] : '-'; $tpltag['error'] = !$tpltag['error'] ? '-' : 'x'; $tpltag['detail'] = "<a href=\"?entry=mtags&action=mtagsdetail&ttype=rtag&tname=$tpltag[tname]$param_suffix\">".lang('modify')."</a>"; $tpltag['tname'] = "<b>{tpl\$$tpltag[tname]}</b>"; } $space = "- - - - "; for($i = 0; $i < $tpltag['level']; $i++){ $tpltag['tname'] = $space.$tpltag['tname']; } echo "<tr>". "<td class=\"item1\" width=\"30\" align=\"center\">$no</td>\n". "<td class=\"item2\">$tpltag[tname]</td>\n". "<td class=\"item1\" width=\"200\">$tpltag[cname]</td>\n". "<td class=\"item2\" width=\"60\" align=\"center\">$tpltag[tmode]</td>\n". "<td class=\"item1\" width=\"30\" align=\"center\">$tpltag[detail]</td>\n". "<td class=\"item2\" width=\"30\" align=\"center\">$tpltag[error]</td></tr>\n"; } tabfooter(); echo "<input class=\"button\" type=\"submit\" name=\"\" value=\"".lang('goback')."\" onclick=\"history.go(-1);\">\n"; }elseif($action == 'mtagcode'){ if(empty($createrange)) amessage(lang('please point tag source !')); if(preg_match("/\{(u|c|p)\\$(.+?)\s+/is",$createrange,$matches)){ $ttype = $matches[1].'tag'; $tname = $matches[2]; $url = "?entry=mtags&action=mtagsdetail&ttype=$ttype$param_suffix&tname=$tname"; mheader("location:$url"); }elseif(preg_match("/\{tpl\\$(.+?)\}/is",$createrange,$matches)){ $tname = $matches[1]; $url = "?entry=mtags&action=mtagsdetail&ttype=rtag$param_suffix&tname=$tname"; mheader("location:$url"); } amessage(lang('please point tag source !')); } ?>