Beispiel #1
0
 /**
  * Add columns on user overview
  *
  * @since 0.3
  * @param string  $output
  * @param string  $column_name
  * @param int     $user_id
  */
 public function add_user_columns($output, $column_name, $user_id)
 {
     $user = get_userdata($user_id);
     switch ($column_name) {
         case 'level':
             $levels = $this->_get_levels();
             $level_links = array();
             foreach ($this->level_manager->_get_user_levels($user, false, true, true) as $user_level) {
                 $user_level = isset($levels[$user_level]) ? $levels[$user_level] : null;
                 if ($user_level) {
                     $level_links[] = '<a href="' . admin_url('post.php?post=' . $user_level->ID . '&action=edit') . '">' . $user_level->post_title . '</a>';
                 }
             }
             $output = implode(", ", $level_links);
             break;
         default:
     }
     return $output;
 }
Beispiel #2
0
 /**
  * Get conditional restrictions 
  * and authorize access for user
  * 
  * @since  0.1
  * @return void
  */
 public function authorize_access()
 {
     if ($this->_has_global_access()) {
         return;
     }
     $posts = WPCACore::get_posts(RUA_App::TYPE_RESTRICT);
     if ($posts) {
         $kick = 0;
         $levels = array_flip($this->_get_user_levels());
         foreach ($posts as $post) {
             if (!isset($levels[$post->ID])) {
                 $kick = $post->ID;
             } else {
                 $kick = 0;
                 break;
             }
         }
         if ($kick) {
             $action = $this->metadata()->get('handle')->get_data($kick);
             self::$page = $this->metadata()->get('page')->get_data($kick);
             switch ($action) {
                 case 0:
                     if (self::$page != get_the_ID()) {
                         wp_safe_redirect(get_permalink(self::$page));
                         exit;
                     }
                     break;
                 case 1:
                     add_filter('the_content', array($this, 'content_tease'), 8);
                     break;
                 default:
                     break;
             }
             return;
         }
     }
 }