Example #1
0
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') {
Example #3
0
 $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 {
Example #4
0
/**
 * [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');
}
Example #5
0
<?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++;
        }
    }