]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - modules/DynamicFields/FieldViewer.php
Release 6.1.4
[Github/sugarcrm.git] / modules / DynamicFields / FieldViewer.php
1 <?php
2 /*********************************************************************************
3  * SugarCRM is a customer relationship management program developed by
4  * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
5  * 
6  * This program is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  * 
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
16  * details.
17  * 
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  * 
23  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
24  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
25  * 
26  * The interactive user interfaces in modified source and object code versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  * 
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the "Powered by
32  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
33  * technical reasons, the Appropriate Legal Notices must display the words
34  * "Powered by SugarCRM".
35  ********************************************************************************/
36
37 class FieldViewer{
38         function FieldViewer(){
39                 $this->ss = new Sugar_Smarty();
40         }
41         function getLayout($vardef){
42
43                 if(empty($vardef['type']))$vardef['type'] = 'varchar';
44                 $mod = return_module_language($GLOBALS['current_language'], 'EditCustomFields');
45                 $this->ss->assign('vardef', $vardef);
46                 $this->ss->assign('MOD', $mod);
47                 $this->ss->assign('APP', $GLOBALS['app_strings']);
48                 $GLOBALS['log']->debug('FieldViewer.php->getLayout() = '.$vardef['type']);
49                 switch($vardef['type']){
50                         case 'address':
51                 return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/address.tpl');
52                         case 'bool':
53                                 return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/bool.tpl');
54                         case 'int':
55                                 return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/int.tpl');
56                         case 'float':
57                                 return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/float.tpl');
58                         case 'decimal':
59                                 return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/float.tpl');
60                         case 'date':
61                             require_once('modules/DynamicFields/templates/Fields/Forms/date.php');
62                                 return get_body($this->ss, $vardef);
63                         case 'datetimecombo':
64                             require_once('modules/DynamicFields/templates/Fields/Forms/datetimecombo.php');
65                                 return get_body($this->ss, $vardef);
66                         case 'enum':
67                                 require_once('modules/DynamicFields/templates/Fields/Forms/enum2.php');
68                                 return get_body($this->ss, $vardef);
69                         case 'multienum':
70                                 require_once('modules/DynamicFields/templates/Fields/Forms/multienum.php');
71                                 return get_body($this->ss, $vardef);
72                         case 'radioenum':
73                                 require_once('modules/DynamicFields/templates/Fields/Forms/radioenum.php');
74                                 return get_body($this->ss, $vardef);
75                         case 'html':
76                                 require_once('modules/DynamicFields/templates/Fields/Forms/html.php');
77                                 return get_body($this->ss, $vardef);
78                         case 'currency':
79                                 return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/currency.tpl');
80                         case 'relate':
81                                 require_once('modules/DynamicFields/templates/Fields/Forms/relate.php');
82                                 return get_body($this->ss, $vardef);
83                         case 'parent':
84                                 require_once('modules/DynamicFields/templates/Fields/Forms/parent.php');
85                                 return get_body($this->ss, $vardef);
86                         case 'text':
87                                 return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/text.tpl');
88                         case 'encrypt':
89                                 require_once('modules/DynamicFields/templates/Fields/Forms/encrypt.php');
90                                 return get_body($this->ss, $vardef);
91                         case 'iframe':
92                                 require_once('modules/DynamicFields/templates/Fields/Forms/iframe.php');
93                                 return get_body($this->ss, $vardef);
94                         case 'url':
95                                 require_once('modules/DynamicFields/templates/Fields/Forms/url.php');
96                                 return get_body($this->ss, $vardef);
97                         default:
98                                 $file = false;
99                                 if(file_exists('custom/modules/DynamicFields/templates/Fields/Forms/' . $vardef['type'] . '.php')){
100                                         $file = 'custom/modules/DynamicFields/templates/Fields/Forms/' . $vardef['type'] . '.php';
101                                 } elseif(file_exists('modules/DynamicFields/templates/Fields/Forms/' . $vardef['type'] . '.php')){
102                                         $file = 'modules/DynamicFields/templates/Fields/Forms/' . $vardef['type'] . '.php';
103                                 }
104                                 if(!empty($file)){
105                                         require_once($file);
106                                         return get_body($this->ss, $vardef);
107                                 }else{ 
108                                         return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/varchar.tpl');
109                                 }
110                 }
111         }
112
113 }