/** * My History Content * @since 0.1 * @version 1.2 */ public function my_history_screen() { global $bp; $mycred_types = mycred_get_types(); $type = 'mycred_default'; if (isset($_REQUEST['show-ctype']) && array_key_exists($_REQUEST['show-ctype'], $mycred_types)) { $type = $_REQUEST['show-ctype']; } $args = array('user_id' => bp_displayed_user_id(), 'number' => apply_filters('mycred_bp_history_num_to_show', $this->buddypress['history_num']), 'ctype' => $type); if (isset($_GET['paged']) && $_GET['paged'] != '') { $args['paged'] = $_GET['paged']; } if (isset($bp->canonical_stack['action']) && $bp->canonical_stack['action'] != $this->buddypress['history_url']) { $args['time'] = $bp->canonical_stack['action']; } $log = new myCRED_Query_Log($args); unset($log->headers['column-username']); ob_start(); if (count($mycred_types) > 1) { ?> <form action="" id="mycred-sort-cred-history-form" method="get" style="display: block; height: 48px; float: right;"><label>Show:</label> <?php mycred_types_select_from_dropdown('show-ctype', 'mycred-select-type', $type); ?> <input type="submit" class="btn btn-large btn-primary button button-large button-primary" value="<?php _e('Go', 'mycred'); ?> " /></form> <?php } ?> <style type="text/css"> .pagination-links { float: right; } .tablenav { vertical-align: middle; } </style> <div class="wrap" id="myCRED-wrap"> <?php $log->mobile_support(); ?> <form method="get" action=""> <div class="tablenav top clear clearfix"> <?php if ($log->have_entries() && $log->max_num_pages > 1) { $log->navigation('top'); } ?> </div> <?php $log->display(); ?> <div class="tablenav bottom clear clearfix"> <?php if ($log->have_entries() && $log->max_num_pages > 1) { $log->navigation('bottom'); } ?> </div> </form> </div> <?php $log->reset_query(); $output = ob_get_contents(); ob_end_clean(); echo apply_filters('mycred_bp_history_page', $output, $this); }
/** * Admin Page * @since 0.1 * @version 1.3.1 */ public function admin_page() { // Security if (!$this->core->can_edit_creds()) { wp_die(__('Access Denied', 'mycred')); } $settings_key = 'mycred_epp_' . $_GET['page']; if (!$this->is_main_type) { $settings_key .= '_' . $this->mycred_type; } $per_page = mycred_get_user_meta($this->current_user_id, $settings_key, '', true); if ($per_page == '') { $per_page = 10; } // Prep $args = array('number' => absint($per_page)); if (isset($_GET['type']) && $_GET['type'] != '') { $args['ctype'] = sanitize_key($_GET['type']); } else { $args['ctype'] = $this->mycred_type; } if (isset($_GET['user']) && $_GET['user'] != '') { $args['user_id'] = sanitize_text_field($_GET['user']); } if (isset($_GET['s']) && $_GET['s'] != '') { $args['s'] = sanitize_text_field($_GET['s']); } if (isset($_GET['ref']) && $_GET['ref'] != '') { $args['ref'] = sanitize_text_field($_GET['ref']); } if (isset($_GET['show']) && $_GET['show'] != '') { $args['time'] = absint($_GET['show']); } if (isset($_GET['order']) && $_GET['order'] != '') { $args['order'] = sanitize_text_field($_GET['order']); } if (isset($_GET['start']) && isset($_GET['end'])) { $args['amount'] = array('start' => sanitize_text_field($_GET['start']), 'end' => sanitize_text_field($_GET['end'])); } elseif (isset($_GET['num']) && isset($_GET['compare'])) { $args['amount'] = array('num' => sanitize_text_field($_GET['num']), 'compare' => urldecode($_GET['compare'])); } elseif (isset($_GET['amount'])) { $args['amount'] = sanitize_text_field($_GET['amount']); } if (isset($_GET['data']) && $_GET['data'] != '') { $args['data'] = sanitize_text_field($_GET['data']); } if (isset($_GET['paged']) && $_GET['paged'] != '') { $args['paged'] = absint($_GET['paged']); } $log = new myCRED_Query_Log($args); $log->headers['column-actions'] = __('Actions', 'mycred'); ?> <div class="wrap" id="myCRED-wrap"> <h2><?php $this->page_title(sprintf(__('%s Log', 'mycred'), $this->core->plural())); ?> </h2> <?php // This requirement is only checked on activation. If the library is disabled // after installation we need to warn the user. Every single feature in myCRED // that requires encryption will stop working: // Points for clicking on links // Exchange Shortcode // buyCRED Add-on $extensions = get_loaded_extensions(); if (!in_array('mcrypt', $extensions) && !defined('MYCRED_DISABLE_PROTECTION')) { echo '<div id="message" class="error below-h2"><p>' . __('Warning. The required Mcrypt PHP Library is not installed on this server! Certain hooks and shortcodes will not work correctly!', 'mycred') . '</p></div>'; } // Filter by dates $log->filter_dates(admin_url('admin.php?page=' . $this->screen_id)); ?> <?php do_action('mycred_top_log_page', $this); ?> <?php $log->exporter(__('Export', 'mycred')); ?> <form method="get" action="" name="mycred-thelog-form" novalidate> <?php if (isset($_GET['type']) && $_GET['type'] != '') { echo '<input type="hidden" name="type" value="' . esc_attr($_GET['type']) . '" />'; } if (isset($_GET['user']) && $_GET['user'] != '') { echo '<input type="hidden" name="user" value="' . esc_attr($_GET['user']) . '" />'; } if (isset($_GET['s']) && $_GET['s'] != '') { echo '<input type="hidden" name="s" value="' . esc_attr($_GET['s']) . '" />'; } if (isset($_GET['ref']) && $_GET['ref'] != '') { echo '<input type="hidden" name="ref" value="' . esc_attr($_GET['ref']) . '" />'; } if (isset($_GET['show']) && $_GET['show'] != '') { echo '<input type="hidden" name="show" value="' . esc_attr($_GET['show']) . '" />'; } if (isset($_GET['order']) && $_GET['order'] != '') { echo '<input type="hidden" name="order" value="' . esc_attr($_GET['order']) . '" />'; } if (isset($_GET['data']) && $_GET['data'] != '') { echo '<input type="hidden" name="data" value="' . esc_attr($_GET['data']) . '" />'; } if (isset($_GET['paged']) && $_GET['paged'] != '') { echo '<input type="hidden" name="paged" value="' . esc_attr($_GET['paged']) . '" />'; } $log->search(); ?> <input type="hidden" name="page" value="<?php echo $this->screen_id; ?> " /> <?php do_action('mycred_above_log_table', $this); ?> <div class="tablenav top"> <?php $log->table_nav('top', false); ?> </div> <table class="mycred-table wp-list-table widefat fixed striped users" cellspacing="0" cellspacing="0"> <thead> <tr> <?php foreach ($log->headers as $col_id => $col_title) { echo '<th scope="col" id="' . str_replace('column-', '', $col_id) . '" class="manage-column ' . $col_id . '">' . $col_title . '</th>'; } ?> </tr> </thead> <tfoot> <tr> <?php foreach ($log->headers as $col_id => $col_title) { echo '<th scope="col" class="manage-column ' . $col_id . '">' . $col_title . '</th>'; } ?> </tr> </tfoot> <tbody id="the-list"> <?php if ($log->have_entries()) { $date_format = get_option('date_format') . ' ' . get_option('time_format'); $entry_data = ''; $alt = 0; foreach ($log->results as $log_entry) { $alt = $alt + 1; if ($alt % 2 == 0) { $class = ' alt'; } else { $class = ''; } echo '<tr class="myCRED-log-row' . $class . '" id="mycred-log-entry-' . $log_entry->id . '">'; // Run though columns foreach ($log->headers as $column_id => $column_name) { echo '<td class="' . $column_id . '">'; switch ($column_id) { // Username Column case 'column-username': $user = get_userdata($log_entry->user_id); if ($user === false) { $content = '<span>' . __('User Missing', 'mycred') . ' (ID: ' . $log_entry->user_id . ')</span>'; } else { $content = '<span>' . $user->display_name . '</span>'; } if ($user !== false && $this->core->can_edit_creds()) { $content .= ' <em><small>(ID: ' . $log_entry->user_id . ')</small></em>'; } echo apply_filters('mycred_log_username', $content, $log_entry->user_id, $log_entry); break; // Date & Time Column // Date & Time Column case 'column-time': echo apply_filters('mycred_log_date', date_i18n($date_format, $log_entry->time), $log_entry->time); break; // Amount Column // Amount Column case 'column-creds': $content = $this->core->format_creds($log_entry->creds); echo apply_filters('mycred_log_creds', $content, $log_entry->creds, $log_entry); break; // Log Entry Column // Log Entry Column case 'column-entry': $content = '<div style="display:none;" class="raw">' . htmlentities($log_entry->entry) . '</div>'; $content .= '<div class="entry">' . $this->core->parse_template_tags($log_entry->entry, $log_entry) . '</div>'; echo apply_filters('mycred_log_entry', $content, $log_entry->entry, $log_entry); break; // Log Action Column // Log Action Column case 'column-actions': $content = '<a href="javascript:void(0)" class="mycred-open-log-entry-editor" data-id="' . $log_entry->id . '">' . __('Edit', 'mycred') . '</a> • <span class="delete"><a href="javascript:void(0);" class="mycred-delete-row" data-id="' . $log_entry->id . '">' . __('Delete', 'mycred') . '</a></span>'; echo apply_filters('mycred_log_actions', $content, $log_entry); break; // Let others add their own columns to this particular log page // Let others add their own columns to this particular log page default: echo apply_filters('mycred_log_' . $column_id, '', $log_entry); break; } echo '</td>'; } echo '</tr>'; } } else { echo '<tr><td colspan="' . count($log->headers) . '" class="no-entries">' . $log->get_no_entries() . '</td></tr>'; } ?> </tbody> </table> <div class="tablenav bottom"> <?php $log->table_nav('bottom', false); ?> </div> <?php do_action('mycred_bellow_log_table', $this); ?> </form> <?php do_action('mycred_bottom_log_page', $this); ?> <div id="edit-mycred-log-entry" style="display: none;"> <div class="mycred-adjustment-form"> <p class="row inline" style="width: 40%;"><label><?php _e('User', 'mycred'); ?> :</label><span id="mycred-username"></span></p> <p class="row inline" style="width: 40%;"><label><?php _e('Time', 'mycred'); ?> :</label> <span id="mycred-time"></span></p> <p class="row inline" style="width: 20%;"><label><?php echo $this->core->plural(); ?> :</label> <span id="mycred-creds"></span></p> <div class="clear"></div> <p class="row"> <label for="mycred-update-users-balance-amount"><?php _e('Current Log Entry', 'mycred'); ?> :</label> <input type="text" name="mycred-raw-entry" id="mycred-raw-entry" value="" disabled="disabled" /><br /> <span class="description"><?php _e('The current saved log entry', 'mycred'); ?> .</span> </p> <p class="row"> <label for="mycred-update-users-balance-entry"><?php _e('Adjust Log Entry', 'mycred'); ?> :</label> <input type="text" name="mycred-new-entry" id="mycred-new-entry" value="" /><br /> <span class="description"><?php _e('The new log entry', 'mycred'); ?> .</span> </p> <p class="row"> <input type="button" id="mycred-update-log-entry" class="button button-primary button-large" value="<?php _e('Update Log Entry', 'mycred'); ?> " /> <input type="hidden" id="mycred-log-row-id" value="" /> </p> <div class="clear"></div> </div> <div class="clear"></div> </div> </div> <?php $log->reset_query(); }
/** * Custom Log Page * @since 1.4 * @version 1.3.1 */ public function purchase_log_page() { $type = substr($_GET['page'], 25); if ($type == 'mycred_default') { $mycred = $this->core; } else { $mycred = mycred($type); } // Security if (!$mycred->can_edit_creds()) { wp_die(__('Access Denied', 'mycred')); } $per_page = mycred_get_user_meta(get_current_user_id(), 'mycred_payments_' . $type, '', true); if (empty($per_page) || $per_page < 1) { $per_page = 10; } // Get references $references = apply_filters('mycred_buycred_log_refs', array('buy_creds_with_paypal_standard', 'buy_creds_with_skrill', 'buy_creds_with_zombaio', 'buy_creds_with_netbilling', 'buy_creds_with_bitpay'), $this, $type); // Prep $args = array('number' => $per_page, 'ctype' => $type, 'ref' => implode(',', $references)); if (isset($_GET['user_id']) && !empty($_GET['user_id'])) { $args['user_id'] = $_GET['user_id']; } if (isset($_GET['s']) && !empty($_GET['s'])) { $args['s'] = $_GET['s']; } if (isset($_GET['ref']) && !empty($_GET['ref'])) { $args['ref'] = $_GET['ref']; } if (isset($_GET['show']) && !empty($_GET['show'])) { $args['time'] = $_GET['show']; } if (isset($_GET['order']) && !empty($_GET['order'])) { $args['order'] = $_GET['order']; } if (isset($_GET['paged']) && !empty($_GET['paged'])) { $args['paged'] = $_GET['paged']; } if (isset($_GET['start']) && isset($_GET['end'])) { $args['amount'] = array('start' => $_GET['start'], 'end' => $_GET['end']); } elseif (isset($_GET['num']) && isset($_GET['compare'])) { $args['amount'] = array('num' => $_GET['num'], 'compare' => $_GET['compare']); } elseif (isset($_GET['amount'])) { $args['amount'] = $_GET['amount']; } $log = new myCRED_Query_Log($args); $log->headers = apply_filters('mycred_buycred_log_columns', array('column-gateway' => __('Gateway', 'mycred'), 'column-username' => __('Buyer', 'mycred'), 'column-date' => __('Date', 'mycred'), 'column-amount' => $mycred->plural(), 'column-payed' => __('Payed', 'mycred'), 'column-tranid' => __('Transaction ID', 'mycred'))); $filter_url = admin_url('admin.php?page=myCRED_page_gateways_log_' . $type); ?> <div class="wrap list" id="myCRED-wrap"> <h2><?php _e('<strong>buy</strong>CRED Purchase Log', 'mycred'); ?> <a href="<?php echo admin_url('admin.php?page=myCRED_page_gateways'); ?> " class="click-to-toggle add-new-h2"><?php _e('Gateway Settings', 'mycred'); ?> </a> <a href="<?php echo $this->get_settings_url('buycred_module'); ?> " class="click-to-toggle add-new-h2"><?php _e('buyCRED Settings', 'mycred'); ?> </a></h2> <?php $log->filter_dates(esc_url($filter_url)); ?> <div class="clear"></div> <form method="get" action=""> <?php if (isset($_GET['user_id']) && !empty($_GET['user_id'])) { echo '<input type="hidden" name="user_id" value="' . esc_attr($_GET['user_id']) . '" />'; } if (isset($_GET['s']) && !empty($_GET['s'])) { echo '<input type="hidden" name="s" value="' . esc_attr($_GET['s']) . '" />'; } if (isset($_GET['ref']) && !empty($_GET['ref'])) { echo '<input type="hidden" name="ref" value="' . esc_attr($_GET['ref']) . '" />'; } if (isset($_GET['show']) && !empty($_GET['show'])) { echo '<input type="hidden" name="show" value="' . esc_attr($_GET['show']) . '" />'; } if (isset($_GET['order']) && !empty($_GET['order'])) { echo '<input type="hidden" name="order" value="' . esc_attr($_GET['order']) . '" />'; } if (isset($_GET['paged']) && !empty($_GET['paged'])) { echo '<input type="hidden" name="paged" value="' . esc_attr($_GET['paged']) . '" />'; } $log->search(); ?> <input type="hidden" name="page" value="<?php echo esc_attr($_GET['page']); ?> " /> <?php do_action('mycred_above_payment_log_table', $this); ?> <div class="tablenav top"> <?php $log->filter_options(false, $references); $log->navigation('top'); ?> </div> <table class="table wp-list-table widefat mycred-table log-entries" cellspacing="0"> <thead> <tr> <?php foreach ($log->headers as $col_id => $col_title) { echo '<th scope="col" id="' . str_replace('column-', '', $col_id) . '" class="manage-column ' . $col_id . '">' . $col_title . '</th>'; } ?> </tr> </thead> <tfoot> <tr> <?php foreach ($log->headers as $col_id => $col_title) { echo '<th scope="col" class="manage-column ' . $col_id . '">' . $col_title . '</th>'; } ?> </tr> </tfoot> <tbody id="the-list"> <?php // If we have results if ($log->have_entries()) { // Prep $date_format = get_option('date_format') . ' ' . get_option('time_format'); $entry_data = ''; $alt = 0; // Loop results foreach ($log->results as $log_entry) { // Highlight alternate rows $alt = $alt + 1; if ($alt % 2 == 0) { $class = ' alt'; } else { $class = ''; } // Prep Sales data for use in columns $sales_data = $this->get_sales_data_from_log_data($log_entry->data); list($buyer_id, $payer_id, $amount, $cost, $currency, $token, $other) = $sales_data; // Default Currency if (empty($currency)) { $currency = 'USD'; } $gateway_name = str_replace('buy_creds_with_', '', $log_entry->ref); if (!array_key_exists(str_replace('_', '-', $gateway_name), $this->installed)) { $style = ' style="color:silver;"'; } elseif (!$this->is_active(str_replace('_', '-', $gateway_name))) { $style = ' style="color:gray;"'; } elseif (substr($log_entry->entry, 0, 4) == 'TEST') { $style = ' style="color:orange;"'; } else { $style = ''; } echo '<tr class="myCRED-log-row' . $class . '" id="mycred-log-entry-' . $log_entry->id . '">'; // Run though columns foreach ($log->headers as $column_id => $column_name) { echo '<td class="' . $column_id . '"' . $style . '>'; switch ($column_id) { // Used gateway case 'column-gateway': $gateway = str_replace(array('-', '_'), ' ', $gateway_name); echo ucwords($gateway); break; // Username Column // Username Column case 'column-username': $user = get_userdata($log_entry->user_id); if ($user === false) { echo 'ID: ' . $log_entry->user_id; } else { echo $user->display_name . ' <em><small>(ID: ' . $log_entry->user_id . ')</small></em>'; } break; // Date & Time Column // Date & Time Column case 'column-date': echo date_i18n($date_format, $log_entry->time); break; // Amount Column // Amount Column case 'column-amount': echo $mycred->format_creds($log_entry->creds); break; // Amount Paid // Amount Paid case 'column-payed': if (empty($cost)) { echo 'n/a'; } else { echo number_format($cost, 2) . ' ' . $currency; } break; // Transaction ID // Transaction ID case 'column-tranid': $transaction_id = $log_entry->time . $log_entry->user_id; $saved_data = maybe_unserialize($log_entry->data); if (isset($saved_data['txn_id'])) { $transaction_id = $saved_data['txn_id']; } elseif (isset($saved_data['transaction_id'])) { $transaction_id = $saved_data['transaction_id']; } echo $transaction_id; break; default: do_action('mycred_payment_log_' . $column_id, $log_entry); do_action('mycred_payment_log_' . $column_id . '_' . $type, $log_entry); break; } echo '</td>'; } echo '</tr>'; } } else { echo '<tr><td colspan="' . count($log->headers) . '" class="no-entries">' . __('No purchases found', 'mycred') . '</td></tr>'; } ?> </tbody> </table> <div class="tablenav bottom"> <?php $log->table_nav('bottom', false); ?> </div> <?php do_action('mycred_below_payment_log_table', $this); ?> </form> </div> <?php }
/** * Widget Output */ function widget($args, $instance) { extract($args, EXTR_SKIP); // If we are logged in if (is_user_logged_in()) { // Current user id $user_id = get_current_user_id(); // Load myCRED Now if (!isset($instance['type']) || empty($instance['type'])) { $instance['type'] = 'mycred_default'; } $mycred = mycred($instance['type']); // If this is an excluded user we bail if ($mycred->exclude_user($user_id)) { return; } // Start echo $before_widget; // Title if (!empty($instance['title'])) { echo $before_title; echo $mycred->template_tags_general($instance['title']); echo $after_title; } // Balance $balance = $mycred->get_users_cred($user_id, $instance['type']); if (empty($balance)) { $balance = 0; } $layout = $mycred->template_tags_amount($instance['cred_format'], $balance); $layout = $mycred->template_tags_user($layout, false, wp_get_current_user()); // Include Ranking if ($instance['show_rank']) { if (function_exists('mycred_get_users_rank')) { $rank_name = mycred_get_users_rank($user_id); $ranking = str_replace('%rank%', $rank_name, $instance['rank_format']); $ranking = str_replace('%rank_logo%', mycred_get_rank_logo($rank_name), $ranking); $ranking = str_replace('%ranking%', '', $ranking); } else { $ranking = str_replace(array('%rank%', '%ranking%'), '', $instance['rank_format']); } $ranking = '<div class="myCRED-rank">' . $ranking . '</div>'; $layout .= $ranking; } echo '<div class="myCRED-balance">' . $layout . '</div>'; // If we want to include history if ($instance['show_history']) { echo '<div class="myCRED-widget-history">'; // Query Log $log = new myCRED_Query_Log(array('user_id' => $user_id, 'number' => $instance['number'], 'ctype' => $instance['type'])); // Have results if ($log->have_entries()) { // Title if (!empty($instance['history_title'])) { $history_title = $instance['history_title']; echo $before_title . $mycred->template_tags_general($history_title) . $after_title; } // Organized List echo '<ol class="myCRED-history">'; $alt = 0; $date_format = get_option('date_format'); foreach ($log->results as $entry) { // Row Layout $layout = $instance['history_format']; $layout = str_replace('%date%', '<span class="date">' . date_i18n($date_format, $entry->time) . '</span>', $layout); $layout = str_replace('%entry%', $mycred->parse_template_tags($entry->entry, $entry), $layout); $layout = $mycred->allowed_tags($layout); $layout = $mycred->template_tags_general($layout); $layout = $mycred->template_tags_amount($layout, $entry->creds); // Alternating rows $alt = $alt + 1; if ($alt % 2 == 0) { $class = 'row alternate'; } else { $class = 'row'; } // Output list item echo '<li class="' . $class . '">' . $layout . '</li>'; } echo '</ol>'; } $log->reset_query(); echo '</div>'; } // End echo $after_widget; } else { // If we want to show a message, then do so if ($instance['show_visitors']) { echo $before_widget; $mycred = mycred($instance['type']); // Title if (!empty($instance['title'])) { echo $before_title; echo $mycred->template_tags_general($instance['title']); echo $after_title; } $message = $instance['message']; $message = $mycred->template_tags_general($message); $message = $mycred->allowed_tags($message); echo '<div class="myCRED-my-balance-message"><p>' . nl2br($message) . '</p></div>'; echo $after_widget; } } }
/** * Admin Page * @since 0.1 * @version 1.2 */ public function admin_page() { // Security if (!$this->core->can_edit_creds()) { wp_die(__('Access Denied', 'mycred')); } $settings_key = 'mycred_epp_' . $_GET['page']; if (!$this->is_main_type) { $settings_key .= '_' . $this->mycred_type; } $per_page = mycred_get_user_meta(get_current_user_id(), $settings_key, '', true); if ($per_page == '') { $per_page = 10; } // Prep $args = array('number' => absint($per_page)); if (isset($_GET['type']) && !empty($_GET['type'])) { $args['ctype'] = $_GET['type']; } else { $args['ctype'] = $this->mycred_type; } if (isset($_GET['user_id']) && !empty($_GET['user_id'])) { $args['user_id'] = $_GET['user_id']; } if (isset($_GET['s']) && !empty($_GET['s'])) { $args['s'] = $_GET['s']; } if (isset($_GET['ref']) && !empty($_GET['ref'])) { $args['ref'] = $_GET['ref']; } if (isset($_GET['show']) && !empty($_GET['show'])) { $args['time'] = $_GET['show']; } if (isset($_GET['order']) && !empty($_GET['order'])) { $args['order'] = $_GET['order']; } if (isset($_GET['start']) && isset($_GET['end'])) { $args['amount'] = array('start' => $_GET['start'], 'end' => $_GET['end']); } elseif (isset($_GET['num']) && isset($_GET['compare'])) { $args['amount'] = array('num' => $_GET['num'], 'compare' => urldecode($_GET['compare'])); } elseif (isset($_GET['amount'])) { $args['amount'] = $_GET['amount']; } if (isset($_GET['data']) && !empty($_GET['data'])) { $args['data'] = $_GET['data']; } $log = new myCRED_Query_Log($args); $log->headers['column-actions'] = __('Actions', 'mycred'); $url = 'myCRED'; if ($args['ctype'] != 'mycred_default') { $url = 'myCRED_' . $args['ctype']; } ?> <div class="wrap" id="myCRED-wrap"> <h2><?php $this->page_title(sprintf(__('%s Log', 'mycred'), $this->core->plural())); ?> </h2> <?php $log->filter_dates(admin_url('admin.php?page=' . $url)); ?> <?php do_action('mycred_top_log_page', $this); ?> <div class="clear"></div> <?php $log->exporter(__('Export', 'mycred')); ?> <form method="get" action=""> <?php if (isset($_GET['type']) && !empty($_GET['type'])) { echo '<input type="hidden" name="type" value="' . $_GET['type'] . '" />'; } if (isset($_GET['user_id']) && !empty($_GET['user_id'])) { echo '<input type="hidden" name="user_id" value="' . $_GET['user_id'] . '" />'; } if (isset($_GET['s']) && !empty($_GET['s'])) { echo '<input type="hidden" name="s" value="' . $_GET['s'] . '" />'; } if (isset($_GET['ref']) && !empty($_GET['ref'])) { echo '<input type="hidden" name="ref" value="' . $_GET['ref'] . '" />'; } if (isset($_GET['show']) && !empty($_GET['show'])) { echo '<input type="hidden" name="show" value="' . $_GET['show'] . '" />'; } if (isset($_GET['order']) && !empty($_GET['order'])) { echo '<input type="hidden" name="order" value="' . $_GET['order'] . '" />'; } if (isset($_GET['data']) && !empty($_GET['data'])) { echo '<input type="hidden" name="data" value="' . $_GET['data'] . '" />'; } $log->search(); ?> <input type="hidden" name="page" value="myCRED" /> <?php do_action('mycred_above_log_table', $this); ?> <div class="tablenav top"> <?php $log->table_nav('top', false); ?> </div> <table class="table wp-list-table widefat mycred-table log-entries" cellspacing="0"> <thead> <tr> <?php foreach ($log->headers as $col_id => $col_title) { echo '<th scope="col" id="' . str_replace('column-', '', $col_id) . '" class="manage-column ' . $col_id . '">' . $col_title . '</th>'; } ?> </tr> </thead> <tfoot> <tr> <?php foreach ($log->headers as $col_id => $col_title) { echo '<th scope="col" class="manage-column ' . $col_id . '">' . $col_title . '</th>'; } ?> </tr> </tfoot> <tbody id="the-list"> <?php if ($log->have_entries()) { $date_format = get_option('date_format') . ' ' . get_option('time_format'); $entry_data = ''; $alt = 0; foreach ($log->results as $log_entry) { $alt = $alt + 1; if ($alt % 2 == 0) { $class = ' alt'; } else { $class = ''; } echo '<tr class="myCRED-log-row' . $class . '" id="mycred-log-entry-' . $log_entry->id . '">'; // Run though columns foreach ($log->headers as $column_id => $column_name) { echo '<td class="' . $column_id . '">'; switch ($column_id) { // Username Column case 'column-username': $user = get_userdata($log_entry->user_id); if ($user === false) { $content = '<span>' . __('User Missing', 'mycred') . ' (ID: ' . $log_entry->user_id . ')</span>'; } else { $content = '<span>' . $user->display_name . '</span>'; } if ($user !== false && $this->core->can_edit_creds()) { $content .= ' <em><small>(ID: ' . $log_entry->user_id . ')</small></em>'; } echo apply_filters('mycred_log_username', $content, $log_entry->user_id, $log_entry); break; // Date & Time Column // Date & Time Column case 'column-time': echo apply_filters('mycred_log_date', date_i18n($date_format, $log_entry->time), $log_entry->time); break; // Amount Column // Amount Column case 'column-creds': $content = $this->core->format_creds($log_entry->creds); echo apply_filters('mycred_log_creds', $content, $log_entry->creds, $log_entry); break; // Log Entry Column // Log Entry Column case 'column-entry': $content = '<div style="display:none;" class="raw">' . htmlentities($log_entry->entry) . '</div>'; $content .= '<div class="entry">' . $this->core->parse_template_tags($log_entry->entry, $log_entry) . '</div>'; echo apply_filters('mycred_log_entry', $content, $log_entry->entry, $log_entry); break; // Log Action Column // Log Action Column case 'column-actions': $content = '<a href="javascript:void(0)" class="mycred-open-log-entry-editor" data-id="' . $log_entry->id . '">' . __('Edit', 'mycred') . '</a> • <span class="delete"><a href="javascript:void(0);" class="mycred-delete-row" data-id="' . $log_entry->id . '">' . __('Delete', 'mycred') . '</a></span>'; echo apply_filters('mycred_log_actions', $content, $log_entry); break; // Let others add their own columns to this particular log page // Let others add their own columns to this particular log page default: echo apply_filters('mycred_log_' . $column_id, '', $log_entry); break; } echo '</td>'; } echo '</tr>'; } } else { echo '<tr><td colspan="' . count($log->headers) . '" class="no-entries">' . $log->get_no_entries() . '</td></tr>'; } ?> </tbody> </table> <div class="tablenav bottom"> <?php $log->table_nav('bottom', false); ?> </div> <?php do_action('mycred_bellow_log_table', $this); ?> </form> <?php do_action('mycred_bottom_log_page', $this); ?> <div id="edit-mycred-log-entry" style="display: none;"> <div class="mycred-adjustment-form"> <p class="row inline" style="width: 40%;"><label><?php _e('User', 'mycred'); ?> :</label><span id="mycred-username"></span></p> <p class="row inline" style="width: 40%;"><label><?php _e('Time', 'mycred'); ?> :</label> <span id="mycred-time"></span></p> <p class="row inline" style="width: 20%;"><label><?php echo $this->core->plural(); ?> :</label> <span id="mycred-creds"></span></p> <div class="clear"></div> <p class="row"> <label for="mycred-update-users-balance-amount"><?php _e('Current Log Entry', 'mycred'); ?> :</label> <input type="text" name="mycred-raw-entry" id="mycred-raw-entry" value="" disabled="disabled" /><br /> <span class="description"><?php _e('The current saved log entry', 'mycred'); ?> .</span> </p> <p class="row"> <label for="mycred-update-users-balance-entry"><?php _e('Adjust Log Entry', 'mycred'); ?> :</label> <input type="text" name="mycred-new-entry" id="mycred-new-entry" value="" /><br /> <span class="description"><?php _e('The new log entry', 'mycred'); ?> .</span> </p> <p class="row"> <input type="button" id="mycred-update-log-entry" class="button button-primary button-large" value="<?php _e('Update Log Entry', 'mycred'); ?> " /> <input type="hidden" id="mycred-log-row-id" value="" /> </p> <div class="clear"></div> </div> <div class="clear"></div> </div> </div> <?php $log->reset_query(); unset($log); }
function mycred_render_shortcode_history($atts, $content = '') { extract(shortcode_atts(array('user_id' => '', 'number' => '', 'time' => '', 'ref' => '', 'order' => '', 'show_user' => 0, 'show_nav' => 1, 'login' => '', 'type' => 'mycred_default'), $atts)); // If we are not logged in if (!is_user_logged_in() && $login != '') { return $login . $content; } if ($user_id == 'current') { $user_id = get_current_user_id(); } $args = array('ctype' => $type); if ($user_id != '') { $args['user_id'] = $user_id; } if ($number != '') { $args['number'] = $number; } if ($time != '') { $args['time'] = $time; } if ($ref != '') { $args['ref'] = $ref; } if ($order != '') { $args['order'] = $order; } if (isset($_GET['paged']) && $_GET['paged'] != '') { $args['paged'] = absint($_GET['paged']); } $log = new myCRED_Query_Log($args); if ($show_user != 1) { unset($log->headers['column-username']); } ob_start(); ?> <form class="form" role="form" method="get" action=""> <div class="tablenav top"> <?php if ($log->have_entries() && $show_nav == 1 && $log->max_num_pages > 1) { $log->navigation('top'); } ?> </div> <?php $log->display(); ?> <div class="tablenav bottom"> <?php if ($log->have_entries() && $show_nav == 1 && $log->max_num_pages > 1) { $log->navigation('bottom'); } ?> </div> </form> <?php $content = ob_get_contents(); ob_end_clean(); $log->reset_query(); return $content; }