PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/familymovies.us/wp-content/plugins/indeed-membership-pro/classes/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/familymovies.us/wp-content/plugins/indeed-membership-pro/classes/UmpRestrictUlp.php |
<?php namespace Indeed\Ihc; class UmpRestrictUlp { public function __construct() { add_filter('filter_on_ihc_block_url', array($this, 'checkRestrictionOnCourse'), 99, 4); } public function checkRestrictionOnCourse($redirectLink='', $url='', $currentUser=0, $postId=0) { global $current_user; if (!$this->isUlpActive()){ return $redirectLink; } if (empty($url) || empty($currentUser)){ return $redirectLink; } $courseId = $this->getCourseId($url); if (!$courseId){ return $redirectLink; } $levelsForThisCourse = $this->getLevelsForThisCourse($courseId); if (!$levelsForThisCourse){ return $redirectLink; } $redirectLink = $this->checkRedirectLink($redirectLink, $postId); if ($postId!=$courseId){ $isPreview = $this->isPreviewLesson($postId); } if (!empty($isPreview)){ $redirectLink = ''; return $redirectLink; } $userLevels = \Indeed\Ihc\UserSubscriptions::getAllForUser( $current_user->ID ); if (empty($userLevels)){ return $redirectLink; } foreach ($levelsForThisCourse as $lid){ $isExpired = ihc_is_user_level_expired($current_user->ID, $lid); $isOntime = ihc_is_user_level_ontime($lid); $userGotLevel = empty($userLevels[$lid]) ? false : true; if ($userGotLevel && $isExpired==0 && $isOntime==1){ $redirectLink = ''; /// remove redirect } } return $redirectLink; } private function isUlpActive() { if (!function_exists('is_plugin_active')){ include_once ABSPATH . 'wp-admin/includes/plugin.php'; } if (is_plugin_active('indeed-learning-pro/indeed-learning-pro.php')){ return true; } return false; } private function getLevelsForThisCourse($courseId=0) { $array = array(); if (!$courseId){ return $array; } $levelsData = \Indeed\Ihc\Db\Memberships::getAll(); if (empty($levelsData)){ return $array; } foreach ($levelsData as $lid => $levelData){ if (isset($levelData['ump_ulp_course']) && $levelData['ump_ulp_course']==$courseId){ $array[] = $lid; } } return $array; } private function getCourseId($url='') { $courseId = 0; if (empty($url)){ return $courseId; } $courseQueryVarName = get_option('ulp_course_custom_query_var'); if (empty($courseQueryVarName)){ $courseQueryVarName = 'ulp-course'; } $uriPath = parse_url($url, PHP_URL_PATH); if (empty($uriPath)){ return $courseId; } $uriSegments = explode('/', $uriPath); if (empty($uriSegments)){ return $courseId; } $key = false; if (in_array($courseQueryVarName, $uriSegments)!==false){ $key = array_search($courseQueryVarName, $uriSegments); } if ($key===false){ return $courseId; } $key++; if (empty($uriSegments[$key])){ return $courseId; } $courseSlug = $uriSegments[$key]; if ($courseSlug){ $courseId = \DbUlp::getPostIdByTypeAndName('ulp_course', $courseSlug); } return $courseId; } private function checkRedirectLink($redirectLink='', $postId=0) { if (!empty($redirectLink)){ return $redirectLink; } $defaultRedirectId = get_option('ihc_general_redirect_default_page'); if ($defaultRedirectId==$postId){ $defaultRedirectId = ''; } if (!empty($defaultRedirectId)){ $redirectLink = get_permalink($defaultRedirectId); } $redirectLink = home_url(); return $redirectLink; } private function isPreviewLesson($postId=0) { $postType = \DbUlp::getPostTypeById($postId); if ($postType!='ulp_lesson'){ return false; } $preview = get_post_meta($postId, 'ulp_lesson_preview', TRUE); if ($preview){ return true; } return false; } }