Ticket #29043: #29043-capabilities.php.patch
File #29043-capabilities.php.patch, 3.0 KB (added by , 11 years ago) |
---|
-
capabilities.php
1070 1070 case 'delete_post': 1071 1071 case 'delete_page': 1072 1072 $post = get_post( $args[0] ); 1073 // Check for empty post 1074 if ( empty( $post ) ) { 1075 break; 1076 } 1073 1077 1074 1078 if ( 'revision' == $post->post_type ) { 1075 1079 $post = get_post( $post->post_parent ); 1076 1080 } 1081 // Check for empty post 1082 if ( empty( $post ) ) { 1083 break; 1084 } 1077 1085 1078 1086 $post_type = get_post_type_object( $post->post_type ); 1087 // Check for empty post_type 1088 if ( empty( $post_type ) ) { 1089 break; 1090 } 1079 1091 1080 1092 if ( ! $post_type->map_meta_cap ) { 1081 1093 $caps[] = $post_type->cap->$cap; … … 1114 1126 case 'edit_post': 1115 1127 case 'edit_page': 1116 1128 $post = get_post( $args[0] ); 1117 if ( empty( $post ) ) 1129 // Check for empty post 1130 if ( empty( $post ) ) { 1118 1131 break; 1132 } 1119 1133 1120 1134 if ( 'revision' == $post->post_type ) { 1121 1135 $post = get_post( $post->post_parent ); 1122 1136 } 1137 // Check for empty post 1138 if ( empty( $post ) ) { 1139 break; 1140 } 1123 1141 1124 1142 $post_type = get_post_type_object( $post->post_type ); 1143 // Check for empty post_type 1144 if ( empty( $post_type ) ) { 1145 break; 1146 } 1125 1147 1126 1148 if ( ! $post_type->map_meta_cap ) { 1127 1149 $caps[] = $post_type->cap->$cap; … … 1158 1180 case 'read_post': 1159 1181 case 'read_page': 1160 1182 $post = get_post( $args[0] ); 1183 // Check for empty post 1184 if ( empty( $post ) ) { 1185 break; 1186 } 1161 1187 1162 1188 if ( 'revision' == $post->post_type ) { 1163 1189 $post = get_post( $post->post_parent ); 1164 1190 } 1191 // Check for empty post 1192 if ( empty( $post ) ) { 1193 break; 1194 } 1165 1195 1166 1196 $post_type = get_post_type_object( $post->post_type ); 1197 // Check for empty post_type 1198 if ( empty( $post_type ) ) { 1199 break; 1200 } 1167 1201 1168 1202 if ( ! $post_type->map_meta_cap ) { 1169 1203 $caps[] = $post_type->cap->$cap; … … 1174 1208 } 1175 1209 1176 1210 $status_obj = get_post_status_object( $post->post_status ); 1177 if ( $status_obj->public ) { 1211 // Add check for empty status_obj 1212 if (!empty($status_obj) && $status_obj->public ) { 1178 1213 $caps[] = $post_type->cap->read; 1179 1214 break; 1180 1215 } … … 1189 1224 break; 1190 1225 case 'publish_post': 1191 1226 $post = get_post( $args[0] ); 1227 // Check for empty post 1228 if ( empty( $post ) ) { 1229 break; 1230 } 1231 1192 1232 $post_type = get_post_type_object( $post->post_type ); 1233 // Check for empty post_type 1234 if ( empty( $post_type ) ) { 1235 break; 1236 } 1193 1237 1194 1238 $caps[] = $post_type->cap->publish_posts; 1195 1239 break; … … 1197 1241 case 'delete_post_meta': 1198 1242 case 'add_post_meta': 1199 1243 $post = get_post( $args[0] ); 1244 // Check for empty post 1245 if ( empty( $post ) ) { 1246 break; 1247 } 1248 1200 1249 $caps = map_meta_cap( 'edit_post', $user_id, $post->ID ); 1201 1250 1202 1251 $meta_key = isset( $args[ 1 ] ) ? $args[ 1 ] : false; … … 1229 1278 if ( empty( $comment ) ) 1230 1279 break; 1231 1280 $post = get_post( $comment->comment_post_ID ); 1281 // Check for empty post 1282 if ( empty( $post ) ) { 1283 break; 1284 } 1232 1285 $caps = map_meta_cap( 'edit_post', $user_id, $post->ID ); 1233 1286 break; 1234 1287 case 'unfiltered_upload':