Skip to content
Snippets Groups Projects
Commit 3cfa7d03 authored by Jitendra Purohit's avatar Jitendra Purohit
Browse files

Fix hook URL storage in settings

parent 11bc05c6
Branches
Tags
1 merge request!2Fix storage of hook url in settings.
......@@ -24,7 +24,7 @@ class CRM_Zapier_Form_ZapHooks extends CRM_Core_Form {
]
]);
$zapHooks = unserialize(Civi::settings()->get('zapierHooks') ?? '') ?: [];
$zapHooks = Civi::settings()->get('zapierHooks') ?? [];
$this->setDefaults($zapHooks);
// export form elements
......@@ -34,11 +34,11 @@ class CRM_Zapier_Form_ZapHooks extends CRM_Core_Form {
public function postProcess() {
$values = $this->exportValues();
$zapHooks = serialize([
$zapHooks = [
'create_contact' => $values['create_contact'] ?? '',
'update_participant' => $values['update_participant'] ?? '',
]);
Civi::settings()->set('zapierHooks', serialize($zapHooks));
];
Civi::settings()->set('zapierHooks', $zapHooks);
CRM_Core_Session::setStatus(E::ts('Zapier hooks are saved.'));
parent::postProcess();
}
......
<?php
use CRM_Zapier_ExtensionUtil as E;
/**
* Collection of upgrade steps.
*/
class CRM_Zapier_Upgrader extends CRM_Extension_Upgrader_Base {
public static function is_serialized($val) {
if (!is_string($val)) return false;
if (trim($val) == "") return false;
$val = trim($val);
if (preg_match('/^(i|s|a|o|d):.*{/si', $val) > 0) return true;
return false;
}
/**
* Example: Run a couple simple queries.
*
* @return TRUE on success
* @throws CRM_Core_Exception
*/
public function upgrade_4200(): bool {
$this->ctx->log->info('Applying update 4200');
$val = Civi::settings()->get('zapierHooks');
if (self::is_serialized($val)) {
$val = unserialize($val);
if (is_array($val)) {
Civi::settings()->set('zapierHooks', $val);
}
}
return TRUE;
}
}
......@@ -33,8 +33,8 @@ class CRM_Zapier_Utils {
return;
}
$zapHooks[$trigger] = $url;
Civi::settings()->set('zapierHooks', serialize($zapHooks));
$zapHooks[$trigger]= $url;
Civi::settings()->set('zapierHooks', $zapHooks);
}
/**
......@@ -55,7 +55,7 @@ class CRM_Zapier_Utils {
}
public static function getZapHooks() {
return self::unserialize_recursive(Civi::settings()->get('zapierHooks') ?? '') ?: [];
return Civi::settings()->get('zapierHooks') ?? [];
}
public static function getZapHook($name) {
......@@ -63,37 +63,6 @@ class CRM_Zapier_Utils {
return $zapHooks[$name] ?? NULL;
}
public static function unserialize_recursive($val) {
// $pattern = "/.*\{(.*)\}/";
if (self::is_serialized($val)){
$val = trim($val);
$ret = unserialize($val);
if (is_array($ret)) {
foreach($ret as &$r) {
$r = self::unserialize_recursive($r);
}
}
return $ret;
}
elseif (is_array($val)) {
foreach($val as &$r) {
$r = self::unserialize_recursive($r);
}
return $val;
}
else {
return $val;
}
}
public static function is_serialized($val) {
if (!is_string($val)) return false;
if (trim($val) == "") return false;
$val = trim($val);
if (preg_match('/^(i|s|a|o|d):.*{/si', $val) > 0) return true;
return false;
}
/**
* @param $url
* @param $data
......
......@@ -18,7 +18,7 @@
<version>1.0</version>
<develStage>alpha</develStage>
<compatibility>
<ver>5.27</ver>
<ver>5.38</ver>
</compatibility>
<comments>This is a new, undeveloped module</comments>
<classloader>
......@@ -36,4 +36,5 @@
<mixin>menu-xml@1.0.0</mixin>
<mixin>smarty-v2@1.0.1</mixin>
</mixins>
<upgrader>CRM_Zapier_Upgrader</upgrader>
</extension>
......@@ -8,7 +8,7 @@
*/
class CRM_Zapier_ExtensionUtil {
const SHORT_NAME = 'zapier';
const LONG_NAME = 'nz.co.fuzion.zapier';
const LONG_NAME = 'zapier';
const CLASS_PREFIX = 'CRM_Zapier';
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment