/** * 主分类最新推荐主题 */ function getRootForumBests() { global $_FANWE; $args = array(); $cache_file = getTplCache('inc/club/forum_list', array(), 1); if (getCacheIsUpdate($cache_file, 300)) { $res = FDB::query('SELECT fid,thread_count FROM ' . FDB::table('forum') . ' WHERE parent_id = 0'); while ($data = FDB::fetch($res)) { $_FANWE['cache']['forums']['all'][$data['fid']]['thread_count'] = $data['thread_count']; } $forum_list = array(); $chars = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'); $fids = $_FANWE['cache']['forums']['root']; $forum_index = 0; foreach ($fids as $fid) { $forum = $_FANWE['cache']['forums']['all'][$fid]; $forum['char'] = $chars[$forum_index]; $forum['topics'] = FS('Topic')->getImgTopic('best', 5, 3, $fid); $forum_list[] = $forum; $forum_index++; } $forum_list = array_chunk($forum_list, 2); $args['forum_list'] =& $forum_list; } return tplFetch('inc/club/forum_list', $args, '', $cache_file); }
function bindCacheGoodscate() { $categorys = array(); $res = FDB::query("SELECT * FROM " . FDB::table('goods_category') . " WHERE status = 1 ORDER BY sort ASC"); while ($data = FDB::fetch($res)) { $tags = array(); $tres = FDB::query('SELECT gt.* FROM ' . FDB::table('goods_category_tags') . ' AS gct INNER JOIN ' . FDB::table('goods_tags') . ' AS gt ON gt.tag_id = gct.tag_id WHERE gct.cate_id = ' . $data['cate_id'] . ' ORDER BY gt.sort ASC,gt.tag_id ASC'); while ($tag = FDB::fetch($tres)) { $tag['url_tag'] = urlencode($tag['tag_name']); $tags[] = $tag; } FanweService::instance()->cache->saveCache('goods_category_tags_' . $data['cate_id'], $tags); $categorys['all'][$data['cate_id']] = $data; if ($data['is_root'] == 1) { $categorys['root'] = $data['cate_id']; } elseif ($data['parent_id'] == 0) { $categorys['parent'][] = $data['cate_id']; } if ($data['is_index'] == 1) { $categorys['index'][] = $data['cate_id']; } if (!empty($data['cate_code'])) { $categorys['cate_code'][$data['cate_code']] = $data['cate_id']; } } foreach ($categorys['all'] as $key => $val) { if ($val['parent_id'] > 0) { $categorys['all'][$val['parent_id']]['child'][] = $key; } } FanweService::instance()->cache->saveCache('goods_category', $categorys); }
public function updateUserStatistics($uid) { $uid = (int) $uid; if (!$uid) { return array(); } $bln = false; $today_time = getTodayTime(); $res = FDB::query('SELECT * FROM ' . FDB::table('user_statistics') . ' WHERE uid = ' . $uid); while ($data = FDB::fetch($res)) { if ($data['last_time'] < $today_time && $data['type'] != 1) { $change_day = ($today_time - $data['last_time']) / 86400; $change = $change_day == 1 ? 1 : 2 - $change_day; $new_num = $statistic['num'] + $change; if ($new_num <= 0) { $new_num = 1; } StatisticsService::update(array('last_time' => $today_time, 'num' => $new_num), $uid, $data['type']); $bln = true; } } if ($bln) { StatisticsService::getUserStatistics($uid, true); } }
public function all() { global $_FANWE; $is_best = false; $is_all = true; $_FANWE['nav_title'] = lang('common', 'daren'); $count = FDB::resultFirst('SELECT COUNT(uid) FROM ' . FDB::table('user_daren') . ' WHERE status = 1'); $pager = buildPage('daren/all', array(), $count, $_FANWE['page'], 18); $col = 3; $index = 0; $list = array(); $today_time = getTodayTime(); $sql = 'SELECT ud.*,u.user_name,u.server_code,uc.fans,uc.goods,uc.shares, up.reside_province,up.reside_city,up.introduce FROM ' . FDB::table('user_daren') . ' AS ud INNER JOIN ' . FDB::table('user') . ' AS u ON u.uid = ud.uid INNER JOIN ' . FDB::table('user_count') . ' AS uc ON uc.uid = u.uid INNER JOIN ' . FDB::table('user_profile') . ' AS up ON up.uid = ud.uid WHERE ud.status = 1 ORDER BY ud.day_time DESC,ud.id DESC LIMIT ' . $pager['limit']; $res = FDB::query($sql); while ($data = FDB::fetch($res)) { $data['today_best'] = false; $data['url'] = FU('u/index', array('uid' => $data['uid'])); $province = $_FANWE['cache']['citys']['all'][$data['reside_province']]['name']; $city = $_FANWE['cache']['citys']['all'][$data['reside_city']]['name']; $data['city'] = $province . ' ' . $city; $list[$index % $col][] = $data; $index++; } include template('page/daren'); display(); }
public function run() { global $_FANWE; $root = array(); $root['return'] = 1; $share_id = (int) $_FANWE['requestData']['share_id']; $page = (int) $_FANWE['requestData']['page']; $page = max(1, $page); $sql_count = "SELECT COUNT(DISTINCT comment_id) FROM " . FDB::table("share_comment") . " WHERE share_id = " . $share_id; $total = FDB::resultFirst($sql_count); $page_size = PAGE_SIZE; $page_total = ceil($total / $page_size); if ($page > $page_total) { $page = $page_total; } $limit = ($page - 1) * $page_size . "," . $page_size; $sql = 'SELECT c.*,u.user_name,u.server_code FROM ' . FDB::table('share_comment') . ' AS c INNER JOIN ' . FDB::table('user') . ' AS u ON u.uid = c.uid WHERE c.share_id = ' . $share_id . ' ORDER BY c.comment_id DESC LIMIT ' . $limit; $res = FDB::query($sql); $list = array(); while ($item = FDB::fetch($res)) { $item['user_avatar'] = avatar($item['uid'], 'm', $item['server_code'], 1, true); $item['time'] = getBeforeTimelag($item['create_time']); m_express(&$item, $item['content']); $list[] = $item; } $root['item'] = $list; $root['page'] = array("page" => $page, "page_total" => $page_total); m_display($root); }
public function run() { global $_FANWE; $root = array(); $root['return'] = 0; $data = array('email' => $_FANWE['requestData']['email'], 'user_name' => $_FANWE['requestData']['user_name'], 'password' => $_FANWE['requestData']['password'], 'gender' => intval($_FANWE['requestData']['gender'])); $vservice = FS('Validate'); $validate = array(array('email', 'required', lang('user', 'register_email_require')), array('email', 'email', lang('user', 'register_email_error')), array('user_name', 'required', lang('user', 'register_user_name_require')), array('user_name', 'range_length', lang('user', 'register_user_name_len'), 2, 20), array('user_name', '/^[\\x{4e00}-\\x{9fa5}a-zA-Z][\\x{4e00}-\\x{9fa5}a-zA-Z0-9]+$/u', lang('user', 'register_user_name_error')), array('password', 'range_length', lang('user', 'register_password_range'), 6, 20)); if (!$vservice->validation($validate, $data)) { $root['info'] = "注册失败:" . $vservice->getError(); m_display($root); } $uservice = FS('User'); if ($uservice->getEmailExists($data['email'])) { $root['info'] = "注册失败:" . lang('user', 'register_email_exist'); m_display($root); } if ($uservice->getUserNameExists($data['user_name'])) { $root['info'] = "注册失败:" . lang('user', 'register_user_name_exist'); m_display($root); } //================add by chenfq 2011-10-14 ======================= $user_field = $_FANWE['setting']['integrate_field_id']; $integrate_id = FS("Integrate")->addUser($data['user_name'], $data['password'], $data['email']); if ($integrate_id < 0) { $info = FS("Integrate")->getInfo(); $root['info'] = "注册失败:" . $info; m_display($root); } //================add by chenfq 2011-10-14======================= $user = array('email' => $data['email'], 'user_name' => $data['user_name'], 'user_name_match' => segmentToUnicode($data['user_name']), 'password' => md5($data['password']), 'status' => 1, 'email_status' => 0, 'avatar_status' => 0, 'gid' => 7, 'invite_id' => FS('User')->getReferrals(), 'reg_time' => TIME_UTC, $user_field => $integrate_id); $uid = FDB::insert('user', $user, true); if ($uid > 0) { $_FANWE['uid'] = $uid; FDB::insert('user_count', array('uid' => $uid)); if ($user['invite_id'] > 0) { FS('User')->insertReferral($uid, $user['invite_id'], $user['user_name']); } FS("User")->updateUserScore($uid, 'user', 'register'); unset($user); $user_profile = array('uid' => $uid, 'gender' => $data['gender']); FDB::insert('user_profile', $user_profile); unset($user_profile); $user_status = array('uid' => $uid, 'reg_ip' => $_FANWE['client_ip'], 'last_ip' => $_FANWE['client_ip'], 'last_time' => TIME_UTC, 'last_activity' => TIME_UTC); FDB::insert('user_status', $user_status); $root['return'] = 1; $root['info'] = "用户注册成功"; $root['uid'] = $uid; $root['user_name'] = $data['user_name']; $root['user_avatar'] = avatar($uid, 'm', '', 1, true); $root['user_email'] = $data['email']; $deviceuid = addslashes(trim($_FANWE['requestData']['deviceuid'])); $sql = "update " . FDB::table('apns_devices') . " set clientid = " . $uid . " where clientid = 0 and deviceuid = '" . $deviceuid . "'"; FDB::query($sql); } else { $root['info'] = lang('user', 'register_error'); } m_display($root); }
function bindCacheSecond() { $list = array(); $res = FDB::query("SELECT * FROM " . FDB::table('second') . " WHERE status = 1 ORDER BY sort ASC,sid ASC"); while ($data = FDB::fetch($res)) { $list[$data['sid']] = $data; } FanweService::instance()->cache->saveCache('seconds', $list); }
function bindCacheLogin() { $list = array(); $res = FDB::query("SELECT * FROM " . FDB::table('login_module') . " WHERE status = 1 AND app_key <> '' AND app_secret <> '' ORDER BY sort ASC,id ASC"); while ($data = FDB::fetch($res)) { $list[$data['code']] = $data; } FanweService::instance()->cache->saveCache('logins', $list); }
public function run() { global $_FANWE; $root = array(); $root['return'] = 0; $uid = (int) $_FANWE['requestData']['uid']; $cid = (int) $_FANWE['requestData']['cid']; $album_title = trim($_FANWE['requestData']['title']); $data = array('title' => $album_title, 'cid' => $cid); $vservice = FS('Validate'); $validate = array(array('title', 'required', lang('album', 'name_require')), array('title', 'max_length', lang('album', 'name_max'), 60), array('cid', 'min', lang('album', 'cid_min'), 1)); if (!$vservice->validation($validate, $data)) { $root['info'] = $vservice->getError(); m_display($root); } $check_result = FS('Share')->checkWord($album_title, 'title'); if ($check_result['error_code'] == 1) { $root['info'] = $check_result['error_msg']; m_display($root); } if ($uid > 0) { if (!FS('User')->getUserExists($uid)) { $uid = 0; } } if ($cid == 0) { $uid == 0; } if ($uid == 0) { $root['info'] = "请先登录"; m_display($root); } $share_data = array(); $share_data['uid'] = $uid; $share_data['type'] = 'album'; $share_data['content'] = $album_title; $share = FS('Share')->submit($share_data, false, true, true); if ($share['status']) { $data = array(); $data['title'] = htmlspecialchars($album_title); $data['album_title_match'] = segmentToUnicode(clearSymbol($album_title)); $data['uid'] = $uid; $data['cid'] = $cid; $data['share_id'] = $share['share_id']; $data['create_day'] = getTodayTime(); $data['create_time'] = TIME_UTC; $data['show_type'] = 2; $aid = FDB::insert('album', $data, true); FDB::query('UPDATE ' . FDB::table('share') . ' SET rec_id = ' . $aid . ' WHERE share_id = ' . $share['share_id']); FDB::query("update " . FDB::table("user_count") . " set albums = albums + 1 where uid = " . $uid); $root['aid'] = $aid; $root['album_name'] = $album_title; $root['return'] = 1; } m_display($root); }
public function run() { global $_FANWE; $root = array(); $root['return'] = 1; $is_hot = (int) $_FANWE['requestData']['is_hot']; $is_new = (int) $_FANWE['requestData']['is_new']; $page = (int) $_FANWE['requestData']['page']; $page = max(1, $page); $today_time = getTodayTime(); $field = ''; $whrer = ''; $book_photo_goods = (int) $_FANWE['setting']['book_photo_goods']; if ($book_photo_goods == 0) { $whrer = " WHERE share_data IN ('goods','photo','goods_photo')"; } elseif ($book_photo_goods == 1) { $whrer = " WHERE share_data IN ('photo','goods_photo')"; } elseif ($book_photo_goods == 2) { $whrer = " WHERE share_data IN ('goods','goods_photo')"; } if ($is_hot == 1) { $day7_time = $today_time - 604800; $field = ",(create_time > {$day7_time}) AS time_sort "; $sort = " ORDER BY time_sort DESC,collect_count DESC"; } if ($is_new == 1) { $sort = " ORDER BY share_id DESC"; } $sql_count = "SELECT COUNT(DISTINCT share_id) FROM " . FDB::table("share"); $total = FDB::resultFirst($sql_count); $page_size = PAGE_SIZE; $max_page = 100; if ($total > $max_page * $page_size) { $total = $max_page * $page_size; } if ($page > $max_page) { $page = $max_page; } $page_total = ceil($total / $page_size); $limit = ($page - 1) * $page_size . "," . $page_size; $sql = 'SELECT DISTINCT(share_id),cache_data ' . $field . ' FROM ' . FDB::table('share') . $whrer . $sort . ' LIMIT ' . $limit; $res = FDB::query($sql); $share_list = array(); while ($item = FDB::fetch($res)) { $cache_data = fStripslashes(unserialize($item['cache_data'])); $img = current($cache_data['imgs']['all']); $data = array(); $data['share_id'] = $item['share_id']; $data['img'] = getImgName($img['img'], 100, 999, 0, true); $data['height'] = $img['height'] * (100 / $img['width']); $share_list[] = $data; } $root['item'] = $share_list; $root['page'] = array("page" => $page, "page_total" => $page_total); m_display($root); }
public function savePersonal() { global $_FANWE; $user = array('gender' => intval($_FANWE['request']['gender']), 'reside_province' => intval($_FANWE['request']['province']), 'reside_city' => intval($_FANWE['request']['city']), 'weibo' => trim($_FANWE['request']['weibo']), 'introduce' => trim($_FANWE['request']['introduce'])); $vservice = FS('Validate'); $user_name = trim($_FANWE['request']['user_name']); $email = trim($_FANWE['request']['email']); if ($user_name != $_FANWE['user']['user_name']) { $data = array('user_name' => $user_name, 'user_name_match' => segmentToUnicode($user_name)); if ($_FANWE['user']['edit_name_count'] == 0) { $validate = array(array('user_name', 'required', lang('user', 'register_user_name_require')), array('user_name', 'range_length', lang('user', 'register_user_name_len'), 2, 20), array('user_name', '/^[\\x{4e00}-\\x{9fa5}a-zA-Z][\\x{4e00}-\\x{9fa5}a-zA-Z0-9_]+$/u', lang('user', 'register_user_name_error'))); if ($vservice->validation($validate, $data)) { if (FS('User')->getUserNameExists($data['user_name'])) { $msg = lang('user', 'register_user_name_exist'); } else { //==================添加同步用户名修改 chenfq 2011-10-15================ $user_field = $_FANWE['setting']['integrate_field_id']; $sql = "SELECT {$user_field} FROM " . FDB::table('user') . " WHERE uid = '{$_FANWE['uid']}'"; $integrate_id = intval(FDB::resultFirst($sql)); if ($integrate_id > 0 && !FS("Integrate")->getCheckUserName($user_name, $integrate_id)) { $msg = FS("Integrate")->getInfo(); } else { if ($integrate_id > 0) { FS("Integrate")->editUser($integrate_id, '', '', $user_name); } FDB::update('user', $data, 'uid = ' . $_FANWE['uid']); FDB::query('UPDATE ' . FDB::table('user_status') . ' SET edit_name_count = edit_name_count + 1 WHERE uid = ' . $_FANWE['uid']); } //==================添加同步用户名修改 chenfq 2011-10-15================ } } else { $msg = $vservice->getError(); } } } if (empty($msg) && !empty($email) && empty($_FANWE['user']['email'])) { $data = array('email' => $email); $validate = array(array('email', 'required', lang('user', 'register_email_require')), array('email', 'email', lang('user', 'register_email_error'))); if ($vservice->validation($validate, $data)) { if (FS('User')->getEmailExists($data['email'])) { $msg = lang('user', 'register_email_exist'); } else { FDB::update('user', $data, 'uid = ' . $_FANWE['uid']); } } else { $msg = $vservice->getError(); } } if (empty($msg)) { FDB::update('user_profile', $user, 'uid = ' . $_FANWE['uid']); FS('User')->deleteUserCache($_FANWE['uid']); fSetCookie('save_personal', ''); } else { fSetCookie('save_personal', $msg); } fHeader("location: " . FU('settings/personal')); }
public function run() { global $_FANWE; $root = array(); $root['return'] = 1; $key = 'm/sharecate'; $cache_list = getCache($key); if ($cache_list !== NULL || TIME_UTC - $cache_list['cache_time'] > 600) { $cate_list = array(); $min_time = $this->getQuarterMinTime(); $max_time = getTodayTime(); FanweService::instance()->cache->loadCache('albums'); $album_cate = $_FANWE['cache']['albums']['category']; foreach ($album_cate as $k => $v) { $cate = array(); $cate['cate_id'] = $v['id']; $cate['cate_name'] = $v['name']; $cate['short_name'] = $v['name']; $cate['cate_code'] = $v['cate_code']; $cate['cate_icon'] = FS("Image")->getImageUrl($v['img'], 2); $cate['desc'] = $v['desc']; $cate['create_time'] = $v['create_time']; //获取本季分享数量 $share_count_sql = 'select count(DISTINCT s.share_id) from ' . FDB::table("share") . ' as s INNER JOIN ' . FDB::table("album_share") . ' as al on s.share_id = al.share_id where al.cid = ' . $v['id'] . " and s.day_time >= {$min_time} AND s.day_time <= {$max_time} "; $cate['share_count'] = FDB::resultFirst($share_count_sql); $cate['img_tags'] = array(); $img_size = 320; $sql = 'select s.share_id,al.title,sp.img from ' . FDB::table("share") . ' as s INNER JOIN ' . FDB::table("album_share") . ' as als ON s.share_id = als.share_id INNER JOIN ' . FDB::table("album") . ' as al ON als.album_id = al.id INNER JOIN ' . FDB::table("share_photo") . " as sp ON s.share_id = sp.share_id \r\n\t\t\t\t\tWHERE s.day_time >= {$min_time} AND s.day_time <= {$max_time} AND als.cid = " . $v['id'] . " GROUP BY s.share_id ORDER BY s.share_id desc limit 5"; $res = FDB::query($sql); while ($data = FDB::fetch($res)) { $img_data = array(); $img_data['share_id'] = $data['share_id']; $img_data['tag_name'] = $data['title']; $img_data['is_tag'] = 0; $img_data['img'] = FS("Image")->getImageUrl(getImgName($data['img'], $img_size, $img_size, 1, true), 2); $img_data['url_tag'] = urlencode($data['title']); $cate['img_tags'][] = $img_data; $img_size = 160; } $cate['txt_tags'] = array(); $cate_list[] = $cate; } $cache_list = array(); $cache_list['cate_list'] = $cate_list; $cache_list['cache_time'] = TIME_UTC; setCache($key, $cache_list); } else { $cate_list = $cache_list['cate_list']; } $root['item'] = $cate_list; m_display($root); }
public function run() { global $_FANWE; $root = array(); $root['return'] = 0; $uid = (int) $_FANWE['requestData']['uid']; if ($uid > 0) { if (!FS('User')->getUserExists($uid)) { $uid = 0; } } if ($uid == 0) { $uid = $_FANWE['uid']; $root['home_user'] = $_FANWE['user']; } if ($uid == 0) { $root['info'] = "请选择要查看的会员"; m_display($root); } if (!isset($root['home_user'])) { $root['home_user'] = FS("User")->getUserById($uid); unset($root['home_user']['user_name_match'], $root['home_user']['password'], $root['home_user']['active_hash'], $root['home_user']['reset_hash']); $root['home_user']['user_avatar'] = avatar($uid, 'm', $root['home_user']['server_code'], 1, true); } $page = (int) $_FANWE['requestData']['page']; $page = max(1, $page); $is_spare_flow = (int) $_FANWE['requestData']['is_spare_flow']; $img_size = 200; $scale = 2; if ($is_spare_flow == 1) { $img_size = 100; $scale = 1; } $total = FDB::resultFirst('SELECT COUNT(photo_id) FROM ' . FDB::table('share_photo') . ' WHERE uid = ' . $uid); $page_size = 20; //PAGE_SIZE; $page_total = max(1, ceil($total / $page_size)); if ($page > $page_total) { $page = $page_total; } $limit = ($page - 1) * $page_size . "," . $page_size; $photo_list = array(); $res = FDB::query('SELECT photo_id,share_id,img FROM ' . FDB::table('share_photo') . ' WHERE uid = ' . $uid . ' ORDER BY photo_id DESC LIMIT ' . $limit); while ($photo = FDB::fetch($res)) { $photo['img'] = getImgName($photo['img'], $img_size, $img_size, 1, true); $photo['height'] = round($img_size / $scale); $photo['url'] = FU('note/m', array('sid' => $photo['share_id'], 'id' => $photo['photo_id']), true); $photo_list[] = $photo; } $root['return'] = 1; $root['item'] = $photo_list; $root['page'] = array("page" => $page, "page_total" => $page_total); m_display($root); }
function bindCacheSetting() { global $_FANWE; $settings = array(); $js_settings = array(); $res = FDB::query("SELECT name,val,is_js FROM " . FDB::table('sys_conf') . " WHERE status = 1"); while ($data = FDB::fetch($res)) { $name = strtolower($data['name']); $settings[$name] = $data['val']; if ($data['is_js'] == 1) { $js_settings[$name] = $data['val']; } } $settings['site_title'] .= ' - ' . 'F' . 'A' . 'N' . 'W' . 'E'; $settings['footer_html'] .= '<' . 'p' . '>' . '<' . 'a' . ' ' . 'h' . 'r' . 'e' . 'f' . '=' . '"' . 'h' . 't' . 't' . 'p' . ':' . '/' . '/' . 'w' . 'w' . 'w' . '.' . 'f' . 'a' . 'n' . 'w' . 'e' . '.' . 'c' . 'o' . 'm' . '"' . ' ' . 't' . 'a' . 'r' . 'g' . 'e' . 't' . '=' . '"' . '_' . 'b' . 'l' . 'a' . 'n' . 'k' . '"' . '>' . 'f' . 'a' . 'n' . 'w' . 'e' . '.' . 'i' . 'n' . 'c' . '<' . '/' . 'a' . '>' . '<' . '/' . 'p' . '>'; writeFile(PUBLIC_ROOT . './js/setting.js', 'var SETTING = ' . getJson($js_settings) . ';'); $config_file = @file_get_contents(PUBLIC_ROOT . 'config.global.php'); $config_file = trim($config_file); $config_file = preg_replace("/[\$]config\\['time_zone'\\].*?=.*?'.*?'.*?;/is", "\$config['time_zone'] = '" . $settings['time_zone'] . "';", $config_file); $config_file = preg_replace("/[\$]config\\['default_lang'\\].*?=.*?'.*?'.*?;/is", "\$config['default_lang'] = '" . $settings['default_lang'] . "';", $config_file); @file_put_contents(PUBLIC_ROOT . 'config.global.php', $config_file); unset($config_file); $lang_arr = array(); $lang_files = array(FANWE_ROOT . './core/language/' . $settings['default_lang'] . '/template.lang.php', FANWE_ROOT . './tpl/' . $settings['site_tmpl'] . '/template.lang.php'); foreach ($lang_files as $lang_file) { if (@(include $lang_file)) { foreach ($lang as $lkey => $lval) { $lang_pre = strtolower(substr($lkey, 0, 3)); if ($lang_pre == 'js_') { $lang_key = substr($lkey, 3); if ($lang_key != '') { $lang_arr[$lang_key] = $lval; } } } } } writeFile(PUBLIC_ROOT . './js/lang.js', 'var LANG = ' . getJson($lang_arr) . ';'); clearDir(FANWE_ROOT . './public/data/tpl/css/'); clearDir(FANWE_ROOT . './public/data/tpl/js/'); $css_dir = FANWE_ROOT . './tpl/' . $settings['site_tmpl'] . '/css/'; $css_cache_dir = FANWE_ROOT . './public/data/tpl/css/'; $css_site_path = $_FANWE['site_root'] . 'tpl/' . $settings['site_tmpl'] . '/'; $directory = dir($css_dir); while ($entry = $directory->read()) { if ($entry != '.' && $entry != '..' && stripos($entry, '.css') !== false) { $css_path = $css_dir . $entry; $css_content = @file_get_contents($css_path); $css_content = preg_replace("/\\.\\.\\//", $css_site_path, $css_content); $css_cache_path = $css_cache_dir . '/' . $entry; writeFile($css_cache_path, $css_content); } } $directory->close(); FanweService::instance()->cache->saveCache('setting', $settings); }
/** * 兑换排行 */ public function getExchangeTop($num = 10) { $sql = "SELECT o.uid,o.user_name,SUM(o.data_num) AS sum_count " . 'FROM ' . FDB::table('order') . ' AS o ' . "GROUP BY o.uid ORDER BY sum_count DESC LIMIT 0,{$num}"; $list = array(); $query = FDB::query($sql); while ($data = FDB::fetch($query)) { $list[] = $data; } return $list; }
public function getList($uid) { $uid = (int) $uid; $list = FDB::fetchAll('SELECT * FROM ' . FDB::table('sys_notice') . ' WHERE uid = ' . $uid . ' ORDER BY id DESC'); FDB::query("UPDATE " . FDB::table('sys_notice') . " SET status = 1 WHERE uid='{$uid}' AND status = 0"); return $list; }
function bindCacheAsk() { $asks = array(); $res = FDB::query("SELECT a.* FROM " . FDB::table('ask') . " as a \r\n\t\t\t\tWHERE status = 1"); while ($data = FDB::fetch($res)) { $data['url'] = FU('ask/forum', array('aid' => $data['aid'])); $asks[$data['aid']] = $data; } FanweService::instance()->cache->saveCache('asks', $asks); }
function bindCacheBusiness() { $list = array(); $res = FDB::query("SELECT * FROM " . FDB::table('sharegoods_module') . " \r\n\t\tWHERE status = 1 ORDER BY sort ASC,id ASC"); while ($data = FDB::fetch($res)) { $api_data = unserialize($data['api_data']); unset($data['api_data']); $data = array_merge($data, $api_data); $list[$data['class']] = $data; } FanweService::instance()->cache->saveCache('business', $list); }
public function collectCates() { setTimeLimit(3600); $ccate = FDB::fetchFirst('SELECT * FROM ' . FDB::table('goods_cate_collect') . ' LIMIT 0,1'); if (!$ccate) { return false; } FDB::query('DELETE FROM ' . FDB::table('goods_cate_collect') . " WHERE id = '{$ccate['id']}'"); global $_FANWE; Cache::getInstance()->loadCache('business'); //QQ号 define('PAIPAI_API_UIN', trim($_FANWE['cache']['business']['paipai']['uin'])); //令牌 define('PAIPAI_API_APPOAUTHID', trim($_FANWE['cache']['business']['paipai']['appoauthid'])); //APP_KEY define('PAIPAI_API_APPOAUTHKEY', trim($_FANWE['cache']['business']['paipai']['appoauthkey'])); define('PAIPAI_API_ACCESSTOKEN', trim($_FANWE['cache']['business']['paipai']['accesstoken'])); define('PAIPAI_API_USERID', trim($_FANWE['cache']['business']['paipai']['userid'])); $sdk = new PaiPaiOpenApiOauth(PAIPAI_API_APPOAUTHID, PAIPAI_API_APPOAUTHKEY, PAIPAI_API_ACCESSTOKEN, PAIPAI_API_UIN); $sdk->setApiPath("/attr/getNavigationChildList.xhtml"); $sdk->setMethod("get"); $sdk->setCharset("utf-8"); $sdk->setFormat("json"); $params =& $sdk->getParams(); $params["navigationId"] = $ccate['cid']; //请求数据 $json = $sdk->invoke(); $json = preg_replace("/[\r\n]/", '', $json); preg_match("/getNavigationChildListSuccess\\((.+?)\\);\\}catch\\(/", $json, $list); $list = json_decode($list[1], true); $sort_file = FANWE_ROOT . '/public/records/cate.sort.php'; $sort = (int) @file_get_contents($sort_file); if (isset($list['childList'])) { foreach ($list['childList'] as $item) { $cate = array(); $cate['type'] = 'paipai'; $cate['id'] = (int) $item['navigationId']; if ($cate['id'] > 0) { $cate['pid'] = $ccate['cid'] == 0 ? '' : $ccate['cid']; $cate['name'] = (string) $item['navigationName']; $cate['pids'] = empty($ccate['pids']) ? $cate['pid'] : $ccate['pids'] . ',' . $cate['pid']; $cate['sort'] = ++$sort; FDB::insert('goods_cates', $cate, false, true); if ((int) $item['isClass'] == 0) { FDB::insert('goods_cate_collect', array('id' => 'NULL', 'cid' => $cate['id'], 'pids' => $cate['pids'])); } } } @file_put_contents($sort_file, $sort); } return true; }
function bindCacheUsercate() { $categorys = array(); $res = FDB::query("SELECT * FROM " . FDB::table('user_category') . " WHERE status = 1"); while ($data = FDB::fetch($res)) { $data['tags'] = FDB::fetchAll('SELECT ut.* FROM ' . FDB::table('user_category_tags') . ' AS uct INNER JOIN ' . FDB::table('user_tags') . ' AS ut ON ut.tag_id = uct.tag_id WHERE uct.cate_id = ' . $data['id'] . ' ORDER BY ut.sort ASC,ut.tag_id ASC'); $categorys[$data['id']] = $data; } FanweService::instance()->cache->saveCache('usertagcate', $categorys); }
public function run() { global $_FANWE; $root = array(); $root['return'] = 1; $page = (int) $_FANWE['requestData']['page']; $page = max(1, $page); $total = FDB::resultFirst('SELECT COUNT(id) FROM ' . FDB::table('user_daren') . ' WHERE status = 1'); $page_size = PAGE_SIZE; $page_total = max(1, ceil($total / $page_size)); if ($page > $page_total) { $page = $page_total; } $limit = ($page - 1) * $page_size . "," . $page_size; $user_follows = array(); $res = FDB::query('SELECT u.uid,u.user_name,u.server_code,uc.fans,ud.reason,up.introduce FROM ' . FDB::table('user_daren') . ' AS ud INNER JOIN ' . FDB::table('user') . ' AS u ON u.uid = ud.uid INNER JOIN ' . FDB::table('user_count') . ' AS uc ON uc.uid = ud.uid INNER JOIN ' . FDB::table('user_profile') . ' AS up ON up.uid = ud.uid WHERE ud.status = 1 ORDER BY ud.id DESC LIMIT ' . $limit); while ($data = FDB::fetch($res)) { $data['user_avatar'] = avatar($data['uid'], 'm', $data['server_code'], 1, true); $data['desc'] = $data['introduce']; if (!empty($data['reason'])) { $data['desc'] = $data['reason']; } unset($data['server_code'], $data['introduce'], $data['reason']); if ($data['uid'] == $_FANWE['uid']) { $data['is_follow'] = -1; } else { $user_follows[$data['uid']] = 0; $data['is_follow'] = 0; } $user_list[$data['uid']] = $data; } $uids = array_keys($user_follows); $uids = implode(',', $uids); $uids = str_replace(',,', ',', $uids); if (!empty($uids)) { $res = FDB::query("SELECT uid FROM " . FDB::table('user_follow') . ' WHERE f_uid = ' . $_FANWE['uid'] . ' AND uid IN (' . $uids . ')'); while ($item = FDB::fetch($res)) { $user_list[$item['uid']]['is_follow'] = 1; } } $root['item'] = array_slice($user_list, 0); $root['page'] = array("page" => $page, "page_total" => $page_total); m_display($root); }
function bindCacheLink() { global $_FANWE; $list = array(); $res = FDB::query("SELECT * FROM " . FDB::table('friend_link') . " WHERE status = 1 ORDER BY sort ASC,id ASC"); while ($data = FDB::fetch($res)) { $list['all'][$data['id']] = $data; if (empty($data['img'])) { $list['texts'][] = $data['id']; } else { $list['imgs'][] = $data['id']; } } FanweService::instance()->cache->saveCache('links', $list); }
public function deleteGoods($gid) { global $_FANWE; $gid = (int) $gid; $goods = FDB::fetchFirst('SELECT * FROM ' . FDB::table('second_goods') . ' WHERE gid = ' . $gid); if (empty($goods)) { return; } $share_id = $goods['share_id']; $share = FS('Share')->getShareById($share_id); FS('Share')->deleteShare($share_id); FDB::query('UPDATE ' . FDB::table('user') . ' SET seconds = seconds - 1 WHERE uid = ' . $share['uid']); FS('Medal')->runAuto($share['uid'], 'seconds'); }
/** * 分类最新的主题 */ function getIndexTopic() { global $_FANWE; $args = array(); $cache_file = getTplCache('inc/index/new_topic', array(), 1); if (getCacheIsUpdate($cache_file, 600)) { $res = FDB::query('SELECT fid,thread_count FROM ' . FDB::table('forum') . ' WHERE parent_id = 0'); while ($data = FDB::fetch($res)) { $_FANWE['cache']['forums']['all'][$data['fid']]['thread_count'] = $data['thread_count']; } $args['new_list'] = FS('Topic')->getImgTopic('new', 7, 4); $args['ask_list'] = FS('Ask')->getImgAsk('new', 2, 1); } return tplFetch('inc/index/topics', $args, '', $cache_file); }
/** * * @param $cids 分类ID数组 * @param $limit */ function getHotTags($cids = array(), $cate_code, $limit) { $hot_tags = array(); $sql = 'SELECT gt.tag_name,gt.tag_code,gt.count,gt.is_hot FROM ' . FDB::table('goods_tags') . ' as gt INNER JOIN ' . FDB::table("goods_category_tags") . ' AS gct ON gct.tag_id = gt.tag_id WHERE gct.cate_id IN (' . implode(',', $cids) . ') ORDER BY gt.count DESC,gt.sort ASC LIMIT 0,' . $limit; $res = FDB::query($sql); while ($data = FDB::fetch($res)) { $data['url'] = FU("book/cate", array('cate' => $cate_code, 'tag' => urlencode($data['tag_name']))); $hot_tags[] = $data; } return $hot_tags; }
public function run() { global $_FANWE; $root = array(); $root['return'] = 0; $uid = $_FANWE['uid']; if ($uid == 0) { $root['info'] = "请先登陆"; m_display($root); } $root['home_user'] = $_FANWE['user']; $page = (int) $_FANWE['requestData']['page']; $page = max(1, $page); $uids = array(); //获取我关注的会员编号 $sql = 'SELECT uid FROM ' . FDB::table('user_follow') . ' WHERE f_uid = ' . $uid; $res = FDB::query($sql); while ($data = FDB::fetch($res)) { $uids[] = (int) $data['uid']; } if (count($uids) > 0) { $sql = 'SELECT COUNT(share_id) FROM ' . FDB::table("share") . ' WHERE uid IN (' . implode(',', $uids) . ')'; $total = FDB::resultFirst($sql); $page_size = PAGE_SIZE; $page_total = max(1, ceil($total / $page_size)); if ($page > $page_total) { $page = $page_total; } $limit = ($page - 1) * $page_size . "," . $page_size; $share_list = array(); $sql = 'SELECT * FROM ' . FDB::table("share") . ' WHERE uid IN (' . implode(',', $uids) . ') ORDER BY share_id DESC LIMIT ' . $limit; $share_list = FDB::fetchAll($sql); $share_list = mGetShareDetailList($share_list, true); } else { $page_total = 0; $share_list = array(); } $root['return'] = 1; if (count($share_list) > 0) { $root['item'] = array_slice($share_list, 0); } else { $root['item'] = array(); } $root['page'] = array("page" => $page, "page_total" => $page_total); m_display($root); }
function bindCacheIpbanned() { FDB::query("DELETE FROM " . FDB::table('ip_banned') . " WHERE expiration<'" . TIME_UTC . "'"); $data = array(); $query = FDB::query("SELECT ip1, ip2, ip3, ip4, expiration FROM " . FDB::table('ip_banned')); if (FDB::numRows($query)) { $data['expiration'] = 0; $data['regexp'] = $separator = ''; } while ($banned = FDB::fetch($query)) { $data['expiration'] = !$data['expiration'] || $banned['expiration'] < $data['expiration'] ? $banned['expiration'] : $data['expiration']; $data['regexp'] .= $separator . ($banned['ip1'] == '-1' ? '\\d+\\.' : $banned['ip1'] . '\\.') . ($banned['ip2'] == '-1' ? '\\d+\\.' : $banned['ip2'] . '\\.') . ($banned['ip3'] == '-1' ? '\\d+\\.' : $banned['ip3'] . '\\.') . ($banned['ip4'] == '-1' ? '\\d+' : $banned['ip4']); $separator = '|'; } FanweService::instance()->cache->saveCache('ipbanned', $data); }
function bindCacheMedal() { $list = array(); $res = FDB::query("SELECT * FROM " . FDB::table('medal') . " WHERE status = 1"); while ($data = FDB::fetch($res)) { $data['big_img'] = './public/medal/big/' . $data['image']; $data['small_img'] = './public/medal/small/' . $data['image']; $list['all'][$data['mid']] = $data; if ($data['give_type'] == 0) { $list['auto'][] = $data['mid']; $list[$data['conditions']][] = $data['mid']; } else { $list['manual'][] = $data['mid']; } } FanweService::instance()->cache->saveCache('medals', $list); }
public function run() { global $_FANWE; $root = array(); $root['return'] = 0; //print_r($_FANWE['requestData']); $user_name_or_email = addslashes($_FANWE['requestData']['email']); $password = md5(trim($_FANWE['requestData']['pwd'])); if ($user_name_or_email == '') { $root['info'] = '登陆帐户不能为空'; m_display($root); } $user_field = $_FANWE['setting']['integrate_field_id']; $sql = "SELECT uid,status,{$user_field},server_code FROM " . FDB::table('user') . " WHERE (email = '{$user_name_or_email}' OR user_name = '{$user_name_or_email}') AND password = '******'"; //echo $sql; $user_info = FDB::fetchFirst($sql); //print_r($user_info);exit; $uid = intval($user_info['uid']); $integrate_id = intval($user_info[$user_field]); //===========add by chenfq 2011-10-14========================== if ($uid <= 0) { $uid = FS("Integrate")->addUserToLoacl($user_name_or_email, $password, 1); //重新取一下当前数据库的用户数据 $sql = "SELECT uid,{$user_field},status,server_code FROM " . FDB::table('user') . " WHERE uid = '{$uid}'"; $user_info = FDB::fetchFirst($sql); $uid = intval($user_info['uid']); $integrate_id = intval($user_info[$user_field]); } //===========add by chenfq 2011-10-14========================== //echo $uid; exit; if ($uid > 0) { if ($user_info['status'] == 0) { m_display($root); } $root['uid'] = $uid; $root['user_avatar'] = avatar($uid, 'b', $user_info['server_code'], 1, true); $root['home_user'] = FS("User")->getUserById($uid); $root['return'] = 1; $deviceuid = addslashes(trim($_FANWE['requestData']['deviceuid'])); $sql = "update " . FDB::table('apns_devices') . " set clientid = " . $uid . " where clientid = 0 and deviceuid = '" . $deviceuid . "'"; FDB::query($sql); } else { $root['info'] = '帐户不存在或密码错误'; } m_display($root); }
function bindCacheCity() { $citys = array(); $res = FDB::query("SELECT * FROM " . FDB::table('region') . " ORDER BY id ASC"); while ($data = FDB::fetch($res)) { if ($data['parent_id'] == 0) { $citys['province'][] = $data['id']; } elseif ($data['parent_id'] > 0) { $citys['city'][$data['parent_id']][] = $data['id']; } $citys['all'][$data['id']] = $data; } include_once fimport('class/json'); $json = new JSON(); writeFile(PUBLIC_ROOT . './js/city.js', 'var CITYS = ' . $json->encode($citys) . ';'); FanweService::instance()->cache->saveCache('citys', $citys); }