App-Office-Contacts
view release on metacpan or search on metacpan
lib/App/Office/Contacts/Database/EmailAddress.pm view on Meta::CPAN
my($self, $context, $organization, $count) = @_;
$self -> db -> logger -> log(debug => 'Database::EmailAddress.save_email_address_for_organization(...)');
my($table_name) = 'email_addresses';
my($email) = {};
$$email{address} = $$organization{"email_address_$count"};
$$email{email_address_type_id} = $$organization{"email_address_type_id_$count"};
$$email{upper_address} = uc $$email{address};
my($id) = $self -> get_email_address_id_via_address($$email{address});
if ($id == 0)
{
$id = $self -> db -> library -> insert_hashref_get_id($table_name, $email);
}
$table_name = 'email_organizations';
$email = {};
$$email{email_address_id} = $id;
$$email{organization_id} = $$organization{id};
$self -> db -> simple -> insert($table_name, $email)
|| die $self -> db -> simple -> error;
} # End of save_email_address_for_organization.
# --------------------------------------------------
sub save_email_address_for_person
{
my($self, $context, $person, $count) = @_;
$self -> db -> logger -> log(debug => 'Database::EmailAddress.save_email_address_for_person(...)');
my($table_name) = 'email_addresses';
my($email) = {};
$$email{address} = $$person{"email_address_$count"};
$$email{email_address_type_id} = $$person{"email_address_type_id_$count"};
$$email{upper_address} = uc $$email{address};
my($id) = $self -> get_email_address_id_via_address($$email{address});
$self -> db -> logger -> log(debug => "Saving email_address: $$email{address}");
if ($id == 0)
{
$id = $self -> db -> library -> insert_hashref_get_id($table_name, $email);
}
$table_name = 'email_people';
$email = {};
$$email{email_address_id} = $id;
$$email{person_id} = $$person{id};
$self -> db -> simple -> insert($table_name, $email)
|| die $self -> db -> simple -> error;
} # End of save_email_address_for_person.
# -----------------------------------------------
sub update_email_address_type
{
my($self, $creator_id, $address) = @_;
$self -> db -> logger -> log(debug => "Database::EmailAddress.update_email_address_type($creator_id, ...)");
my($table_name) = 'email_addresses';
$self -> db -> simple -> update($table_name, {email_address_type_id => $$address{type_id} }, {id => $$address{address_id} })
|| die $self -> db -> simple -> error;
} # End of update_email_address_type.
# --------------------------------------------------
1;
=head1 NAME
App::Office::Contacts::Database::EmailAddress - A web-based contacts manager
=head1 Synopsis
See L<App::Office::Contacts/Synopsis>.
=head1 Description
L<App::Office::Contacts> implements a utf8-aware, web-based, private and group contacts manager.
=head1 Distributions
See L<App::Office::Contacts/Distributions>.
=head1 Installation
See L<App::Office::Contacts/Installation>.
=head1 Object attributes
This module extends L<App::Office::Contacts::Database::Base>, with these attributes:
=over 4
=item o (None)
=back
=head1 Methods
=head2 delete_email_address_organization($creator_id, $id)
Deletes the database entry linking an email address to an organization.
=head2 delete_email_address_person($creator_id, $id)
Deletes the database entry linking an email address to a person.
=head2 get_email_address_id_via_address($address)
Returns the id of an email address.
( run in 0.611 second using v1.01-cache-2.11-cpan-99c4e6809bf )