ajax_hook('list_users');
$this->ajax_hook('search_users');
}
private function ajax_hook($code, $admin_only = false)
{
add_action("wp_ajax_$code", array($this,"ajax_$code" ));
if (!$admin_only) {
add_action("wp_ajax_nopriv_$code", array($this,"ajax_$code"));
}
}
public function shortcode_workspace($attrs) {
if ($this->token != "" )
return "";
$str = file_get_contents(plugin_dir_path(__FILE__) . "/html/workspace.html");
$css = file_get_contents(plugin_dir_path(__FILE__) . "/css/workspace.css");
return $css . "\n" . $str;
}
public function shortcode_token($attrs) {
$login = get_query_var( 'token' );
return "
$login
";
}
//for customer profile and broker trans
public function my_add_rewrite_rules($aRules) {
$aNewRules = array(
'medal/([^/]+)/?$' => 'index.php?pagename=medal&token=$matches[1]',
);
$aRules = $aNewRules + $aRules;
return $aRules;
}
//
//query var
public function add_query_vars($aVars) {
$aVars[] = "token"; // represents the receiption of this medal
return $aVars;
}
public function register_js_css() {
$this->nonce = wp_create_nonce('medal');
$this->token = get_query_var( 'token' );
$this->register_medal_js();
}
private function register_medal_js()
{
//wp_enqueue_style( 'mm', plugins_url('css/workspace.css', __FILE__));
wp_enqueue_script('mm', plugins_url('js/workspace.js', __FILE__), array('jquery', 'jquery-ui-core'));
wp_enqueue_script('typeahead', plugins_url('js/typeahead.bundle.min.js', __FILE__), array('jquery'));
wp_localize_script( 'mm', 'mm', array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
'nonce' => $this->nonce, // It is common practice to comma after
'display_name' => wp_get_current_user()->display_name,
'loading' => plugins_url('img/loading.gif', __FILE__),
'done' => plugins_url('img/done.gif', __FILE__),
'search_user' => plugins_url('img/loading_user.gif', __FILE__),
'anonymous' => !is_user_logged_in(),
) );
}
function ajax_list_users()
{
//check_ajax_referer('medal');
$client = $_POST['client'];
$url = $_POST["action"];
$response = array(
'status' => 'success',
'users' => [
1,2,3,4,5,6,7
],
'id' => $client,
'url' => $url,
);
wp_send_json($response);
}
public function ajax_search_users(){
//check_ajax_referer('medal');
$pattern = $_GET['pattern'];
$args= array(
'search' => "*$pattern*", // or login or nicename in this example
'search_fields' => array('display_name'),
);
$users = new \WP_User_Query($args);
$count = $users->get_total();
//build response
$response = array(
'count' => $count,
'date' => date('Y-m-d H:i:s'),
'users' => array(),
);
foreach ( $users->results as $u ) {
$response['users'][] = array(
'userid' => $u->ID,
'username' => html_entity_decode($u->display_name),
);
}
wp_send_json($response['users']);
}
}
$mm = new Member();