--- rpms/e-smith-email/sme7/e-smith-email-4.17.0-VisibleInternal.patch 2008/01/09 22:23:26 1.1.2.1 +++ rpms/e-smith-email/sme7/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