Initial import
This commit is contained in:
36
postgres.forwarders_in.sql
Normal file
36
postgres.forwarders_in.sql
Normal file
@@ -0,0 +1,36 @@
|
||||
CREATE LANGUAGE plpgsql;
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS udf_forwarders_in();
|
||||
DROP FUNCTION IF EXISTS udf_forwarders_in(TEXT,TEXT,TEXT,CHAR,BOOLEAN);
|
||||
|
||||
CREATE FUNCTION udf_forwarders_in(forewarders_str TEXT,
|
||||
email_str TEXT,
|
||||
vacation_domain TEXT ,
|
||||
list_seperator CHAR ,
|
||||
vacation_enable BOOLEAN)
|
||||
RETURNS TEXT AS $$
|
||||
DECLARE
|
||||
return_str text;
|
||||
local_email_part TEXT;
|
||||
domain_email_part TEXT;
|
||||
BEGIN
|
||||
|
||||
return_str = email_str;
|
||||
|
||||
IF vacation_enable THEN
|
||||
local_email_part = substring(email_str, 1, position('@' in email_str) - 1);
|
||||
domain_email_part = substring(email_str, position('@' in email_str) + 1 );
|
||||
return_str = return_str || list_seperator || local_email_part || '#' || domain_email_part || '@' || vacation_domain;
|
||||
END IF;
|
||||
|
||||
IF char_length(forewarders_str) > 7 THEN
|
||||
return_str = return_str || list_seperator || forewarders_str;
|
||||
END IF;
|
||||
|
||||
RETURN return_str;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
|
||||
SELECT udf_forwarders_in('ckubu@oopen.de', 'admin@initiativenserver.de','autoreply.initiativenserver.de',',',TRUE);
|
||||
Reference in New Issue
Block a user