Plugin Directory

Changeset 2812495


Ignore:
Timestamp:
11/05/2022 06:55:11 AM (3 years ago)
Author:
VibeThemes
Message:

update version 1.1 , tested with WP 6.1, PHP 8.1

Location:
wplms-unit-access-addon
Files:
5 added
3 edited

Legend:

Unmodified
Added
Removed
  • wplms-unit-access-addon/trunk/classes/wplms_uaa_class.php

    r1665360 r2812495  
    55    class WPLMS_Unit_Addon_Class
    66    {
    7            
     7       
     8        public $disabled_meta = 0;
    89        public function __construct(){   
    910          add_filter('wplms_course_metabox',array($this,'add_number_unit_access_backend'));
    1011          add_filter('wplms_course_creation_tabs',array($this,'add_number_unit_access_frontend'));
    1112          add_filter('wplms_unit_metabox',array($this,'add_number_of_access'));
     13         
     14          add_filter('get_course_status_item',array($this,'course_unit_access'),10,3);
     15
    1216          add_action('the_content',array($this,'check_update_user_access_meta'));
     17
     18
     19
    1320          add_action('plugins_loaded',array($this,'wplms_uaa_translations'));
    1421        } // END public function __construct
     
    5663          return $settings;
    5764        }
     65
     66        function course_unit_access($post,$request,$user_id){       
     67           
     68            if(empty($user_id) || $post->post_type != 'unit')
     69                return $post;
     70
     71            $id = $post->ID;
     72            $course_id=bp_course_get_unit_course_id($id);
     73
     74            $course_count= get_post_meta($course_id,'vibe_unit_access_number',true);
     75            $unit_count=get_post_meta($id,'number_access',true);
     76            $count=0;
     77            $user_course_unit_count=0;
     78            if(!empty($unit_count)){
     79              $count=get_user_meta($user_id,'number_access'.$id,true);
     80            }elseif(!empty($course_count)){
     81               $user_course_unit_count=get_user_meta($user_id,'vibe_unit_access_number'.$id,true);
     82            }
     83            $count++;
     84            $user_course_unit_count++;
     85           
     86            if(!empty($unit_count) && $count <= $unit_count){
     87              update_user_meta($user_id,'number_access'.$id, $count);
     88            }elseif(!empty($course_count) && $user_course_unit_count <= $course_count ){
     89               update_user_meta($user_id,'vibe_unit_access_number'.$id, $user_course_unit_count);
     90            }
     91
     92            if(!empty($unit_count)  && isset($count) && $count > $unit_count){
     93              $post->post_content = '<div class="message" style="margin-bottom:50px">Allowed unit access limit('.$unit_count.') is over .</div>';
     94              $this->disabled_meta= true;
     95                add_filter('bp_course_api_get_user_course_status_item',array($this,'unset_meta'));
     96            }elseif(!empty($unit_count) && isset($count) && $count <= $unit_count ){
     97              $post->post_content =  '<div class="message" style="margin-bottom:50px">You can access this unit '.($unit_count-$count).' more time(s)</div>'.$post->post_content;
     98            }elseif(!empty($course_count)  && isset($user_course_unit_count) && $user_course_unit_count > $course_count){
     99              $post->post_content = '<div class="message" style="margin-bottom:50px">Allowed unit access limit('.$course_count.') is over .</div>';
     100              $this->disabled_meta= true;
     101              add_filter('bp_course_api_get_user_course_status_item',array($this,'unset_meta'));
     102            }elseif(!empty($course_count) && isset($user_course_unit_count) && $user_course_unit_count <= $course_count ){
     103              $post->post_content =  '<div class="message" style="margin-bottom:50px">You can access this unit '.($course_count-$user_course_unit_count).' more time(s)</div>'. $post->post_content;
     104
     105            }
     106
     107            return $post;   
     108        }
     109
     110        function unset_meta ($item){
     111                if(!empty($this->disabled_meta)){
     112                    unset($item['meta']['video']);
     113                    $item['meta']['access']=0;
     114                }
     115           
     116            return $item;
     117          }
     118
    58119        function check_update_user_access_meta($content){
    59120            global $post;
    60             $id=$post->ID;
    61             if((!empty($id) && get_post_type($id)!='unit') || !is_user_logged_in())
     121
     122
     123           
     124
     125
     126            if((!empty($post) && $post->post_type!='unit') || !is_user_logged_in())
    62127              return $content;
    63128
     129            $id=$post->ID;
    64130            if((is_user_logged_in() && current_user_can('manage_options')) || (is_user_logged_in() &&  get_current_user_id()==$post->post_author))
    65131                return $content;
     132
     133            $user_id=get_current_user_id();
     134
    66135            $course_id=bp_course_get_unit_course_id($id);
    67136
    68             $user_id=get_current_user_id();
     137           
    69138            $course_count= get_post_meta($course_id,'vibe_unit_access_number',true);
    70139            $unit_count=get_post_meta($id,'number_access',true);
  • wplms-unit-access-addon/trunk/readme.txt

    r1663725 r2812495  
    33Tags:Unit access, WPLMS,unit, eLearning, LMS, Learning management system
    44Requires at least: 3.6
    5 Tested up to: 4.7.4
    6 Stable tag: 1.0
     5Tested up to: 6.1
     6Stable tag: 1.1
    77License: GPLv2 or later
    88License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    51512. Restrcitions
    5252
     53
     54== Changelog ==
     55= 1.1 - Nov 4 2022 =
     56* Compatibility with PHP 8.1
     57* Compatibility with WP 6.1
     58
  • wplms-unit-access-addon/trunk/wplms-unit-access-addon.php

    r1663725 r2812495  
    44Plugin URI: http://www.Vibethemes.com
    55Description: A simple WordPress plugin to Restrict access to units
    6 Version: 1.0
     6Version: 1.1
    77Author: vibethemes,alexhal
    88Author URI: http://www.vibethemes.com
     
    3232if(class_exists('WPLMS_Unit_Addon_Class'))
    3333{
     34    $wplms_uaa = new WPLMS_Unit_Addon_Class();
    3435    // Installation and uninstallation hooks
    35     register_activation_hook(__FILE__, array('WPLMS_Unit_Addon_Class', 'activate'));
    36     register_deactivation_hook(__FILE__, array('WPLMS_Unit_Addon_Class', 'deactivate'));
     36    register_activation_hook(__FILE__, array( $wplms_uaa, 'activate'));
     37    register_deactivation_hook(__FILE__, array( $wplms_uaa, 'deactivate'));
    3738
    38     // instantiate the plugin class
    39     $wplms_uaa = new WPLMS_Unit_Addon_Class();
     39   
    4040}
    4141
Note: See TracChangeset for help on using the changeset viewer.