$cacheinfo = getmodelinfoall('mid', $_GET['mid']); $resultmodels = $cacheinfo['models']; if ($_GET['mid'] > 0) { if (!empty($systemfieldarr)) { foreach ($systemfieldarr as $value) { $systemfieldlist .= fieldlist($value, 'systemfield'); } } if (!empty($simplefieldarr)) { foreach ($simplefieldarr as $value) { $simplefieldlist .= fieldlist($value, 'simplefield'); } } $query = $_SGLOBAL['db']->query('SELECT * FROM ' . tname('modelcolumns') . ' WHERE mid = \'' . $_GET['mid'] . '\' ORDER BY displayorder, id'); while ($value = $_SGLOBAL['db']->fetch_array($query)) { $userfieldlist .= fieldlist($value, 'userfield'); } } $output = <<<EOF t<table summary="" id="pagehead" cellpadding="0" cellspacing="0" border="0" width="100%"> t\t<tr> t\t\t<td><h1>{$resultmodels['modelname']} ({$resultmodels['modelalias']}) {$alang['field_management']}</h1></td> t\t\t<td class="actions"> t\t\t\t<table summary="" cellpadding="0" cellspacing="0" border="0" align="right"> t\t\t\t\t<tr> t\t\t\t\t\t<td class="active"><a href="{$cpurl}?action=models&op=field&mid={$_GET['mid']}">{$alang['view_field']}</a></td> t\t\t\t\t\t<td><a href="{$cpurl}?action=models&op=addfield&mid={$_GET['mid']}" class="add">{$alang['new_create_field']}</a></td> t\t\t\t\t</tr> t\t\t\t</table> t\t\t</td> t\t</tr>
if (empty($nowarrs[$cu])) { amessage('pointfieldtype'); } $nowarr = $nowarrs[$cu]; $action = empty($action) ? 'fieldsedit' : $action; load_cache($nowarr['cu'] . 'fields'); $mcufields = ${$nowarr['cu'] . 'fields'}; $url_type = 'mcufield'; include 'urlsarr.inc.php'; if ($action == 'fieldsedit') { if (!submitcheck('bfieldsedit')) { url_nav(lang('memberinterconfig'), $urlsarr, $cu); tabheader($nowarr['cname'] . lang('mesfiman') . " >><a href=\"?entry=mcufields&action=fieldadd&cu={$cu}\">" . lang('add_field') . "</a>", 'fieldsedit', "?entry=mcufields&action=fieldsedit&cu={$cu}", 7); trcategory(array(lang('delete'), lang('field_name'), lang('admin_self'), lang('order'), lang('field_ename'), lang('field_type'), lang('edit'))); foreach ($mcufields as $k => $field) { fieldlist($k, $field, $nowarr['cu']); } tabfooter('bfieldsedit'); a_guide($nowarr['cu'] . 'fieldsedit'); } else { if (!empty($delete)) { foreach ($delete as $id) { dropfieldfromtbl($nowarr['table'], $id, $mcufields[$id]['datatype']); $db->query("DELETE FROM {$tblprefix}mcufields WHERE ename='{$id}' AND cu='{$cu}'"); unset($mcufields[$id], $fieldsnew[$id]); } } foreach ($mcufields as $id => $field) { $fieldsnew[$id]['cname'] = trim(strip_tags($fieldsnew[$id]['cname'])); $field['cname'] = $fieldsnew[$id]['cname'] ? $fieldsnew[$id]['cname'] : $field['cname']; $field['isadmin'] = empty($fieldsnew[$id]['isadmin']) ? 0 : 1;
$fconfigarr = array('errorurl' => '?entry=fchannels&action=fchanneldetail&chid=' . $chid, 'enamearr' => $enamearr, 'altertable' => $tblprefix . 'farchives_' . $chid, 'fieldtable' => $tblprefix . 'ffields', 'sqlstr' => "chid={$chid},available='1'"); list($fmode, $fnew, $fsave) = array('fa', true, true); include_once M_ROOT . "./include/fields/{$fieldnew['datatype']}.php"; adminlog(lang('add_free_channel_field')); updatecache('ffields', $chid); amessage('fieldaddfinish', '?entry=fchannels&action=fchanneldetail&chid=' . $chid); } } elseif ($action == 'fchanneldetail' && $chid) { $fchannel = $fchannels[$chid]; $fields = read_cache('ffields', $chid); if (!submitcheck('bfchanneldetail')) { //url_nav(lang('pluginframework'),$urlsarr,'channel'); tabheader("[" . $fchannel['cname'] . "]" . lang('field_edit') . " >><a href=\"?entry=fchannels&action=ffieldadd&chid={$chid}\">" . lang('add_field') . "</a>", 'fchanneldetail', "?entry=fchannels&action=fchanneldetail&chid={$chid}", '7'); trcategory(array(lang('delete'), lang('field_name'), lang('admin_self'), lang('order'), lang('field_ename'), lang('field_type'), lang('detail'))); foreach ($fields as $k => $field) { fieldlist($k, $field, 'fch'); } tabfooter('bfchanneldetail'); a_guide('fchanneldetail'); } else { if (!empty($delete)) { foreach ($delete as $id) { if (!$fields[$id]['issystem']) { dropfieldfromtbl("farchives_{$chid}", $id, $fields[$id]['datatype']); $db->query("DELETE FROM {$tblprefix}ffields WHERE ename='{$id}' AND chid='{$chid}'"); unset($fields[$id], $fieldsnew[$id]); } } } foreach ($fields as $id => $field) { $fieldsnew[$id]['cname'] = trim(strip_tags($fieldsnew[$id]['cname']));
$fconfigarr = array('altertable' => $tblprefix . 'comments', 'fieldtable' => $tblprefix . 'cufields', 'wherestr' => "WHERE ename='{$fieldename}' AND cu='4'"); list($fmode, $fnew, $fsave) = array('cu', false, true); include M_ROOT . "./include/fields/{$field['datatype']}.php"; updatecache('cfields'); adminlog(lang('det_modify_pu_msg_field')); amessage('fieldmodifyfinish', axaction(6, '?entry=cufields&action=cfieldsedit')); } } elseif ($action == 'bfieldsedit') { url_nav(lang('docinterconfig'), $urlsarr, 'field'); echo tab_list($urlsarr_1, 6, 0); load_cache('bfields'); if (!submitcheck('bbfieldsedit')) { tabheader(lang('pb_msg_field_manager') . " >><a href=\"?entry=cufields&action=bfieldadd\">" . lang('add_field') . "</a>", 'bfieldsedit', '?entry=cufields&action=bfieldsedit', 7); trcategory(array(lang('delete'), lang('field_name'), lang('admin_self'), lang('order'), lang('field_ename'), lang('field_type'), lang('edit'))); foreach ($bfields as $k => $field) { fieldlist($k, $field, 'b'); } tabfooter('bbfieldsedit'); a_guide('bfieldsedit'); } else { if (!empty($delete)) { foreach ($delete as $id) { dropfieldfromtbl('reports', $id, $bfields[$id]['datatype']); $db->query("DELETE FROM {$tblprefix}cufields WHERE ename='{$id}' AND cu='5'"); unset($bfields[$id], $fieldsnew[$id]); } } foreach ($bfields as $id => $field) { $fieldsnew[$id]['cname'] = trim(strip_tags($fieldsnew[$id]['cname'])); $field['cname'] = $fieldsnew[$id]['cname'] ? $fieldsnew[$id]['cname'] : $field['cname']; $field['isadmin'] = empty($fieldsnew[$id]['isadmin']) ? 0 : 1;
} adminlog(lang('add_acm_field')); updatecache('usednames', 'fields'); amessage('fieldaddfinish', '?entry=channels&action=initfieldsedit'); } } elseif ($action == 'initfieldsedit') { if (!$sid) { $url_type = 'channel'; include 'urlsarr.inc.php'; url_nav(lang('achannel'), $urlsarr, 'field'); } if (!submitcheck('binitfieldsedit')) { tabheader(lang('common_field_manager') . " >><a href=\"?entry=channels&action=initfieldadd\">" . lang('add') . "</a>", 'initfieldsedit', '?entry=channels&action=initfieldsedit', '5'); trcategory(array(lang('delete'), array(lang('field_name'), 'txtL'), lang('field_ename'), lang('field_type'), lang('edit'))); foreach ($initfields as $k => $field) { fieldlist($k, $field, 'init'); } tabfooter('binitfieldsedit'); a_guide('initfieldsedit'); } else { if (!empty($delete)) { $chids = array_keys($channels); foreach ($delete as $fieldename) { if ($initfields[$fieldename]['iscustom']) { if (!empty($initfields[$fieldename]['istxt'])) { //删除相应的文件存储记录 $query = $db->query("SELECT {$fieldename} FROM {$tblprefix}archives"); while ($row = $db->fetch_array($query)) { txtunlink($row[$fieldename]); } }
$enamearr = $usednames['cafields']; $fconfigarr = array('errorurl' => '?entry=catalogs&action=cafieldsedit', 'enamearr' => $enamearr, 'altertable' => $tblprefix . 'catalogs', 'fieldtable' => $tblprefix . 'cnfields', 'sqlstr' => "iscc='0'"); list($fmode, $fnew, $fsave) = array('cn', true, true); include_once M_ROOT . "./include/fields/{$fieldnew['datatype']}.php"; adminlog(lang('add_catalog_msg_field')); updatecache('cafields'); updatecache('usednames', 'cafields'); amessage('fieldaddfinish', '?entry=catalogs&action=cafieldsedit'); } } elseif ($action == 'cafieldsedit') { if (!submitcheck('bcafieldsedit')) { $addfieldstr = " >><a href=\"?entry=catalogs&action=cafieldadd\" onclick=\"return floatwin('open_{$actionid}_cafieldadd',this);\">" . lang('add_field') . "</a>"; tabheader(lang('catalog_msg_field_m') . $addfieldstr, 'cafieldsedit', '?entry=catalogs&action=cafieldsedit', '5'); trcategory(array(lang('delete'), lang('field_name'), lang('order'), lang('field_ename'), lang('field_type'), lang('edit'))); foreach ($cafields as $k => $cafield) { fieldlist($k, $cafield, 'ca'); } tabfooter('bcafieldsedit'); a_guide('cafieldsedit'); } else { if (!empty($delete)) { foreach ($delete as $id) { $fieldename = $cafields[$id]['ename']; dropfieldfromtbl('catalogs', $fieldename, $cafields[$id]['datatype']); $db->query("DELETE FROM {$tblprefix}cnfields WHERE iscc=0 AND ename='{$id}'"); unset($cafields[$id], $fieldsnew[$id]); } } foreach ($cafields as $id => $field) { $fieldsnew[$id]['cname'] = trim(strip_tags($fieldsnew[$id]['cname'])); $field['cname'] = $fieldsnew[$id]['cname'] ? $fieldsnew[$id]['cname'] : $field['cname'];
} else { $enamearr = $usednames['ccfields']; $fconfigarr = array('errorurl' => '?entry=cotypes&action=ccfieldsedit', 'enamearr' => $enamearr, 'altertable' => $tblprefix . 'coclass', 'fieldtable' => $tblprefix . 'cnfields', 'sqlstr' => "iscc='1'"); list($fmode, $fnew, $fsave) = array('cn', true, true); include_once M_ROOT . "./include/fields/{$fieldnew['datatype']}.php"; adminlog(lang('add_cotype_msg_field')); updatecache('ccfields'); updatecache('usednames', 'ccfields'); amessage('fieldaddfinish', '?entry=cotypes&action=ccfieldsedit'); } } elseif ($action == 'ccfieldsedit') { if (!submitcheck('bccfieldsedit')) { tabheader(lang('class_msg_field_manager') . " >><a href=\"?entry=cotypes&action=ccfieldadd\">" . lang('add_field') . "</a>", 'ccfieldsedit', '?entry=cotypes&action=ccfieldsedit', '5'); trcategory(array(lang('delete'), lang('field_name'), lang('order'), lang('field_ename'), lang('field_type'), lang('edit'))); foreach ($ccfields as $k => $ccfield) { fieldlist($k, $ccfield, 'cc'); } tabfooter('bccfieldsedit'); a_guide('ccfieldsedit'); } else { if (!empty($delete)) { foreach ($delete as $id) { $fieldename = $ccfields[$id]['ename']; dropfieldfromtbl('coclass', $fieldename, $ccfields[$fieldename]['datatype']); $db->query("DELETE FROM {$tblprefix}cnfields WHERE iscc=1 AND ename='{$id}'"); unset($ccfields[$id], $fieldsnew[$id]); } } foreach ($ccfields as $id => $field) { $fieldsnew[$id]['cname'] = trim(strip_tags($fieldsnew[$id]['cname'])); $field['cname'] = $fieldsnew[$id]['cname'] ? $fieldsnew[$id]['cname'] : $field['cname'];
} elseif ($action == 'matypedetail' && $matid) { $matype = read_cache('matype', $matid); $fields = read_cache('mafields', $matid); if (!submitcheck('bmatypedetail')) { tabheader("[{$matype['cname']}]" . lang('matype_set'), 'matypedetail', "?entry=matypes&action=matypedetail&matid={$matid}{$param_suffix}", 4, 0, 0, 1); trbasic(lang('add_arc_autocheck'), 'matypenew[autocheck]', $matype['autocheck'], 'radio'); trbasic(lang('add_arc_autostatic'), 'matypenew[autostatic]', $matype['autostatic'], 'radio'); trbasic(lang('allow_update_checked_arc'), 'matypenew[allowupdate]', $matype['allowupdate'], 'radio'); trbasic(lang('issue_permission_set'), 'matypenew[apmid]', makeoption(pmidsarr('aadd'), $matype['apmid']), 'select'); //会员档案权限方案与常规文档同步 trbasic(lang('read_permi_set'), 'matypenew[rpmid]', makeoption(pmidsarr('aread'), $matype['rpmid']), 'select'); tabfooter(); tabheader("[{$matype['cname']}]" . lang('field_manager') . " >><a href=\"?entry=matypes&action=fieldadd&matid={$matid}\">" . lang('add_field') . "</a>", '', '', '8'); trcategory(array(lang('delete'), lang('field_name'), lang('field_ename'), lang('admin_self'), lang('order'), lang('field_type'), lang('edit'))); foreach ($fields as $k => $field) { fieldlist($k, $field, 'ma'); } tabfooter('bmatypedetail'); a_guide('matypedetail'); } else { if (!empty($delete)) { foreach ($delete as $id) { dropfieldfromtbl("marchives_{$matid}", $id, $fields[$id]['datatype']); $db->query("DELETE FROM {$tblprefix}mafields WHERE ename='{$id}' AND matid='{$matid}'"); unset($fields[$id], $fieldsnew[$id]); } } foreach ($fields as $id => $field) { $fieldsnew[$id]['cname'] = trim(strip_tags($fieldsnew[$id]['cname'])); $field['cname'] = $fieldsnew[$id]['cname'] ? $fieldsnew[$id]['cname'] : $field['cname']; $field['isadmin'] = $field['issystem'] ? '0' : (empty($fieldsnew[$id]['isadmin']) ? 0 : 1);