function Main() { $member = jsg_member_info(MEMBER_ID); $_act_list = array('imjiqiren' => 1, 'qqrobot' => 1, 'sms' => 1, 'sina' => 1, 'qqwb' => 1); if (isset($_act_list[$this->Code])) { $this->Messager(null, "index.php?mod=tools&code={$this->Code}"); } if ('email' == $this->Code) { $this->Messager(null, 'index.php?mod=settings&code=base#modify_email_area'); } $act_list = array('base' => '我的资料', 'face' => '我的头像', 'secret' => '修改密码', 'user_tag' => array('name' => '我的标签', 'link_mod' => 'user_tag'), 'vip_intro' => array('name' => '申请V认证', 'link_mod' => 'other', 'link_code' => 'vip_intro')); if ($member['validate'] && $member['validate_extra']) { $act_list['validate_extra'] = '专题设置'; } if ($this->Config['sendmailday'] && $this->Config['sendmailday'] > 0) { $act_list['sendmail'] = '邮件提醒'; } if ($this->Config['vest_enable']) { $act_list['vest'] = '我的马甲'; } $this->Code = $act = $this->Code ? $this->Code : 'base'; $member_nickname = $member['nickname']; if ('face' == $act) { if (true === UCENTER_FACE && true === UCENTER) { include_once ROOT_PATH . './api/uc_client/client.php'; $uc_avatarflash = uc_avatar(MEMBER_UCUID, 'avatar', 'returnhtml'); $query = $this->DatabaseHandler->Query("select * from " . TABLE_PREFIX . "members where `uid`='{$member['uid']}'"); $_member_info = $query->GetRow(); if ($member['uid'] > 0 && MEMBER_UCUID > 0 && !$_member_info['face']) { $uc_check_result = uc_check_avatar(MEMBER_UCUID); if ($uc_check_result) { $this->DatabaseHandler->Query("update " . TABLE_PREFIX . "members set `face`='./images/noavatar.gif' where `uid`='{$member['uid']}'"); } } } elseif (true === UCENTER_FACE && true === PWUCENTER) { $pwuc_avatarflash = true; $pwurl_setuserface = UC_API . '/profile.php?action=modify&info_type=face'; } else { $temp_face = ''; if ($this->Get['temp_face'] && is_image($this->Get['temp_face'])) { $temp_face = $this->Get['temp_face']; $member['face_original'] = $temp_face; } } } elseif ('base' == $act) { $op = jget('op'); $groupProfile = jconf::get('groupprofile'); $sql = "select * from `" . TABLE_PREFIX . "memberfields` where `uid`='{$member['uid']}'"; $query = $this->DatabaseHandler->Query($sql); $memberfields = $query->GetRow(); if (!$memberfields) { $memberfields = array(); $memberfields['uid'] = $member['uid']; $sql = "insert into `" . TABLE_PREFIX . "memberfields` (`uid`) values ('{$member['uid']}')"; $this->DatabaseHandler->Query($sql); } $privacy = array(); if ($memberfields['profile_set']) { $privacy = unserialize($memberfields['profile_set']); } #附加信息 $member_profile = DB::fetch_first("select * from `" . TABLE_PREFIX . "members_profile` where `uid` = '{$member['uid']}'"); if ($member_profile) { if ($member_profile['birthcity']) { $birthcity = explode('-', $member_profile['birthcity']); $b_province = $birthcity[0]; $b_city = $birthcity[1]; $b_area = $birthcity[2]; $b_street = $birthcity[3]; } $member = array_merge($member_profile, $member); } $query = $this->DatabaseHandler->Query("select * from " . TABLE_PREFIX . "common_district where `upid` = '0' order by list"); while ($rsdb = $query->GetRow()) { $province[$rsdb['id']]['value'] = $rsdb['id']; $province[$rsdb['id']]['name'] = $rsdb['name']; if ($member['province'] == $rsdb['name']) { $province_id = $rsdb['id']; } } $b_province_list = jform()->Select("b_province", $province, $b_province, "onchange=\"changeProvince('b');\""); if (@is_file(ROOT_PATH . 'include/logic/cp.logic.php') && $this->Config['company_enable']) { if ($member['companyid']) { $canmod = false; } else { $canmod = true; } $companyselect = $this->CpLogic->get_cp_html($member['companyid'], 'company', 0, $canmod); if ($this->Config['department_enable']) { if ($member['departmentid']) { $danmod = false; } else { $danmod = true; } $departmentselect = $this->CpLogic->get_cp_html($member['departmentid'], 'department', $member['companyid'], $danmod); } if ($member['jobid']) { $janmod = false; } else { $janmod = true; } $jobselect = jlogic('job')->get_job_select($member['jobid'], $janmod); $morcompanys = $this->CpLogic->get_cp_users(); } $gender_radio = jform()->Radio('gender', array(1 => array('name' => '男', 'value' => 1), 2 => array('name' => '女', 'value' => 2)), $member['gender']); $_options = array('0' => array('name' => '请选择', 'value' => '0'), '身份证' => array('name' => '身份证', 'value' => '身份证'), '学生证' => array('name' => '学生证', 'value' => '学生证'), '军官证' => array('name' => '军官证', 'value' => '军官证'), '护照' => array('name' => '护照', 'value' => '护照'), '营业执照' => array('name' => '营业执照', 'value' => '营业执照'), '官方公函' => array('name' => '官方公函', 'value' => '官方公函'), '驾驶证' => array('name' => '驾驶证', 'value' => '驾驶证'), '其他' => array('name' => '其他', 'value' => '其他')); $validate_card_type_select = jform()->Select('validate_card_type', $_options, $memberfields['validate_card_type']); $province_list = jform()->Select("province", $province, $province_id, "onchange=\"changeProvince();\""); if ($province_id) { if ($member['city']) { $hid_city = DB::result_first("select `id` from " . TABLE_PREFIX . "common_district where name = '{$member['city']}' and upid = '{$province_id}'"); } if ($hid_city) { if ($member['area']) { $hid_area = DB::result_first("select `id` from " . TABLE_PREFIX . "common_district where name = '{$member['area']}' and upid = '{$hid_city}'"); } if ($hid_area) { if ($member['street']) { $hid_street = DB::result_first("select `id` from " . TABLE_PREFIX . "common_district where name = '{$member['street']}' and upid = '{$hid_area}'"); } } } } } elseif ('user_medal' == $act) { if ($this->Config[sina_enable] && sina_weibo_init($this->Config)) { $sina = sina_weibo_has_bind(MEMBER_ID); } if ($this->Config[imjiqiren_enable] && imjiqiren_init($this->Config)) { $imjiqiren = imjiqiren_has_bind(MEMBER_ID); } if ($this->Config[sms_enable] && sms_init($this->Config)) { $sms = sms_has_bind(MEMBER_ID); } if ($this->Config[qqwb_enable] && qqwb_init($this->Config)) { $qqwb = qqwb_bind_icon(MEMBER_ID); } $sql = "select MD.medal_img , MD.medal_name , UM.* from `" . TABLE_PREFIX . "user_medal` UM left join `" . TABLE_PREFIX . "medal` MD on UM.medalid=MD.id where UM.uid='" . MEMBER_ID . " ' "; $query = $this->DatabaseHandler->Query($sql); $medal_list = array(); $medal_ids = array(); while (false != ($row = $query->GetRow())) { $medal_list[] = $row; $medal_ids[$row['medalid']] = $row['medalid']; } $medal_ids_str = implode(",", $medal_ids); $_member = DB::fetch_first("select * from " . TABLE_PREFIX . "members where `uid`='" . MEMBER_ID . "'"); if ($medal_ids_str != $_member['medal_id']) { $this->DatabaseHandler->Query("update " . TABLE_PREFIX . "members set medal_id='{$medal_ids_str}' where `uid`='" . MEMBER_ID . "'"); } } elseif ('exp' == $act) { $experience = jconf::get('experience'); $exp_list = $experience['list']; $mylevel = $member['level']; $my_credits = $member['credits']; foreach ($exp_list as $v) { if ($my_credits >= $v['start_credits']) { $my_level = $v['level']; } } if ($mylevel != $my_level) { $sql = "update `" . TABLE_PREFIX . "members` set `level`='{$my_level}' where `uid`='" . MEMBER_ID . "'"; $this->DatabaseHandler->Query($sql); $sql = "select `level` from `" . TABLE_PREFIX . "members` where `uid`='" . MEMBER_ID . "' "; $query = $this->DatabaseHandler->Query($sql); $members = $query->GetRow(); $member['level'] = $members['level']; } $my_level_begin_credits = $exp_list[$my_level]['start_credits']; $next_level = $my_level + 1; $next_level_begin_credits = $exp_list[$next_level]['start_credits']; $my_exp = $my_credits - $my_level_begin_credits; $nex_exp = $next_level_begin_credits - $my_level_begin_credits; $level_width_arr = array('1' => '27', '2' => '31', '3' => '45', '4' => '51', '5' => '62', '6' => '68', '7' => '77', '8' => '82', '9' => '93', '10' => '107'); $level_width = $my_exp * $level_width_arr[$my_level] / $nex_exp; $exp_width_arr = array('1' => '15', '2' => '41', '3' => '72', '4' => '116', '5' => '166', '6' => '229', '7' => '296', '8' => '372', '9' => '451', '10' => '545'); $exp_width = 100 * (($level_width + $exp_width_arr[$my_level]) / 569); $nex_exp_credit = $next_level_begin_credits - $my_credits; } elseif ('validate_extra' == $act) { $sql = "select `validate_extra` from `" . TABLE_PREFIX . "memberfields` where `uid` = '" . MEMBER_ID . "' "; $query = $this->DatabaseHandler->Query($sql); $memberfields = $query->GetRow(); $meb_fields = @unserialize($memberfields['validate_extra']); if ($meb_fields['vote']) { $sql = "select * from `" . TABLE_PREFIX . "vote` where `uid` = '" . MEMBER_ID . "' order by `vid` desc limit 0,10 "; $query = $this->DatabaseHandler->Query($sql); $vote_list = array(); while (false != ($row = $query->GetRow())) { $vote_list[] = $row; } } Load::logic('validate_extra'); $this->ValidateExtraLogic = new ValidateExtraLogic(); $uid = MEMBER_ID; $extra = $this->ValidateExtraLogic->get_info($uid); $id = $extra['id']; $data = $extra['data']; } elseif ('qqrobot' == $act) { if (empty($member['qq'])) { $qq_code = $member['uid'] . "j" . md5($member['password'] . $member['username']); } } elseif ('extcredits' == $act) { if (!$this->Config['extcredits_enable']) { $this->Messager("积分功能未启用", null); } $this->Title = '积分管理'; $this->MetaKeywords = '积分兑换,积分管理,积分规则,积分详情'; $this->MetaDescription = '积分兑换,积分管理,积分规则,积分详情'; $top_credit_members = jlogic('mall')->get_top_member_credits(); $feeds = jlogic('feed')->get_feed(5, "`action`='兑换了'"); $config = jconf::get('mall'); $css['rule'] = ' class="current"'; $credits_config = $this->Config['credits']; $_default_credits = array(); $_enable = false; if (is_array($credits_config) && count($credits_config)) { foreach ($credits_config['ext'] as $_k => $_v) { if ($_v['enable']) { $_enable = true; if ($_v['default']) { $_default_credits[$_k] = $_v['default']; } } } } if (!$_enable) { $this->Messager("积分未设置", null); } $op = $this->Get['op']; $op_lists = array('base' => '我的积分', 'detail' => '积分详情', 'rule' => '积分规则'); $op = isset($op_lists[$op]) ? $op : 'base'; if ('base' == $op) { $_search = $_replace = array(); for ($i = 1; $i <= 8; $i++) { $k = 'extcredits' . $i; $_search[$k] = '$member[' . $k . ']'; $_replace[$k] = ' 0 '; if (isset($credits_config['ext'][$k]) && $credits_config['ext'][$k]['enable']) { $_replace[$k] = $credits_config['ext'][$k]['name']; } } $_search['topic_count'] = '$member[topic_count]'; $_replace['topic_count'] = '发微博数量'; $credits_config_formula = str_replace($_search, $_replace, $credits_config['formula']); } elseif ('log' == $op) { $query = $this->DatabaseHandler->Query("select R.rulename,R.action,R.related,RL.* from " . TABLE_PREFIX . "credits_rule_log RL left join " . TABLE_PREFIX . "credits_rule R on R.rid=RL.rid where RL.`uid`='" . MEMBER_ID . "'"); $log_list = array(); while ($row = $query->GetRow()) { $log_list[$row['action']] = $row; } if ($_default_credits) { $log_list['default_credits'] = $_default_credits; $log_list['default_credits']['rulename'] = '注册时的初始积分'; $log_list['default_credits']['total'] = $log_list['default_credits']['cyclenum'] = 1; } $_counts = array(); foreach ($log_list as $k => $row) { $row['dateline'] = $row['dateline'] ? my_date_format($row['dateline'], 'm-d H:i') : ' - '; foreach ($credits_config['ext'] as $_k => $_v) { if (!in_array($k, array('attach_down', 'down_my_attach', 'convert', 'unconvert'))) { $row[$_k] = $row[$_k] * $row['total']; } $_counts[$_k] += $row[$_k]; } if (strpos($row['action'], '_C') !== false || strpos($row['action'], '_D') !== false) { $row['related'] = jlogic('channel')->id2subject($row['related']); } $log_list[$k] = $row; } } elseif ('detail' == $op) { $uid = MEMBER_ID; $rule = jconf::get('credits_rule'); foreach ($rule as $key => $value) { $rule_id[$value['rid']] = $value['rulename']; } $credits_field = array(); foreach ($GLOBALS['_J']['config']['credits']['ext'] as $key => $value) { $credits_field[] = $key; } $list = jtable('credits_log')->get(array('sql_where' => "uid = {$uid}", 'sql_order' => 'id desc', 'page_num' => 20)); foreach ($list['list'] as $key => $value) { $log_list[$key]['rid'] = $value['rid']; $log_list[$key]['rulename'] = $rule_id[$value['rid']]; $log_list[$key]['dateline'] = $value['dateline'] ? my_date_format($value['dateline'], 'm-d H:i') : ' - '; foreach ($credits_field as $k => $v) { $log_list[$key][$v] = $value[$v]; } if (strpos($value['remark'], '[a]') && strpos($value['remark'], '发布') === 0) { $t = explode('[a]', $value['remark']); $t1 = $t[1]; $t = parse_url($t[1]); $t = $t['query']; parse_str($t, $out); $log_list[$key]['remark'] = "发布微博【微博ID:<a href='{$t1}' target='_blank'>{$out[code]}</a>】"; $log_list[$key]['detail_remark'] = "发布微博【微博ID:{$out['code']}】"; } else { $log_list[$key]['remark'] = strlen($value['remark']) > 30 ? mb_substr($value['remark'], 0, 30, $GLOBALS['_J']['charset']) . '...' : $value['remark']; $log_list[$key]['detail_remark'] = $value['remark']; } } } elseif ('rule' == $op) { if (!($credits_rule = jconf::get('credits_rule'))) { $sql = "select * from " . TABLE_PREFIX . "credits_rule order by rid"; $query = $this->DatabaseHandler->Query($sql); $credits_rule = array(); while (false != ($row = $query->GetRow())) { $v = false; foreach ($credits_config['ext'] as $_k => $_v) { if ($row[$_k]) { $v = true; break; } } if ($v) { foreach ($row as $k => $v) { if (!$v) { unset($row[$k]); } } $credits_rule[$row['action']] = $row; } } } $_cycletypes = array(0 => '一次性', 1 => '每天', 2 => '整点', 3 => '间隔分钟', 4 => '不限周期'); if ($_default_credits) { $credits_rule['default_credits'] = $_default_credits; $credits_rule['default_credits']['rulename'] = '注册时的初始积分'; $credits_rule['default_credits']['cycletype'] = 0; $credits_rule['default_credits']['rewardnum'] = 1; } $mall_enable = (int) jconf::get('mall', 'enable'); foreach ($credits_rule as $k => $v) { if ('unconvert' == $k || 'convert' == $k && empty($mall_enable)) { unset($credits_rule[$k]); } else { $v['cycletype'] = $_cycletypes[(int) $v['cycletype']]; if (!$v['rewardnum']) { $v['rewardnum'] = '不限次数'; } $credits_rule[$k] = $v; } } } else { $this->Messager("未定义的操作"); } } elseif ('imjiqiren' == $act) { define('IN_IMJIQIREN_MOD', true); include ROOT_PATH . 'modules/imjiqiren.mod.php'; } elseif ('sms' == $act) { define('IN_SMS_MOD', true); include ROOT_PATH . 'modules/sms.mod.php'; } elseif ('qqwb' == $act) { if (!qqwb_init($this->Config)) { $this->Messager('腾讯微博功能未启用,请联系管理员', null); } $qqwb = jconf::get('qqwb'); $qqwb_bind_info = qqwb_bind_info(MEMBER_ID); if ($qqwb_bind_info) { if ($qqwb['is_synctopic_toweibo']) { $synctoqq_radio = jform()->YesNoRadio('synctoqq', (int) $qqwb_bind_info['synctoqq']); } } } elseif ('sina' == $act) { $profile_bind_message = ''; $xwb_start_file = ROOT_PATH . 'include/ext/xwb/sina.php'; if (!is_file($xwb_start_file)) { $profile_bind_message = '插件文件丢失,无法启动!'; } else { require $xwb_start_file; $profile_bind_message = '<a href="javascript:XWBcontrol.bind()">如果看不到新浪微博绑定设置窗口,请点击这里启动。</a>'; $GLOBALS['xwb_tips_type'] = 'bind'; $profile_bind_message .= jsg_sina_footer(); } } elseif ('email' == $act) { } else { if ('sendmail' == $act) { if (!$this->Config['sendmailday']) { $this->Messager('本站点尚未开启邮件提醒功能。', -1); } $member['user_notice_time'] = $member['user_notice_time'] ? $member['user_notice_time'] : 3; $sendtime[$member['user_notice_time']] = ' selected '; } else { if ('vest' == $act) { if (!$this->Config['vest_enable']) { $this->Messager('本站点尚未开启马甲功能。', -1); } if ($this->Config['vest_role'] && false == jsg_find($this->Config['vest_role'], $member['role_id'])) { $this->Messager('你所在的用户组没有添加马甲的权限', -1); } $vest = jlogic('member_vest')->get_member_vest(MEMBER_ID); } elseif ('plugin' == $act) { global $_J; $pluginid = jget('id'); if (!empty($pluginid)) { list($identifier, $module) = explode(':', $pluginid); $module = $module !== NULL ? $module : $identifier; } $plugin = jlogic('plugin')->pluginmodule($pluginid); if ($plugin[0]) { include $plugin[2]; $plugintemplate = $identifier . ':' . $module; $act_list['plugin'] = $plugin[1]; } else { $this->Messager($plugin[1]); } } } } if (empty($this->Title)) { $this->Title = $act_list[$act]; } if ('plugin' == $act) { include template('setting/plugin'); } elseif ('extcredits' == $act) { include template('mall_rule'); } else { include template('setting/setting_main'); } }
function Medal() { $act_list = jlogic('other')->act_list(); $act = $this->Code; $uid = MEMBER_ID; $member = $this->TopicLogic->GetMember(MEMBER_ID); if ($member['medal_id']) { $medal_list = $this->TopicLogic->GetMedal($member['medal_id'], $member['uid']); } $view = $this->Get['view']; $all_medal = array(); if ($view == 'my') { $sql = "select u.medalid as medal_id,u.is_index,u.dateline,\r\n\t\t\t\t\t\t m.medal_img,m.medal_name,m.medal_depict,m.conditions\r\n\t\t\t\t from `" . TABLE_PREFIX . "user_medal` u\r\n\t\t\t\t\tleft join `" . TABLE_PREFIX . "medal` m on m.id = u.medalid\r\n\t\t\t\t\twhere u.uid = '{$uid}'\r\n\t\t\t\t\tand m.is_open = 1\r\n\t\t\t\t\torder by u.dateline desc"; if ($this->Config[sina_enable] && sina_weibo_init($this->Config)) { $sina = sina_weibo_has_bind(MEMBER_ID); } if ($this->Config[imjiqiren_enable] && imjiqiren_init($this->Config)) { $imjiqiren = imjiqiren_has_bind(MEMBER_ID); } if ($this->Config[sms_enable] && sms_init($this->Config)) { $sms = sms_has_bind(MEMBER_ID); } if ($this->Config[qqwb_enable] && qqwb_init($this->Config)) { $qqwb = qqwb_bind_icon(MEMBER_ID); } } else { $sql = "SELECT m.id as medal_id,m.medal_img,m.medal_name,m.medal_depict,m.conditions,u.dateline,y.apply_id\r\n\t\t\t\t\tFROM " . TABLE_PREFIX . "medal m\r\n\t\t\t\t\tLEFT JOIN " . TABLE_PREFIX . "user_medal u ON (u.medalid = m.id AND u.uid = '{$uid}')\r\n\t\t\t\t\tLEFT JOIN " . TABLE_PREFIX . "medal_apply y ON (y.medal_id = m.id AND y.uid = '{$uid}')\r\n\t\t\t\t\tWHERE m.is_open = 1\r\n\t\t\t\t\tORDER BY u.dateline DESC,m.id"; $query = $this->DatabaseHandler->Query($sql); while ($rs = $query->GetRow()) { $rs['conditions'] = unserialize($rs['conditions']); if (in_array($rs['conditions']['type'], array('topic', 'reply', 'tag', 'invite', 'fans', 'sign')) && !$rs['dateline']) { $result = jlogic('other')->autoCheckMedal($rs['medal_id']); } } } $query = $this->DatabaseHandler->Query($sql); while ($rsdb = $query->GetRow()) { $rsdb['conditions'] = unserialize($rsdb['conditions']); if ($rsdb['is_index']) { $rsdb['show'] = 'checked'; } $all_medal[$rsdb['medal_id']] = $rsdb; } $count = count($all_medal); $this->Title = "{$this->Config['site_name']}勋章"; include template('other/topic_medal'); }