function buildframes($types = array('platform'), $modulename = '') { global $_W; $ms = (include IA_ROOT . '/web/common/frames.inc.php'); load()->model('module'); $frames = array(); $modules = uni_modules(); //print_r($module);die(); if (!empty($modules)) { $sysmods = system_modules(); foreach ($modules as $m) { if (in_array($m['name'], $sysmods)) { continue; } $frames[$m['type']][] = $m; } } $types = module_types(); if (!empty($frames)) { foreach ($frames as $type => $fs) { $items = array(); if (!empty($fs)) { foreach ($fs as $m) { $items[] = array('title' => $m['title'], 'url' => url('home/welcome/ext', array('m' => $m['name']))); } } $ms['ext'][] = array('title' => $types[$type]['title'], 'items' => $items); } } if (in_array('solution', $types)) { load()->model('module'); $error = module_solution_check($modulename); if (is_error($error)) { } else { $module = module_fetch($modulename); $entries = module_entries($modulename, array('menu')); if ($_W['role'] == 'operator') { foreach ($entries as &$entry1) { foreach ($entry1 as $index2 => &$entry2) { $url_arr = parse_url($entry2['url']); $url_query = $url_arr['query']; parse_str($url_query, $query_arr); $eid = intval($query_arr['eid']); $data = pdo_fetch('SELECT * FROM ' . tablename('modules_bindings') . ' WHERE eid = :eid', array(':eid' => $eid)); $ixes = pdo_fetchcolumn('SELECT id FROM ' . tablename('solution_acl') . ' WHERE uid = :uid AND module = :module AND do = :do AND state = :state', array('uid' => $_W['uid'], ':module' => $modulename, ':do' => $data['do'], 'state' => $data['state'])); if (empty($ixes)) { unset($entry1[$index2]); } } } } if ($entries['menu']) { $menus = array('title' => '业务功能菜单'); foreach ($entries['menu'] as $menu) { $menus['items'][] = array('title' => $menu['title'], 'url' => $menu['url']); } $ms['solution'][] = $menus; } } } if (empty($_W['isfounder'])) { $urls = array(); $permurls = pdo_fetchall("SELECT url FROM " . tablename('users_permission') . " WHERE uid = :uid AND uniacid = :uniacid", array(':uid' => $_W['uid'], ':uniacid' => $_W['uniacid'])); if (!empty($permurls)) { foreach ($permurls as $row) { $urls[] = $row['url']; } } if (!empty($urls)) { foreach ($ms as $name => $section) { $hassection = false; foreach ($section as $i => $menus) { $hasitems = false; foreach ($menus['items'] as $j => $menu) { $_W['setting']['permurls']['menus'][] = ltrim($menu['url'], './index.php?'); if (!in_array(rtrim(ltrim($menu['url'], './index.php?'), '&'), $urls)) { unset($ms[$name][$i]['items'][$j]); } else { $hasitems = true; $hassection = true; } } if (!$hasitems) { unset($ms[$name][$i]); } } if (!$hassection) { unset($ms[$name]); } else { $_W['setting']['permurls']['sections'][] = $name; } } } } $_W['setting']['permurls']['urls'] = $urls; return $ms; }
$sql = 'SELECT COUNT(*) FROM ' . tablename('solution_acl') . ' WHERE `uid`=:uid AND `module`=:module'; $pars = array(); $pars[':uid'] = $_W['uid']; $pars[':module'] = $modulename; if (pdo_fetchcolumn($sql, $pars) > 0) { $solutions[] = $module; } } else { $solutions[] = $module; } } } $m = $_GPC['m']; if (!empty($m)) { load()->model('module'); $error = module_solution_check($m); if (is_error($error)) { message($error['message']); } $solution = module_fetch($m); $title = ' 行业解决方案 - ' . $solution['title']; $site = WeUtility::createModuleSite($m); if (!is_error($site)) { $method = 'doWebWelcome'; $welcome = @$site->{$method}(); } if (empty($welcome)) { $entries = module_entries($m, array('menu', 'home', 'profile', 'shortcut', 'cover')); if ($_W['role'] == 'operator') { foreach ($entries as $index1 => &$entry1) { if ($index1 == 'cover') {
$module = module_fetch($entry['module']); if (empty($module)) { message("访问非法, 没有操作权限. (module: {$entry['module']})"); } if ($module['issolution']) { $error = module_solution_check($entry['module']); if (is_error($error)) { message($error['message']); } else { $solution = $module; define('IN_SOLUTION', true); define('FRAME', 'solution'); $solutions = array(); $modules = uni_modules(); foreach ($modules as $modulename => $module) { if (!is_error(module_solution_check($modulename))) { if ($_W['role'] == 'operator') { $sql = 'SELECT COUNT(*) FROM ' . tablename('solution_acl') . ' WHERE `uid`=:uid AND `module`=:module'; $pars = array(); $pars[':uid'] = $_W['uid']; $pars[':module'] = $modulename; if (pdo_fetchcolumn($sql, $pars) > 0) { $solutions[] = $module; } } else { $solutions[] = $module; } } } } } else {
/** * [WeEngine System] Copyright (c) 2014 WE7.CC * WeEngine is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details. */ defined('IN_IA') or exit('Access Denied'); $do = $_GPC['do']; $dos = array('edit'); $do = in_array($do, $dos) ? $do : 'edit'; if ($do == 'edit') { $_W['page']['title'] = '管理人员列表 - 管理人员'; $works = pdo_fetchall("SELECT id, uid, role FROM " . tablename('uni_account_users') . " WHERE uniacid = '{$_W['uniacid']}'", array(), 'uid'); $uids = array(); if (!empty($works)) { $member = pdo_fetchall("SELECT username, uid FROM " . tablename('users') . " WHERE uid IN (" . implode(',', array_keys($works)) . ")", array(), 'uid'); foreach ($member as $v) { $uids[] = $v['uid']; } } $m = trim($_GPC['m']); if (!empty($m)) { $check = module_solution_check($m); if (is_error($check)) { message($check['message'], '', 'error'); } $issolution = 1; $module_types = module_types(); $module = module_fetch($m); define('ACTIVE_FRAME_URL', url('home/welcome/ext', array('m' => $m))); } template('profile/work'); }
<?php $modulename = $_GPC['m']; $check = module_solution_check($modulename); if (is_error($check)) { message($check['message'], '', 'error'); } $module_types = module_types(); $module = module_fetch($modulename); define('ACTIVE_FRAME_URL', url('home/welcome/ext', array('m' => $modulename))); $username = pdo_fetchcolumn('SELECT username FROM' . tablename('users') . ' WHERE uid = :uid', array(':uid' => intval($_GPC['uid']))); $entries = module_entries($modulename, array('menu', 'rule', 'function')); if (!empty($entries)) { foreach ($entries as $index1 => &$entry1) { foreach ($entry1 as $index2 => &$entry2) { $url_arr = parse_url($entry2['url']); $url_query = $url_arr['query']; parse_str($url_query, $query_arr); $eid = intval($query_arr['eid']); $data = pdo_fetch('SELECT * FROM ' . tablename('modules_bindings') . ' WHERE eid = :eid', array(':eid' => $eid)); $entry2['eid'] = $eid; if ($entry2['from'] == 'call') { $entry2['eid'] = 0; } $entry2['do'] = $data['do']; $entry2['state'] = $data['state']; $entry2['dostate'] = $data['do'] . $data['state']; $shuju[$index1][$i] = $entry2; $i++; } }