发布地址';
$links[] = 'GitHub';
}
return $links;
}
public static function action_links($links, $file) {
if ($file != plugin_basename(WP_CHINA_YES_BASE_FILE)) {
return $links;
}
$settings_link = '设置';
array_unshift($links, $settings_link);
return $links;
}
public static function admin_menu() {
add_options_page(
'WP-China-Yes',
'WP-China-Yes',
'manage_options',
'wp_china_yes',
array(__CLASS__, 'settings')
);
}
public static function settings() {
$setting_page_url = plugins_url('settings.html', __FILE__) . '?v=2.2.0';
echo <<
EOT;
}
public static function set_cookie() {
if ( ! isset($_COOKIE['wp-china-yes']) && current_user_can('manage_options')) {
setcookie('wp-china-yes', json_encode([
'get_config' => wp_create_nonce('wpcy_get_config'),
'set_config' => wp_create_nonce('wpcy_set_config')
], JSON_UNESCAPED_UNICODE), time() + 1209600, COOKIEPATH, COOKIE_DOMAIN, false);
}
}
public static function get_config() {
self::success('', get_option('wp_china_yes_options'));
}
public static function set_config() {
if ( ! array_key_exists('community', $_POST) ||
( ! array_key_exists('custom_api_server', $_POST) && ! array_key_exists('custom_download_server', $_POST))) {
self::error('参数错误', - 1);
}
self::set_wp_option(
sanitize_text_field(trim($_POST['community'])),
sanitize_text_field(trim($_POST['custom_api_server'])),
sanitize_text_field(trim($_POST['custom_download_server']))
);
self::success();
}
public static function sponsor_widget() {
wp_add_dashboard_widget('sponsor_widget', '《WordPress中国区仓库源建设计划》赞助商', function () {
require_once plugin_dir_path(__FILE__) . 'sponsor_widget.php';
});
}
private static function success($message = '', $data = []) {
header('Content-Type:application/json; charset=utf-8');
echo json_encode([
'code' => 0,
'message' => $message,
'data' => $data
], JSON_UNESCAPED_UNICODE);
exit;
}
private static function error($message = '', $code = - 1) {
header('Content-Type:application/json; charset=utf-8');
header('Status:500');
echo json_encode([
'code' => $code,
'message' => $message
], JSON_UNESCAPED_UNICODE);
exit;
}
private static function set_wp_option(
$community = 0,
$custom_api_server = '',
$custom_download_server = ''
) {
$options = array();
$options['community'] = (int) $community;
$options['custom_api_server'] = $custom_api_server;
$options['custom_download_server'] = $custom_download_server;
update_option("wp_china_yes_options", $options);
}
}