]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - include/Smarty/plugins/function.sugar_field.php
Release 6.5.0
[Github/sugarcrm.git] / include / Smarty / plugins / function.sugar_field.php
1 <?php
2
3 /*
4
5 Modification information for LGPL compliance
6
7 r56990 - 2010-06-16 13:05:36 -0700 (Wed, 16 Jun 2010) - kjing - snapshot "Mango" svn branch to a new one for GitHub sync
8
9 r56989 - 2010-06-16 13:01:33 -0700 (Wed, 16 Jun 2010) - kjing - defunt "Mango" svn dev branch before github cutover
10
11 r55980 - 2010-04-19 13:31:28 -0700 (Mon, 19 Apr 2010) - kjing - create Mango (6.1) based on windex
12
13 r53409 - 2010-01-03 19:31:15 -0800 (Sun, 03 Jan 2010) - roger - merge -r50376:HEAD from fuji_newtag_tmp
14
15 r51719 - 2009-10-22 10:18:00 -0700 (Thu, 22 Oct 2009) - mitani - Converted to Build 3  tags and updated the build system 
16
17 r51634 - 2009-10-19 13:32:22 -0700 (Mon, 19 Oct 2009) - mitani - Windex is the branch for Sugar Sales 1.0 development
18
19 r50375 - 2009-08-24 18:07:43 -0700 (Mon, 24 Aug 2009) - dwong - branch kobe2 from tokyo r50372
20
21 r42807 - 2008-12-29 11:16:59 -0800 (Mon, 29 Dec 2008) - dwong - Branch from trunk/sugarcrm r42806 to branches/tokyo/sugarcrm
22
23 r23498 - 2007-06-08 14:05:19 -0700 (Fri, 08 Jun 2007) - clee - Added support for auto generated tabindex.
24
25 r22805 - 2007-05-15 13:18:55 -0700 (Tue, 15 May 2007) - roger - RRS: allow for multiple forms per page.
26
27 r21721 - 2007-04-11 14:10:04 -0700 (Wed, 11 Apr 2007) - wayne - changed to sugar field handler
28
29 r21720 - 2007-04-11 14:07:59 -0700 (Wed, 11 Apr 2007) - wayne - sugar field plugin
30
31
32 */
33
34
35 /**
36  * Smarty plugin
37  * @package Smarty
38  * @subpackage plugins
39  */
40
41
42 /**
43  * Smarty {sugar_field} function plugin
44  *
45  * Type:     function<br>
46  * Name:     sugar_field<br>
47  * Purpose:  retreives the smarty equivalent for use by TemplateHandler
48  * 
49  * @author Wayne Pan {wayne at sugarcrm.com}
50  * @param array
51  * @param Smarty
52  */
53 require_once('include/SugarFields/SugarFieldHandler.php');
54
55 function smarty_function_sugar_field($params, &$smarty)
56 {
57     if (!isset($params['vardef']) || !isset($params['displayType']) || !isset($params['parentFieldArray'])) {
58         if(!isset($params['vardef']))
59             $smarty->trigger_error("sugar_field: missing 'vardef' parameter");
60         if(!isset($params['displayType']))  
61             $smarty->trigger_error("sugar_field: missing 'displayType' parameter");
62         if(!isset($params['parentFieldArray']))  
63             $smarty->trigger_error("sugar_field: missing 'parentFieldArray' parameter");
64                              
65         return;
66     }
67
68     static $sfh;
69     if(!isset($sfh)) $sfh = new SugarFieldHandler();
70     
71     if(!isset($params['displayParams'])) $displayParams = array();
72     else $displayParams = $params['displayParams'];
73     
74     if(isset($params['labelSpan'])) $displayParams['labelSpan'] = $params['labelSpan'];
75     else $displayParams['labelSpan'] = null;
76     if(isset($params['fieldSpan'])) $displayParams['fieldSpan'] = $params['fieldSpan'];
77     else $displayParams['fieldSpan'] = null;
78
79     if(isset($params['typeOverride'])) { // override the type in the vardef?
80         $params['vardef']['type'] = $params['typeOverride']; 
81     }
82     if(isset($params['formName'])) $displayParams['formName'] = $params['formName'];
83     
84     if(isset($params['field'])) {
85         $params['vardef']['name'] = $params['field'];
86     }
87    
88     if (isset($params['call_back_function'])) {
89         $displayParams['call_back_function'] = $params['call_back_function'];
90     }
91     
92     if(isset($params['skipClearButton'])) {
93         $displayParams['skipClearButton'] = $params['skipClearButton'];
94     }
95     
96     if(isset($params['idName'])) {
97         $displayParams['idName'] = $params['idName'];
98     }
99     
100     if(isset($params['accesskey'])) {
101         $displayParams['accesskey'] = $params['accesskey'];
102     }
103
104     $_contents = $sfh->displaySmarty($params['parentFieldArray'], $params['vardef'], $params['displayType'], $displayParams, $params['tabindex']);
105     
106     return $_contents;
107 }
108 ?>