function goDispModify() { $m = new Menu(&$this->dbObj); $p = new Power(&$this->dbObj, $this->getUid()); $d = new DispAttachRule(&$this->dbObj, $this->getUid()); $t = new Template('../template/system'); $t->set_file('f', 'roledetail.html'); //设置全局权限块 $t->set_block('f', 'ttr', 'tr'); $t->set_block('ttr', 'ttd', 'td'); //设置菜单权限块 $t->set_block('f', 'ruleList', 'u'); $t->set_block('ruleList', 'attachList', 'a'); //设置组块 $t->set_block('f', 'gtr', 'gr'); $t->set_block('gtr', 'gtd', 'gd'); //默认值 $rudf = $gdf = array(); if ($this->isAppend) { $t->set_var('actionName', '增加'); $rudf = array('base' => array(), 'attach' => array()); } else { $updid = $_GET[MODIFY . 'id'] + 0; $rudf = $p->getRoleRule($updid); $t->set_var('actionName', '修改'); $t->set_var($this->dbObj->GetRow('select * from ' . WEB_ADMIN_TABPOX . 'role where roleid = ' . $updid)); $gdfr = $this->dbObj->GetArray('select groupid from ' . WEB_ADMIN_TABPOX . 'grouprole where roleid = ' . $updid); foreach ($gdfr as $v) { $gdf[] = $v['groupid']; } } $t->set_var($_GET); //设置全局菜单 $grus = $this->dbObj->Execute('select * from ' . WEB_ADMIN_TABPOX . 'otherrule where isrule=1 and (ruleid=0 or ruleid is null)'); $n = 1; $l = $grus->NumRows() + 1; while ($rs =& $grus->FetchRow()) { $gr_df = isset($rudf['attach'][0][$rs['configvarname']]) ? $rudf['attach'][0][$rs['configvarname']] : null; $t->set_var($d->disp($rs, $gr_df, "</td><td width='25%'>", 4, "</td></tr><tr><td width='25%'>")); $t->parse('td', 'ttd', true); if ($n++ % 2 > 0) { if ($n == $l) { if (($l - 1) % 2 == 1) { $t->set_var(array('name' => '', 'value' => '')); $t->parse('td', 'ttd', true); } $t->parse('tr', 'ttr', true); } } else { $t->parse('tr', 'ttr', true); $t->set_var('td'); } } //设置菜单权限 $rus = $m->getMenuTreeArr(0); foreach ($rus as $v) { if ($v['ruleurl']) { $t->set_var('display', ''); } else { $t->set_var('display', 'none'); } if (array_key_exists($v['ruleid'], $rudf['base'])) { $t->set_var('rschecked', $rudf['base'][$v['ruleid']][0] ? ' checked' : ''); $t->set_var('rbchecked', $rudf['base'][$v['ruleid']][1] ? ' checked' : ''); $t->set_var('rachecked', $rudf['base'][$v['ruleid']][2] ? ' checked' : ''); $t->set_var('rmchecked', $rudf['base'][$v['ruleid']][3] ? ' checked' : ''); $t->set_var('rdchecked', $rudf['base'][$v['ruleid']][4] ? ' checked' : ''); $t->set_var('richecked', $rudf['base'][$v['ruleid']][5] ? ' checked' : ''); $t->set_var('rechecked', $rudf['base'][$v['ruleid']][6] ? ' checked' : ''); $t->set_var('rrchecked', $rudf['base'][$v['ruleid']][7] ? ' checked' : ''); $t->set_var('rhchecked', $rudf['base'][$v['ruleid']][8] ? ' checked' : ''); } else { $t->set_var('rschecked', ''); $t->set_var('rbchecked', ''); $t->set_var('rachecked', ''); $t->set_var('rmchecked', ''); $t->set_var('rdchecked', ''); $t->set_var('richecked', ''); $t->set_var('rechecked', ''); $t->set_var('rrchecked', ''); $t->set_var('rhchecked', ''); } $t->set_var($v); $t->set_var('a'); //设置菜单的附加值 $ar = $this->dbObj->Execute('select * from ' . WEB_ADMIN_TABPOX . 'otherrule where isrule=1 and ruleid=' . $v['ruleid']); while ($arr =& $ar->FetchRow()) { $ar_df = isset($rudf['attach'][$v['ruleid']][$arr['configvarname']]) ? $rudf['attach'][$v['ruleid']][$arr['configvarname']] : null; $t->set_var($d->disp($arr, $ar_df, "</td><td width='50%'>", 2, "</td></tr><tr><td width='50%'>")); $t->parse('a', 'attachList', true); } $t->parse('u', 'ruleList', true); } //设置组列表 $gs = $this->dbObj->GetArray('select * from ' . WEB_ADMIN_TABPOX . 'group'); $j = count($gs) + 1; $i = 1; foreach ($gs as $v) { $t->set_var($v); if (in_array($v['groupid'], $gdf)) { $t->set_var('gchecked', ' checked'); } else { $t->set_var('gchecked', ''); } $t->parse('gd', 'gtd', true); if ($i++ % 6 > 0) { if ($i == $j) { $t->parse('gr', 'gtr', true); } } else { $t->parse('gr', 'gtr', true); $t->set_var('gd'); } } $t->set_var('path', WEB_ADMIN_HTTPPATH . '/common/'); $t->parse('out', 'f'); $t->p('out'); }