]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - metadata/email_addressesMetaData.php
Release 6.4.0
[Github/sugarcrm.git] / metadata / email_addressesMetaData.php
1 <?php
2 if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 /*********************************************************************************
4  * SugarCRM Community Edition is a customer relationship management program developed by
5  * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
6  * 
7  * This program is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU Affero General Public License version 3 as published by the
9  * Free Software Foundation with the addition of the following permission added
10  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
11  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
12  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
13  * 
14  * This program is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
17  * details.
18  * 
19  * You should have received a copy of the GNU Affero General Public License along with
20  * this program; if not, see http://www.gnu.org/licenses or write to the Free
21  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22  * 02110-1301 USA.
23  * 
24  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
25  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
26  * 
27  * The interactive user interfaces in modified source and object code versions
28  * of this program must display Appropriate Legal Notices, as required under
29  * Section 5 of the GNU Affero General Public License version 3.
30  * 
31  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
32  * these Appropriate Legal Notices must retain the display of the "Powered by
33  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
34  * technical reasons, the Appropriate Legal Notices must display the words
35  * "Powered by SugarCRM".
36  ********************************************************************************/
37
38
39 /**
40  * Core email_address table
41  */
42 $dictionary['email_addresses'] = array(
43         'table'         => 'email_addresses',
44         'fields'        => array(
45                 'id' => array(
46                         'name'                  => 'id',
47                         'type'                  => 'id',
48                     'vname'         => 'LBL_EMAIL_ADDRESS_ID',
49                         'required'              => true,
50                 ),
51                 'email_address' =>array(
52                         'name'                  => 'email_address',
53                         'type'                  => 'varchar',
54                         'vname'         => 'LBL_EMAIL_ADDRESS',
55                         'length'                => 100,
56                         'required'              => true,
57                 ),
58                 'email_address_caps' => array(
59                         'name'                  => 'email_address_caps',
60                         'type'                  => 'varchar',
61                     'vname'         => 'LBL_EMAIL_ADDRESS_CAPS',
62                         'length'                => 100,
63                         'required'              => true,
64                         'reportable'            => false,
65                 ),
66                 'invalid_email' => array(
67                         'name'                  => 'invalid_email',
68                         'type'                  => 'bool',
69                         'default'               => 0,
70                     'vname'         => 'LBL_INVALID_EMAIL',
71                 ),
72                 'opt_out' => array(
73                         'name'                  => 'opt_out',
74                         'type'                  => 'bool',
75                         'default'               => 0,
76                     'vname'         => 'LBL_OPT_OUT',
77                 ),
78                 'date_created' => array(
79                         'name'                  => 'date_created',
80                         'type'                  => 'datetime',
81                         'vname'         => 'LBL_DATE_CREATE',
82                 ),
83                 'date_modified' => array(
84                         'name'                  => 'date_modified',
85                         'type'                  => 'datetime',
86                     'vname'         => 'LBL_DATE_MODIFIED',
87                 ),
88                 'deleted' => array(
89                         'name'                  => 'deleted',
90                         'type'                  => 'bool',
91                         'default'               => 0,
92                     'vname'         => 'LBL_DELETED',
93                 ),
94         ),
95         'indices' => array(
96                 array(
97                         'name'                  => 'email_addressespk',
98                         'type'                  => 'primary',
99                         'fields'                => array('id')
100                 ),
101                 array(
102                         'name'                  => 'idx_ea_caps_opt_out_invalid',
103                         'type'                  => 'index',
104                         'fields'                => array('email_address_caps','opt_out','invalid_email')
105                 ),
106                 array(
107                         'name'                  => 'idx_ea_opt_out_invalid',
108                         'type'                  => 'index',
109                         'fields'                => array('email_address', 'opt_out', 'invalid_email')
110                 ),
111         ),
112 );
113
114 // hack for installer
115 if (file_exists("cache/modules/EmailAddresses/EmailAddressvardefs.php"))
116 {
117     include("cache/modules/EmailAddresses/EmailAddressvardefs.php");
118 } else {
119     $dictionary['EmailAddress'] = $dictionary['email_addresses'];
120 }
121
122 /**
123  * Relationship table linking email addresses to an instance of a Sugar Email object
124  */
125 $dictionary['emails_email_addr_rel'] = array(
126         'table' => 'emails_email_addr_rel',
127         'comment' => 'Normalization of multi-address fields such as To:, CC:, BCC',
128         'fields' => array(
129                 'id' => array(
130                         'name'                  => 'id',
131                         'type'                  => 'id',
132                         'required'              => true,
133                         'comment'               => 'GUID',
134                 ),
135                 'email_id' => array(
136                         'name'                  => 'email_id',
137                         'type'                  => 'id',
138                         'required'              => true,
139                         'comment'               => 'Foriegn key to emails table NOT unique',
140                 ),
141                 'address_type' => array(
142                         'name'                  => 'address_type',
143                         'type'                  => 'varchar',
144                         'len'                   => 4,
145                         'required'              => true,
146                         'comment'               => 'Type of entry, TO, CC, or BCC',
147                 ),
148                 'email_address_id' => array(
149                         'name'                  => 'email_address_id',
150                         'type'                  => 'id',
151                         'required'              => true,
152                         'comment'               => 'Foriegn key to emails table NOT unique',
153                 ),
154                 'deleted' => array(
155                         'name'                  => 'deleted',
156                         'type'                  => 'bool',
157                         'default'               => 0,
158                 ),
159         ),
160         'indices' => array(
161                 array(
162                         'name'          => 'emails_email_addr_relpk',
163                         'type'          => 'primary',
164                         'fields'        => array('id'),
165                 ),
166                 array(
167                         'name'          => 'idx_eearl_email_id',
168                         'type'          => 'index',
169                         'fields'        => array('email_id', 'address_type'),
170                 ),
171                 array(
172                         'name'          => 'idx_eearl_address_id',
173                         'type'          => 'index',
174                         'fields'        => array('email_address_id'),
175                 ),
176         ),
177 );
178
179 /**
180  * Relationship table linking email addresses to various SugarBeans or type Person
181  */
182 $dictionary['email_addr_bean_rel'] = array(
183         'table' => 'email_addr_bean_rel',
184         'fields' => array(
185                 array(
186                         'name'                  => 'id',
187                         'type'                  => 'id',
188                         'required'              => true,
189                 ),
190                 array(
191                         'name'                  => 'email_address_id',
192                         'type'                  => 'id',
193                         'required'              => true,
194                 ),
195                 array(
196                         'name'                  => 'bean_id',
197                         'type'                  => 'id',
198                         'required'              => true,
199                 ),
200                 array(
201                         'name'                  => 'bean_module',
202                         'type'                  => 'varchar',
203                         'len'                   => 100,
204                         'required'              => true,
205                 ),
206                 array(
207                         'name'                  => 'primary_address',
208                         'type'                  => 'bool',
209                         'default'               => '0',
210                 ),
211                 array(
212                         'name'                  => 'reply_to_address',
213                         'type'                  => 'bool',
214                         'default'               => '0',
215                 ),
216                 array(
217                         'name'                  => 'date_created',
218                         'type'                  => 'datetime'
219                 ),
220                 array(
221                         'name'                  => 'date_modified',
222                         'type'                  => 'datetime'
223                 ),
224                 array(
225                         'name'                  => 'deleted',
226                         'type'                  => 'bool',
227                         'default'               => 0,
228                 ),
229         ),
230         'indices' => array(
231                 array(
232                         'name'                  => 'email_addresses_relpk',
233                         'type'                  => 'primary',
234                         'fields'                => array('id')
235                 ),
236                 array(
237                         'name'                  => 'idx_email_address_id',
238                         'type'                  => 'index',
239                         'fields'                => array('email_address_id')
240                 ),
241                 array(
242                         'name'                  => 'idx_bean_id',
243                         'type'                  => 'index',
244                         'fields'                => array('bean_id', 'bean_module'),
245                 ),
246         ),
247     'relationships' => array (
248             //Defined in Person/Company template vardefs
249         ),
250 );