]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - include/QuickSearchDefaults.php
Release 6.2.1
[Github/sugarcrm.git] / include / QuickSearchDefaults.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  * QuickSearchDefaults class, outputs default values for setting up quicksearch
41  *
42  * @copyright  2004-2007 SugarCRM Inc.
43  * @license    http://www.sugarcrm.com/crm/products/sugar-professional-eula.html  SugarCRM Professional End User License
44  * @since      Class available since Release 4.0
45  */
46
47 class QuickSearchDefaults {
48
49         var $form_name = 'EditView';
50         
51         function setFormName($name = 'EditView') {
52                 $this->form_name = $name;
53         }
54         
55     function getQSParent($parent = 'Accounts') {
56         global $app_strings;
57
58         $qsParent = array(
59                     'form' => $this->form_name,
60                     'method' => 'query',
61                     'modules' => array($parent),
62                     'group' => 'or',
63                     'field_list' => array('name', 'id'),
64                     'populate_list' => array('parent_name', 'parent_id'),
65                     'required_list' => array('parent_id'),
66                     'conditions' => array(array('name'=>'name','op'=>'like_custom','end'=>'%','value'=>'')),
67                     'order' => 'name',
68                     'limit' => '30',
69                     'no_match_text' => $app_strings['ERR_SQS_NO_MATCH']
70                     );
71
72         return $qsParent;
73     }
74
75     function getQSAccount($nameKey, $idKey, $billingKey = null, $shippingKey = null, $additionalFields = null) {
76
77         global $app_strings;
78
79
80         $field_list = array('name', 'id');
81         $populate_list = array($nameKey, $idKey);
82         if($billingKey != null) {
83             $field_list = array_merge($field_list, array('billing_address_street', 'billing_address_city',
84                                                            'billing_address_state', 'billing_address_postalcode', 'billing_address_country'));
85
86             $populate_list = array_merge($populate_list, array($billingKey . "_address_street", $billingKey . "_address_city",
87                                                                 $billingKey . "_address_state", $billingKey . "_address_postalcode", $billingKey . "_address_country"));
88         } //if
89
90         if($shippingKey != null) {
91             $field_list = array_merge($field_list, array('shipping_address_street', 'shipping_address_city',
92                                                            'shipping_address_state', 'shipping_address_postalcode', 'shipping_address_country'));
93
94             $populate_list = array_merge($populate_list, array($shippingKey . "_address_street", $shippingKey . "_address_city",
95                                                                 $shippingKey . "_address_state", $shippingKey . "_address_postalcode", $shippingKey . "_address_country"));
96         }
97
98         if(!empty($additionalFields) && is_array($additionalFields)) {
99            $field_list = array_merge($field_list, array_keys($additionalFields));
100            $populate_list = array_merge($populate_list, array_values($additionalFields));
101         }
102
103         $qsParent = array(
104                                         'form' => $this->form_name,
105                     'method' => 'query',
106                     'modules' => array('Accounts'),
107                     'group' => 'or',
108                     'field_list' => $field_list,
109                     'populate_list' => $populate_list,
110                     'conditions' => array(array('name'=>'name','op'=>'like_custom','end'=>'%','value'=>'')),
111                     'required_list' => array($idKey),
112                     'order' => 'name',
113                     'limit' => '30',
114                     'no_match_text' => $app_strings['ERR_SQS_NO_MATCH']
115                     );
116
117         return $qsParent;
118     }
119
120     function getQSUser($p_name = 'assigned_user_name', $p_id ='assigned_user_id') {
121         global $app_strings;
122
123         $qsUser = array('form' => $this->form_name,
124                                         'method' => 'get_user_array', // special method
125                         'field_list' => array('user_name', 'id'),
126                         'populate_list' => array($p_name, $p_id),
127                         'required_list' => array($p_id),
128                         'conditions' => array(array('name'=>'user_name','op'=>'like_custom','end'=>'%','value'=>'')),
129                         'limit' => '30','no_match_text' => $app_strings['ERR_SQS_NO_MATCH']);
130         return $qsUser;
131     }
132     function getQSCampaigns() {
133         global $app_strings;
134
135         $qsCampaign = array('form' => $this->form_name,
136                                                 'method' => 'query',
137                             'modules'=> array('Campaigns'),
138                             'group' => 'or',
139                             'field_list' => array('name', 'id'),
140                             'populate_list' => array('campaign_name', 'campaign_id'),
141                             'conditions' => array(array('name'=>'name','op'=>'like_custom','end'=>'%','value'=>'')),
142                             'required_list' => array('campaign_id'),
143                             'order' => 'name',
144                             'limit' => '30',
145                             'no_match_text' => $app_strings['ERR_SQS_NO_MATCH']);
146         return $qsCampaign;
147     }
148
149
150     // BEGIN QuickSearch functions for 4.5.x backwards compatibility support
151     function getQSScripts() {
152                 global $sugar_version, $sugar_config, $theme;
153                 $qsScripts = '<script type="text/javascript" src="' . getJSPath('include/JSON.js') .'"></script>
154                 <script type="text/javascript">sqsWaitGif = "' . SugarThemeRegistry::current()->getImageURL('sqsWait.gif') . '";</script>
155                 <script type="text/javascript" src="'. getJSPath('include/javascript/quicksearch.js') . '"></script>';
156                 return $qsScripts;
157         }
158
159         function getQSScriptsNoServer() {
160                 return $this->getQSScripts();
161         }
162
163         function getQSScriptsJSONAlreadyDefined() {
164                 global $sugar_version, $sugar_config, $theme;
165                 $qsScriptsJSONAlreadyDefined = '<script type="text/javascript">sqsWaitGif = "' . SugarThemeRegistry::current()->getImageURL('sqsWait.gif') . '";</script><script type="text/javascript" src="' . getJSPath('include/javascript/quicksearch.js') . '"></script>';
166                 return $qsScriptsJSONAlreadyDefined;
167         }
168     // END QuickSearch functions for 4.5.x backwards compatibility support
169 }
170
171 ?>