$content_min_length = intval(get_option('dmeng_post_min_strlen', 140)); $content_max_length = intval(get_option('dmeng_post_max_strlen', 12000)); if ($content_length < $content_min_length || $content_length > $content_max_length) { $message = sprintf(__('提交失败,文章内容至少%1$s字,最多%2$s字。', 'dmeng'), $content_min_length, $content_max_length); } else { $status = sanitize_text_field($_POST['post_status']); if ($action === 'edit') { $new_post = wp_update_post(array('ID' => intval($_GET['id']), 'post_title' => $title, 'post_content' => $content, 'post_status' => isset($post_statuses[$status]) ? $status : 'draft', 'post_author' => get_current_user_id(), 'post_category' => $cat)); } else { $new_post = wp_insert_post(array('post_title' => $title, 'post_content' => $content, 'post_status' => isset($post_statuses[$status]) ? $status : 'draft', 'post_author' => get_current_user_id(), 'post_category' => $cat)); } if (is_wp_error($new_post)) { $message = __('操作失败,请重试或联系管理员。', 'dmeng'); } else { update_post_meta($new_post, 'dmeng_copyright_content', htmlspecialchars($_POST['post_copyright'])); wp_redirect(dmeng_get_user_url('post')); } } } else { $message = __('投稿失败,标题和内容不能为空!', 'dmeng'); } } } //~ 投稿end get_header(); get_header('masthead'); ?> <div id="main" class="container"> <div class="row"> <div id="content" class="col-lg-8 col-md-8 archive" role="main" itemscope itemprop="mainContentOfPage" itemtype="http://schema.org/Blog"> <?php
$header_content = '<div class="container header-content"><div class="row">'; $header_content .= '<div class="' . ($header_profile_display ? 'col-lg-8 col-md-7 col-sm-6 col-xs-12' : 'col-lg-12 col-md-12 col-sm-12 col-xs-12') . '">' . $custom_header . '</div>'; if ($header_profile_display) { $profile_li = ''; $current_user = wp_get_current_user(); if ($current_user->exists()) { $author_url = get_edit_profile_url($current_user->ID); $avatar_url = dmeng_get_avatar($current_user->ID, '54', dmeng_get_avatar_type($current_user->ID), false); $profile_li .= '<li class="clearfix">' . sprintf(__('<a href="%1$s" class="name" title="%2$s">%2$s</a>,你好!', 'dmeng'), get_edit_profile_url($current_user->ID), $current_user->display_name) . '<a href="' . wp_logout_url(dmeng_get_current_page_url()) . '" title="' . esc_attr__('Log out of this account') . '" data-no-instant>' . __('Log out »') . '</a></li>'; $unread_count = intval(get_dmeng_message($current_user->ID, 'count', "( msg_type='unread' OR msg_type='unrepm' )")); $unread_count = $unread_count ? sprintf(__('(%s)', 'dmeng'), $unread_count) : ''; $profile_tabs = array('message' => __('消息', 'dmeng') . $unread_count); $profile_tabs_output = ''; foreach ($profile_tabs as $tab_key => $tab_title) { $tab_attr_title = sprintf(__('查看我的%s', 'dmeng'), $tab_title); $profile_tabs_output .= sprintf('<a href="%1$s" title="%2$s">%3$s</a>', dmeng_get_user_url($tab_key), $tab_attr_title, $tab_title); } $profile_tabs_output .= sprintf('<a href="%1$s" title="%2$s">%3$s</a>', get_edit_profile_url($current_user->ID), '修改个人资料', '修改个人资料'); $profile_li .= '<li class="tabs">' . $profile_tabs_output . '</li>'; } else { $weekname = date('l', current_time('timestamp', 0)); $weekarray = array('Monday' => __('星期一', 'dmeng'), 'Tuesday' => __('星期二', 'dmeng'), 'Wednesday' => __('星期三', 'dmeng'), 'Thursday' => __('星期四', 'dmeng'), 'Friday' => __('星期五', 'dmeng'), 'Saturday' => __('星期六', 'dmeng'), 'Sunday' => __('星期天', 'dmeng')); $profile_li .= '<li class="date">' . sprintf(__('今天是%1$s,%2$s', 'dmeng'), date(__(' Y 年 m 月 d 日', 'dmeng'), current_time('timestamp', 0)), $weekarray[$weekname]) . '</li>'; $author_url = 'javascript:;'; $avatar_url = ''; // $login_methods[] = array( // 'key' => 'wordpress', // 'name' => __( '本地' , 'dmeng' ), // 'url' => wp_login_url(dmeng_get_current_page_url()) // ); // if(dmeng_is_open_qq()){
function dmeng_options_log_page() { if (isset($_POST['action']) && sanitize_text_field($_POST['action']) == 'clear' && wp_verify_nonce(trim($_POST['_wpnonce']), 'check-nonce')) { } //~ dmeng_settings_error('updated',__('缓存已清理','dmeng')); $tab = 'gdreg'; if (isset($_GET['tab'])) { if (in_array($_GET['tab'], array('gdreg', 'credit', 'exchange', 'repm', 'search', 'vote'))) { $tab = $_GET['tab']; } } $dmeng_tabs = array('gdreg' => '报名', 'credit' => __('积分', 'dmeng'), 'exchange' => __('积分换礼', 'dmeng'), 'repm' => __('私信', 'dmeng'), 'search' => __('搜索量', 'dmeng'), 'vote' => __('投票', 'dmeng')); $tab_output = '<h2 class="nav-tab-wrapper">'; foreach ($dmeng_tabs as $tab_key => $tab_name) { $tab_output .= sprintf('<a href="%s" class="nav-tab%s">%s</a>', remove_query_arg(array('delete', '_wp_nonce'), add_query_arg('tab', $tab_key)), $tab_key == $tab ? ' nav-tab-active' : '', $tab_name); } $tab_output .= '</h2>'; ?> <div class="wrap"> <h2><?php _e('多梦主题部分数据记录', 'dmeng'); ?> </h2> <form method="post" id="recordsForm"> <input type="hidden" id="_wpnonce" name="_wpnonce" value="<?php echo wp_create_nonce('check-nonce'); ?> "> <?php echo $tab_output; ?> <div style="border:1px solid #e5e5e5;padding:15px;background:#fff;margin:15px 0;"> <?php global $wpdb; $offset = isset($_POST['offset']) ? intval($_POST['offset']) - 1 : 0; $limit = isset($_POST['limit']) ? intval($_POST['limit']) : 10; $offset = $offset < 0 ? 0 : $offset; $limit = $limit < 1 ? 1 : $limit; $count = 0; printf(__('正在查看从第%1$s条到第%2$s条数据', 'dmeng'), $offset + 1, $offset + $limit); $output = '<p>' . __('没有找到数据', 'dmeng') . '</p>'; if ($tab == 'gdreg') { $table_name = $wpdb->prefix . 'gd_reg'; $sql_where = "FROM {$table_name}"; $count = $wpdb->get_var("SELECT count(reg_id) " . $sql_where); $regs = $wpdb->get_results("SELECT * " . $sql_where . " ORDER BY update_time DESC LIMIT {$offset},{$limit}"); if ($regs) { $output = '<p><input type="button" onclick="exportgdreg();" class="button" id="export-gdreg" value="导出所有报名信息" /></p>' . '<table class="wp-list-table widefat fixed"><thead><tr><th>用户</th><th>邮箱</th><th>姓名</th><th>报名时间</th></tr></thead><tbody>'; foreach ($regs as $regk => $reg) { if ($regk % 2 == 0) { $reg_format = '<tr class="alternate"><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>'; } else { $reg_format = '<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>'; } $output .= sprintf($reg_format, get_the_author_meta('display_name', $reg->user_id), htmlspecialchars($reg->email), htmlspecialchars($reg->realname), $reg->create_time); // $output .= '<p>'.sprintf( '%s参加了报名 - 姓名:%s,邮箱:%s,报名时间:%s,修改时间:%s', // '<a href="'.dmeng_get_user_url('profile', $reg->user_id).'" target="_blank">'.get_the_author_meta('display_name', $reg->user_id).'</a>', // $reg->realname, // $reg->email, // $reg->create_time, // $reg->update_time ). // '</p>'; } $output .= '</tbody></table>'; } } if ($tab == 'credit') { $table_name = $wpdb->prefix . 'dmeng_message'; $sql_where = "FROM {$table_name} WHERE msg_type='credit'"; $count = $wpdb->get_var("SELECT count(msg_id) " . $sql_where); $messages = $wpdb->get_results("SELECT user_id,msg_date,msg_title " . $sql_where . " ORDER BY msg_id DESC LIMIT {$offset},{$limit}"); if ($messages) { $output = ''; foreach ($messages as $message) { $output .= '<p>' . sprintf(__('%1$s 在 %2$s %3$s', 'dmeng'), '<a href="' . dmeng_get_user_url('credit', $message->user_id) . '" target="_blank">' . get_the_author_meta('display_name', $message->user_id) . '</a>', $message->msg_date, $message->msg_title) . '</p>'; } } } if ($tab == 'exchange') { $table_name = $wpdb->prefix . 'dmeng_meta'; $sql_where = "FROM {$table_name} WHERE meta_key LIKE 'exchange_%'"; $count = $wpdb->get_var("SELECT count(meta_id) " . $sql_where); $results = $wpdb->get_results("SELECT user_id,meta_key,meta_value " . $sql_where . " ORDER BY meta_id DESC LIMIT {$offset},{$limit}"); if ($results) { $output = get_option('dmeng_is_gift_open') ? '<p><a href="' . add_query_arg('api', 'check', get_post_type_archive_link('gift')) . '" target="_blank">' . __('点击进入兑换信息查询(使用唯一识别码)', 'dmeng') . '</a></p>' : ''; foreach ($results as $item) { $gift_id = explode('_', $item->meta_key); $output .= '<p>' . sprintf(__('%1$s 在 %2$s 兑换了 %3$s,唯一识别码是 %4$s', 'dmeng'), '<a href="' . dmeng_get_user_url('gift', $item->user_id) . '" target="_blank">' . get_the_author_meta('display_name', $item->user_id) . '</a>', $item->meta_value, '<a href="' . get_permalink($gift_id[1]) . '" target="_blank">' . esc_html(get_the_title($gift_id[1])) . '</a>', dmeng_get_exchange_key($item->user_id, $gift_id[1], $item->meta_value)) . '</p>'; } } } if ($tab == 'repm') { $table_name = $wpdb->prefix . 'dmeng_message'; $sql_where = "FROM {$table_name} WHERE msg_type='repm' OR msg_type='unrepm'"; $count = $wpdb->get_var("SELECT count(msg_id) " . $sql_where); $messages = $wpdb->get_results("SELECT user_id,msg_date,msg_title,msg_content " . $sql_where . " ORDER BY msg_id DESC LIMIT {$offset},{$limit}"); if ($messages) { $output = ''; foreach ($messages as $message) { $repm = json_decode($message->msg_title); $output .= '<p>' . sprintf(__('%1$s %2$s 给 %3$s 发私信:%4$s', 'dmeng'), $message->msg_date, '<a href="' . dmeng_get_user_url('message', $repm->from) . '" target="_blank">' . get_the_author_meta('display_name', $repm->from) . '</a>', '<a href="' . dmeng_get_user_url('message', $repm->pm) . '" target="_blank">' . get_the_author_meta('display_name', $repm->pm) . '</a>', htmlspecialchars_decode($message->msg_content)) . '</p>'; } } } if ($tab == 'search') { $table_name = $wpdb->prefix . 'dmeng_tracker'; $sql_where = "FROM {$table_name} WHERE type='search'"; if (!empty($_GET['delete']) && !empty($_GET['_wp_nonce']) && wp_verify_nonce(trim($_GET['_wp_nonce']), 'delete-pid')) { $delete_key = urldecode($_GET['delete']); $wpdb->query(" DELETE FROM {$table_name} WHERE pid='{$delete_key}' "); } $count = $wpdb->get_var("SELECT count(ID) " . $sql_where); $results = $wpdb->get_results("SELECT pid,traffic " . $sql_where . " ORDER BY traffic+0 DESC LIMIT {$offset},{$limit}"); if ($results) { $output = '<p>' . __('请注意:因为小工具有缓存,所以删除记录并不会马上反映在小工具中。手动更新小工具缓存:重新点击一下保存小工具即可。', 'dmeng') . '</p>'; foreach ($results as $item) { $output .= '<p>' . sprintf(__('(关键词)%1$s (搜索次数) %2$s 次 (操作)<a href="%3$s">删除这个记录</a>', 'dmeng'), $item->pid, $item->traffic, add_query_arg(array('delete' => urlencode($item->pid), '_wp_nonce' => wp_create_nonce('delete-pid')))) . '</p>'; } } } if ($tab == 'vote') { $table_name = $wpdb->prefix . 'dmeng_meta'; $sql_where = "FROM {$table_name} WHERE user_id>0 AND meta_key LIKE 'vote_%'"; $count = $wpdb->get_var("SELECT count(meta_id) " . $sql_where); $results = $wpdb->get_results("SELECT user_id,meta_key,meta_value " . $sql_where . " ORDER BY meta_id DESC LIMIT {$offset},{$limit}"); if ($results) { $output = ''; foreach ($results as $item) { $info = explode('_', $item->meta_key); $vote = $item->meta_value == 'up' ? __('顶', 'dmeng') : __('踩', 'dmeng'); if ($info[1] == 'post') { $url = get_permalink($info[2]); $title = get_the_title($info[2]); } else { $url = get_comment_link($info[2]); $comment = get_comment($info[2]); $comment_author = $comment->user_id ? get_the_author_meta('display_name', $comment->user_id) : $comment->comment_author; $title = sprintf(__('%s的评论', 'dmeng'), $comment_author); } $output .= '<p>' . sprintf(__('%1$s %2$s了 %3$s', 'dmeng'), '<a href="' . dmeng_get_user_url('like', $item->user_id) . '" target="_blank">' . get_the_author_meta('display_name', $item->user_id) . '</a>', $vote, '<a href="' . $url . '" target="_blank">' . esc_html($title) . '</a>') . '</p>'; } } } echo $output; ?> <br> <?php printf(__('共有%s条数据。', 'dmeng'), $count); ?> <?php _e('从', 'dmeng'); ?> <input type="text" name="offset" size="5" value="<?php echo $offset + 1; ?> "> <?php _e('开始,显示', 'dmeng'); ?> <input type="text" name="limit" size="5" value="<?php echo $limit; ?> "> <?php _e('条', 'dmeng'); ?> <button type="submit" class="button"><?php _e('提交', 'dmeng'); ?> </button> </form> </div> </div> <script type="text/javascript"> function exportgdreg(){ location.href = location.href + '&exportgdreg=1'; } </script> <?php }