コード例 #1
0
ファイル: processor.php プロジェクト: 6662680/qday_wx
 public function respond()
 {
     global $_W;
     $content = $this->message['content'];
     $reply = pdo_fetch('SELECT * FROM ' . tablename('cover_reply') . ' WHERE `rid`=:rid', array(':rid' => $this->rule));
     if (!empty($reply)) {
         load()->model('module');
         $module = module_fetch($reply['module']);
         if (empty($module) && !in_array($reply['module'], array('site', 'mc', 'card'))) {
             return '';
         }
         $url = $reply['url'];
         if (empty($reply['url'])) {
             $entry = pdo_fetch("SELECT eid FROM " . tablename('modules_bindings') . " WHERE module = :module AND do = :do", array(':module' => $reply['module'], ':do' => $reply['do']));
             $url = url('entry', array('eid' => $entry['eid']));
         }
         if (!strexists($url, '&j=') && !empty($_W['acid'])) {
             $url = str_replace("?i={$_W['uniacid']}&", "?i={$_W['uniacid']}&j={$_W['acid']}&", $url);
         }
         $news = array();
         $news[] = array('title' => $reply['title'], 'description' => $reply['description'], 'picurl' => $reply['thumb'], 'url' => $url);
         return $this->respNews($news);
     }
     return '';
 }
コード例 #2
0
ファイル: common.func.php プロジェクト: 6662680/qday_wx
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;
}
コード例 #3
0
function module_solution_check($name)
{
    global $_W;
    $module = module_fetch($name);
    if (empty($module)) {
        return error(-1, '您访问的模块不存在');
    }
    if ($module['issolution'] != 1) {
        return error(-1, '您访问的模块不是行业解决方案');
    }
    if ($module['target'] != $_W['uniacid']) {
        return error(-1, '当前公众号没有使用该行业模块的权限');
    }
    return true;
}
コード例 #4
0
             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') {
                     continue;
                 }
                 foreach ($entry1 as $index2 => &$entry2) {
                     $url_arr = parse_url($entry2['url']);
コード例 #5
0
ファイル: service.ctrl.php プロジェクト: legeng/project-2
<?php

/**
 * [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');
$_W['page']['title'] = '常用接入服务 - 常用接入服务 - 高级功能';
load()->model('module');
load()->model('reply');
$m = module_fetch('userapi');
$cfg = $m['config'];
$ds = reply_search("`uniacid` = 0 AND module = 'userapi' AND `status`=1");
$apis = array();
foreach ($ds as $row) {
    $apis[$row['id']] = $row;
}
if ($_W['ispost'] && $_W['isajax']) {
    $rids = explode(',', $_GPC['rids']);
    if (is_array($rids)) {
        $cfg = array();
        foreach ($rids as $rid) {
            if (!empty($apis[$rid])) {
                $cfg[intval($rid)] = true;
            }
        }
        $module = WeUtility::createModule('userapi');
        $module->saveSettings($cfg);
    }
    exit;
}
コード例 #6
0
 public static function createModuleSite($name)
 {
     global $_W;
     static $file;
     $classname = "{$name}ModuleSite";
     if (!class_exists($classname)) {
         $file = IA_ROOT . "/addons/{$name}/site.php";
         if (!is_file($file)) {
             $file = IA_ROOT . "/framework/builtin/{$name}/site.php";
         }
         if (!is_file($file)) {
             trigger_error('ModuleSite Definition File Not Found ' . $file, E_USER_WARNING);
             return null;
         }
         require $file;
     }
     if (!class_exists($classname)) {
         trigger_error('ModuleSite Definition Class Not Found', E_USER_WARNING);
         return null;
     }
     $o = new $classname();
     $o->uniacid = $o->weid = $_W['uniacid'];
     $o->modulename = $name;
     load()->model('module');
     $o->module = module_fetch($name);
     $o->__define = $file;
     $o->inMobile = defined('IN_MOBILE');
     if ($o instanceof WeModuleSite) {
         return $o;
     } else {
         trigger_error('ModuleReceiver Class Definition Error', E_USER_WARNING);
         return null;
     }
 }
コード例 #7
0
ファイル: reply.ctrl.php プロジェクト: legeng/project-2
<?php

/**
 * [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.
 */
load()->model('reply');
load()->model('module');
$dos = array('display', 'post', 'delete');
$do = in_array($do, $dos) ? $do : 'display';
$m = $_GPC['m'];
if (empty($m)) {
    message('错误访问.');
}
$module = module_fetch($m);
if (empty($module) || empty($module['isrulefields'])) {
    message('访问无权限.');
}
if (!in_array($m, $sysmods)) {
    if ($module['issolution']) {
        $solution = $module;
        define('FRAME', 'solution');
    } else {
        define('FRAME', 'ext');
        $types = module_types();
        define('ACTIVE_FRAME_URL', url('home/welcome/ext', array('m' => $m)));
    }
    $frames = buildframes(array(FRAME), $m);
    $frames = $frames[FRAME];
}
$_W['page']['title'] = $module['title'];
コード例 #8
0
} else {
    $entry = array('module' => $_GPC['m'], 'do' => $_GPC['do'], 'state' => $_GPC['state'], 'direct' => 0);
}
if (empty($entry) || empty($entry['do'])) {
    message('非法访问.');
}
load()->model('module');
$sql = 'SELECT `issolution` FROM ' . tablename('modules') . ' WHERE `name`=:module';
$module = pdo_fetch($sql, array(':module' => $entry['module']));
if (empty($module)) {
    message('你访问的功能不存在.');
}
if (!$entry['direct']) {
    checklogin();
    load()->model('module');
    $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))) {
コード例 #9
0
ファイル: solution.ctrl.php プロジェクト: 6662680/qday_wx
                    $menu['memberid'] = $uid;
                    $menu['acid'] = $_W['weid'];
                    $menu['title'] = $callmenu['title'];
                    $menu['url'] = url('site', $queryarr);
                    $allmenus[] = $menu;
                }
            }
        }
    }
}
if ($do == 'management') {
    $eid = intval($_GPC['eid']);
    $eid = json_decode(base64_decode($_GPC['eid']), true);
    $modulename = $eid['module'];
    $_W['weid'] = $eid['weid'];
    $mod = module_fetch($modulename);
    if (empty($mod)) {
        message('抱歉,该功能未被启用或是您没有使用该功能的权限!');
    }
    load()->model('extension');
    if (ext_module_checkupdate($modulename)) {
        message('系统检测到该模块有更新,请点击“<a href="' . url('extension/module/upgrade', array('id' => $modulename)) . '">更新模块</a>”后继续使用!', '', 'error');
    }
    if (!empty($_W['isfounder'])) {
        $menus = array();
        $bindings = pdo_fetchall('SELECT * FROM ' . tablename('modules_bindings') . " WHERE module = :module ORDER BY eid ASC", array(':module' => $modulename));
        if (!empty($bindings) && is_array($bindings)) {
            foreach ($bindings as $opt) {
                if (!empty($opt['call'])) {
                    $site = WeUtility::createModuleSite($modulename);
                    if (method_exists($site, $opt['call'])) {
コード例 #10
0
ファイル: style.ctrl.php プロジェクト: 6662680/qday_wx
                            }
                        }
                    }
                }
            }
        }
    }
    template('site/style');
}
if ($do == 'createtemplate') {
    if (empty($_W['isfounder'])) {
        exit('require founder');
    }
    $name = $_GPC['name'];
    load()->model('module');
    $module = module_fetch($name);
    if (empty($module)) {
        exit('invalid module');
    }
    $file = $_GPC['file'];
    $setting = uni_setting($_W['uniacid'], array('default_site'));
    $styleid = pdo_fetchcolumn("SELECT styleid FROM " . tablename('site_multi') . " WHERE id = :id", array(':id' => $setting['default_site']));
    $templateid = pdo_fetchcolumn("SELECT templateid FROM " . tablename('site_styles') . " WHERE id = :id", array(':id' => $styleid));
    $ts = uni_templates();
    $currentTemplate = !empty($ts[$templateid]) ? $ts[$templateid]['name'] : 'default';
    $targetfile = IA_ROOT . '/app/themes/' . $currentTemplate . '/' . $module['name'] . '/' . $file;
    if (!file_exists($targetfile)) {
        load()->func('file');
        mkdirs(dirname($targetfile));
        file_put_contents($targetfile, '<!-- 原始文件:addons/modules/' . $module['name'] . '/template/mobile/' . $file . ' -->');
        @chmod($targetfile, $_W['config']['setting']['filemode']);
コード例 #11
0
ファイル: extension.mod.php プロジェクト: hahamy/we7
function ext_module_checkupdate($modulename)
{
    $manifest = ext_module_manifest($modulename);
    if (!empty($manifest) && is_array($manifest)) {
        $version = $manifest['application']['version'];
        load()->model('module');
        $module = module_fetch($modulename);
        if ($version > $module['version']) {
            return true;
        } else {
            return false;
        }
    } else {
        return false;
    }
}
コード例 #12
0
function buildframes($types = array('platform'), $modulename = '')
{
    global $_W;
    $ms = (include IA_ROOT . '/web/common/frames.inc.php');
    $ms = array_elements($types, $ms);
    if (in_array('ext', $types)) {
        load()->model('module');
        $frames = array();
        $modules = uni_modules();
        if (!empty($modules)) {
            foreach ($modules as $m) {
                if (in_array($m['name'], array('basic', 'news', 'music', 'userapi'))) {
                    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');
        $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' => $module['title']);
            foreach ($entries['menu'] as $menu) {
                $menus['items'][] = array('title' => $menu['title'], 'url' => $menu['url']);
            }
            $ms['solution'][] = $menus;
        }
    }
    return $ms;
}
コード例 #13
0
ファイル: common.func.php プロジェクト: weikit/wechat-addon
function buildframes($frame = array('platform'))
{
    global $_W, $_GPC;
    if ($_W['role'] == 'clerk') {
        return false;
    }
    $GLOBALS['top_nav'] = pdo_fetchall('SELECT name, title, append_title FROM ' . tablename('core_menu') . ' WHERE pid = 0 AND is_display = 1 ORDER BY displayorder DESC');
    $ms = cache_load('system_frame');
    if (empty($ms)) {
        cache_build_frame_menu();
        $ms = cache_load('system_frame');
    }
    load()->model('module');
    $frames = array();
    $modules = uni_modules(false);
    $modules_temp = array_keys($modules);
    $status = uni_user_permission_exist();
    if (is_error($status)) {
        $modules_temp = pdo_fetchall('SELECT type FROM ' . tablename('users_permission') . ' WHERE uniacid = :uniacid AND uid = :uid AND type != :type', array(':uniacid' => $_W['uniacid'], ':uid' => $_W['uid'], ':type' => 'system'), 'type');
        if (!empty($modules_temp)) {
            $modules_temp = array_keys($modules_temp);
        } else {
            $modules = array();
        }
    }
    if (!empty($modules)) {
        $sysmods = system_modules();
        foreach ($modules as $m) {
            if (in_array($m['name'], $sysmods)) {
                $_W['setting']['permurls']['modules'][] = $m['name'];
                continue;
            }
            if (in_array($m['name'], $modules_temp)) {
                if ($m['enabled']) {
                    $frames[$m['type']][] = $m;
                }
                $_W['setting']['permurls']['modules'][] = $m['name'];
            }
        }
    }
    if (is_error($status)) {
        $system = array();
        $system = uni_user_permission('system');
        if (!empty($system) || !empty($modules_temp)) {
            foreach ($ms as $name => $section) {
                $hassection = false;
                foreach ($section as $i => $menus) {
                    $hasitems = false;
                    if (empty($menus['items'])) {
                        continue;
                    }
                    foreach ($menus['items'] as $j => $menu) {
                        if (!in_array($menu['permission_name'], $system)) {
                            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;
                }
            }
        }
    }
    $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 (is_error($status)) {
            $_W['setting']['permurls']['sections'][] = 'ext';
        }
    }
    $GLOBALS['ext_type'] = 0;
    $m = trim($_GPC['m']);
    $eid = intval($_GPC['eid']);
    if (FRAME == 'ext' && (!empty($m) || !empty($eid)) && $GLOBALS['ext_type'] != 2) {
        if (empty($_COOKIE['ext_type'])) {
            setcookie('ext_type', 1, TIMESTAMP + 8640000, "/");
            $_COOKIE['ext_type'] = 1;
        }
        $GLOBALS['ext_type'] = $_COOKIE['ext_type'];
        if (empty($m)) {
            $m = pdo_fetchcolumn('SELECT module FROM ' . tablename('modules_bindings') . ' WHERE eid = :eid', array(':eid' => $eid));
        }
        $module = module_fetch($m);
        $entries = module_entries($m);
        if (is_error($status)) {
            $permission = uni_user_permission($m);
            if ($permission[0] != 'all') {
                if (!in_array($m . '_rule', $permission)) {
                    unset($module['isrulefields']);
                }
                if (!in_array($m . '_settings', $permission)) {
                    unset($module['settings']);
                }
                if (!in_array($m . '_home', $permission)) {
                    unset($entries['home']);
                }
                if (!in_array($m . '_profile', $permission)) {
                    unset($entries['profile']);
                }
                if (!in_array($m . '_shortcut', $permission)) {
                    unset($entries['shortcut']);
                }
                if (!empty($entries['cover'])) {
                    foreach ($entries['cover'] as $k => $row) {
                        if (!in_array($m . '_cover_' . $row['do'], $permission)) {
                            unset($entries['cover'][$k]);
                        }
                    }
                }
                if (!empty($entries['menu'])) {
                    foreach ($entries['menu'] as $k => $row) {
                        if (!in_array($m . '_menu_' . $row['do'], $permission)) {
                            unset($entries['menu'][$k]);
                        }
                    }
                }
            }
        }
        $entries_filter = array_elements(array('cover', 'menu', 'mine'), $entries);
        $navs = array(array('title' => "模块列表", 'items' => array(array('title' => "<i class='fa fa-reply-all'></i> &nbsp;&nbsp;返回模块列表", 'url' => url('home/welcome/ext', array('a' => 0))), array('title' => "<i class='fa fa-reply-all'></i> &nbsp;&nbsp;返回{$module['title']}", 'url' => url('home/welcome/ext', array('m' => $m, 't' => 1))))));
        if ($module['isrulefields'] || $module['settings']) {
            $navs['rule'] = array('title' => "回复规则");
            if ($module['isrulefields']) {
                $navs['rule']['items'][] = array('title' => "<i class='fa fa-comments'></i> &nbsp;&nbsp;回复规则列表", 'url' => url('platform/reply', array('m' => $m)));
            }
            if ($module['settings']) {
                $navs['rule']['items'][] = array('title' => "<i class='fa fa-cog'></i> &nbsp;&nbsp;参数设置", 'url' => url('profile/module/setting', array('m' => $m)));
            }
        }
        if ($entries['home'] || $entries['profile'] || $entries['shortcut']) {
            $navs['nav'] = array('title' => "导航菜单");
            if ($entries['home']) {
                $navs['nav']['items'][] = array('title' => "<i class='fa fa-home'></i> &nbsp;&nbsp;微站首页导航", 'url' => url('site/nav/home', array('m' => $m)));
            }
            if ($entries['profile']) {
                $navs['nav']['items'][] = array('title' => "<i class='fa fa-user'></i> &nbsp;&nbsp;个人中心导航", 'url' => url('site/nav/profile', array('m' => $m)));
            }
            if ($entries['shortcut']) {
                $navs['nav']['items'][] = array('title' => "<i class='fa fa-plane'></i> &nbsp;&nbsp;快捷菜单", 'url' => url('site/nav/shortcut', array('m' => $m)));
            }
        }
        $menus = array('menu' => "业务菜单", 'cover' => "封面入口", 'mine' => "自定义菜单");
        foreach ($entries_filter as $key => $row) {
            if (empty($row)) {
                continue;
            }
            if (!isset($navs[$key])) {
                $navs[$key] = array('title' => $menus[$key]);
            }
            foreach ($row as $li) {
                $navs[$key]['items'][] = array('title' => "<i class='{$li["icon"]}'></i> &nbsp;&nbsp;{$li['title']}", 'url' => $li['url']);
            }
        }
    }
    if ($GLOBALS['ext_type'] == 1) {
        $ms['ext'] = $navs;
    } elseif ($GLOBALS['ext_type'] == 3) {
        $ms['ext'] = array_merge($navs, $ms['ext']);
    }
    return $ms;
}
コード例 #14
0
 public static function createModuleCron($name)
 {
     global $_W;
     static $file;
     $classname = "{$name}ModuleCron";
     if (!class_exists($classname)) {
         $file = IA_ROOT . "/addons/{$name}/cron.php";
         if (!is_file($file)) {
             $file = IA_ROOT . "/framework/builtin/{$name}/cron.php";
         }
         if (!is_file($file)) {
             trigger_error('ModuleCron Definition File Not Found ' . $file, E_USER_WARNING);
             return error(-1006, 'ModuleCron Definition File Not Found');
         }
         require $file;
     }
     if (!class_exists($classname)) {
         trigger_error('ModuleCron Definition Class Not Found', E_USER_WARNING);
         return error(-1007, 'ModuleCron Definition Class Not Found');
     }
     $o = new $classname();
     $o->uniacid = $o->weid = $_W['uniacid'];
     $o->modulename = $name;
     load()->model('module');
     $o->module = module_fetch($name);
     $o->__define = $file;
     self::defineConst($o);
     if ($o instanceof WeModuleCron) {
         return $o;
     } else {
         trigger_error('ModuleCron Class Definition Error', E_USER_WARNING);
         return error(-1008, 'ModuleCron Class Definition Error');
     }
 }
コード例 #15
0
        $qids .= $message['qid'] . ',';
    }
    if (!empty($qids)) {
        $qids = trim($qids, ',');
        $sql = 'DELETE FROM ' . tablename('core_queue') . " WHERE `qid` IN ({$qids})";
        pdo_query($sql);
    }
    load()->model('module');
    $modules = uni_modules();
    $core = array();
    $core['name'] = 'core';
    $core['subscribes'] = array('core');
    array_unshift($modules, $core);
    foreach ($messages as $msg) {
        foreach ($modules as $m) {
            if (!empty($m['subscribes'])) {
                if ($m['name'] == 'core' || in_array($msg['message']['type'], $m['subscribes'])) {
                    $obj = WeUtility::createModuleReceiver($m['name']);
                    $obj->message = iunserializer($msg['message']);
                    $obj->params = iunserializer($msg['params']);
                    $obj->response = iunserializer($msg['response']);
                    $obj->keyword = iunserializer($msg['keyword']);
                    $obj->module = module_fetch($msg['module']);
                    if (method_exists($obj, 'receive')) {
                        $obj->receive();
                    }
                }
            }
        }
    }
}