/** * load data needed for board's javascript * @param string $template the passed in template path * @return string the same template path */ static function send_page_data_to_template($template) { if (!isset(Kanban_Template::get_instance()->slug) || Kanban_Template::get_instance()->slug != self::$slug) { return $template; } global $wp_query; $wp_query->query_vars['kanban'] = (object) array(); $wp_query->query_vars['kanban']->board = (object) array(); // // get all data for the javascript $wp_query->query_vars['kanban']->board->allowed_users = Kanban_User::get_allowed_users(); $wp_query->query_vars['kanban']->board->estimates = Kanban_Terms::terms_in_order('task', 'estimate'); $wp_query->query_vars['kanban']->board->status_tax_key = Kanban_Utils::format_key('task', 'status'); $wp_query->query_vars['kanban']->board->status_color_field_name = sprintf('%s_colors', $wp_query->query_vars['kanban']->board->status_tax_key); $wp_query->query_vars['kanban']->board->status_colors = Kanban_Settings::get_option($wp_query->query_vars['kanban']->board->status_color_field_name, null, array()); $wp_query->query_vars['kanban']->board->statuses = Kanban_Terms::terms_in_order('task', 'status'); foreach ($wp_query->query_vars['kanban']->board->statuses as $status) { if (!isset($wp_query->query_vars['kanban']->board->status_colors[$status->term_id])) { continue; } $status->color = $wp_query->query_vars['kanban']->board->status_colors[$status->term_id]; } $wp_query->query_vars['kanban']->board->projects = Kanban_Project::get_all(); $wp_query->query_vars['kanban']->board->tasks = Kanban_Task::get_all(); $current_user_id = get_current_user_id(); $wp_query->query_vars['kanban']->board->current_user = get_user_by('id', $current_user_id); unset($wp_query->query_vars['kanban']->board->current_user->data->user_pass); $wp_query->query_vars['kanban']->board->current_user->data->long_name_email = Kanban_User::format_user_name($wp_query->query_vars['kanban']->board->current_user); $wp_query->query_vars['kanban']->board->current_user->data->short_name = Kanban_User::format_user_name($wp_query->query_vars['kanban']->board->current_user, TRUE); $wp_query->query_vars['kanban']->board->current_user->data->initials = Kanban_User::get_initials($wp_query->query_vars['kanban']->board->current_user); $wp_query->query_vars['kanban']->board->col_percent_w = count($wp_query->query_vars['kanban']->board->statuses) > 0 ? 100 / count($wp_query->query_vars['kanban']->board->statuses) : 100; $wp_query->query_vars['kanban']->board->sidebar_w = count($wp_query->query_vars['kanban']->board->statuses) > 0 ? 100 / (count($wp_query->query_vars['kanban']->board->statuses) - 2) : 0; return $template; }
static function get_allowed_users() { if (!isset(Kanban_User::$instance->allowed_users)) { $users_field_name = sprintf('%s_user', Kanban::$instance->settings->basename); $allowed_user_ids = Kanban_Settings::get_option($users_field_name, 'allowed_users', array()); if (empty($allowed_user_ids)) { $allowed_user_ids = array(0); } $pm_users = get_users(array('include' => $allowed_user_ids)); Kanban_User::$instance->allowed_users = Kanban_Utils::build_array_with_id_keys($pm_users); foreach (Kanban_User::$instance->allowed_users as $user_id => $user) { if (self::validate_gravatar($user->data->user_email)) { Kanban_User::$instance->allowed_users[$user_id]->data->avatar = get_avatar($user->data->user_email); } Kanban_User::$instance->allowed_users[$user_id]->data->long_name_email = Kanban_User::format_user_name($user); Kanban_User::$instance->allowed_users[$user_id]->data->short_name = Kanban_User::format_user_name($user, TRUE); Kanban_User::$instance->allowed_users[$user_id]->data->initials = Kanban_User::get_initials($user); } } return apply_filters(sprintf('%s_after_get_allowed_users', Kanban::$instance->settings->basename), Kanban_User::$instance->allowed_users); }
/** * get the users that are allowed to access the board * @return array allowed user objects */ static function get_allowed_users() { if (!isset(Kanban_User::get_instance()->allowed_users)) { global $wpdb; // get all settings $allowed_users = Kanban_Option::get_option('allowed_users'); // pull out allowed user id's $allowed_user_ids = array(); if (is_array($allowed_users)) { $allowed_user_ids = $allowed_users; } if (empty($allowed_user_ids)) { $allowed_user_ids = array(0); } // load actual users // $users = get_users(array( // 'include' => $allowed_user_ids, // 'fields' => array( // 'ID', // 'user_email', // ) // )); $allowed_user_ids_str = implode(',', $allowed_user_ids); $users = $wpdb->get_results("SELECT {$wpdb->users}.ID,\n\t\t\t{$wpdb->users}.user_email,\n\t\t\tfirst_name.meta_value AS 'first_name',\n\t\t\tlast_name.meta_value AS 'last_name'\n\t\t\tFROM {$wpdb->users}\n\t\t\tLEFT JOIN {$wpdb->usermeta} first_name\n\t\t\tON {$wpdb->users}.ID = first_name.user_id\n\t\t\tAND first_name.meta_key = 'first_name'\n\t\t\tLEFT JOIN {$wpdb->usermeta} last_name\n\t\t\tON {$wpdb->users}.ID = last_name.user_id\n\t\t\tAND last_name.meta_key = 'last_name'\n\t\t\tWHERE {$wpdb->users}.ID IN ({$allowed_user_ids_str});"); // add users to object Kanban_User::get_instance()->allowed_users = Kanban_Utils::build_array_with_id_keys($users, 'ID'); // load extra data foreach (Kanban_User::get_instance()->allowed_users as $user_id => $user) { Kanban_User::get_instance()->allowed_users[$user_id]->caps = array('write'); // get gravatar if (self::validate_gravatar($user->user_email)) { Kanban_User::get_instance()->allowed_users[$user_id]->avatar = get_avatar($user->user_email); } // fancy name formating Kanban_User::get_instance()->allowed_users[$user_id]->long_name_email = Kanban_User::get_username_long($user); Kanban_User::get_instance()->allowed_users[$user_id]->short_name = Kanban_User::get_username_short($user, TRUE); Kanban_User::get_instance()->allowed_users[$user_id]->initials = Kanban_User::get_initials($user); } } return apply_filters('kanban_user_get_allowed_users_return', Kanban_User::get_instance()->allowed_users); }
/** * get the users that are allowed to access the board * @return array allowed user objects */ static function get_allowed_users() { if (!isset(Kanban_User::get_instance()->allowed_users)) { // get all settings $allowed_users = Kanban_Option::get_option('allowed_users'); // pull out allowed user id's $allowed_user_ids = array(); if (is_array($allowed_users)) { $allowed_user_ids = $allowed_users; } if (empty($allowed_user_ids)) { $allowed_user_ids = array(0); } // load actual users $users = get_users(array('include' => $allowed_user_ids, 'fields' => array('ID', 'user_email'))); // add users to object Kanban_User::get_instance()->allowed_users = Kanban_Utils::build_array_with_id_keys($users, 'ID'); // load extra data foreach (Kanban_User::get_instance()->allowed_users as $user_id => $user) { Kanban_User::get_instance()->allowed_users[$user_id]->caps = array('write'); // get gravatar if (self::validate_gravatar($user->user_email)) { Kanban_User::get_instance()->allowed_users[$user_id]->avatar = get_avatar($user->user_email); } // fancy name formating Kanban_User::get_instance()->allowed_users[$user_id]->long_name_email = Kanban_User::get_username_long($user); Kanban_User::get_instance()->allowed_users[$user_id]->short_name = Kanban_User::get_username_short($user, TRUE); Kanban_User::get_instance()->allowed_users[$user_id]->initials = Kanban_User::get_initials($user); } } return apply_filters(sprintf('%s_after_get_allowed_users', Kanban::get_instance()->settings->basename), Kanban_User::get_instance()->allowed_users); }