]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - include/generic/SugarWidgets/SugarWidgetFieldbool.php
Release 6.5.0
[Github/sugarcrm.git] / include / generic / SugarWidgets / SugarWidgetFieldbool.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-2012 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 class SugarWidgetFieldBool extends SugarWidgetReportField
40 {
41
42  function queryFilterEquals(&$layout_def)
43  {
44
45                 $bool_val = $layout_def['input_name0'][0];
46                 if ($bool_val == 'yes' || $bool_val == '1')
47                 {
48                         return "(".$this->_get_column_select($layout_def)." LIKE 'on' OR ".$this->_get_column_select($layout_def)."='1')\n";
49                 } else {
50                         //return "(".$this->_get_column_select($layout_def)." is null OR ".$this->_get_column_select($layout_def)."='0' OR ".$this->_get_column_select($layout_def)."='off')\n";
51             return "(".$this->_get_column_select($layout_def)." is null OR ". $this->_get_column_select($layout_def)."='0')\n";            
52                 }
53  }
54
55     function displayListPlain($layout_def)
56     {
57         $value = $this->_get_list_value($layout_def);
58         $module = $this->reporter->all_fields[$layout_def['column_key']]['module'];
59         $name = $layout_def['name'];
60         $layout_def['name'] = 'id';
61         $key = $this->_get_column_alias($layout_def);
62         $key = strtoupper($key);
63         
64         if(empty($layout_def['fields'][$key]))
65         {
66             $layout_def['name'] = $name;
67             global $app_list_strings;
68             if (empty($value)) {
69                 $value = $app_list_strings['dom_switch_bool']['off'];
70             }   
71             else {
72                 $value = $app_list_strings['dom_switch_bool']['on'];
73             } 
74             return $value;
75         }
76
77         $on_or_off = 'CHECKED';
78         if ( empty($value) ||  $value == 'off')
79         {
80             $on_or_off = '';
81         }
82         $cell = "<input name='checkbox_display' class='checkbox' type='checkbox' disabled $on_or_off>";
83         return  $cell;
84     }
85     
86  function queryFilterStarts_With(&$layout_def)
87  {
88     return $this->queryFilterEquals($layout_def);
89  }    
90  
91     function displayInput(&$layout_def) 
92     {
93         global $app_strings;
94         
95         $yes = $no = $default = '';
96         if (isset($layout_def['input_name0']) && $layout_def['input_name0'] == 1) {
97             $yes = ' selected="selected"';
98         }
99         elseif (isset($layout_def['input_name0']) && $layout_def['input_name0'] == 'off') {
100             $no = ' selected="selected"';
101         }
102         else {
103             $default = ' selected="selected"';
104         }
105         
106         $str = <<<EOHTML
107 <select id="{$layout_def['name']}" name="{$layout_def['name']}">
108  <option value="" {$default}></option>
109  <option value = "off" {$no}> {$app_strings['LBL_SEARCH_DROPDOWN_NO']}</option>
110  <option value = "1" {$yes}> {$app_strings['LBL_SEARCH_DROPDOWN_YES']}</option>
111 </select>
112 EOHTML;
113         
114         return $str;
115     }
116     
117
118 }
119
120 ?>