Exemplo n.º 1
0
 public function user_manager()
 {
     /** check permission **/
     wpl_global::min_access('administrator');
     $possible_orders = array('u.id', 'u.user_registered');
     $orderby = in_array(wpl_request::getVar('orderby'), $possible_orders) ? wpl_request::getVar('orderby') : $possible_orders[0];
     $order = in_array(strtoupper(wpl_request::getVar('order')), array('ASC', 'DESC')) ? wpl_request::getVar('order') : 'ASC';
     $page_size = trim(wpl_request::getVar('page_size')) != '' ? wpl_request::getVar('page_size') : NULL;
     $this->show_all = wpl_request::getVar('show_all', 0);
     $this->filter = wpl_request::getVar('filter', '');
     $this->membership_id = wpl_request::getVar('membership_id', '');
     $where_query = wpl_db::create_query();
     if (trim($this->filter)) {
         $where_query = " AND (`user_login` LIKE '%" . $this->filter . "%' OR `user_email` LIKE '%" . $this->filter . "%' OR `first_name` LIKE '%" . $this->filter . "%' OR `last_name` LIKE '%" . $this->filter . "%')";
     }
     if (trim($this->membership_id)) {
         $where_query = " AND `membership_id`='" . $this->membership_id . "'";
     }
     $num_result = wpl_db::num("SELECT COUNT(u.ID) FROM `#__users` AS u " . ($this->show_all ? 'LEFT' : 'INNER') . " JOIN `#__wpl_users` AS wpl ON u.ID = wpl.id WHERE 1 {$where_query}");
     $this->pagination = wpl_pagination::get_pagination($num_result, $page_size);
     $where_query .= " ORDER BY {$orderby} {$order} " . $this->pagination->limit_query;
     if ($this->show_all) {
         $this->wp_users = wpl_users::get_wp_users($where_query);
     } else {
         $this->wp_users = wpl_users::get_wpl_users($where_query);
     }
     $this->memberships = wpl_users::get_wpl_memberships();
     /** import tpl **/
     parent::render($this->tpl_path, $this->tpl);
 }