Пример #1
0
 /**
  * Check user capability
  * 
  * This is a hack function that add additional layout on top of WordPress
  * core functionality. Based on the capability passed in the $args array as
  * "0" element, it performs additional check on user's capability to manage
  * post.
  * 
  * @param array $allCaps
  * @param array $metaCaps
  * @param array $args
  * 
  * @return array
  * 
  * @access public
  */
 public function checkUserCap($allCaps, $metaCaps, $args)
 {
     //make sure that $args[2] is actually post ID
     if (isset($args[2]) && is_scalar($args[2])) {
         switch ($args[0]) {
             case 'edit_post':
                 $object = AAM::getUser()->getObject('post', $args[2]);
                 if ($object->has('backend.edit')) {
                     $allCaps = $this->restrictPostActions($allCaps, $metaCaps);
                 }
                 break;
             case 'delete_post':
                 $object = AAM::getUser()->getObject('post', $args[2]);
                 if ($object->has('backend.delete')) {
                     $allCaps = $this->restrictPostActions($allCaps, $metaCaps);
                 }
                 break;
         }
     }
     return $allCaps;
 }
Пример #2
0
 /**
  * Filter posts from the list
  *  
  * @param array $posts
  * 
  * @return array
  * 
  * @access public
  */
 public function thePosts($posts)
 {
     $filtered = array();
     foreach ($posts as $post) {
         $object = AAM::getUser()->getObject('post', $post->ID);
         if (!$object->has('frontend.list')) {
             $filtered[] = $post;
         }
     }
     return $filtered;
 }
Пример #3
0
 /**
  * Check user capability
  * 
  * This is a hack function that add additional layout on top of WordPress
  * core functionality. Based on the capability passed in the $args array as
  * "0" element, it performs additional check on user's capability to manage
  * post.
  * 
  * @param array $allCaps
  * @param array $metaCaps
  * @param array $args
  * 
  * @return array
  * 
  * @access public
  */
 public function checkUserCap($allCaps, $metaCaps, $args)
 {
     switch ($args[0]) {
         case 'edit_post':
             $object = AAM::getUser()->getObject('post', $args[2]);
             if ($object->has('backend.edit')) {
                 $allCaps = $this->restrictPostActions($allCaps, $metaCaps);
             }
             break;
         case 'delete_post':
             $object = AAM::getUser()->getObject('post', $args[2]);
             if ($object->has('backend.delete')) {
                 $allCaps = $this->restrictPostActions($allCaps, $metaCaps);
             }
             break;
     }
     return $allCaps;
 }