package WebGUI::Operation::Settings; #------------------------------------------------------------------- # WebGUI is Copyright 2001 Plain Black Software. #------------------------------------------------------------------- # Please read the legal notices (docs/legal.txt) and the license # (docs/license.txt) that came with this distribution before using # this software. #------------------------------------------------------------------- # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- use Exporter; use strict; use WebGUI::Form; use WebGUI::International; use WebGUI::Privilege; use WebGUI::Session; use WebGUI::SQL; use WebGUI::Utility; our @ISA = qw(Exporter); our @EXPORT = qw(&www_editProfileSettings &www_editProfileSettingsSave &www_editAuthenticationSettings &www_editAuthenticationSettingsSave &www_editCompanyInformation &www_editCompanyInformationSave &www_editFileSettings &www_editFileSettingsSave &www_editMailSettings &www_editMailSettingsSave &www_editMiscSettings &www_editMiscSettingsSave &www_manageSettings); #------------------------------------------------------------------- sub www_editAuthenticationSettings { my ($output, %authMethod, @array, %yesNo); %authMethod = ('WebGUI'=>'WebGUI', 'LDAP'=>'LDAP'); %yesNo = ('yes'=>WebGUI::International::get(138), 'no'=>WebGUI::International::get(139)); if (WebGUI::Privilege::isInGroup(3)) { $output .= ''; $output .= '

'.WebGUI::International::get(117).'

'; $output .= '
'; $output .= WebGUI::Form::hidden("op","editAuthenticationSettingsSave"); $output .= ''; $array[0] = $session{setting}{anonymousRegistration}; $output .= ''; $array[0] = $session{setting}{authMethod}; $output .= ''; $array[0] = $session{setting}{usernameBinding}; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= '
'.WebGUI::International::get(118).''.WebGUI::Form::selectList("anonymousRegistration",\%yesNo, \@array).'
'.WebGUI::International::get(119).''.WebGUI::Form::selectList("authMethod",\%authMethod, \@array).'
'.WebGUI::International::get(306).''.WebGUI::Form::selectList("usernameBinding",\%yesNo, \@array).'
'.WebGUI::International::get(120).''.WebGUI::Form::text("ldapURL",30,2048,$session{setting}{ldapURL}).'
'.WebGUI::International::get(121).''.WebGUI::Form::text("ldapId",30,100,$session{setting}{ldapId}).'
'.WebGUI::International::get(122).''.WebGUI::Form::text("ldapIdName",30,100,$session{setting}{ldapIdName}).'
'.WebGUI::International::get(123).''.WebGUI::Form::text("ldapPasswordName",30,100,$session{setting}{ldapPasswordName}).'
'.WebGUI::Form::submit(WebGUI::International::get(62)).'
'; $output .= '
'; } else { $output = WebGUI::Privilege::adminOnly(); } return $output; } #------------------------------------------------------------------- sub www_editAuthenticationSettingsSave { if (WebGUI::Privilege::isInGroup(3)) { WebGUI::SQL->write("update settings set value=".quote($session{form}{authMethod})." where name='authMethod'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{ldapURL})." where name='ldapURL'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{ldapId})." where name='ldapId'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{ldapIdName})." where name='ldapIdName'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{ldapPasswordName})." where name='ldapPasswordName'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{anonymousRegistration})." where name='anonymousRegistration'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{usernameBinding})." where name='usernameBinding'",$session{dbh}); return www_manageSettings(); } else { return WebGUI::Privilege::adminOnly(); } } #------------------------------------------------------------------- sub www_editCompanyInformation { my ($output); if (WebGUI::Privilege::isInGroup(3)) { $output .= ''; $output .= '

'.WebGUI::International::get(124).'

'; $output .= '
'; $output .= WebGUI::Form::hidden("op","editCompanyInformationSave"); $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= '
'.WebGUI::International::get(125).''.WebGUI::Form::text("companyName",30,255,$session{setting}{companyName}).'
'.WebGUI::International::get(126).''.WebGUI::Form::text("companyEmail",30,255,$session{setting}{companyEmail}).'
'.WebGUI::International::get(127).''.WebGUI::Form::text("companyURL",30,2048,$session{setting}{companyURL}).'
'.WebGUI::Form::submit(WebGUI::International::get(62)).'
'; $output .= '
'; } else { $output = WebGUI::Privilege::adminOnly(); } return $output; } #------------------------------------------------------------------- sub www_editCompanyInformationSave { if (WebGUI::Privilege::isInGroup(3)) { WebGUI::SQL->write("update settings set value=".quote($session{form}{companyName})." where name='companyName'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{companyEmail})." where name='companyEmail'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{companyURL})." where name='companyURL'",$session{dbh}); return www_manageSettings(); } else { return WebGUI::Privilege::adminOnly(); } } #------------------------------------------------------------------- sub www_editFileSettings { my ($output); if (WebGUI::Privilege::isInGroup(3)) { $output .= ''; $output .= '

'.WebGUI::International::get(128).'

'; $output .= '
'; $output .= WebGUI::Form::hidden("op","editFileSettingsSave"); $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= '
'.WebGUI::International::get(129).''.WebGUI::Form::text("lib",30,255,$session{setting}{lib}).'
'.WebGUI::International::get(130).''.WebGUI::Form::text("maxAttachmentSize",30,11,$session{setting}{maxAttachmentSize}).'
'.WebGUI::International::get(131).''.WebGUI::Form::text("attachmentDirectoryWeb",30,255,$session{setting}{attachmentDirectoryWeb}).'
'.WebGUI::International::get(132).''.WebGUI::Form::text("attachmentDirectoryLocal",30,255,$session{setting}{attachmentDirectoryLocal}).'
'.WebGUI::Form::submit(WebGUI::International::get(62)).'
'; $output .= '
'; } else { $output = WebGUI::Privilege::adminOnly(); } return $output; } #------------------------------------------------------------------- sub www_editFileSettingsSave { if (WebGUI::Privilege::isInGroup(3)) { WebGUI::SQL->write("update settings set value=".quote($session{form}{lib})." where name='lib'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{maxAttachmentSize})." where name='maxAttachmentSize'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{attachmentDirectoryWeb})." where name='attachmentDirectoryWeb'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{attachmentDirectoryLocal})." where name='attachmentDirectoryLocal'",$session{dbh}); return www_manageSettings(); } else { return WebGUI::Privilege::adminOnly(); } } #------------------------------------------------------------------- sub www_editMailSettings { my ($output); if (WebGUI::Privilege::isInGroup(3)) { $output .= ''; $output .= '

'.WebGUI::International::get(133).'

'; $output .= '
'; $output .= WebGUI::Form::hidden("op","editMailSettingsSave"); $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= '
'.WebGUI::International::get(134).''.WebGUI::Form::textArea("recoverPasswordEmail",$session{setting}{recoverPasswordEmail}).'
'.WebGUI::International::get(135).''.WebGUI::Form::text("smtpServer",30,255,$session{setting}{smtpServer}).'
'.WebGUI::Form::submit(WebGUI::International::get(62)).'
'; $output .= '
'; } else { $output = WebGUI::Privilege::adminOnly(); } return $output; } #------------------------------------------------------------------- sub www_editMailSettingsSave { if (WebGUI::Privilege::isInGroup(3)) { WebGUI::SQL->write("update settings set value=".quote($session{form}{recoverPasswordEmail})." where name='recoverPasswordEmail'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{smtpServer})." where name='smtpServer'",$session{dbh}); return www_manageSettings(); } else { return WebGUI::Privilege::adminOnly(); } } #------------------------------------------------------------------- sub www_editMiscSettings { my ($output, @array, %notFoundPage); %notFoundPage = (1=>WebGUI::International::get(136), 4=>WebGUI::International::get(137)); if (WebGUI::Privilege::isInGroup(3)) { $output .= ''; $output .= '

'.WebGUI::International::get(140).'

'; $output .= '
'; $output .= WebGUI::Form::hidden("op","editMiscSettingsSave"); $output .= ''; $array[0] = $session{setting}{notFoundPage}; $output .= ''; $output .= ''; $output .= ''; $output .= '
'.WebGUI::International::get(141).''.WebGUI::Form::selectList("notFoundPage",\%notFoundPage,\@array).'
'.WebGUI::International::get(142).''.WebGUI::Form::text("sessionTimeout",30,11,$session{setting}{sessionTimeout}).'
'.WebGUI::Form::submit(WebGUI::International::get(62)).'
'; $output .= '
'; } else { $output = WebGUI::Privilege::adminOnly(); } return $output; } #------------------------------------------------------------------- sub www_editMiscSettingsSave { if (WebGUI::Privilege::isInGroup(3)) { WebGUI::SQL->write("update settings set value=".quote($session{form}{sessionTimeout})." where name='sessionTimeout'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{notFoundPage})." where name='notFoundPage'",$session{dbh}); return www_manageSettings(); } else { return WebGUI::Privilege::adminOnly(); } } #------------------------------------------------------------------- sub www_editProfileSettings { my ($output, @array, %yesNo); %yesNo = ('1'=>WebGUI::International::get(138), '0'=>WebGUI::International::get(139)); if (WebGUI::Privilege::isInGroup(3)) { $output .= ''; $output .= '

'.WebGUI::International::get(308).'

'; $output .= '
'; $output .= WebGUI::Form::hidden("op","editProfileSettingsSave"); $output .= ''; $array[0] = $session{setting}{profileName}; $output .= ''; $array[0] = $session{setting}{profileExtraContact}; $output .= ''; $array[0] = $session{setting}{profileHome}; $output .= ''; $array[0] = $session{setting}{profileWork}; $output .= ''; $array[0] = $session{setting}{profileMisc}; $output .= ''; $output .= ''; $output .= '
'.WebGUI::International::get(309).''.WebGUI::Form::selectList("profileName",\%yesNo,\@array).'
'.WebGUI::International::get(310).''.WebGUI::Form::selectList("profileExtraContact",\%yesNo,\@array).'
'.WebGUI::International::get(311).''.WebGUI::Form::selectList("profileHome",\%yesNo,\@array).'
'.WebGUI::International::get(312).''.WebGUI::Form::selectList("profileWork",\%yesNo,\@array).'
'.WebGUI::International::get(313).''.WebGUI::Form::selectList("profileMisc",\%yesNo,\@array).'
'.WebGUI::Form::submit(WebGUI::International::get(62)).'
'; $output .= '
'; } else { $output = WebGUI::Privilege::adminOnly(); } return $output; } #------------------------------------------------------------------- sub www_editProfileSettingsSave { if (WebGUI::Privilege::isInGroup(3)) { WebGUI::SQL->write("update settings set value=".quote($session{form}{profileName})." where name='profileName'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{profileExtraContact})." where name='profileExtraContact'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{profileHome})." where name='profileHome'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{profileWork})." where name='profileWork'",$session{dbh}); WebGUI::SQL->write("update settings set value=".quote($session{form}{profileMisc})." where name='profileMisc'",$session{dbh}); return www_manageSettings(); } else { return WebGUI::Privilege::adminOnly(); } } #------------------------------------------------------------------- sub www_manageSettings { my ($output); if (WebGUI::Privilege::isInGroup(3)) { $output .= ''; $output .= '

'.WebGUI::International::get(143).'

'; $output .= ''; } else { $output = WebGUI::Privilege::adminOnly(); } return $output; } 1;