# learnpress/4.4.1/inc/jwt/rest-api/lp-rest-function.php

LearnPress – WordPress LMS Plugin for Create and Sell Online Courses, version 4.4.1. 45 lines.

- Page: https://pluginprobe.com/plugins/learnpress/4.4.1/code/inc/jwt/rest-api/lp-rest-function.php
- Raw: https://pluginprobe.com/plugins/learnpress/4.4.1/raw/inc/jwt/rest-api/lp-rest-function.php
- Modified: 2026-06-26T11:19:40+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/learnpress/4.4.1/code/inc/jwt/rest-api/lp-rest-function.php#L10-L20`.

```php
<?php

/**
 * Check permissions of posts on REST API.
 *
 * @param [type]  $post_type Post type.
 * @param string  $context Request context.
 * @param integer $object_id Post ID.
 * @return void
 */
function lp_rest_check_post_permissions( $post_type, $context = 'read', $object_id = 0 ) {
	$contexts = array(
		'read'   => 'read_private_posts',
		'create' => 'publish_posts',
		'edit'   => 'edit_post',
		'delete' => 'delete_post',
		'batch'  => 'edit_others_posts',
	);

	if ( 'revision' === $post_type ) {
		$permission = false;
	} else {
		$cap              = $contexts[ $context ];
		$post_type_object = get_post_type_object( $post_type );
		$permission       = current_user_can( $post_type_object->cap->$cap, $object_id );
	}

	return apply_filters( 'lp_rest_check_permissions', $permission, $context, $object_id, $post_type );
}

function lp_jwt_prepare_date_response( $date_gmt, $date = null ) {
	// Use the date if passed.
	if ( isset( $date ) ) {
		return mysql_to_rfc3339( $date );
	}

	// Return null if $date_gmt is empty/zeros.
	if ( '0000-00-00 00:00:00' === $date_gmt ) {
		return null;
	}

	// Return the formatted datetime.
	return mysql_to_rfc3339( $date_gmt );
}

```
