private static function check_contexts(context $context, $values) {
        if ($context->contextlevel > CONTEXT_COURSECAT) {
            return self::check_contexts($context->get_parent_context(), $values);
        } else if ($context->contextlevel == CONTEXT_COURSECAT) {
            if (in_array($context->instanceid, $values)) {
                return true;
            } else {
                return self::check_contexts($context->get_parent_context(), $values);
            }
        } else {
            return false;
        }
    }
private static function check_contexts(context $context, $values) {
        if ($context->contextlevel > CONTEXT_COURSECAT) {
            return self::check_contexts($context->get_parent_context(), $values);
        } else if ($context->contextlevel == CONTEXT_COURSECAT) {
            if (in_array($context->instanceid, $values)) {
                return true;
            } else {
                return self::check_contexts($context->get_parent_context(), $values);
            }
        } else {
            return false;
        }
    }
private static function check_contexts ( context $ context , $ values ) { if ( $ context -> contextlevel > CONTEXT_COURSECAT ) { return self :: check_contexts ( $ context -> get_parent_context ( ) , $ values ) ; } else if ( $ context -> contextlevel == CONTEXT_COURSECAT ) { if ( in_array ( $ context -> instanceid , $ values ) ) { return true ; } else { return self :: check_contexts ( $ context -> get_parent_context ( ) , $ values ) ; } } else { return false ; } }
Recursive function allows checking of parent categories.

@param context $context
@param array $values
@return boolean
Recursive function allows checking of parent categories .