You are here

public static function InstapageCmsPluginHelper::updateOptions in Instapage plugin 8.3

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

Udated the plugin's options in database.

@uses \InstapageCmsPluginDBModel::query to update the database.

Parameters

$data Options object with updated values.:

Return value

mixed Query result of false on query of false on query error. Exception message is logged in standard error log.

2 calls to InstapageCmsPluginHelper::updateOptions()
InstapageCmsPluginAjaxController::doAction in core/InstapageCmsPluginAjaxController.php
Executes an action set in the request.
InstapageCmsPluginServicesModel::disableCrossOriginProxy in core/models/InstapageCmsPluginServicesModel.php
Disables the Cross Origin Proxy option in plugin's settings.

File

core/InstapageCmsPluginHelper.php, line 127

Class

InstapageCmsPluginHelper
Helper containing commonly used static functions.

Code

public static function updateOptions($data) {
  $userName = isset($data->userName) ? $data->userName : null;
  $userToken = isset($data->userToken) ? $data->userToken : null;
  if ($userName === null) {
    $userName = isset($data->user_name) ? $data->user_name : null;
  }
  if ($userToken === null) {
    $userToken = isset($data->plugin_hash) ? $data->plugin_hash : null;
  }
  $configJson = !empty($data->config) ? json_encode($data->config) : '';
  $metadataJson = !empty($data->metadata) ? json_encode($data->metadata) : '';
  $db = InstapageCmsPluginDBModel::getInstance();
  $sql = 'INSERT INTO ' . $db->optionsTable . '(id, plugin_hash, api_keys, user_name, config, metadata) VALUES(1, %s, %s, %s, %s, %s) ON DUPLICATE KEY UPDATE plugin_hash = %s, api_keys = %s, user_name = %s, config = %s, metadata=%s';
  return $db
    ->query($sql, $userToken, '', $userName, $configJson, $metadataJson, $userToken, '', $userName, $configJson, $metadataJson);
}