public function update_config() { # Prevent more than one SVN class from handling form elements. if (!SourceSVNPlugin::$config_form_handled) { SourceSVNPlugin::$config_form_handled = true; $f_svnpath = gpc_get_string('plugin_SourceSVN_svnpath', ''); $t_svnpath = config_get('plugin_SourceSVN_svnpath', ''); $f_svnpath = rtrim($f_svnpath, DIRECTORY_SEPARATOR); if ($f_svnpath != $t_svnpath) { if (is_blank($f_svnpath)) { config_delete('plugin_SourceSVN_svnpath'); } else { # be sure that the path is valid if (($t_binary = SourceSVNPlugin::svn_binary($f_svnpath, true)) != 'svn') { config_set('plugin_SourceSVN_svnpath', $f_svnpath); } else { plugin_error('SVNPathInvalid', ERROR); } } } $f_svnargs = gpc_get_string('plugin_SourceSVN_svnargs', ''); if ($f_svnargs != config_get('plugin_SourceSVN_svnargs', '')) { config_set('plugin_SourceSVN_svnargs', $f_svnargs); } $f_svnssl = gpc_get_bool('plugin_SourceSVN_svnssl', false); if ($f_svnssl != config_get('plugin_SourceSVN_svnssl', false)) { config_set('plugin_SourceSVN_svnssl', $f_svnssl); } $f_winstart = gpc_get_bool('plugin_SourceSVN_winstart', false); if ($f_winstart != config_get('plugin_SourceSVN_winstart', false)) { config_set('plugin_SourceSVN_winstart', $f_winstart); } } }