You are here

private function InstapageCmsPluginAjaxController::deletePage in Instapage plugin 8.3

Same name and namespace in other branches
  1. 7.3 core/InstapageCmsPluginAjaxController.php \InstapageCmsPluginAjaxController::deletePage()

Deletes a page from DB.

1 call to InstapageCmsPluginAjaxController::deletePage()
InstapageCmsPluginAjaxController::doAction in core/InstapageCmsPluginAjaxController.php
Executes an action set in the request.

File

core/InstapageCmsPluginAjaxController.php, line 483

Class

InstapageCmsPluginAjaxController
Main controller for AJAX actions. Results are returned as encoded JSON objects. Data for actions are stored in $_POST['data'] table.

Code

private function deletePage() {
  $page = InstapageCmsPluginPageModel::getInstance();
  $api = InstapageCmsPluginAPIModel::getInstance();
  $subaccount = InstapageCmsPluginSubaccountModel::getInstance();
  $post = InstapageCmsPluginHelper::getPostData();
  $result = $page
    ->get($post->data->id, array(
    'instapage_id',
  ));
  $instapageId = $result->instapage_id;
  $tokens = isset($post->apiTokens) ? $post->apiTokens : false;
  if (!$tokens) {
    $tokens = $subaccount
      ->getAllTokens();
  }
  $data = array(
    'page' => $instapageId,
    'url' => '',
    'publish' => 0,
  );
  $headers = array(
    'accountkeys' => InstapageCmsPluginHelper::getAuthHeader($tokens),
  );
  $response = json_decode($api
    ->apiCall('page/edit', $data, $headers));
  $message = '';
  if (!InstapageCmsPluginHelper::checkResponse($response, null, false) || !$response->success) {
    $message .= InstapageCmsPluginConnector::lang('Page that you are removing (Instapage ID: %s) doesn\'t exist in your Instapage application\'s dashboard. It could have been deleted from app or created by another user. Deleting this page won\'t affect Instapage application\'s dashboard.', $instapageId);
    if (isset($response->message) && $response->message !== '') {
      $message .= InstapageCmsPluginConnector::lang(' Instapage app response: ' . $response->message);
    }
  }
  if (isset($post->data->id) && $page
    ->delete($post->data->id)) {
    if ($message) {
      echo InstapageCmsPluginHelper::formatJsonMessage($message);
    }
    else {
      echo InstapageCmsPluginHelper::formatJsonMessage(InstapageCmsPluginConnector::lang('Page deleted successfully.'));
    }
    return true;
  }
  else {
    echo InstapageCmsPluginHelper::formatJsonMessage(InstapageCmsPluginConnector::lang('There was a database error during page delete process.'), 'ERROR');
    return false;
  }
}