/** * Load params */ function load_from_Request() { load_funcs('plugins/_plugin.funcs.php'); // Loop through all widget params: foreach ($this->get_param_definitions(array('for_editing' => true)) as $parname => $parmeta) { autoform_set_param_from_request($parname, $parmeta, $this, 'Widget'); } }
$Settings->set('reportpm_enabled', param('reportpm_enabled', 'integer', 0)); $Settings->set('reportpm_from', $User->login); $Settings->set('reportpm_title', param('reportpm_title', 'string', true)); $Settings->set('reportpm_message', param('reportpm_message', 'text', true)); $Settings->dbupdate(); // Update Plugin params/Settings load_funcs('plugins/_plugin.funcs.php'); $Plugins->restart(); while ($loop_Plugin =& $Plugins->get_next()) { $pluginsettings = $loop_Plugin->get_msg_setting_definitions($tmp_params = array('for_editing' => true)); if (empty($pluginsettings)) { continue; } // Loop through settings for this plugin: foreach ($pluginsettings as $set_name => $set_meta) { autoform_set_param_from_request($set_name, $set_meta, $loop_Plugin, 'Settings'); } // Let the plugin handle custom fields: // We use call_method to keep track of this call, although calling the plugins PluginSettingsUpdateAction method directly _might_ work, too. $ok_to_update = $Plugins->call_method($loop_Plugin->ID, 'PluginSettingsUpdateAction', $tmp_params = array()); if ($ok_to_update === false) { // Rollback settings: the plugin has said they should not get updated. $loop_Plugin->Settings->reset(); } else { // Update message settings of the Plugin $loop_Plugin->Settings->dbupdate(); } } $Messages->add(T_('Settings were updated.'), 'success'); break; }
// Will EXIT } } break; case 'plugin_settings': // Update Plugin params/Settings load_funcs('plugins/_plugin.funcs.php'); $Plugins->restart(); while ($loop_Plugin =& $Plugins->get_next()) { $pluginsettings = $loop_Plugin->get_coll_setting_definitions($tmp_params = array('for_editing' => true)); if (empty($pluginsettings)) { continue; } // Loop through settings for this plugin: foreach ($pluginsettings as $set_name => $set_meta) { autoform_set_param_from_request($set_name, $set_meta, $loop_Plugin, 'CollSettings', $Blog); } // Let plugins process settings $Plugins->call_method($loop_Plugin->ID, 'PluginCollSettingsUpdateAction', $tmp_params = array()); } if (!param_errors_detected()) { // Update settings: $Blog->dbupdate(); $Messages->add(T_('Plugin settings have been updated'), 'success'); // Redirect so that a reload doesn't write to the DB twice: header_redirect($update_redirect_url, 303); // Will EXIT } break; case 'advanced': if ($edited_Blog->load_from_Request(array('pings', 'cache', 'authors', 'login', 'styles'))) {
/** * Load params */ function load_params_from_Request() { load_funcs('plugins/_plugin.funcs.php'); // Loop through all widget params: foreach ($this->get_param_definitions(array('for_editing' => true)) as $parname => $parmeta) { if (isset($parmeta['type']) && $parmeta['type'] == 'color' && empty($parmeta['valid_pattern'])) { // Set default validation for color fields $parmeta['valid_pattern'] = array('pattern' => '~^(#([a-f0-9]{3}){1,2})?$~i', 'error' => T_('Invalid color code.')); } autoform_set_param_from_request($parname, $parmeta, $this, 'Skin'); } }
// Update user settings: if ($UserSettings->dbupdate()) { $Messages->add(T_('User feature settings have been changed.'), 'success'); } // PluginUserSettings $any_plugin_settings_updated = false; $Plugins->restart(); while ($loop_Plugin =& $Plugins->get_next()) { $pluginusersettings = $loop_Plugin->GetDefaultUserSettings($tmp_params = array('for_editing' => true)); if (empty($pluginusersettings)) { continue; } load_funcs('plugins/_plugin.funcs.php'); // Loop through settings for this plugin: foreach ($loop_Plugin->GetDefaultUserSettings($dummy = array('for_editing' => true)) as $set_name => $set_meta) { autoform_set_param_from_request($set_name, $set_meta, $loop_Plugin, 'UserSettings', $edited_User); } // Let the plugin handle custom fields: $ok_to_update = $Plugins->call_method($loop_Plugin->ID, 'PluginUserSettingsUpdateAction', $tmp_params = array('User' => &$edited_User, 'action' => 'save')); if ($ok_to_update === false) { $loop_Plugin->UserSettings->reset(); } elseif ($loop_Plugin->UserSettings->dbupdate()) { $any_plugin_settings_updated = true; } } if ($any_plugin_settings_updated) { $Messages->add(T_('Usersettings of Plugins have been updated.'), 'success'); } if ($user_profile_only) { $action = 'edit_user'; }
/** * Load params */ function load_from_Request() { load_funcs('plugins/_plugin.funcs.php'); // Loop through all widget params: foreach ($this->get_param_definitions(array('for_editing' => true)) as $parname => $parmeta) { autoform_set_param_from_request($parname, $parmeta, $this, 'Widget'); } // SPECIAL treatments: if (empty($this->param_array['widget_name'])) { // Default name, don't store: $this->set('widget_name', $this->get_name()); } }
/** * Load params */ function load_from_Request() { load_funcs('plugins/_plugin.funcs.php'); // Loop through all widget params: foreach ($this->get_param_definitions(array('for_editing' => true, 'for_updating' => true)) as $parname => $parmeta) { $parvalue = NULL; if ($parname == 'allow_blockcache' && isset($parmeta['disabled']) && $parmeta['disabled'] == 'disabled') { // Force checkbox "Allow caching" to unchecked when it is disallowed from widget config $parvalue = 0; } autoform_set_param_from_request($parname, $parmeta, $this, 'Widget', NULL, $parvalue); } }