public function InstapageCmsPluginAjaxController::doAction in Instapage plugin 8.3
Same name and namespace in other branches
- 7.3 core/InstapageCmsPluginAjaxController.php \InstapageCmsPluginAjaxController::doAction()
Executes an action set in the request.
Parameters
string $action Action to execute.:
mixed $data Data passed to action.:
File
- core/
InstapageCmsPluginAjaxController.php, line 31
Class
- InstapageCmsPluginAjaxController
- Main controller for AJAX actions. Results are returned as encoded JSON objects. Data for actions are stored in $_POST['data'] table.
Code
public function doAction($action, $data = null) {
InstapageCmsPluginHelper::writeDiagnostics($action, 'AJAX Action');
if (!InstapageCmsPluginConnector::currentUserCanManage()) {
echo InstapageCmsPluginHelper::formatJsonMessage(InstapageCmsPluginConnector::lang('You don\'t have permission to perform that action.'), 'ERROR');
exit;
}
switch ($action) {
case 'loginUser':
$this
->loginUser();
break;
case 'getApiTokens':
$this
->getApiTokens();
break;
case 'connectSubAccounts':
$subaccount = InstapageCmsPluginSubaccountModel::getInstance();
$subaccount
->setSubAccountsStatus('connect');
break;
case 'disconnectSubAccounts':
$subaccount = InstapageCmsPluginSubaccountModel::getInstance();
$subaccount
->setSubAccountsStatus('disconnect');
break;
case 'disconnectAccountBoundSubaccounts':
$subaccount = InstapageCmsPluginSubaccountModel::getInstance();
$subaccount
->disconnectAccountBoundSubaccounts();
break;
case 'getAccountBoundSubAccounts':
$subaccount = InstapageCmsPluginSubaccountModel::getInstance();
$subaccount
->getAccountBoundSubAccounts();
break;
case 'updateOptions':
if (InstapageCmsPluginHelper::updateOptions($data) !== false) {
echo InstapageCmsPluginHelper::formatJsonMessage(InstapageCmsPluginConnector::lang('Configuration updated'), 'OK');
}
else {
echo InstapageCmsPluginHelper::formatJsonMessage(InstapageCmsPluginConnector::lang('There was an error during configuration save'), 'ERROR');
}
break;
case 'getOptions':
echo json_encode((object) array(
'status' => 'OK',
'data' => InstapageCmsPluginHelper::getOptions(),
));
break;
case 'getLog':
$this
->getLog();
break;
case 'clearLog':
$log = InstapageCmsPluginDebugLogModel::getInstance();
$log
->clear();
echo InstapageCmsPluginHelper::formatJsonMessage(InstapageCmsPluginConnector::lang('Log cleared'), 'OK');
break;
case 'getMasterToken':
$this
->getMasterToken();
break;
case 'loadListPages':
$this
->loadListPages();
break;
case 'loadEditPage':
$this
->loadEditPage();
break;
case 'getLandingPages':
$this
->getLandingPages();
break;
case 'getStats':
$this
->getStats();
break;
case 'publishPage':
$this
->publishPage();
break;
case 'deletePage':
$this
->deletePage();
break;
case 'loadSettings':
echo json_encode((object) array(
'status' => 'OK',
'html' => InstapageCmsPluginHelper::loadTemplate('settings', false),
'initialData' => InstapageCmsPluginHelper::getOptions(),
));
break;
case 'getProhibitedSlugs':
$data = InstapageCmsPluginConnector::getSelectedConnector()
->getProhibitedSlugs();
echo json_encode((object) array(
'status' => 'OK',
'data' => $data,
));
break;
case 'isProhibitedSlug':
$data = InstapageCmsPluginConnector::getSelectedConnector()
->isProhibitedSlug($data);
echo json_encode((object) array(
'status' => 'OK',
'data' => $data,
));
break;
case 'validateToken':
$this
->validateToken();
break;
case 'migrateDeprecatedData':
$data = InstapageCmsPluginConnector::getSelectedConnector()
->getDeprecatedData();
$page = InstapageCmsPluginPageModel::getInstance();
$raport = $page
->migrateDeprecatedData($data);
$raportStr = implode('<br />', $raport);
echo InstapageCmsPluginHelper::formatJsonMessage($raportStr);
break;
default:
echo InstapageCmsPluginHelper::formatJsonMessage(InstapageCmsPluginConnector::lang('Unsupported InstapageCmsPluginAjaxController action'), 'ERROR');
}
}