public function security_check($template) { global $woocommerce, $current_user; //var_dump( Instore_Reports::get_report_data() ); //make sure we are on console page if (is_page(ins_set_instore_page_id())) { //load scripts and style $this->load_includes(); //check if user is logged in if (is_user_logged_in()) { //if instore login set display console if (isset($woocommerce->session->instore_login)) { $template = self::load_environment(); } else { //if user locked out, logout and redirect to wp_login and display error message, otherwise prompt for instore login pin if (!isset($settings['lockout']) || !in_array($current_user->ID, $setting['lockout'])) { $template = self::instore_login(); } else { ob_start(); add_filter('login_message', 'ins_login_message'); wp_redirect(wp_logout_url(get_permalink())); } } //user not logged in redirect to login page } else { ob_start(); wp_redirect(wp_login_url(get_permalink())); } } return $template; }
public function ins_ajax_instore_security() { global $current_user, $woocommerce; $url = site_url('?page_id=' . ins_set_instore_page_id()); //verify user capability and user login data if (current_user_can('use_instore') && get_user_meta($current_user->ID, 'instore_login_pin', true) == $_POST['pin']) { //set login session variable $woocommerce->session->set('instore_login', sanitize_text_field($_POST['pin'])); $success = true; $call = 'instore_redirect'; $status_message = ''; } else { $success = false; $call = 'login_failed'; $status_message = 'Invalid login pin. Please try again'; } $this->json_return = array('success' => $success, 'call' => $call, 'status_message' => $status_message, 'url' => $url, 'html' => isset($template) ? $template : '', 'options' => isset($options) ? $options : ''); echo json_encode($this->json_return); die; }
public function add_admin_bar_link() { global $wp_admin_bar; $url = get_permalink(ins_set_instore_page_id()); $wp_admin_bar->add_menu(array('parent' => false, 'id' => 'instore', 'title' => __('Instore', 'instore'), 'href' => $url)); }