| @@ -98,8 +98,14 @@ | ||
| 98 | 98 | |
| 99 | 99 | public function create_template() { |
| 100 | 100 | check_admin_referer( 'templately_create_template' ); |
| 101 | 101 | |
| 102 | + // Check user capability | |
| 103 | + if (!current_user_can('delete_posts')) { | |
| 104 | + wp_send_json_error(['message' => 'Insufficient permissions']); | |
| 105 | + wp_die(); | |
| 106 | + } | |
| 107 | + | |
| 102 | 108 | $_type = sanitize_text_field( wp_unslash( $_POST['template_type'] ) ); |
| 103 | 109 | |
| 104 | 110 | $_meta = []; |
| 105 | 111 | |
| @@ -193,9 +199,10 @@ | ||
| 193 | 199 | return $post_id; |
| 194 | 200 | } |
| 195 | 201 | |
| 196 | 202 | public function modify_template_type( $value, $object_id, $meta_key, $single ) { |
| 197 | - if ( Document::TYPE_META_KEY === $meta_key && Source::CPT === get_post_type( $object_id ) ) { | |
| 203 | + $_value = $value; | |
| 204 | + if ( empty($value) && Document::TYPE_META_KEY === $meta_key && Source::CPT === get_post_type( $object_id ) ) { | |
| 198 | 205 | remove_filter( 'get_post_metadata', [ $this, 'modify_template_type' ] ); |
| 199 | 206 | $value = get_post_meta( $object_id, Source::TYPE_META_KEY, $single ); |
| 200 | 207 | $arr = [ |
| 201 | 208 | 'post' => 'single-post', |
| @@ -207,8 +214,11 @@ | ||
| 207 | 214 | 'course_archive' => 'archive', |
| 208 | 215 | ]; |
| 209 | 216 | $key = $single ? $value : (isset($value[0]) ? $value[0] : ''); |
| 210 | 217 | $value = isset( $arr[ $key ] ) ? $arr[ $key ] : $value; |
| 218 | + if(in_array($value, ['header', 'footer'])){ | |
| 219 | + return $_value; | |
| 220 | + } | |
| 211 | 221 | } |
| 212 | 222 | |
| 213 | 223 | return $value; |
| 214 | 224 | } |