public function getCardTicket() { $cachekey = "cardticket:{$this->account['acid']}"; $cache = cache_load($cachekey); if (!empty($cache) && !empty($cache['ticket']) && $cache['expire'] > TIMESTAMP) { $this->account['card_ticket'] = $cache; return $cache['token']; } load()->func('communication'); $access_token = $this->getAccessToken(); if (is_error($access_token)) { return $access_token; } $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={$access_token}&type=wx_card"; $content = ihttp_get($url); if (is_error($content)) { return error(-1, '调用接口获取微信公众号 card_ticket 失败, 错误信息: ' . $content['message']); } $result = @json_decode($content['content'], true); if (empty($result) || intval($result['errcode']) != 0 || $result['errmsg'] != 'ok') { return error(-1, '获取微信公众号 card_ticket 结果错误, 错误信息: ' . $result['errmsg']); } $record = array(); $record['ticket'] = $result['ticket']; $record['expire'] = TIMESTAMP + $result['expires_in'] - 200; $this->account['card_ticket'] = $record; cache_write($cachekey, $record); return $record['ticket']; }
function setCache($cacheActionUrl, $viewData) { if (!($result = checkCache($cacheActionUrl))) { return false; } $viewData = '<?php if(!defined("BASEAPP"))die("Invalid Access"); ?>' . "\n" . $viewData; cache_write(CACHE_PATH . $result['alias'] . '.php', $viewData); }
function tagtpl_cache() { $relatedtag = unserialize(data_get('relatedtag')); if(empty($relatedtag)) $relatedtag = array(); foreach($relatedtag['data'] as $appid => $data) { $relatedtag['limit'][$appid] = empty($relatedtag['limit'][$appid])?0:intval($relatedtag['limit'][$appid]); $data['template'] = trim($data['template']); if(empty($relatedtag['limit'][$appid]) || empty($data['template'])) { unset($relatedtag['data'][$appid]); unset($relatedtag['limit'][$appid]); } } cache_write('tagtpl', "_SGLOBAL['tagtpl']", $relatedtag); }
function config_cache($updatedata = true) { global $_SGLOBAL; $_SCONFIG = array(); $query = $_SGLOBAL['db']->query('SELECT * FROM ' . tname('config')); while ($value = $_SGLOBAL['db']->fetch_array($query)) { if ($value['var'] == 'privacy') { $value['datavalue'] = empty($value['datavalue']) ? array() : unserialize($value['datavalue']); } $_SCONFIG[$value['var']] = $value['datavalue']; } cache_write('config', '_SCONFIG', $_SCONFIG); }
private function getJsApiTicket() { $ticket = cache_read("js_api_ticket"); if (empty($ticket) || $ticket["time"] <= time()) { $token = $this->getWxAccessToken(); if (!empty($token)) { $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={$token}&type=jsapi"; $js_token = ihttp_request($url); if (!empty($js_token)) { $content = @json_decode($js_token['content'], true); $ticket = array("ticket" => $content["ticket"], "time" => TIMESTAMP + $content["expires_in"]); cache_write("js_api_ticket", $ticket); } } } return $ticket["ticket"]; }
function setting_load($key = '') { global $_W; $cachekey = "setting"; $settings = cache_load($cachekey); if (empty($settings)) { $settings = pdo_fetchall('SELECT * FROM ' . tablename('core_settings'), array(), 'key'); if (is_array($settings)) { foreach ($settings as $k => &$v) { $settings[$k] = iunserializer($v['value']); } } cache_write($cachekey, $settings); } if (!is_array($_W['setting'])) { $_W['setting'] = array(); } $_W['setting'] = array_merge($_W['setting'], $settings); return $settings; }
function cache_build_fans_struct() { $struct = array(); $result = pdo_fetchall("SHOW COLUMNS FROM " . tablename('fans')); if (!empty($result)) { foreach ($result as $row) { $struct[] = $row['Field']; } cache_write('fansfields', $struct); } return $struct; }
$sizelimit = $sizelimit ? (int) $sizelimit : 2048; $bak_dir = PHPDISK_ROOT . './system/data/'; $default_index = $bak_dir . 'index.htm'; if (!is_dir($bak_dir)) { mkdir($bak_dir, 0777); } if (!file_exists($default_index)) { write_file($default_index, 'PHPDisk'); } if ($tables && $fileid == 1) { if (!isset($tables) || !is_array($tables)) { $sysmsg[] = __('please_select_backup_db'); redirect($_SERVER['HTTP_REFERER'], $sysmsg); } $random = random(8); cache_write('backup_temp_tables.php', $tables); } else { if (!($tables = cache_read('backup_temp_tables.php'))) { $sysmsg[] = __('cannot_write_backup_database_list'); redirect($_SERVER['HTTP_REFERER'], $sysmsg); } } $sql_data = ''; $tableid = $tableid ? $tableid - 1 : 0; $startfrom = $startfrom ? $startfrom : 0; $tablenumber = count($tables); for ($i = $tableid; $i < $tablenumber && strlen($sql_data) < $sizelimit * 1000; $i++) { $sql_data .= sql_dumptable($tables[$i], $startfrom, strlen($sql_data)); $startfrom = 0; } if (!$error) {
$r = cloud_prepare(); if (is_error($r)) { message($r['message'], url('cloud/profile'), 'error'); } $do = !empty($_GPC['do']) && in_array($do, array('module', 'system')) ? $_GPC['do'] : exit('Access Denied'); if ($do == 'system') { $lock = cache_load('checkupgrade:system'); if (empty($lock) || TIMESTAMP - 3600 > $lock['lastupdate']) { $upgrade = cloud_build(); if (!is_error($upgrade) && !empty($upgrade['upgrade'])) { $upgrade = array('version' => $upgrade['version'], 'release' => $upgrade['release'], 'upgrade' => 1, 'lastupdate' => TIMESTAMP); cache_write('checkupgrade:system', $upgrade); message($upgrade, '', 'ajax'); } else { $upgrade = array('lastupdate' => TIMESTAMP); cache_write('checkupgrade:system', $upgrade); } } else { message($lock, '', 'ajax'); } } elseif ($do == 'module') { $modulename = $_GPC['m']; $module = pdo_fetch("SELECT mid, name, version, title FROM " . tablename('modules') . " WHERE name = :name", array(':name' => $modulename)); if (!empty($module)) { $info = cloud_m_info($modulename); if (!empty($info) && !empty($info['version']['version'])) { if (ver_compare($module['version'], $info['version']['version'])) { $upgrade = array('name' => $module['title'], 'version' => $info['version']['version'], 'upgrade' => 1, 'lastupdate' => TIMESTAMP); message($upgrade, '', 'ajax'); } } else {
break; } $sqlstring = implode(' ', $sql); $_POST['network'][$key]['sql'] = $sqlstring; $network[$key] = $_POST['network'][$key]; } else { $network[$key] = array(); $network[$key]['usedefault'] = 1; } foreach (array('space', 'doing', 'blog', 'album', 'share', 'mtag', 'slide', 'blogfrom') as $val) { $sql = ''; $sql = $val != 'blogfrom' ? trim($network[$val]['sql']) : $network[$val]; $networkcache[$val] = empty($sql) ? '' : $sql; } include_once S_ROOT . './source/function_cache.php'; cache_write('network_setting', "network", $networkcache); data_set('network', $network); @unlink(S_ROOT . './data/data_network.php'); cpmessage('do_success', 'admincp.php?ac=network'); } elseif (submitcheck('settingsubmit')) { $setarr = array(); foreach ($_POST['config'] as $var => $value) { $value = trim($value); if (!isset($_SCONFIG[$var]) || $_SCONFIG[$var] != $value) { $setarr[] = "('{$var}', '{$value}')"; } } if ($setarr) { $_SGLOBAL['db']->query("REPLACE INTO " . tname('config') . " (var, datavalue) VALUES " . implode(',', $setarr)); //更新缓存 include_once S_ROOT . './source/function_cache.php';
if ($batch == 1) { cache_write('upgrade:template', iserializer($wait_upgrade)); message($theme['title'] . ' 模块安装配置文件不存在或是格式不正确。系统将进入下一个模板的更新。<br>请勿关闭浏览器', url('extension/theme/upgrade', array('batch' => 1)), 'success'); } message('模块安装配置文件不存在或是格式不正确!', '', 'error'); } if (ver_compare($theme['version'], $packet['version']) != -1) { if ($batch == 1) { cache_write('upgrade:template', iserializer($wait_upgrade)); message($theme['title'] . ' 模板版本不低于要更新的版本。系统将进入下一个模板的更新。<br>请勿关闭浏览器', url('extension/theme/upgrade', array('batch' => 1)), 'success'); } message('已安装的模板版本不低于要更新的版本, 操作无效.'); } pdo_update('site_templates', array('version' => $packet['version']), array('id' => $theme['id'])); if ($batch == 1) { cache_write('upgrade:template', iserializer($wait_upgrade)); message($theme['title'] . ' 模板更新成功。系统将进入下一个模板的更新。<br>请勿关闭浏览器', url('extension/theme/upgrade', array('batch' => 1)), 'success'); } message('模板更新成功!', url('extension/theme'), 'success'); } if ($do == 'web') { $_W['page']['title'] = '管理后台风格 - 风格主题 - 扩展'; load()->model('setting'); if (checksubmit('submit')) { $data = array('template' => $_GPC['template']); setting_save($data, 'basic'); message('更新设置成功!', 'refresh'); } $path = IA_ROOT . '/web/themes/'; if (is_dir($path)) { if ($handle = opendir($path)) {
function account_yixin_login($username = '', $password = '', $imgcode = '') { $auth = cache_load('yxauth:' . $username . ':'); if (!empty($auth)) { $response = ihttp_request(YIXIN_ROOT . '/index', '', array('CURLOPT_COOKIE' => $auth['cookie'])); if ($response['code'] == '200') { return $auth['cookie']; } } $loginurl = YIXIN_ROOT . '/rest/login'; $post = array('account' => $username, 'password' => $password, 'captcha' => $imgcode, 'loginType' => 'YiXinUserId'); $response = ihttp_request($loginurl, $post, array('CURLOPT_REFERER' => 'https://plus.yixin.im/')); $data = json_decode($response['content'], true); if ($data['code'] == '200') { cache_write('yxauth:' . $username . ':cookie', implode('; ', $response['headers']['Set-Cookie'])); return implode('; ', $response['headers']['Set-Cookie']); } else { message($data['message'], referer(), 'error'); return false; } }
private function booking($message) { global $_W; if ($message['event'] == 'unsubscribe' || $message['event'] == 'subscribe') { $todaystat = pdo_get('stat_fans', array('date' => date('Ymd'), 'uniacid' => $_W['uniacid'])); if ($message['event'] == 'unsubscribe') { if (empty($todaystat)) { $updatestat = array('new' => 0, 'uniacid' => $_W['uniacid'], 'cancel' => 1, 'cumulate' => 0, 'date' => date('Ymd')); pdo_insert('stat_fans', $updatestat); } else { $updatestat = array('cancel' => $todaystat['cancel'] + 1); $updatestat['cumulate'] = intval($todaystat['cumulate']) - 1; pdo_update('stat_fans', $updatestat, array('id' => $todaystat['id'])); } } elseif ($message['event'] == 'subscribe') { if (empty($todaystat)) { $updatestat = array('new' => 1, 'uniacid' => $_W['uniacid'], 'cancel' => 0, 'cumulate' => 1, 'date' => date('Ymd')); pdo_insert('stat_fans', $updatestat); } else { $updatestat = array('new' => $todaystat['new'] + 1, 'cumulate' => $todaystat['cumulate'] + 1); pdo_update('stat_fans', $updatestat, array('id' => $todaystat['id'])); } } } $setting = uni_setting($_W['uniacid'], array('passport')); load()->model('mc'); $fans = mc_fansinfo($message['from']); $default_groupid = cache_load("defaultgroupid:{$_W['uniacid']}"); if (empty($default_groupid)) { $default_groupid = pdo_fetchcolumn('SELECT groupid FROM ' . tablename('mc_groups') . ' WHERE uniacid = :uniacid AND isdefault = 1', array(':uniacid' => $_W['uniacid'])); cache_write("defaultgroupid:{$_W['uniacid']}", $default_groupid); } if (!empty($fans)) { $rec = array(); if (!empty($fans['follow'])) { if ($message['event'] == 'unsubscribe') { $rec['follow'] = 0; $rec['followtime'] = 0; $rec['unfollowtime'] = $message['time']; } } else { if ($message['event'] != 'unsubscribe' && $message['event'] != 'ShakearoundUserShake') { $rec['follow'] = 1; $rec['followtime'] = $message['time']; $rec['unfollowtime'] = 0; } } $member = array(); if (!empty($fans['uid'])) { $member = mc_fetch($fans['uid']); } if (empty($member)) { if (!isset($setting['passport']) || empty($setting['passport']['focusreg'])) { $data = array('uniacid' => $_W['uniacid'], 'email' => md5($message['from']) . '@012wz.com', 'salt' => random(8), 'groupid' => $default_groupid, 'createtime' => TIMESTAMP); $data['password'] = md5($message['from'] . $data['salt'] . $_W['config']['setting']['authkey']); pdo_insert('mc_members', $data); $rec['uid'] = pdo_insertid(); } } if (!empty($rec)) { pdo_update('mc_mapping_fans', $rec, array('acid' => $_W['acid'], 'openid' => $message['from'], 'uniacid' => $_W['uniacid'])); } } else { $rec = array(); $rec['acid'] = $_W['acid']; $rec['uniacid'] = $_W['uniacid']; $rec['uid'] = 0; $rec['openid'] = $message['from']; $rec['salt'] = random(8); if ($message['event'] == 'unsubscribe') { $rec['follow'] = 0; $rec['followtime'] = 0; $rec['unfollowtime'] = $message['time']; } else { $rec['follow'] = 1; $rec['followtime'] = $message['time']; $rec['unfollowtime'] = 0; } if (!isset($setting['passport']) || empty($setting['passport']['focusreg'])) { $data = array('uniacid' => $_W['uniacid'], 'email' => md5($message['from']) . '@012wz.com', 'salt' => random(8), 'groupid' => $default_groupid, 'createtime' => TIMESTAMP); $data['password'] = md5($message['from'] . $data['salt'] . $_W['config']['setting']['authkey']); pdo_insert('mc_members', $data); $rec['uid'] = pdo_insertid(); } pdo_insert('mc_mapping_fans', $rec); } }
function uni_is_multi_acid($uniacid = 0) { global $_W; if (!$uniacid) { $uniacid = $_W['uniacid']; } $cachekey = "unicount:{$uniacid}"; $nums = cache_load($cachekey); $nums = intval($nums); if (!$nums) { $nums = pdo_fetchcolumn('SELECT COUNT(*) FROM ' . tablename('account_wechats') . ' WHERE uniacid = :uniacid', array(':uniacid' => $_W['uniacid'])); cache_write($cachekey, $nums); } if ($nums == 1) { return false; } return true; }
private function getAccessToken() { if (IMS_VERSION >= 0.6) { load()->func('cache'); } $api = cache_load("zombie.flight.api_share.json::" . $this->weid, true); $new = false; if (empty($api['appid']) || $api['appid'] !== $this->appId) { $new = true; } if (empty($api['appsecret']) || $api['appsecret'] !== $this->appSecret) { $new = true; } $data = cache_load("zombie.flight.access_token.json::" . $this->weid, true); if (empty($data['expire_time']) || $data['expire_time'] < time() || $new) { $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appId}&secret={$this->appSecret}"; $res = json_decode($this->httpGet($url)); $access_token = $res->access_token; if ($access_token) { $data['expire_time'] = time() + 7000; $data['access_token'] = $access_token; cache_write("zombie.flight.access_token.json::" . $this->weid, iserializer($data)); cache_write("zombie.flight.api_share.json::" . $this->weid, iserializer(array("appid" => $this->appId, "appsecret" => $this->appSecret))); } } else { $access_token = $data['access_token']; } return $access_token; }
function install() { global $localhost, $db_name, $db_user, $db_password, $db_pre, $admin, $password, $password2, $mail, $is_data; $loclahost = empty($localhost) ? '' : trim($localhost); $db_name = empty($db_name) ? '' : trim($db_name); $db_user = empty($db_user) ? '' : trim($db_user); $db_password = empty($db_password) ? '' : trim($db_password); $db_pre = empty($db_pre) ? 'lps_' : trim($db_pre); $cms_self = isset($_POST['cmsself']) ? trim($_POST['cmsself']) : ''; $is_data = isset($_POST['is_data']) ? intval($_POST['is_data']) : 0; if (empty($db_name)) { die("数据库名称不能为空<a href=\"javascript:history.go(-1);\">返回</a>"); } if (empty($cms_self)) { die("安装地址错误<a href=\"javascript:history.go(-1);\">返回</a>"); } $str = "<?php\n"; $str .= "define('DB_HOST', '{$localhost}');\n"; $str .= "define('DB_USER', '{$db_user}');\n"; $str .= "define('DB_PASSWORD','{$db_password}');\n"; $str .= "define('DB_NAME', '{$db_name}');\n"; $str .= "define('DB_PRE', '{$db_pre}');\n"; $str .= "define('DB_PCONNECT', 0);\n"; $str .= "define('DB_CHARSET', 'utf8');\n"; $str .= "define('CMS_ADDTIME', " . time() . ");\n"; $str .= "define('CMS_SELF','" . $cms_self . "');\n"; $str .= "?>"; if (!($conn = @mysql_connect($localhost, $db_user, $db_password))) { die("数据库连接失败<a href=\"javascript:history.go(-1);\">返回</a>"); } $dbs = @mysql_query("show DATABASES", $conn); while (($rel = mysql_fetch_assoc($dbs)) != false) { if ($rel['Database'] == $db_name) { $is_db = 1; } } $is_db = isset($is_db) ? $is_db : ''; if (!$is_db) { @mysql_query("create database {$db_name}", $conn); } @mysql_select_db($db_name, $conn); cache_write(DATA_PATH . 'confing.php', $str); include DATA_PATH . "confing.php"; mysql_unbuffered_query("set names " . DB_CHARSET, $conn); require_once 'data/data.php'; include "template/install.htm"; //安装演示 if ($is_data) { $data = @file_get_contents('data/data.sql'); $data = explode(";\n", trim($data)); if (!empty($data)) { foreach ($data as $k => $v) { $v = str_replace('bees_', DB_PRE, $v); @mysql_query($v, $conn); } } } else { @unlink('../data/cache_cate/cache_category_all.php'); @unlink('../data/cache_cate/cate_list_cn.php'); } $password = md5($password); @mysql_query("insert into " . DB_PRE . "admin (admin_name,admin_password,admin_nich,admin_purview,admin_mail) values ('{$admin}','{$password}','{$admin}',1,'{$mail}')", $conn); }
} else { $id = 0; $title or msg('请填写邮件标题'); $maillist or msg('请选择邮件列表'); $template || $content or msg('请填写邮件内容'); $content = save_local(stripslashes($content)); clear_upload($content); $data = array(); $data['title'] = $title; $data['content'] = $content; $data['sender'] = $sender; $data['name'] = $name; $data['template'] = $template; $data['maillist'] = $maillist; $data['fields'] = $fields; cache_write($_username . '_sendmail.php', $data); } $_content = $content; $pernum = intval($pernum); if (!$pernum) { $pernum = 5; } $pertime = intval($pertime); if (!$pertime) { $pertime = 5; } $DT['mail_name'] = $name; $emails = file_get(DT_ROOT . '/file/email/' . $maillist); $emails = explode("\n", $emails); for ($i = 1; $i <= $pernum; $i++) { $email = trim($emails[$id++]);
} else { if ($sendtype == 3) { if (isset($id)) { $data = cache_read($_username . '_sendsms.php'); $content = $data['content']; $mobilelist = $data['mobilelist']; $sign = $data['sign']; } else { $id = $s = $f = 0; $content or msg('请填写短信内容'); $mobilelist or msg('请选择号码列表'); $data = array(); $data['mobilelist'] = $mobilelist; $data['content'] = $content; $data['sign'] = $sign; cache_write($_username . '_sendsms.php', $data); } $_content = $content; $DT['sms_sign'] = $sign; $pernum = intval($pernum); if (!$pernum) { $pernum = 10; } $mobiles = file_get(DT_ROOT . '/file/mobile/' . $mobilelist); $mobiles = explode("\n", $mobiles); for ($i = 1; $i <= $pernum; $i++) { $mobile = trim($mobiles[$id++]); if (is_mobile($mobile)) { $user = _userinfo($mobile); $content = $_content; if ($user) {
if (strtolower(substr($key, -4)) == '.php') { $html = file_get_contents(IA_ROOT . '/' . $key); $token = token_get_all($html); $html = ''; foreach ($token as $to) { if (is_array($to) && $to[0] == T_VARIABLE) { $pre = preg_match("/([" . chr(0xb0) . "-" . chr(0xf7) . "])+/", $to[1]); if (!empty($pre)) { $badfiles[$key]['danger'] = 'danger'; break; } } } } } cache_write('scan:badfile', iserializer($badfiles)); message("扫描完成。。。", url('system/tools/scan', array('op' => 'display')), 'success'); } if ($op == 'display') { $badfiles = iunserializer(cache_read('scan:badfile')); if (empty($badfiles)) { message('没有找到扫描结果,请重新扫描', url('system/tools/scan'), 'error'); } unset($badfiles['data/config.php']); foreach ($badfiles as $k => &$v) { $v['func_count'] = 0; if (isset($v['func'])) { $v['func_count'] = count($v['func']); foreach ($v['func'] as $k1 => $v1) { $d[$k1] = strtolower($v1[1]); }
$turl = 'convert.php'; $set = array(); $tpre = ''; @(include S_ROOT . './data/data_convert.php'); if ($set) { $tpre = '`' . $set['dbname'] . '`.' . $set['tablepre']; } $lockfile = './data/convert.lock'; if (file_exists($lockfile)) { show_msg('警告!您已经转换过数据<br> 为了保证数据安全,请立即手动删除 convert.php 文件<br> 如果您想重新转换数据,请删除 data/convert.lock 文件,再次运行本文件'); } if (submitcheck('setsubmit')) { include_once S_ROOT . './source/function_cache.php'; cache_write('convert', "set", $_POST['set']); show_msg('数据库保存完成', $turl . '?step=300'); } elseif (submitcheck('opensubmit')) { $uid = getcount('member', array('username' => $_POST['username']), 'uid'); if (!$uid) { show_msg('指定的用户名不存在,请谨慎填写管理员用户名', 'convert.php?step=18'); } //写log if (@($fp = fopen($lockfile, 'w'))) { fwrite($fp, 'UCenter Home'); fclose($fp); } updatetable('space', array('groupid' => 1), array('uid' => $uid)); show_msg('设置管理员成功,数据转换全部完成!<br> <font color=blue>请立即删除本转换文件!</font><br> <a href="space.php">登录全新的 UCenter Home 吧</a><br>
private function setAuthRefreshToken($token) { pdo_update('account_wechats', array('auth_refresh_token' => $token), array('acid' => $this->account['acid'])); cache_write('account:auth:refreshtoken:' . $this->account['key'], $token); }
default: if (isset($backup)) { $fileid = isset($fileid) ? intval($fileid) : 1; $sizelimit = $sizelimit ? intval($sizelimit) : 2048; if ($fileid == 1 && $tables) { if (!isset($tables) || !is_array($tables)) { msg('请选择需要备份的表'); } $random = timetodate($DT_TIME, 'Y-m-d H.i.s') . ' ' . strtolower(random(10)); $tsize = 0; foreach ($tables as $k => $v) { $tables[$k] = strip_sql($v, 0); $tsize += $sizes[$v]; } $tid = ceil($tsize * 1024 / $sizelimit); cache_write($_username . '_backup.php', $tables); } else { if (!($tables = cache_read($_username . '_backup.php'))) { msg('请选择需要备份的表'); } } $dumpcharset = $sqlcharset ? $sqlcharset : $CFG['db_charset']; $setnames = $sqlcharset && $db->version() > '4.1' && (!$sqlcompat || $sqlcompat == 'MYSQL41') ? "SET NAMES '{$dumpcharset}';\n\n" : ''; if ($db->version() > '4.1') { if ($sqlcharset) { $db->query("SET NAMES '" . $sqlcharset . "';\n\n"); } if ($sqlcompat == 'MYSQL40') { $db->query("SET SQL_MODE='MYSQL40'"); } else { if ($sqlcompat == 'MYSQL41') {
if (in_array(DB_PRE . $tb, $tables)) { $GLOBALS['mysql']->drop_table($tb); } $GLOBALS['mysql']->query("delete from " . DB_PRE . "channel where id=" . $id); $GLOBALS['cache']->channel_cache(); msg('模型删除成功', 'admin_channel.php'); } } //删除文章 if ($step == 3) { if (file_exists(DATA_PATH . 'cache_channel/news_arr.php')) { include DATA_PATH . 'cache_channel/news_arr.php'; } $news_id = empty($news) ? '' : array_shift($news); $str = "<?php\n\$news=" . var_export($news, true) . ";\n?>"; cache_write(DATA_PATH . 'cache_channel/news_arr.php', $str); if (!empty($news_id)) { $addtime_rel = explode('-', $news_id['addtime']); $fl = CMS_PATH . 'htm/' . $news_id['cate_fold_name'] . '/' . $addtime_rel[0] . '/' . $addtime_rel[1] . $addtime_rel[2] . '/' . $news_id['id'] . '.html'; if (file_exists($fl)) { @unlink($fl); } if (!empty($news_id['id'])) { $GLOBALS['mysql']->query("delete from " . DB_PRE . "maintb where id=" . $news_id['id']); } if (!empty($news_id['id']) && !empty($news_id['table'])) { $GLOBALS['mysql']->query("delete from " . DB_PRE . $news_id['table'] . " where id=" . $news_id['id']); } show_htm("已经删除栏目【{$news_id['cate_name']}】下的文章【{$news_id['title']}】", '?action=del_channel&step=3&id=' . $id . '&cate_id=' . $cate_id . '&tb=' . $tb); } else { $GLOBALS['mysql']->query("delete from " . DB_PRE . "category where cate_parent=" . $cate_id);
/** * 更新某个会员某个时间后所有帐目的小计 * @param INT $uid * @param INT $date * @param STRING $ccy 货币 */ public static final function import() { $item_types = book_item::get_items(); $ccys = book::get_ccy(); $banks = book::get_banks(); $error = array(); $online = front::online(); $time = time(); // 数据消毒 $item_txts = self::selects('item_txt', null, array('user_id' => $online->user_id), array('GROUP BY item_txt'), array(null, 'column|table=book' => 'item_txt')); $opposites = self::selects('opposite', null, array('user_id' => $online->user_id), array('GROUP BY opposite'), array(null, 'column|table=book' => 'opposite')); if (!$item_txts) { $item_txts = array(); } $book_items = self::selects('book_item_id,item,info', '#@__book_item', array('user_id' => $online->user_id), array('ORDER BY book_item_id ASC'), array('book_item_id', 'assoc' => null)); $import_status = ''; // 表单处理 while (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'POST') { $post = array('bank' => isset($_POST['bank']) ? $_POST['bank'] : '', 'book_item_id' => isset($_POST['book_item_id']) ? $_POST['book_item_id'] : ''); // 数据验证 if (get_magic_quotes_gpc()) { $post = array_map('stripslashes', $post); } if (empty($post['book_item_id'])) { $error['book_item_id'] = '请指定绑定账户'; } if (empty($post['bank'])) { $error['bank'] = '请指定银行'; } if (empty($_FILES['bankfile']) || empty($_FILES['bankfile']['name'])) { $error['bankfile'] = '请上传文件'; } else { if ($_FILES['bankfile']['error']) { $error['bankfile'] = '文件上传错误:' . $_FILES['bankfile']['error']; } else { $content = file_get_contents($_FILES['bankfile']['tmp_name']); $bank_data = self::get_bank_data($post['bank'], $content); if (!$bank_data) { $error['bankfile'] = '文件格式错误!'; } cache_write('bank_import_' . $post['book_item_id'] . '.php', $bank_data); } } if (!empty($error)) { break; } $ccy = 'CNY'; if ($bank_data) { // 数据入库 $import_count = 0; foreach ($bank_data['data'] as $d) { $p = $d; $p['item'] = ''; $p['item_txt'] = ''; $p['opposite'] = ''; $p['book_item_id'] = $post['book_item_id']; $p['typeid'] = '0'; $p['ccy'] = $ccy; $p['net'] = ''; $p['user_id'] = $online->user_id; $p['update_date'] = date('Y-m-d', $time); $p['update_time'] = date('Y-m-d', $time); $book = new self(); $book->book_id = null; $book->struct($p); $book_id = $book->insert('', 'book_id'); if (!$book_id || $book_id < 1) { $error['bankfile'] = 'add fail'; break; } $import_count++; } if (!$error) { $import_status = '导入成功,共导入' . $import_count . '个/共' . count($bank_data['data']) . '个'; } else { $import_status = '导入失败,共导入' . $import_count . '个/共' . count($bank_data['data']) . '个'; } $import_status .= '<br>' . $bank_data['date_min'] . '~' . $bank_data['date_max']; self::update_statement_net($online->user_id, 0, $ccy); } break; header('Location: ?go=book&do=browse'); return; } if (!$post['create_date']) { $post['create_date'] = date('Y-m-d'); } if (!$post['create_time']) { $post['create_time'] = '12:00:00'; } //date('H:i:s'); //if(!$post['item'])$post['item'] = 3; // 页面显示 foreach (array('item', 'item_txt', 'typeid', 'remark', 'ccy', 'net', 'otype', 'amount') as $value) { $post[$value] = htmlspecialchars($post[$value]); } front::view2(__CLASS__ . '.' . 'import.tpl', compact('post', 'import_status', 'banks', 'error', 'item_txts', 'opposites', 'otype', 'item_types', 'book_items', 'ccys')); }
$r['type'] .= '<option' . ($t == $typeid ? ' selected' : '') . '>' . $TYPE[$t]['typename'] . '</option>'; } $r['type'] .= '</select>'; $lists[] = $r; } include tpl('mail_list', $module); break; case 'send': $itemid or msg(); if (isset($num)) { $m = cache_read($_username . '_mail.php'); } else { $num = 0; $m = $db->get_one("SELECT title,content,typeid FROM {$DT_PRE}mail WHERE itemid={$itemid}"); $m or msg(); cache_write($_username . '_mail.php', $m); } $pagesize = 2; $offset = ($page - 1) * $pagesize; $result = $db->query("SELECT email FROM {$DT_PRE}mail_list WHERE typeids LIKE '%," . $m['typeid'] . ",%' ORDER BY itemid DESC LIMIT {$offset},{$pagesize}"); $i = false; while ($r = $db->fetch_array($result)) { send_mail($r['email'], $m['title'], $m['content']); $i = true; $num++; } if ($i) { $page++; msg('已发送 ' . $num . ' 封邮件,系统将自动继续,请稍候...', '?moduleid=' . $moduleid . '&file=' . $file . '&action=' . $action . '&page=' . $page . '&itemid=' . $itemid . '&num=' . $num); } else { cache_delete($_username . '_mail.php');
$order = $_REQUEST['order']; $value = empty($value) ? 1 : 0; $sql = "update " . DB_PRE . "{$table} set {$field}=" . intval($value) . " where id={$id}"; $GLOBALS['mysql']->query($sql); //更新缓存 if ($table == "channel") { $sql = "select*from " . DB_PRE . "{$table} order by {$order} desc"; $rel = $GLOBALS['mysql']->fetch_asc($sql); $cache_file = DATA_PATH . 'cache_channel/cache_channel_all.php'; $str = "<?php\n\$channel=" . var_export($rel, true) . ";\n?>"; creat_inc($cache_file, $str); } elseif ($table == 'form') { $form_file = DATA_PATH . 'cache_form/form.php'; $rel = $GLOBALS['mysql']->fetch_asc("select*from " . DB_PRE . "form order by id desc"); $cache_str = "<?php\n\$form=" . var_export($rel, true) . ";\n?>"; cache_write($form_file, $cache_str); } if (empty($value)) { $class = "qi_yes"; $title = "开启"; } else { $class = "qi_no"; $title = "关闭"; } $data = "<span onclick=\"click_show(this,'{$value}','{$id}','channel','is_disable','{$lang}','channel_order');\" class=\"{$class}\" title=\"{$title}\"> </span>"; die($data); } elseif ($action == 'del_pic') { $file = CMS_PATH . 'upload/' . $value; @unlink($file); die("图片成功删除"); } elseif ($action == 'change_pic_alt') {
function cloud_build() { $pars = _cloud_build_params(); $pars['method'] = 'application.build'; $pars['extra'] = cloud_extra_data(); $dat = cloud_request('http://v2.addons.we7.cc/gateway.php', $pars); $file = IA_ROOT . '/data/application.build'; $ret = _cloud_shipping_parse($dat, $file); if (!is_error($ret)) { if ($ret['state'] == 'warning') { $ret['files'] = cloud_client_define(); unset($ret['schemas']); unset($ret['scripts']); } else { $files = array(); if (!empty($ret['files'])) { foreach ($ret['files'] as $file) { $entry = IA_ROOT . $file['path']; if (!is_file($entry) || md5_file($entry) != $file['checksum']) { $files[] = $file['path']; } } } $ret['files'] = $files; $schemas = array(); if (!empty($ret['schemas'])) { load()->func('db'); foreach ($ret['schemas'] as $remote) { $name = substr($remote['tablename'], 4); $local = db_table_schema(pdo(), $name); unset($remote['increment']); unset($local['increment']); if (empty($local)) { $schemas[] = $remote; } else { $sqls = db_table_fix_sql($local, $remote); if (!empty($sqls)) { $schemas[] = $remote; } } } } $ret['schemas'] = $schemas; } if ($ret['family'] == 'x' && IMS_FAMILY == 'v') { load()->model('setting'); setting_upgrade_version('x', IMS_VERSION, IMS_RELEASE_DATE); message('您已经购买了商业授权版本, 系统将转换为商业版, 并重新运行自动更新程序.', 'refresh'); } $ret['upgrade'] = false; if (!empty($ret['files']) || !empty($ret['schemas']) || !empty($ret['scripts'])) { $ret['upgrade'] = true; } $upgrade = array(); $upgrade['upgrade'] = $ret['upgrade']; $upgrade['lastupdate'] = TIMESTAMP; cache_write('upgrade', $upgrade); } return $ret; }
public function getSites() { set_time_limit(0); static $sites = false; if ($sites) { return $sites; } $file = T_PATH . 'cache/sites.php'; $sites = cache_read($file); if (!$sites) { $host = get_lines_by_php(T_PATH . 'seodj/host.php'); $sitetitle = get_lines_by_php(T_PATH . 'seodj/keys.php'); if (!$host) { header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); header('Retry-After: 3600'); echo ' <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head> <title>简单客站群系统</title> </head> <body> <div style="text-align:center;"><h2><font color="red">seodj目录下的 host.php 的行数为空,请检查!</font></h2></div> <!-- 简单客站群系统 QQ:1795873837 --> </body> </html>'; exit; } else { if (!$sitetitle || count($host) > count($sitetitle)) { header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); header('Retry-After: 3600'); echo ' <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head> <title>简单客站群系统</title> </head> <body> <div style="text-align:center;"><h2><font color="red">seodj目录下 host.php 的行数大于 keys.php 的行数,请检查!</font></h2></div> <!-- 简单客站群系统 QQ:1795873837 --> </body> </html>'; exit; } } @mkdir(T_PATH . 'cache/'); @mkdir(T_PATH . 'cache/web/'); $sites = array(); foreach ($host as $_) { @mkdir(T_PATH . 'cache/' . getdirname($_) . '/'); // $sites[$_] = array_shift($sitetitle); $sss = array_shift($sitetitle); $ssaa = explode('|', $sss); $tttt = ''; foreach ($ssaa as $i => $v) { if ($v) { if ($tttt) { $tttt .= '_' . $v; } else { $tttt .= $v; } } } $sites[$_] = $tttt; } cache_write($file, $sites); } $_SERVER['sites'] = $sites; return $sites; }
function cache_build_module_subscribe_type() { $modules = pdo_fetchall("SELECT name, subscribes FROM " . tablename('modules') . " WHERE subscribes <> ''"); $subscribe = array(); if (!empty($modules)) { foreach ($modules as $module) { $module['subscribes'] = unserialize($module['subscribes']); if (empty($module['subscribes'])) { continue; } $module['subscribes'] = array_flip($module['subscribes']); $subscribe = array_merge($subscribe, $module['subscribes']); } } cache_write('modulesubscribes', (array) array_flip($subscribe)); }
} } else { $writestate = true; } $listnum = isset($feed_list) ? count($feed_list) : 0; if ($writestate || !$listnum) { $query = $_SGLOBAL['db']->query("SELECT * FROM " . tname('feed') . " WHERE friend='0' ORDER BY dateline DESC LIMIT 0,{$num}"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { if (ckfriend($value['uid'], $value['friend'], $value['target_ids'])) { realname_set($value['uid'], $value['username']); $value = mkfeed($value); $feed_list[] = makeurl($value['title_template']); } } include_once S_ROOT . './source/function_cache.php'; cache_write('feedcache', "feed_list", $feed_list); } $feedstr = '"' . implode('","', $feed_list) . '"'; print <<<END var feedArr = new Array({$feedstr}); for(i=0; i<{$listnum}; i++) { var adObj = \$('ad_thread1_'+i); if(adObj != null && adObj.innerHTML == "") { \t\tsetHTML('ad_thread1_'+i, feedArr[i]); \t} } END; } } if ($_GET['pagetype'] == 'profile' && $viewpro || $_GET['pagetype'] == 'viewthread') { $num = $_GET['pagetype'] == 'profile' ? 10 : 3;