--- rpms/e-smith-email/sme8/e-smith-email-4.17.0-VisibleInternal.patch 2008/01/09 22:23:26 1.1.2.1
+++ rpms/e-smith-email/sme8/e-smith-email-4.17.0-VisibleInternal.patch 2008/01/22 14:47:16 1.1.2.2
@@ -0,0 +1,115 @@
+diff -uNr e-smith-email-4.17.0/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/pseudonyms e-smith-email-4.17.0-VisibleInternalUI/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/pseudonyms
+--- e-smith-email-4.17.0/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/pseudonyms 2007-06-28 14:42:04.000000000 +0200
++++ e-smith-email-4.17.0-VisibleInternalUI/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/pseudonyms 2007-06-28 14:41:55.000000000 +0200
+@@ -72,6 +72,10 @@
+ Select account or group
+
+
++ SELECT_INTERNAL
++ Local network only
++
++
+ CLICK_TO_CREATE
+ Add pseudonym
+
+diff -uNr e-smith-email-4.17.0/root/etc/e-smith/web/functions/pseudonyms e-smith-email-4.17.0-VisibleInternalUI/root/etc/e-smith/web/functions/pseudonyms
+--- e-smith-email-4.17.0/root/etc/e-smith/web/functions/pseudonyms 2003-04-11 17:21:25.000000000 +0200
++++ e-smith-email-4.17.0-VisibleInternalUI/root/etc/e-smith/web/functions/pseudonyms 2007-06-27 17:20:07.000000000 +0200
+@@ -159,6 +159,15 @@
+
+
+
++
++
++
++
+
+
+
+diff -uNr e-smith-email-4.17.0/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/pseudonyms.pm e-smith-email-4.17.0-VisibleInternalUI/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/pseudonyms.pm
+--- e-smith-email-4.17.0/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/pseudonyms.pm 2007-06-27 16:54:00.000000000 +0200
++++ e-smith-email-4.17.0-VisibleInternalUI/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/pseudonyms.pm 2007-06-27 17:20:07.000000000 +0200
+@@ -29,6 +29,8 @@
+ print_begin_page
+ print_hidden_pseudonym_field
+ get_pseudonym_account
++ is_pseudonym_internal
++ is_pseudonym_not_removable
+ validate_new_pseudonym_name
+ validate_is_pseudonym
+ );
+@@ -202,8 +204,17 @@
+
+ my $pseudonym = uri_unescape($q->param ('pseudonym'));
+ my $account = $q->param ('account');
++ my $internal = $q->param ('internal') || 'NO';
++ my $removable = $accounts->get($pseudonym)->prop('Removable') || 'yes';
+
+- $accounts->get($pseudonym)->set_prop('Account', $account)
++ my %props = ('Account' => $account);
++
++ if ($removable eq 'yes') {
++ if ($internal eq "YES") { $props{'Visible'} = 'internal'; }
++ else { $accounts->get($pseudonym)->delete_prop('Visible'); }
++ }
++
++ $accounts->get($pseudonym)->set_prop(%props)
+ or $msg = "Error occurred while modifying pseudonym in database.";
+
+ # Untaint $pseudonym before use in system()
+@@ -215,6 +226,7 @@
+ {
+ $q->delete('account');
+ $q->delete('pseudonym');
++ $q->delete('internal');
+ $fm->success('MODIFY_SUCCEEDED');
+ }
+ else
+@@ -418,6 +430,42 @@
+ }
+ # }}}
+
++# {{{ is_pseudonym_not_removable
++
++=head2 is_pseudonym_not_removable
++
++Returns 1 if the current Account is not removable, 0 otherwise
++
++=cut
++
++sub is_pseudonym_not_removable {
++ my $fm = shift;
++ my $q = $fm->{'cgi'};
++ my $pseudonym = $q->param('pseudonym');
++ my $removable = $accounts->get($pseudonym)->prop('Removable') || 'yes';
++ return 1 if ($removable eq 'yes');
++ return 0;
++}
++# }}}
++
++# {{{ is_pseudonym_internal
++
++=head2 is_pseudonym_internal
++
++Returns YES if the current Account property Visible is 'internal'
++
++=cut
++
++sub is_pseudonym_internal {
++ my $fm = shift;
++ my $q = $fm->{'cgi'};
++ my $pseudonym = $q->param('pseudonym');
++ my $visible = $accounts->get($pseudonym)->prop('Visible') || '';
++ return 'YES' if ($visible eq 'internal');
++ return 'NO';
++}
++# }}}
++
+ # {{{ validate_new_pseudonym_name
+
+ =head2 validate_new_pseudonym_name FM PSEUDONYM