"2.8") return $rule['author'] === get_the_author_meta('ID'); return $rule['author'] === get_the_author_ID(); } } if(!function_exists('VerifyRule_posttype')){ function VerifyRule_posttype($rule){ if(!isset($rule['posttype'])) return false; return $rule['posttype'] === get_post_type(); } } if(!function_exists('VerifyRule_getargument')){ function VerifyRule_getargument($rule){ // 'argname' => 'alruleargumentname-', // 'argvalue' => 'alruleargumentvalue-', // 'argop' => 'alruleargumentoperator-' // Verify that we have all the arguments that we need and that the GET argument is set if(!isset($rule['argname']) || !isset($rule['argvalue']) || !isset($rule['argop']) || !isset($_GET[$rule['argname']])) return false; switch($rule['argop']){ case '=': // is equal to return $_GET[$rule['argname']] == $rule['argvalue']; break; case '!=': // is not equal to return $_GET[$rule['argname']] != $rule['argvalue']; break; case '>': // is greater than if(is_numeric($rule['argvalue'])){ return $_GET[$rule['argname']] > $rule['argvalue']; }else{ return strcmp($_GET[$rule['argname']], $rule['argvalue']) > 0; } break; case '<': // is less than if(is_numeric($rule['argvalue'])){ return $_GET[$rule['argname']] < $rule['argvalue']; }else{ return strcmp($_GET[$rule['argname']], $rule['argvalue']) < 0; } break; case '>=': // is greater than or equal to if(is_numeric($rule['argvalue'])){ return $_GET[$rule['argname']] >= $rule['argvalue']; }else{ return strcmp($_GET[$rule['argname']], $rule['argvalue']) >= 0; } break; case '<=': // is less than or equal to if(is_numeric($rule['argvalue'])){ return $_GET[$rule['argname']] <= $rule['argvalue']; }else{ return strcmp($_GET[$rule['argname']], $rule['argvalue']) <= 0; } break; case '~': // matches regular expression return preg_match('/' . $rule['argvalue'] . '/', $rule['argname'], $matches); break; case '!~': // does not match regular expression return !preg_match('/' . $rule['argvalue'] . '/', $rule['argname'], $matches); break; } return false; } }