PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.4
JetFormBuilder — Dynamic Blocks Form Builder v3.6.4
3.6.5.2 3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.4 3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 All 130 releases
jetformbuilder / includes / classes / post / post-tools.php
post-tools.php
48 lines 911 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace Jet_Form_Builder\Classes\Post;
5
6 // If this file is called directly, abort.
7 if ( ! defined( 'WPINC' ) ) {
8 die;
9 }
10
11 class Post_Tools {
12
13 /**
14 * @param $post_id
15 *
16 * @return \WP_Post
17 * @throws Not_Found_Post_Exception
18 */
19 public static function get_post( $post_id ): \WP_Post {
20 $post_id = (int) $post_id;
21
22 if ( ! $post_id ) {
23 throw new Not_Found_Post_Exception( 'Empty post_id' );
24 }
25
26 $post = \get_post( $post_id );
27
28 if ( is_null( $post ) ) {
29 throw new Not_Found_Post_Exception( 'Not found post row' );
30 }
31
32 if ( 'publish' !== $post->post_status &&
33 ! current_user_can( 'edit_jet_fb_form', $post_id )
34 ) {
35 throw new Not_Found_Post_Exception( "Post isn't published" );
36 }
37
38 return $post;
39 }
40
41 public static function get_title( $post ): string {
42 $title = get_the_title( $post );
43
44 return empty( $title ) ? __( '(no title)', 'jet-form-builder' ) : $title;
45 }
46
47 }
48