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
NewLinkHandler.php
59 lines
| 1 | <?php namespace NestedPages\Form\Handlers; |
| 2 | |
| 3 | use NestedPages\Helpers; |
| 4 | /** |
| 5 | * Creates new Redirect/Link |
| 6 | * @return json response |
| 7 | */ |
| 8 | class NewLinkHandler extends BaseHandler { |
| 9 | |
| 10 | |
| 11 | public function __construct() |
| 12 | { |
| 13 | parent::__construct(); |
| 14 | $this->saveRedirect(); |
| 15 | $this->syncMenu(); |
| 16 | $this->sendResponse(); |
| 17 | } |
| 18 | |
| 19 | |
| 20 | /** |
| 21 | * Update the Post |
| 22 | * @todo update taxonomies |
| 23 | */ |
| 24 | private function saveRedirect() |
| 25 | { |
| 26 | $updated = $this->post_update_repo->saveRedirect($this->data); |
| 27 | if ( !$updated ) $this->sendErrorResponse(); |
| 28 | $this->data['id'] = $updated; |
| 29 | $this->addData(); |
| 30 | $this->formatLink(); |
| 31 | $this->response = array( |
| 32 | 'status' => 'success', |
| 33 | 'message' => __('Link successfully updated', 'nestedpages'), |
| 34 | 'post_data' => $this->data |
| 35 | ); |
| 36 | } |
| 37 | |
| 38 | |
| 39 | /** |
| 40 | * Format the new link for AJAX response |
| 41 | */ |
| 42 | private function formatLink() |
| 43 | { |
| 44 | $this->data['np_link_content'] = Helpers::check_url($this->data['np_link_content']); |
| 45 | } |
| 46 | |
| 47 | |
| 48 | /** |
| 49 | * Add additional data to the response object |
| 50 | */ |
| 51 | private function addData() |
| 52 | { |
| 53 | $this->data['delete_link'] = get_delete_post_link($this->data['id'],'', true); |
| 54 | $this->data['nav_status'] = ( isset($this->data['nav_status']) ) ? 'hide' : 'show'; |
| 55 | $this->data['np_status'] = ( isset($this->data['nested_pages_status']) ) ? 'hide' : 'show'; |
| 56 | $this->data['link_target'] = ( isset($this->data['link_target']) ) ? '_blank' : 'none'; |
| 57 | } |
| 58 | |
| 59 | } |