1
0
Fork 0
mirror of https://github.com/yunluo/gdk.git synced 2024-05-11 02:36:45 +02:00

拆分文件结构

This commit is contained in:
云落 2020-02-12 11:24:44 +08:00
parent cd67c3bc8b
commit a29978474e
5 changed files with 125 additions and 448 deletions

View file

@ -1162,7 +1162,7 @@ function gdk_weauth_token(){
* 微信登陆按钮
*/
function weixin_login_btn(){
$result = '<a id="weixin_login_btn" href="javascript:;" data-action="gdk_weauth_qr_gen" class="button weixin_login_btn">微信登陆</a><span id="weauth_key" class="hide"></span>';
$result = '<a id="weixin_login_btn" href="javascript:;" data-action="gdk_weauth_qr_gen" class="button weixin_login_btn">微信登陆</a><span id="weauth_key" style="display:none" class="hide"></span>';
if(is_user_logged_in()){
$user_id = get_current_user_id();
$user = get_user_by('id', $user_id);

View file

@ -9,6 +9,7 @@ include( 'security.php' );//安全功能
include( 'shortcode.php' );//短代码
include( 'seo.php' );//seo功能
include( 'user.php' );//用户功能
include(GDK_ROOT_PATH.'public/download.php');//单页下载
include(GDK_ROOT_PATH.'public/go.php');//跳转中间页

View file

@ -309,7 +309,7 @@ add_action('wp_network_dashboard_setup', 'gdk_dweandw_remove', 20);
add_action('wp_user_dashboard_setup', 'gdk_dweandw_remove', 20);
add_action('wp_dashboard_setup', 'gdk_dweandw_remove', 20);
//国内更新word press加速
//国内更新WordPress加速
if (gdk_option('gdk_porxy_update') && !gdk_option('gdk_diasble_wp_update')) {
add_filter('site_transient_update_core',function($value) {
foreach($value->updates as &$update) {
@ -324,7 +324,6 @@ if (gdk_option('gdk_porxy_update') && !gdk_option('gdk_diasble_wp_update')) {
}
//文件自动重命名
if(gdk_option('gdk_upload_rename')) {
function gdk_upload_rename( $file ) {
@ -492,163 +491,6 @@ function gdk_notify_admin($notify_message,$comment_ID) {
}
add_filter('comment_notification_text', 'gdk_notify_admin', 10, 2);
//添加后台个人信息
function gdk_contact_fields($contactmethods) {
$contactmethods['qq'] = 'QQ';
$contactmethods['sina_weibo'] = '新浪微博';
$contactmethods['weixin'] = '微信';
unset($contactmethods['yim']);
unset($contactmethods['aim']);
unset($contactmethods['jabber']);
return $contactmethods;
}
add_filter('user_contactmethods', 'gdk_contact_fields');
//支持中文名注册,来自肚兜
function gdk_sanitize_user($username, $raw_username, $strict) {
$username = wp_strip_all_tags($raw_username);
$username = remove_accents($username);
$username = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '', $username);
$username = preg_replace('/&.+?;/', '', $username); // Kill entities
if ($strict) {
$username = preg_replace('|[^a-z\p{Han}0-9 _.\-@]|iu', '', $username);
}
$username = trim($username);
$username = preg_replace('|\s+|', ' ', $username);
return $username;
}
add_filter('sanitize_user', 'gdk_sanitize_user', 10, 3);
// 添加一个新的列 ID
function gdk_userid_column($cols) {
$cols['ssid'] = 'ID';
return $cols;
}
add_action('manage_users_columns', 'gdk_userid_column');
function gdk_userid_value($value, $column_name, $id) {
if ($column_name == 'ssid') $value = $id;
return $value;
}
add_filter('manage_users_custom_column', 'gdk_userid_value', 30, 3);
/**
* WordPress 后台用户列表显示用户昵称
* https://www.wpdaxue.com/add-user-nickname-column.html
*/
add_filter('manage_users_columns', 'gdk_add_user_nickname');
function gdk_add_user_nickname($columns) {
$columns['user_nickname'] = '昵称';
return $columns;
}
add_action('manage_users_custom_column', 'gdk_show_user_nickname_val', 20, 3);
function gdk_show_user_nickname_val($value, $column_name, $user_id) {
$user = get_userdata( $user_id );
$user_nickname = $user->nickname;
if ( 'user_nickname' == $column_name )
return $user_nickname;
return $value;
}
//用户列表显示积分
add_filter('manage_users_columns', 'gdk_points_columns');
function gdk_points_columns($columns) {
$columns['points'] = '金币';
return $columns;
}
function gdk_points_value($value, $column_name, $user_id) {
if ($column_name == 'points') {
$jinbi = GDK_Points::get_user_total_points($user_id, 'accepted');
if ($jinbi != "") {
$ret = $jinbi;
return $ret;
} else {
$ret = '暂无充值';
return $ret;
}
}
return $value;
}
add_action('manage_users_custom_column', 'gdk_points_value', 10, 3);
//用户增加评论数量
function gdk_users_comments($columns) {
$columns['comments'] = '评论';
return $columns;
}
add_filter('manage_users_columns', 'gdk_users_comments');
function gdk_show_users_comments($value, $column_name, $user_id) {
if ($column_name == 'comments') {
$comments_counts = get_comments(array(
'status' => '1',
'user_id' => $user_id,
'count' => true
));
if ($comments_counts != "") {
$ret = $comments_counts;
return $ret;
} else {
$ret = '暂未评论';
return $ret;
}
}
return $value;
}
add_action('manage_users_custom_column', 'gdk_show_users_comments', 10, 3);
// 添加一个字段保存IP地址
function gdk_log_ip($user_id) {
$ip = gdk_get_ip();
update_user_meta($user_id, 'signup_ip', $ip);
}
add_action('user_register', 'gdk_log_ip');
// 添加IP地址这个栏目
function gdk_signup_ip($column_headers) {
$column_headers['signup_ip'] = 'IP地址';
return $column_headers;
}
add_filter('manage_users_columns', 'gdk_signup_ip');
function gdk_ripms_columns($value, $column_name, $user_id) {
if ($column_name == 'signup_ip') {
$ip = get_user_meta($user_id, 'signup_ip', true);
if ($ip != "") {
$ret = $ip;
return $ret;
} else {
$ret = '没有记录';
return $ret;
}
}
return $value;
}
add_action('manage_users_custom_column', 'gdk_ripms_columns', 10, 3);
// 创建一个新字段存储用户登录时间
function gdk_insert_last_login($login) {
$user = get_user_by('login', $login);
update_user_meta($user->ID, 'last_login', current_time('mysql'));
}
add_action('wp_login', 'gdk_insert_last_login');
// 添加一个新栏目上次登录
function gdk_add_last_login_column($columns) {
$columns['last_login'] = '上次登录';
unset($columns['name']);
return $columns;
}
add_filter('manage_users_columns', 'gdk_add_last_login_column');
// 显示登录时间到新增栏目
function gdk_add_last_login($value, $column_name, $user_id) {
if ($column_name == 'last_login') {
$login = get_user_meta($user_id, 'last_login', true);
if ($login != "") {
$ret = $login;
return $ret;
} else {
$ret = '暂未登录';
return $ret;
}
}
return $value;
}
add_action('manage_users_custom_column', 'gdk_add_last_login', 10, 3);
// 评论添加@来自http://www.ludou.org/wordpress-comment-reply-add-at.html
function gdk_comment_add_at($comment_text, $comment = '') {

View file

@ -273,109 +273,6 @@ if( gdk_option('gdk_hide_user_name') ){
add_filter( 'rest_prepare_user', 'gdk_custom_rest_prepare_user', 10, 3 );
}
if (!defined('UM_DIR')) { /*判断是否按照UM插件*/
//注册表单
function gdk_show_extra_register_fields() {
?>
<p>
<label for="password">密码<br/>
<input id="password" class="input" type="password" tabindex="30" size="25" value="" name="password" />
</label>
</p>
<p>
<label for="repeat_password">确认密码<br/>
<input id="repeat_password" class="input" type="password" tabindex="40" size="25" value="" name="repeat_password" />
</label>
</p>
<?php
}
add_action('register_form', 'gdk_show_extra_register_fields');
/*
* Check the form for errors
*/
function gdk_check_extra_register_fields($login, $email, $errors) {
if ($_POST['password'] !== $_POST['repeat_password']) {
$errors->add('passwords_not_matched', "<strong>错误提示</strong>: 两次填写密码不一致");
}
if (strlen($_POST['password']) < 8) {
$errors->add('password_too_short', "<strong>错误提示</strong>: 密码必须大于8个字符");
}
}
add_action('register_post', 'gdk_check_extra_register_fields', 10, 3);
/*
* 提交用户密码进数据库
*/
function gdk_register_extra_fields($user_id) {
$userdata = array();
$userdata['ID'] = $user_id;
if ($_POST['password'] !== '') {
$userdata['user_pass'] = $_POST['password'];
}
$pattern = '/[一-龥]/u';
if (preg_match($pattern, $_POST['user_login'])) {
$userdata['user_nicename'] = $user_id;
}
$new_user_id = wp_update_user($userdata);
}
add_action('user_register', 'gdk_register_extra_fields', 100);
}
//后台登陆数学验证码
if (gdk_option('gdk_login_verify')) {
function gdk_login_verify(){
$num1 = mt_rand(0, 20);
$num2 = mt_rand(0, 20);
echo "<p><label for='sum'> {$num1} + {$num2} = ?<br /><input type='text' name='sum' class='input' value='' size='25' tabindex='4'>" . "<input type='hidden' name='num1' value='{$num1}'>" . "<input type='hidden' name='num2' value='{$num2}'></label></p>";
}
add_action('login_form', 'gdk_login_verify');
add_action('register_form', 'gdk_login_verify');
function gdk_login_verify_val(){
$sum = $_POST['sum'];
switch ($sum) {
case $_POST['num1'] + $_POST['num2']:
break;
case null:
wp_die('错误: 请输入验证码&nbsp; <a href="javascript:;" onclick="javascript:history.back();">返回上页</a>');
break;
default:
wp_die('错误: 验证码错误,请重试&nbsp; <a href="javascript:;" onclick="javascript:history.back();">返回上页</a>');
}
}
add_action('login_form_login', 'gdk_login_verify_val');
add_action('register_post', 'gdk_login_verify_val');
}
//仅显示作者自己的文章
function gdk_show_mypost($wp_query) {
if (strpos($_SERVER['REQUEST_URI'], '/wp-admin/edit.php') !== false) {
if (!current_user_can('manage_options')) {
$wp_query->set('author', get_current_user_id());
}
}
}
add_filter('parse_query', 'gdk_show_mypost');
//在文章编辑页面的[添加媒体]只显示用户自己上传的文件
function gdk_show_myupload($wp_query_obj) {
global $pagenow;
if (!is_a(wp_get_current_user(), 'WP_User')) return;
if ('admin-ajax.php' != $pagenow || $_REQUEST['action'] != 'query-attachments') return;
if (!current_user_can('manage_options') && !current_user_can('manage_media_library')) $wp_query_obj->set('author', get_current_user_id());
return;
}
add_action('pre_get_posts', 'gdk_show_myupload');
//在[媒体库]只显示用户上传的文件
function gdk_show_myupload_library($wp_query) {
if (strpos($_SERVER['REQUEST_URI'], '/wp-admin/upload.php') !== false) {
if (!current_user_can('manage_options') && !current_user_can('manage_media_library')) {
$wp_query->set('author', get_current_user_id());
}
}
}
add_filter('parse_query', 'gdk_show_myupload_library');
//记录登陆失败发邮件
add_action( 'wp_authenticate', 'log_login', 10, 2 );

View file

@ -1,18 +1,27 @@
<?php
//添加后台个人信息
function gdk_add_contact_fields($contactmethods) {
$contactmethods['qq'] = 'QQ';
$contactmethods['sina_weibo'] = '新浪微博';
$contactmethods['baidu'] = '百度ID';
$contactmethods['twitter'] = 'Twitter';
$contactmethods['github'] = 'GitHub';
unset($contactmethods['yim']);
unset($contactmethods['aim']);
unset($contactmethods['jabber']);
return $contactmethods;
//修复 WordPress 找回密码提示“抱歉该key似乎无效”
function gdk_reset_password_message($message, $key) {
if (strpos($_POST['user_login'], '@')) {
$user_data = get_user_by('email', trim($_POST['user_login']));
} else {
$login = trim($_POST['user_login']);
$user_data = get_user_by('login', $login);
}
$user_login = $user_data->user_login;
$msg = "有人要求重设如下帐号的密码:\r\n\r\n";
$msg.= network_site_url() . "\r\n\r\n";
$msg.= sprintf('用户名:%s', $user_login) . "\r\n\r\n";
$msg.= "若这不是您本人要求的,请忽略本邮件,一切如常。\r\n\r\n";
$msg.= "要重置您的密码,请打开下面的链接:\r\n\r\n";
$msg.= wp_login_url() . "?action=rp&key=$key&login=" . rawurlencode($user_login);
return $msg;
}
add_filter('user_contactmethods', 'gdk_add_contact_fields');
add_filter('retrieve_password_message', 'gdk_reset_password_message', null, 2);
if (!defined('UM_DIR')) { /*判断是否按照UM插件*/
//注册表单
@ -60,23 +69,77 @@ if (!defined('UM_DIR')) { /*判断是否按照UM插件*/
}
add_action('user_register', 'gdk_register_extra_fields', 100);
}
//注册之后跳转
if (gdk_option('gdk_register_redirect_ok')) {
function gdk_registration_redirect() {
if (gdk_option('gdk_redirect_choise') == 'gdk_redirect_home') {
$redirect_url = home_url();
} elseif (gdk_option('gdk_redirect_choise') == 'gdk_redirect_author') {
$redirect_url = get_author_posts_url($user_id);
} elseif (gdk_option('gdk_redirect_choise') == 'gdk_redirect_profile') {
$redirect_url = admin_url('wp-admin/profile.php');
} elseif (gdk_option('gdk_redirect_choise') == 'gdk_redirect_profile' && gdk_option('gdk_register_redirect_url')) {
$redirect_url = gdk_option('gdk_register_redirect_url');
}
return $redirect_url;
//后台登陆数学验证码
if (gdk_option('gdk_login_verify')) {
function gdk_login_verify(){
$num1 = mt_rand(0, 20);
$num2 = mt_rand(0, 20);
echo "<p><label for='sum'> {$num1} + {$num2} = ?<br /><input type='text' name='sum' class='input' value='' size='25' tabindex='4'>" . "<input type='hidden' name='num1' value='{$num1}'>" . "<input type='hidden' name='num2' value='{$num2}'></label></p>";
}
add_filter('registration_redirect', 'gdk_registration_redirect');
add_action('login_form', 'gdk_login_verify');
add_action('register_form', 'gdk_login_verify');
function gdk_login_verify_val(){
$sum = $_POST['sum'];
switch ($sum) {
case $_POST['num1'] + $_POST['num2']:
break;
case null:
wp_die('错误: 请输入验证码&nbsp; <a href="javascript:;" onclick="javascript:history.back();">返回上页</a>');
break;
default:
wp_die('错误: 验证码错误,请重试&nbsp; <a href="javascript:;" onclick="javascript:history.back();">返回上页</a>');
}
}
add_action('login_form_login', 'gdk_login_verify_val');
add_action('register_post', 'gdk_login_verify_val');
}
//仅显示作者自己的文章
function gdk_show_mypost($wp_query) {
if (strpos($_SERVER['REQUEST_URI'], '/wp-admin/edit.php') !== false) {
if (!current_user_can('manage_options')) {
$wp_query->set('author', get_current_user_id());
}
}
}
add_filter('parse_query', 'gdk_show_mypost');
//在文章编辑页面的[添加媒体]只显示用户自己上传的文件
function gdk_show_myupload($wp_query_obj) {
global $pagenow;
if (!is_a(wp_get_current_user(), 'WP_User')) return;
if ('admin-ajax.php' != $pagenow || $_REQUEST['action'] != 'query-attachments') return;
if (!current_user_can('manage_options') && !current_user_can('manage_media_library')) $wp_query_obj->set('author', get_current_user_id());
return;
}
add_action('pre_get_posts', 'gdk_show_myupload');
//在[媒体库]只显示用户上传的文件
function gdk_show_myupload_library($wp_query) {
if (strpos($_SERVER['REQUEST_URI'], '/wp-admin/upload.php') !== false) {
if (!current_user_can('manage_options') && !current_user_can('manage_media_library')) {
$wp_query->set('author', get_current_user_id());
}
}
}
add_filter('parse_query', 'gdk_show_myupload_library');
//添加后台个人信息
function gdk_contact_fields($contactmethods) {
$contactmethods['qq'] = 'QQ';
$contactmethods['sina_weibo'] = '新浪微博';
$contactmethods['weixin'] = '微信';
unset($contactmethods['yim']);
unset($contactmethods['aim']);
unset($contactmethods['jabber']);
return $contactmethods;
}
add_filter('user_contactmethods', 'gdk_contact_fields');
//支持中文名注册,来自肚兜
function gdk_sanitize_user($username, $raw_username, $strict) {
$username = wp_strip_all_tags($raw_username);
@ -92,104 +155,55 @@ function gdk_sanitize_user($username, $raw_username, $strict) {
}
add_filter('sanitize_user', 'gdk_sanitize_user', 10, 3);
//修复 WordPress 找回密码提示“抱歉该key似乎无效”
function gdk_reset_password_message($message, $key) {
if (strpos($_POST['user_login'], '@')) {
$user_data = get_user_by('email', trim($_POST['user_login']));
} else {
$login = trim($_POST['user_login']);
$user_data = get_user_by('login', $login);
}
$user_login = $user_data->user_login;
$msg = "有人要求重设如下帐号的密码:\r\n\r\n";
$msg.= network_site_url() . "\r\n\r\n";
$msg.= sprintf('用户名:%s', $user_login) . "\r\n\r\n";
$msg.= "若这不是您本人要求的,请忽略本邮件,一切如常。\r\n\r\n";
$msg.= "要重置您的密码,请打开下面的链接:\r\n\r\n";
$msg.= wp_login_url() . "?action=rp&key=$key&login=" . rawurlencode($user_login);
return $msg;
}
add_filter('retrieve_password_message', 'gdk_reset_password_message', null, 2);
//仅显示作者自己的文章
function mypo_query_useronly($wp_query) {
if (strpos($_SERVER['REQUEST_URI'], '/wp-admin/edit.php') !== false) {
if (!current_user_can('manage_options')) {
$wp_query->set('author', get_current_user_id());
}
}
}
add_filter('parse_query', 'mypo_query_useronly');
//在文章编辑页面的[添加媒体]只显示用户自己上传的文件
function only_my_upload_media($wp_query_obj) {
global $pagenow;
if (!is_a(wp_get_current_user(), 'WP_User')) return;
if ('admin-ajax.php' != $pagenow || $_REQUEST['action'] != 'query-attachments') return;
if (!current_user_can('manage_options') && !current_user_can('manage_media_library')) $wp_query_obj->set('author', get_current_user_id());
return;
}
add_action('pre_get_posts', 'only_my_upload_media');
//在[媒体库]只显示用户上传的文件
function only_my_media_library($wp_query) {
if (strpos($_SERVER['REQUEST_URI'], '/wp-admin/upload.php') !== false) {
if (!current_user_can('manage_options') && !current_user_can('manage_media_library')) {
$wp_query->set('author', get_current_user_id());
}
}
}
add_filter('parse_query', 'only_my_media_library');
// 添加一个新的列 ID
function ssid_column($cols) {
function gdk_userid_column($cols) {
$cols['ssid'] = 'ID';
return $cols;
}
add_action('manage_users_columns', 'ssid_column');
function ssid_return_value($value, $column_name, $id) {
add_action('manage_users_columns', 'gdk_userid_column');
function gdk_userid_value($value, $column_name, $id) {
if ($column_name == 'ssid') $value = $id;
return $value;
}
add_filter('manage_users_custom_column', 'ssid_return_value', 10, 3);
add_filter('manage_users_custom_column', 'gdk_userid_value', 30, 3);
/**
* WordPress 后台用户列表显示用户昵称
* https://www.wpdaxue.com/add-user-nickname-column.html
*/
add_filter('manage_users_columns', 'gdk_add_user_nickname');
function gdk_add_user_nickname($columns) {
$columns['user_nickname'] = '昵称';
return $columns;
}
add_action('manage_users_custom_column', 'gdk_show_user_nickname_val', 20, 3);
function gdk_show_user_nickname_val($value, $column_name, $user_id) {
$user = get_userdata( $user_id );
$user_nickname = $user->nickname;
if ( 'user_nickname' == $column_name )
return $user_nickname;
return $value;
}
//用户列表显示积分
add_filter('manage_users_columns', 'my_users_columns');
function my_users_columns($columns) {
add_filter('manage_users_columns', 'gdk_points_columns');
function gdk_points_columns($columns) {
$columns['points'] = '金币';
return $columns;
}
function output_my_users_columns($value, $column_name, $user_id) {
function gdk_points_value($value, $column_name, $user_id) {
if ($column_name == 'points') {
$jinbi = GDK_Points::get_user_total_points($user_id, POINTS_STATUS_ACCEPTED);
$jinbi = GDK_Points::get_user_total_points($user_id, 'accepted');
if ($jinbi != "") {
$ret = $jinbi;
return $ret;
} else {
$ret = '穷逼一个';
$ret = '暂无充值';
return $ret;
}
}
return $value;
}
add_action('manage_users_custom_column', 'output_my_users_columns', 10, 3);
//本地头像
function gdk_user_avatar($column_headers) {
$column_headers['local_avatar'] = '本地头像';
return $column_headers;
}
add_filter('manage_users_columns', 'gdk_user_avatar');
function gdk_ripms_user_avatar($value, $column_name, $user_id) {
if ($column_name == 'local_avatar') {
$localavatar = get_user_meta($user_id, 'simple_local_avatar', true);
if (empty($localavatar)) {
$ret = '未设置';
return $ret;
} else {
$ret = '已设置';
return $ret;
}
}
return $value;
}
add_action('manage_users_custom_column', 'gdk_ripms_user_avatar', 10, 3);
add_action('manage_users_custom_column', 'gdk_points_value', 10, 3);
//用户增加评论数量
function gdk_users_comments($columns) {
$columns['comments'] = '评论';
@ -216,11 +230,11 @@ function gdk_show_users_comments($value, $column_name, $user_id) {
add_action('manage_users_custom_column', 'gdk_show_users_comments', 10, 3);
// 添加一个字段保存IP地址
function gdk_log_ip($user_id) {
$ip = $_SERVER['REMOTE_ADDR'];
$ip = gdk_get_ip();
update_user_meta($user_id, 'signup_ip', $ip);
}
add_action('user_register', 'gdk_log_ip');
// 添加IP地址这个栏目
// 添加IP地址这个栏目
function gdk_signup_ip($column_headers) {
$column_headers['signup_ip'] = 'IP地址';
return $column_headers;
@ -246,7 +260,7 @@ function gdk_insert_last_login($login) {
update_user_meta($user->ID, 'last_login', current_time('mysql'));
}
add_action('wp_login', 'gdk_insert_last_login');
// 添加一个新栏目上次登录
// 添加一个新栏目上次登录
function gdk_add_last_login_column($columns) {
$columns['last_login'] = '上次登录';
unset($columns['name']);
@ -254,7 +268,7 @@ function gdk_add_last_login_column($columns) {
}
add_filter('manage_users_columns', 'gdk_add_last_login_column');
// 显示登录时间到新增栏目
function gdk_add_last_login_column_value($value, $column_name, $user_id) {
function gdk_add_last_login($value, $column_name, $user_id) {
if ($column_name == 'last_login') {
$login = get_user_meta($user_id, 'last_login', true);
if ($login != "") {
@ -267,81 +281,4 @@ function gdk_add_last_login_column_value($value, $column_name, $user_id) {
}
return $value;
}
add_action('manage_users_custom_column', 'gdk_add_last_login_column_value', 10, 3);
//后台登陆数学验证码
if (gdk_option('gdk_admin_captcha')) {
function gdk_add_login_fields(){
$num1 = mt_rand(0, 20);
$num2 = mt_rand(0, 20);
echo "<p><label for='sum'> {$num1} + {$num2} = ?<br /><input type='text' name='sum' class='input' value='' size='25' tabindex='4'>" . "<input type='hidden' name='num1' value='{$num1}'>" . "<input type='hidden' name='num2' value='{$num2}'></label></p>";
}
add_action('login_form', 'gdk_add_login_fields');
add_action('register_form', 'gdk_add_login_fields');
function gdk_login_val(){
$sum = $_POST['sum'];
switch ($sum) {
case $_POST['num1'] + $_POST['num2']:
break;
case null:
wp_die('错误: 请输入验证码&nbsp; <a href="javascript:;" onclick="javascript:history.back();">返回上页</a>');
break;
default:
wp_die('错误: 验证码错误,请重试&nbsp; <a href="javascript:;" onclick="javascript:history.back();">返回上页</a>');
}
}
add_action('login_form_login', 'gdk_login_val');
add_action('register_post', 'gdk_login_val');
}
//限制每个ip的注册数量
if (gdk_option('gdk_regist_ips')) {
function validate_reg_ips(){
global $err_msg;
$allow_time = gdk_option('gdk_regist_ips_num');
//每个IP允许注册的用户数
$allowed = true;
$ipsfile = ABSPATH . '/ips.txt';
$ips = file_get_contents($ipsfile);
$times = substr_count($ips, getIp());
if ($times >= $allow_time) {
$allowed = false;
$err_msg = "该IP注册用户超过上限无法继续注册";
}
$ips = '';
return $allowed;
}
add_filter('validate_username', 'validate_reg_ips', 10, 1);
function ip_restrict_errors($errors){
global $err_msg;
if (isset($errors->errors['invalid_username'])) {
$errors->errors['invalid_username'][0] = $err_msg;
}
return $errors;
}
add_filter('registration_errors', 'ip_restrict_errors');
function update_reg_ips(){
$ipsfile = ABSPATH . '/ips.txt';
file_put_contents($ipsfile, getIp() . "\r\n", FILE_APPEND);
}
add_action('user_register', 'update_reg_ips');
function getIp(){
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) {
$ip = getenv("HTTP_CLIENT_IP");
} else {
if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else {
if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {
$ip = getenv("REMOTE_ADDR");
} else {
if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
$ip = $_SERVER['REMOTE_ADDR'];
} else {
$ip = "unknown";
}
}
}
}
return $ip;
}
}
add_action('manage_users_custom_column', 'gdk_add_last_login', 10, 3);