Blob


1 <?php
2 //
3 // Postfix Admin
4 // by Mischa Peters <mischa at high5 dot net>
5 // Copyright (c) 2002 - 2005 High5!
6 // License Info: http://www.postfixadmin.com/?file=LICENSE.TXT
7 //
8 // File: create-alias.php
9 //
10 // Template File: create-alias.tpl
11 //
12 // Template Variables:
13 //
14 // tMessage
15 // tAddress
16 // tGoto
17 // tDomain
18 //
19 // Form POST \ GET Variables:
20 //
21 // fAddress
22 // fGoto
23 // fDomain
24 //
25 require ("./variables.inc.php");
26 require ("./config.inc.php");
27 require ("./functions.inc.php");
28 include ("./languages/" . check_language () . ".lang");
30 $SESSID_USERNAME = check_session ();
31 $list_domains = list_domains_for_admin ($SESSID_USERNAME);
33 if ($_SERVER['REQUEST_METHOD'] == "GET")
34 {
35 $pCreate_alias_goto_text = $PALANG['pCreate_alias_goto_text'];
37 if (isset ($_GET['domain'])) $tDomain = escape_string ($_GET['domain']);
39 include ("./templates/header.tpl");
40 include ("./templates/menu.tpl");
41 include ("./templates/create-alias.tpl");
42 include ("./templates/footer.tpl");
43 }
45 if ($_SERVER['REQUEST_METHOD'] == "POST")
46 {
47 $pCreate_alias_goto_text = $PALANG['pCreate_alias_goto_text'];
49 $fAddress = escape_string ($_POST['fAddress']) . "@" . escape_string ($_POST['fDomain']);
50 $fAddress = strtolower ($fAddress);
51 $fGoto = escape_string ($_POST['fGoto']);
52 $fGoto = strtolower ($fGoto);
53 $fDomain = escape_string ($_POST['fDomain']);
55 if (!preg_match ('/@/',$fGoto))
56 {
57 $fGoto = $fGoto . "@" . escape_string ($_POST['fDomain']);
58 }
60 if (!check_owner ($SESSID_USERNAME, $fDomain))
61 {
62 $error = 1;
63 $tAddress = escape_string ($_POST['fAddress']);
64 $tGoto = $fGoto;
65 $tDomain = $fDomain;
66 $pCreate_alias_address_text = $PALANG['pCreate_alias_address_text_error1'];
67 }
69 if (!check_alias ($fDomain))
70 {
71 $error = 1;
72 $tAddress = escape_string ($_POST['fAddress']);
73 $tGoto = $fGoto;
74 $tDomain = $fDomain;
75 $pCreate_alias_address_text = $PALANG['pCreate_alias_address_text_error3'];
76 }
78 if (empty ($fAddress) or !check_email ($fAddress))
79 {
80 $error = 1;
81 $tAddress = escape_string ($_POST['fAddress']);
82 $tGoto = $fGoto;
83 $tDomain = $fDomain;
84 $pCreate_alias_address_text = $PALANG['pCreate_alias_address_text_error1'];
85 }
87 if (empty ($fGoto) or !check_email ($fGoto))
88 {
89 $error = 1;
90 $tAddress = escape_string ($_POST['fAddress']);
91 $tGoto = $fGoto;
92 $tDomain = $fDomain;
93 $pCreate_alias_goto_text = $PALANG['pCreate_alias_goto_text_error'];
94 }
96 if (escape_string ($_POST['fAddress']) == "*") $fAddress = "@" . escape_string ($_POST['fDomain']);
98 $result = db_query ("SELECT * FROM alias WHERE address='$fAddress'");
99 if ($result['rows'] == 1)
101 $error = 1;
102 $tAddress = escape_string ($_POST['fAddress']);
103 $tGoto = $fGoto;
104 $tDomain = $fDomain;
105 $pCreate_alias_address_text = $PALANG['pCreate_alias_address_text_error2'];
108 if ($error != 1)
110 if (preg_match ('/^\*@(.*)$/', $fGoto, $match)) $fGoto = "@" . $match[1];
112 $result = db_query ("INSERT INTO alias (address,goto,domain,created,modified) VALUES ('$fAddress','$fGoto','$fDomain',NOW(),NOW())");
113 if ($result['rows'] != 1)
115 $tDomain = $fDomain;
116 $tMessage = $PALANG['pCreate_alias_result_error'] . "<br />($fAddress -> $fGoto)<br />\n";
118 else
120 db_log ($SESSID_USERNAME, $fDomain, "create alias", "$fAddress -> $fGoto");
122 $tDomain = $fDomain;
123 $tMessage = $PALANG['pCreate_alias_result_succes'] . "<br />($fAddress -> $fGoto)<br />\n";
127 include ("./templates/header.tpl");
128 include ("./templates/menu.tpl");
129 include ("./templates/create-alias.tpl");
130 include ("./templates/footer.tpl");
132 ?>