/** * 更新用户下的公众号缓存 * @param int $uid */ function cache_build_account($uid = 0) { global $_W; isetcookie('wechatloaded', '0'); $uid = empty($uid) ? $_W['uid'] : $uid; cache_build_modules(); cache_load('modules'); $modules = $_W['modules']; $wechats = pdo_fetchall("SELECT * FROM " . tablename('wechats') . " WHERE uid = '{$uid}' ORDER BY `weid` DESC", array(), 'weid'); $sysmodules = pdo_fetchall("SELECT mid, name FROM ".tablename('modules')." WHERE issystem = '1'", array(), 'mid'); foreach ($sysmodules as $mid => &$module) { $module['issystem'] = 1; $module['displayorder'] = -1; $module['enabled'] = 1; } if(!empty($wechats)) { $founder = explode(',', $_W['config']['setting']['founder']); foreach ($wechats as $index => $row) { if (in_array($uid, $founder)) { $membermodules = pdo_fetchall("SELECT mid, name FROM ".tablename('modules') . " ORDER BY issystem DESC, mid ASC", array(), 'mid'); $modulelist = array(); } else { $membermodules = pdo_fetchall("SELECT b.mid, b.name FROM ".tablename('members_modules')." AS a LEFT JOIN ".tablename('modules')." AS b ON a.mid = b.mid WHERE a.uid = :uid AND b.name <> '' ORDER BY issystem DESC, mid ASC", array(':uid' => $uid), 'mid'); $modulelist = $sysmodules; } $mymodules = pdo_fetchall("SELECT mid, enabled, displayorder FROM ".tablename('wechats_modules')." WHERE weid = '{$row['weid']}' AND mid IN (".implode(",", array_keys($membermodules)).") ORDER BY enabled DESC, displayorder ASC, mid ASC", array(), 'mid'); //拼接模块 if (!empty($mymodules)) { foreach ($mymodules as $mid => $row){ if (empty($row['enabled'])) { unset($membermodules[$mid]); continue; } if (!empty($membermodules[$mid])) { $modulelist[$mid] = $membermodules[$mid]; $modulelist[$mid]['enabled'] = $row['enabled']; $modulelist[$mid]['displayorder'] = $row['displayorder']; unset($membermodules[$mid]); } } } if (!empty($membermodules)) { $modulelist = array_merge($modulelist, $membermodules); } elseif (in_array($uid, $founder)) { $modulelist = $membermodules; } unset($row); foreach ($modulelist as $mid => &$row) { if (!isset($row['enabled'])) { $row['enabled'] = 1; $row['displayorder'] = 127; } } unset($row); $wechats[$index]['modules'] = $modulelist; } } cache_write('account:'.$uid, $wechats); }
$ret = cloud_download($post['path'], $post['type']); if (!is_error($ret)) { exit('success'); } exit; } if ($step == 'scripts' && $_W['ispost']) { $post = $_GPC['__input']; $fname = $post['fname']; $entry = IA_ROOT . '/data/update/' . $fname; if (is_file($entry) && preg_match('/^update\\(\\d{12}\\-\\d{12}\\)\\.php$/', $fname)) { $evalret = (include $entry); if (!empty($evalret)) { cache_build_users_struct(); cache_build_setting(); cache_build_modules(); @unlink($entry); exit('success'); } } exit('failed'); } if (!empty($_GPC['m'])) { $m = $_GPC['m']; $type = 'module'; $is_upgrade = intval($_GPC['is_upgrade']); $packet = cloud_m_build($_GPC['m']); } elseif (!empty($_GPC['t'])) { $m = $_GPC['t']; $type = 'theme'; $is_upgrade = intval($_GPC['is_upgrade']);