/** * 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); }
/** * My History Page * @since 0.1 * @version 1.2.1 */ public function my_history_page() { // Security if (!is_user_logged_in()) { 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; } $args = array('user_id' => $this->current_user_id, 'number' => $per_page); if (isset($_GET['type']) && !empty($_GET['type'])) { $args['ctype'] = $_GET['type']; } else { $args['ctype'] = $this->mycred_type; } if (isset($_GET['s']) && !empty($_GET['s'])) { $args['s'] = sanitize_text_field($_GET['s']); } if (isset($_GET['ref']) && !empty($_GET['ref'])) { $args['ref'] = sanitize_text_field($_GET['ref']); } if (isset($_GET['show']) && !empty($_GET['show'])) { $args['time'] = absint($_GET['show']); } if (isset($_GET['order']) && !empty($_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' => $_GET['compare']); } elseif (isset($_GET['amount'])) { $args['amount'] = sanitize_text_field($_GET['amount']); } if (isset($_GET['paged']) && !empty($_GET['paged'])) { $args['paged'] = absint($_GET['paged']); } $log = new myCRED_Query_Log($args); unset($log->headers['column-username']); ?> <div class="wrap" id="myCRED-wrap"> <h2><?php $this->page_title(sprintf(__('My %s History', 'mycred'), $this->core->plural())); ?> </h2> <?php $log->filter_dates(admin_url('users.php?page=' . $_GET['page'])); ?> <?php do_action('mycred_top_my_log_page', $this); ?> <?php $log->exporter(__('Export', 'mycred'), true); ?> <form method="get" action="" name="mycred-mylog-form" novalidate> <?php 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['paged']) && !empty($_GET['paged'])) { echo '<input type="hidden" name="paged" value="' . $_GET['paged'] . '" />'; } $log->search(); ?> <input type="hidden" name="page" value="<?php echo $_GET['page']; ?> " /> <?php do_action('mycred_above_my_log_table', $this); ?> <div class="tablenav top"> <?php $log->table_nav('top', true); ?> </div> <?php $log->display(); ?> <div class="tablenav bottom"> <?php $log->table_nav('bottom', true); ?> </div> <?php do_action('mycred_bellow_my_log_table', $this); ?> </form> <?php do_action('mycred_bottom_my_log_page', $this); ?> </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; } } }
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; }
function mycred_render_shortcode_history($atts) { extract(shortcode_atts(array('user_id' => NULL, 'number' => NULL, 'time' => NULL, 'ref' => NULL, 'order' => NULL, 'show_user' => false, 'login' => '', 'type' => 'mycred_default'), $atts)); // If we are not logged in if (!is_user_logged_in() && !empty($login)) { return '<p class="mycred-history login">' . $login . '</p>'; } if ($user_id === NULL) { $user_id = get_current_user_id(); } $args = array('user_id' => $user_id, 'ctype' => $type); if ($number !== NULL) { $args['number'] = $number; } if ($time !== NULL) { $args['time'] = $time; } if ($ref !== NULL) { $args['ref'] = $ref; } if ($order !== NULL) { $args['order'] = $order; } $log = new myCRED_Query_Log($args); if ($show_user !== true) { unset($log->headers['column-username']); } $result = $log->get_display(); $log->reset_query(); return $result; }