BaseHandler.php
11 years ago
EmptyTrashHandler.php
11 years ago
GetTaxonomiesHandler.php
11 years ago
ListingSortHandler.php
11 years ago
NestToggleHandler.php
11 years ago
NewChildHandler.php
11 years ago
NewLinkHandler.php
11 years ago
QuickEditHandler.php
11 years ago
QuickEditLinkHandler.php
11 years ago
SearchHandler.php
11 years ago
SortHandler.php
11 years ago
SyncMenuHandler.php
11 years ago
QuickEditHandler.php
73 lines
| 1 | <?php namespace NestedPages\Form\Handlers; |
| 2 | |
| 3 | /** |
| 4 | * Handles processing the quick edit form |
| 5 | * @return json response |
| 6 | */ |
| 7 | class QuickEditHandler extends BaseHandler { |
| 8 | |
| 9 | |
| 10 | public function __construct() |
| 11 | { |
| 12 | parent::__construct(); |
| 13 | $this->updatePost(); |
| 14 | $this->syncMenu(); |
| 15 | $this->sendResponse(); |
| 16 | } |
| 17 | |
| 18 | |
| 19 | /** |
| 20 | * Update the Post |
| 21 | * @todo update taxonomies |
| 22 | */ |
| 23 | private function updatePost() |
| 24 | { |
| 25 | $updated = $this->post_update_repo->updatePost($this->data); |
| 26 | if ( !$updated ) $this->sendErrorResponse(); |
| 27 | if ( isset($this->data['tax_input']) ) $this->addFlatTaxonomies(); |
| 28 | $this->addData(); |
| 29 | $this->response = array( |
| 30 | 'status' => 'success', |
| 31 | 'message' => __('Post successfully updated'), |
| 32 | 'post_data' => $this->data |
| 33 | ); |
| 34 | } |
| 35 | |
| 36 | |
| 37 | /** |
| 38 | * Add Flat Taxonomy IDs |
| 39 | */ |
| 40 | private function addFlatTaxonomies() |
| 41 | { |
| 42 | $taxonomies = $this->data['tax_input']; |
| 43 | foreach($taxonomies as $key => $tax_terms){ |
| 44 | $tax = get_taxonomy($key); |
| 45 | if ( (!is_taxonomy_hierarchical($tax->name)) && !empty($tax_terms) ){ |
| 46 | unset($this->data['tax_input'][$key]); // remove taxonomy from returned tax input |
| 47 | $terms = explode(',', $tax_terms); |
| 48 | foreach ( $terms as $i => $term ){ |
| 49 | if ( $term !== "" ){ |
| 50 | $term_obj = get_term_by('name', $term, $tax->name); |
| 51 | $this->data['flat_tax'][$key][$i] = $term_obj->term_id; // add the new flat_tax returned object |
| 52 | } |
| 53 | } |
| 54 | } |
| 55 | } |
| 56 | } |
| 57 | |
| 58 | |
| 59 | /** |
| 60 | * Add additional data to the response object |
| 61 | */ |
| 62 | private function addData() |
| 63 | { |
| 64 | $this->data['author_name'] = get_the_author_meta('display_name', $this->data['post_author']); |
| 65 | $this->data['nav_status'] = ( isset($this->data['nav_status']) ) ? 'hide' : 'show'; |
| 66 | $this->data['np_status'] = ( isset($this->data['nested_pages_status']) ) ? 'hide' : 'show'; |
| 67 | $this->data['link_target'] = ( isset($this->data['link_target']) ) ? '_blank' : 'none'; |
| 68 | $this->data['keep_private'] = ( isset($this->data['keep_private']) ) ? 'private' : 'public'; |
| 69 | $this->data['_status'] = ( isset($this->data['_status']) ) ? $this->data['_status'] : 'publish'; |
| 70 | if ( !isset($_POST['comment_status']) ) $this->data['comment_status'] = 'closed'; |
| 71 | } |
| 72 | |
| 73 | } |