| Server IP : 185.143.233.238 / Your IP : 185.215.232.195 Web Server : LiteSpeed System : Linux saman.shetabanhost.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64 User : behrakir ( 1361) PHP Version : 8.1.34 Disable Function : symlink,shell_exec,show_source,exec,popen,system,passthru,proc_open,proc_close,pcntl_exec,mail MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/behrakir/khanomam.com/wp-content/plugins/wp-score-gamification/app/classes/parts/ |
Upload File : |
<?php namespace Avans\parts;
use Avans\user;
use stdClass;
class lockPost{
public static function is_permision($atts=null,$id=null){
$productID = (isset($id) && (int)$id > 0) ? $id : get_queried_object_id();
if(isset($atts)){
$settings = $atts;
}else{
$settings = get_post_meta($productID, AVANS_PREFIX.'page_lock_settings', true);
}
$return = [];
$return['status'] = true;
if(is_array($settings) && isset($settings['active']) && $settings['active']){
$return['score']['isset'] = (int)$settings['score'] > 0 ? true : false;
if($return['score']['isset']){
$return['score']['success'] = self::isPermisionByScore((int)$settings['score']);
$return['score']['value'] = (int)$settings['score'];
}
$return['level']['isset'] = (isset($settings['level']) && $settings['level'] != 'unset') ? true : false;
if($return['level']['isset']){
$return['level']['success'] = self::isPermisionByLevel($settings['level']);
$return['level']['value'] = $settings['level'];
}
$return['roles']['isset'] = isset($settings['roles']);
if($return['roles']['isset']){
$return['roles']['success'] = self::isPermisionByRoles($settings['roles']);
$return['roles']['value'] = self::getStringRoles($settings['roles']);
}
$return['badges']['isset'] = isset($settings['badges']);
if($return['badges']['isset']){
$return['badges']['success'] = self::isPermisionByBadges($settings['badges']);
$return['badges']['value'] = self::getStringbadges($settings['badges']);
}
if(
($return['score']['isset'] && !$return['score']['success']) ||
($return['level']['isset'] && !$return['level']['success']) ||
($return['roles']['isset'] && !$return['roles']['success']) ||
($return['badges']['isset'] && !$return['badges']['success'])
){
$return['status'] = false;
}
return $return;
}
return $return;
}
public static function isPermisionByScore($score){
if(get_current_user_id() == 0){
return false;
}
if(user::get_score_valid(get_current_user_id()) >= $score){
return true;
}
return false;
}
public static function isPermisionByLevel($level){
if(get_current_user_id() == 0){
return false;
}
if(user::get_level(get_current_user_id()) == $level){
return true;
}
return false;
}
public static function isPermisionByRoles($roles){
if(get_current_user_id() == 0){
return false;
}
$user_meta = get_userdata(get_current_user_id());
$user_roles = $user_meta->roles;
if(is_array($roles)){
foreach($roles as $role){
if(in_array($role,$user_roles)){
return true;
}
}
}
return false;
}
public static function isPermisionByBadges($badgesNeedle){
if(get_current_user_id() == 0){
return false;
}
$badges = user::get_badges_user(get_current_user_id());
if(count(array_intersect($badgesNeedle , $badges)) > 0){
return true;
}
return false;
}
public static function getStringRoles($roles){
$str = '';
$i = 0;
$numItems = count($roles);
global $wp_roles;
if(is_array($roles)):
foreach($roles as $role){
$str .= '<span class="role_item">'.translate_user_role($wp_roles->roles[$role]['name']).'</span>';
if(++$i !== $numItems){
$str .= "<span> ، </span>";
}
}
endif;
return $str;
}
public static function getStringbadges($badges){
$str = '';
$i = 0;
$numItems = count($badges);
if(is_array($badges)):
foreach($badges as $badge){
$str .= '<span class="badge_item">'.get_the_title((int)$badge).'</span>';
if(++$i !== $numItems){
$str .= "<span> ، </span>";
}
}
endif;
return $str;
}
}