Server : Apache System : Linux indy02.toastserver.com 3.10.0-962.3.2.lve1.5.85.el7.x86_64 #1 SMP Thu Apr 18 15:18:36 UTC 2024 x86_64 User : palandch ( 1163) PHP Version : 7.1.33 Disable Function : NONE Directory : /home/palandch/www/core/model/modx/processors/security/user/setting/ |
<?php /** * Updates a user setting * * @param integer $fk The user ID to create the setting for * @param string $key The setting key * @param string $value The setting value * * @package modx * @subpackage processors.security.user.setting */ if (!$modx->hasPermission(array('save_user' => true, 'settings' => true))) { return $modx->error->failure($modx->lexicon('permission_denied')); } $modx->lexicon->load('setting'); /* get setting */ if (empty($scriptProperties['fk'])) return $modx->error->failure($modx->lexicon('user_err_ns')); if (empty($scriptProperties['key'])) return $modx->error->failure($modx->lexicon('setting_err_ns')); $setting = $modx->getObject('modUserSetting',array( 'key' => $scriptProperties['key'], 'user' => $scriptProperties['fk'], )); if (empty($setting)) return $modx->error->failure($modx->lexicon('setting_err_nf')); /* value parsing */ if ($scriptProperties['xtype'] == 'combo-boolean' && !is_numeric($scriptProperties['value'])) { if (in_array($scriptProperties['value'], array('yes', 'Yes', $modx->lexicon('yes'), 'true', 'True'))) { $scriptProperties['value'] = 1; } else $scriptProperties['value'] = 0; } $setting->set('key',$scriptProperties['key']); $setting->set('user',$scriptProperties['fk']); $setting->fromArray($scriptProperties); /* save setting */ if ($setting->save() == false) { return $modx->error->failure($modx->lexicon('setting_err_save')); } $modx->reloadConfig(); return $modx->error->success();