@@ -42,9 +42,9 @@ |
||
42 | 42 | |
43 | 43 | class SugarWidgetFieldDouble extends SugarWidgetFieldInt |
44 | 44 | { |
45 | - function SugarWidgetFieldDouble(&$layout_manager) { |
|
46 | - parent::SugarWidgetFieldInt($layout_manager); |
|
47 | - } |
|
45 | + function SugarWidgetFieldDouble(&$layout_manager) { |
|
46 | + parent::SugarWidgetFieldInt($layout_manager); |
|
47 | + } |
|
48 | 48 | } |
49 | 49 | |
50 | 50 | ?> |
@@ -45,83 +45,83 @@ |
||
45 | 45 | |
46 | 46 | class SugarWidgetSubPanelRemoveButtonProjects extends SugarWidgetField |
47 | 47 | { |
48 | - function displayHeaderCell(&$layout_def) |
|
49 | - { |
|
50 | - return ' '; |
|
51 | - } |
|
48 | + function displayHeaderCell(&$layout_def) |
|
49 | + { |
|
50 | + return ' '; |
|
51 | + } |
|
52 | 52 | |
53 | - function displayList(&$layout_def) |
|
54 | - { |
|
55 | - global $app_strings; |
|
53 | + function displayList(&$layout_def) |
|
54 | + { |
|
55 | + global $app_strings; |
|
56 | 56 | |
57 | - global $current_user; |
|
57 | + global $current_user; |
|
58 | 58 | |
59 | - $parent_record_id = $_REQUEST['record']; |
|
60 | - $parent_module = $_REQUEST['module']; |
|
59 | + $parent_record_id = $_REQUEST['record']; |
|
60 | + $parent_module = $_REQUEST['module']; |
|
61 | 61 | |
62 | - if ($layout_def['module'] == 'Holidays'){ |
|
63 | - $action = 'DeleteHolidayRelationship'; |
|
64 | - } |
|
65 | - else if ($layout_def['module'] == 'Users' || $layout_def['module'] == 'Contacts'){ |
|
66 | - $action = 'DeleteResourceRelationship'; |
|
67 | - } |
|
68 | - else{ |
|
69 | - $action = 'DeleteRelationship'; |
|
70 | - } |
|
62 | + if ($layout_def['module'] == 'Holidays'){ |
|
63 | + $action = 'DeleteHolidayRelationship'; |
|
64 | + } |
|
65 | + else if ($layout_def['module'] == 'Users' || $layout_def['module'] == 'Contacts'){ |
|
66 | + $action = 'DeleteResourceRelationship'; |
|
67 | + } |
|
68 | + else{ |
|
69 | + $action = 'DeleteRelationship'; |
|
70 | + } |
|
71 | 71 | |
72 | - $record = $layout_def['fields']['ID']; |
|
73 | - $current_module=$layout_def['module']; |
|
74 | - $hideremove=false; |
|
72 | + $record = $layout_def['fields']['ID']; |
|
73 | + $current_module=$layout_def['module']; |
|
74 | + $hideremove=false; |
|
75 | 75 | |
76 | - $return_module = $_REQUEST['module']; |
|
77 | - $return_action = 'SubPanelViewer'; |
|
78 | - $subpanel = $layout_def['subpanel_id']; |
|
79 | - $return_id = $_REQUEST['record']; |
|
76 | + $return_module = $_REQUEST['module']; |
|
77 | + $return_action = 'SubPanelViewer'; |
|
78 | + $subpanel = $layout_def['subpanel_id']; |
|
79 | + $return_id = $_REQUEST['record']; |
|
80 | 80 | |
81 | 81 | |
82 | - $focus = new Project(); |
|
82 | + $focus = new Project(); |
|
83 | 83 | |
84 | - $focus->retrieve($return_id); |
|
84 | + $focus->retrieve($return_id); |
|
85 | 85 | |
86 | - if ($current_user->id == $focus->assigned_user_id || is_admin($current_user)){ |
|
87 | - $is_owner = true; |
|
88 | - } |
|
89 | - else{ |
|
90 | - $is_owner = false; |
|
91 | - } |
|
86 | + if ($current_user->id == $focus->assigned_user_id || is_admin($current_user)){ |
|
87 | + $is_owner = true; |
|
88 | + } |
|
89 | + else{ |
|
90 | + $is_owner = false; |
|
91 | + } |
|
92 | 92 | |
93 | - if (isset($layout_def['linked_field_set']) && !empty($layout_def['linked_field_set'])) { |
|
94 | - $linked_field= $layout_def['linked_field_set'] ; |
|
95 | - } else { |
|
96 | - $linked_field = $layout_def['linked_field']; |
|
97 | - } |
|
98 | - $refresh_page = 0; |
|
99 | - if(!empty($layout_def['refresh_page'])){ |
|
100 | - $refresh_page = 1; |
|
101 | - } |
|
102 | - $return_url = "index.php?module=$return_module&action=$return_action&subpanel=$subpanel&record=$return_id&sugar_body_only=1&inline=1"; |
|
93 | + if (isset($layout_def['linked_field_set']) && !empty($layout_def['linked_field_set'])) { |
|
94 | + $linked_field= $layout_def['linked_field_set'] ; |
|
95 | + } else { |
|
96 | + $linked_field = $layout_def['linked_field']; |
|
97 | + } |
|
98 | + $refresh_page = 0; |
|
99 | + if(!empty($layout_def['refresh_page'])){ |
|
100 | + $refresh_page = 1; |
|
101 | + } |
|
102 | + $return_url = "index.php?module=$return_module&action=$return_action&subpanel=$subpanel&record=$return_id&sugar_body_only=1&inline=1"; |
|
103 | 103 | |
104 | - $icon_remove_text = strtolower($app_strings['LBL_ID_FF_REMOVE']); |
|
105 | - $icon_remove_html = SugarThemeRegistry::current()->getImage( 'delete_inline', 'align="absmiddle" border="0"',null,null,'.gif','');//setting alt to blank on purpose on subpanels for 508 |
|
106 | - $remove_url = $layout_def['start_link_wrapper'] |
|
107 | - . "index.php?module=$parent_module" |
|
108 | - . "&action=$action" |
|
109 | - . "&record=$parent_record_id" |
|
110 | - . "&linked_field=$linked_field" |
|
111 | - . "&linked_id=$record" |
|
112 | - . "&return_url=" . urlencode(urlencode($return_url)) |
|
113 | - . "&refresh_page=1" |
|
114 | - . $layout_def['end_link_wrapper']; |
|
115 | - $remove_confirmation_text = $app_strings['NTC_REMOVE_CONFIRMATION']; |
|
116 | - //based on listview since that lets you select records |
|
117 | - if($layout_def['ListView'] && !$hideremove && $is_owner) { |
|
118 | - return '<a href="' . $remove_url . '"' |
|
119 | - . ' class="listViewTdToolsS1"' |
|
120 | - . " onclick=\"return confirm('$remove_confirmation_text');\"" |
|
121 | - . ">$icon_remove_html $icon_remove_text</a>"; |
|
122 | - }else{ |
|
123 | - return ''; |
|
124 | - } |
|
125 | - } |
|
104 | + $icon_remove_text = strtolower($app_strings['LBL_ID_FF_REMOVE']); |
|
105 | + $icon_remove_html = SugarThemeRegistry::current()->getImage( 'delete_inline', 'align="absmiddle" border="0"',null,null,'.gif','');//setting alt to blank on purpose on subpanels for 508 |
|
106 | + $remove_url = $layout_def['start_link_wrapper'] |
|
107 | + . "index.php?module=$parent_module" |
|
108 | + . "&action=$action" |
|
109 | + . "&record=$parent_record_id" |
|
110 | + . "&linked_field=$linked_field" |
|
111 | + . "&linked_id=$record" |
|
112 | + . "&return_url=" . urlencode(urlencode($return_url)) |
|
113 | + . "&refresh_page=1" |
|
114 | + . $layout_def['end_link_wrapper']; |
|
115 | + $remove_confirmation_text = $app_strings['NTC_REMOVE_CONFIRMATION']; |
|
116 | + //based on listview since that lets you select records |
|
117 | + if($layout_def['ListView'] && !$hideremove && $is_owner) { |
|
118 | + return '<a href="' . $remove_url . '"' |
|
119 | + . ' class="listViewTdToolsS1"' |
|
120 | + . " onclick=\"return confirm('$remove_confirmation_text');\"" |
|
121 | + . ">$icon_remove_html $icon_remove_text</a>"; |
|
122 | + }else{ |
|
123 | + return ''; |
|
124 | + } |
|
125 | + } |
|
126 | 126 | } |
127 | 127 | ?> |
128 | 128 | \ No newline at end of file |
@@ -41,26 +41,26 @@ discard block |
||
41 | 41 | |
42 | 42 | |
43 | 43 | class SugarWidgetFieldMultiEnum extends SugarWidgetFieldEnum { |
44 | - public function queryFilternot_one_of(&$layout_def) { |
|
45 | - $arr = array (); |
|
46 | - foreach ($layout_def['input_name0'] as $value) { |
|
47 | - array_push($arr, "'".$GLOBALS['db']->quote($value)."'"); |
|
48 | - } |
|
49 | - $reporter = $this->layout_manager->getAttribute("reporter"); |
|
44 | + public function queryFilternot_one_of(&$layout_def) { |
|
45 | + $arr = array (); |
|
46 | + foreach ($layout_def['input_name0'] as $value) { |
|
47 | + array_push($arr, "'".$GLOBALS['db']->quote($value)."'"); |
|
48 | + } |
|
49 | + $reporter = $this->layout_manager->getAttribute("reporter"); |
|
50 | 50 | |
51 | - $col_name = $this->_get_column_select($layout_def) . " NOT LIKE " ; |
|
52 | - $arr_count = count($arr); |
|
53 | - $query = ""; |
|
54 | - foreach($arr as $key=>$val) { |
|
55 | - $query .= $col_name; |
|
56 | - $value = preg_replace("/^'/", "'%", $val, 1); |
|
57 | - $value = preg_replace("/'$/", "%'", $value, 1); |
|
58 | - $query .= $value; |
|
59 | - if ($key != ($arr_count - 1)) |
|
60 | - $query.= " OR " ; |
|
61 | - } |
|
62 | - return '('.$query.')'; |
|
63 | - } |
|
51 | + $col_name = $this->_get_column_select($layout_def) . " NOT LIKE " ; |
|
52 | + $arr_count = count($arr); |
|
53 | + $query = ""; |
|
54 | + foreach($arr as $key=>$val) { |
|
55 | + $query .= $col_name; |
|
56 | + $value = preg_replace("/^'/", "'%", $val, 1); |
|
57 | + $value = preg_replace("/'$/", "%'", $value, 1); |
|
58 | + $query .= $value; |
|
59 | + if ($key != ($arr_count - 1)) |
|
60 | + $query.= " OR " ; |
|
61 | + } |
|
62 | + return '('.$query.')'; |
|
63 | + } |
|
64 | 64 | |
65 | 65 | public function queryFilterone_of(&$layout_def) { |
66 | 66 | //Fix for inaccurate filtering of contacts in Contacts dashlet on multiselects. |
@@ -72,47 +72,47 @@ discard block |
||
72 | 72 | array_push($arr, "'^^'"); |
73 | 73 | } |
74 | 74 | } |
75 | - $reporter = $this->layout_manager->getAttribute("reporter"); |
|
75 | + $reporter = $this->layout_manager->getAttribute("reporter"); |
|
76 | 76 | |
77 | - $col_name = $this->_get_column_select($layout_def) . " LIKE " ; |
|
78 | - $arr_count = count($arr); |
|
79 | - $query = ""; |
|
80 | - foreach($arr as $key=>$val) { |
|
81 | - $query .= $col_name; |
|
82 | - $value = preg_replace("/^'/", "'%", $val, 1); |
|
83 | - $value = preg_replace("/'$/", "%'", $value, 1); |
|
84 | - $query .= $value; |
|
85 | - if ($key != ($arr_count - 1)) |
|
86 | - $query.= " OR " ; |
|
87 | - } |
|
88 | - return '('.$query.')'; |
|
89 | - } |
|
77 | + $col_name = $this->_get_column_select($layout_def) . " LIKE " ; |
|
78 | + $arr_count = count($arr); |
|
79 | + $query = ""; |
|
80 | + foreach($arr as $key=>$val) { |
|
81 | + $query .= $col_name; |
|
82 | + $value = preg_replace("/^'/", "'%", $val, 1); |
|
83 | + $value = preg_replace("/'$/", "%'", $value, 1); |
|
84 | + $query .= $value; |
|
85 | + if ($key != ($arr_count - 1)) |
|
86 | + $query.= " OR " ; |
|
87 | + } |
|
88 | + return '('.$query.')'; |
|
89 | + } |
|
90 | 90 | |
91 | - public function queryFilteris($layout_def) { |
|
92 | - $input_name0 = $layout_def['input_name0']; |
|
93 | - if (is_array($layout_def['input_name0'])) { |
|
94 | - $input_name0 = $layout_def['input_name0'][0]; |
|
95 | - } |
|
91 | + public function queryFilteris($layout_def) { |
|
92 | + $input_name0 = $layout_def['input_name0']; |
|
93 | + if (is_array($layout_def['input_name0'])) { |
|
94 | + $input_name0 = $layout_def['input_name0'][0]; |
|
95 | + } |
|
96 | 96 | |
97 | - // Bug 40022 |
|
98 | - // IS filter doesn't add the carets (^) to multienum custom field values |
|
99 | - $input_name0 = $this->encodeMultienumCustom($layout_def, $input_name0); |
|
97 | + // Bug 40022 |
|
98 | + // IS filter doesn't add the carets (^) to multienum custom field values |
|
99 | + $input_name0 = $this->encodeMultienumCustom($layout_def, $input_name0); |
|
100 | 100 | |
101 | - return $this->_get_column_select($layout_def)." = ".$this->reporter->db->quoted($input_name0)."\n"; |
|
102 | - } |
|
101 | + return $this->_get_column_select($layout_def)." = ".$this->reporter->db->quoted($input_name0)."\n"; |
|
102 | + } |
|
103 | 103 | |
104 | - public function queryFilteris_not($layout_def) { |
|
105 | - $input_name0 = $layout_def['input_name0']; |
|
106 | - if (is_array($layout_def['input_name0'])) { |
|
107 | - $input_name0 = $layout_def['input_name0'][0]; |
|
108 | - } |
|
104 | + public function queryFilteris_not($layout_def) { |
|
105 | + $input_name0 = $layout_def['input_name0']; |
|
106 | + if (is_array($layout_def['input_name0'])) { |
|
107 | + $input_name0 = $layout_def['input_name0'][0]; |
|
108 | + } |
|
109 | 109 | |
110 | - // Bug 50549 |
|
111 | - // IS NOT filter doesn't add the carets (^) to multienum custom field values |
|
112 | - $input_name0 = $this->encodeMultienumCustom($layout_def, $input_name0); |
|
110 | + // Bug 50549 |
|
111 | + // IS NOT filter doesn't add the carets (^) to multienum custom field values |
|
112 | + $input_name0 = $this->encodeMultienumCustom($layout_def, $input_name0); |
|
113 | 113 | |
114 | - return $this->_get_column_select($layout_def)." <> ".$this->reporter->db->quoted($input_name0)."\n"; |
|
115 | - } |
|
114 | + return $this->_get_column_select($layout_def)." <> ".$this->reporter->db->quoted($input_name0)."\n"; |
|
115 | + } |
|
116 | 116 | |
117 | 117 | /** |
118 | 118 | * Returns an OrderBy query for multi-select. We treat multi-select the same as a normal field because |
@@ -131,13 +131,13 @@ discard block |
||
131 | 131 | * @return string |
132 | 132 | */ |
133 | 133 | private function encodeMultienumCustom($layout_def, $value) { |
134 | - $field_def = $this->reporter->getFieldDefFromLayoutDef($layout_def); |
|
135 | - // Check if it is a custom field |
|
136 | - if (!empty($field_def['source']) && ($field_def['source'] == 'custom_fields' || ($field_def['source'] == 'non-db' && !empty($field_def['ext2']) && !empty($field_def['id']))) && !empty($field_def['real_table'])) |
|
137 | - { |
|
138 | - $value = encodeMultienumValue(array($value)); |
|
139 | - } |
|
140 | - return $value; |
|
134 | + $field_def = $this->reporter->getFieldDefFromLayoutDef($layout_def); |
|
135 | + // Check if it is a custom field |
|
136 | + if (!empty($field_def['source']) && ($field_def['source'] == 'custom_fields' || ($field_def['source'] == 'non-db' && !empty($field_def['ext2']) && !empty($field_def['id']))) && !empty($field_def['real_table'])) |
|
137 | + { |
|
138 | + $value = encodeMultienumValue(array($value)); |
|
139 | + } |
|
140 | + return $value; |
|
141 | 141 | } |
142 | 142 | } |
143 | 143 | ?> |
@@ -41,53 +41,53 @@ |
||
41 | 41 | |
42 | 42 | class SugarWidgetFieldVarchar extends SugarWidgetReportField |
43 | 43 | { |
44 | - function SugarWidgetFieldVarchar(&$layout_manager) |
|
45 | - { |
|
44 | + function SugarWidgetFieldVarchar(&$layout_manager) |
|
45 | + { |
|
46 | 46 | parent::SugarWidgetReportField($layout_manager); |
47 | - } |
|
47 | + } |
|
48 | 48 | |
49 | - function queryFilterEquals(&$layout_def) |
|
50 | - { |
|
51 | - return $this->_get_column_select($layout_def)."='".$GLOBALS['db']->quote($layout_def['input_name0'])."'\n"; |
|
52 | - } |
|
49 | + function queryFilterEquals(&$layout_def) |
|
50 | + { |
|
51 | + return $this->_get_column_select($layout_def)."='".$GLOBALS['db']->quote($layout_def['input_name0'])."'\n"; |
|
52 | + } |
|
53 | 53 | |
54 | - function queryFilterNot_Equals_Str(&$layout_def) |
|
55 | - { |
|
56 | - return $this->_get_column_select($layout_def)."!='".$GLOBALS['db']->quote($layout_def['input_name0'])."'\n"; |
|
57 | - } |
|
54 | + function queryFilterNot_Equals_Str(&$layout_def) |
|
55 | + { |
|
56 | + return $this->_get_column_select($layout_def)."!='".$GLOBALS['db']->quote($layout_def['input_name0'])."'\n"; |
|
57 | + } |
|
58 | 58 | |
59 | - function queryFilterContains(&$layout_def) |
|
60 | - { |
|
61 | - return $this->_get_column_select($layout_def)." LIKE '%".$GLOBALS['db']->quote($layout_def['input_name0'])."%'\n"; |
|
62 | - } |
|
63 | - function queryFilterdoes_not_contain(&$layout_def) |
|
64 | - { |
|
65 | - return $this->_get_column_select($layout_def)." NOT LIKE '%".$GLOBALS['db']->quote($layout_def['input_name0'])."%'\n"; |
|
66 | - } |
|
59 | + function queryFilterContains(&$layout_def) |
|
60 | + { |
|
61 | + return $this->_get_column_select($layout_def)." LIKE '%".$GLOBALS['db']->quote($layout_def['input_name0'])."%'\n"; |
|
62 | + } |
|
63 | + function queryFilterdoes_not_contain(&$layout_def) |
|
64 | + { |
|
65 | + return $this->_get_column_select($layout_def)." NOT LIKE '%".$GLOBALS['db']->quote($layout_def['input_name0'])."%'\n"; |
|
66 | + } |
|
67 | 67 | |
68 | - function queryFilterStarts_With(&$layout_def) |
|
69 | - { |
|
70 | - return $this->_get_column_select($layout_def)." LIKE '".$GLOBALS['db']->quote($layout_def['input_name0'])."%'\n"; |
|
71 | - } |
|
68 | + function queryFilterStarts_With(&$layout_def) |
|
69 | + { |
|
70 | + return $this->_get_column_select($layout_def)." LIKE '".$GLOBALS['db']->quote($layout_def['input_name0'])."%'\n"; |
|
71 | + } |
|
72 | 72 | |
73 | - function queryFilterEnds_With(&$layout_def) |
|
74 | - { |
|
75 | - return $this->_get_column_select($layout_def)." LIKE '%".$GLOBALS['db']->quote($layout_def['input_name0'])."'\n"; |
|
76 | - } |
|
73 | + function queryFilterEnds_With(&$layout_def) |
|
74 | + { |
|
75 | + return $this->_get_column_select($layout_def)." LIKE '%".$GLOBALS['db']->quote($layout_def['input_name0'])."'\n"; |
|
76 | + } |
|
77 | 77 | |
78 | - function queryFilterone_of(&$layout_def) |
|
79 | - { |
|
78 | + function queryFilterone_of(&$layout_def) |
|
79 | + { |
|
80 | 80 | foreach($layout_def['input_name0'] as $key => $value) { |
81 | 81 | $layout_def['input_name0'][$key] = $GLOBALS['db']->quote($value); |
82 | 82 | } |
83 | 83 | return $this->_get_column_select($layout_def) . " IN ('" . implode("','", $layout_def['input_name0']) . "')\n"; |
84 | - } |
|
84 | + } |
|
85 | 85 | |
86 | - function displayInput(&$layout_def) |
|
87 | - { |
|
88 | - $str = '<input type="text" size="20" value="' . $layout_def['input_name0'] . '" name="' . $layout_def['name'] . '">'; |
|
89 | - return $str; |
|
90 | - } |
|
86 | + function displayInput(&$layout_def) |
|
87 | + { |
|
88 | + $str = '<input type="text" size="20" value="' . $layout_def['input_name0'] . '" name="' . $layout_def['name'] . '">'; |
|
89 | + return $str; |
|
90 | + } |
|
91 | 91 | } |
92 | 92 | |
93 | 93 | ?> |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | } |
55 | 55 | } |
56 | 56 | $content = $this->displayListPlain($layout_def); |
57 | - return $content; |
|
57 | + return $content; |
|
58 | 58 | } |
59 | 59 | |
60 | 60 | function queryFilterBefore($layout_def) |
@@ -88,26 +88,26 @@ discard block |
||
88 | 88 | $this->queryDateOp($column, $end, "<=", "date").")\n"; |
89 | 89 | } |
90 | 90 | |
91 | - function queryFilterTP_yesterday($layout_def) |
|
92 | - { |
|
93 | - global $timedate; |
|
91 | + function queryFilterTP_yesterday($layout_def) |
|
92 | + { |
|
93 | + global $timedate; |
|
94 | 94 | $layout_def['input_name0'] = $timedate->asDbDate($timedate->getNow(true)->get("-1 day")); |
95 | 95 | return $this->queryFilterOn($layout_def); |
96 | - } |
|
96 | + } |
|
97 | 97 | |
98 | - function queryFilterTP_today($layout_def) |
|
99 | - { |
|
100 | - global $timedate; |
|
98 | + function queryFilterTP_today($layout_def) |
|
99 | + { |
|
100 | + global $timedate; |
|
101 | 101 | $layout_def['input_name0'] = $timedate->asDbDate($timedate->getNow(true)); |
102 | 102 | return $this->queryFilterOn($layout_def); |
103 | - } |
|
103 | + } |
|
104 | 104 | |
105 | - function queryFilterTP_tomorrow(& $layout_def) |
|
106 | - { |
|
107 | - global $timedate; |
|
108 | - $layout_def['input_name0'] = $timedate->asDbDate($timedate->getNow(true)->get("+1 day")); |
|
105 | + function queryFilterTP_tomorrow(& $layout_def) |
|
106 | + { |
|
107 | + global $timedate; |
|
108 | + $layout_def['input_name0'] = $timedate->asDbDate($timedate->getNow(true)->get("+1 day")); |
|
109 | 109 | return $this->queryFilterOn($layout_def); |
110 | - } |
|
110 | + } |
|
111 | 111 | |
112 | 112 | protected function queryMonth($layout_def, $month) |
113 | 113 | { |
@@ -49,37 +49,37 @@ discard block |
||
49 | 49 | */ |
50 | 50 | class SugarWidget |
51 | 51 | { |
52 | - var $layout_manager = null; |
|
53 | - var $widget_id; |
|
52 | + var $layout_manager = null; |
|
53 | + var $widget_id; |
|
54 | 54 | protected $form_value; |
55 | 55 | protected $parent_bean; |
56 | 56 | |
57 | - function SugarWidget(&$layout_manager) |
|
58 | - { |
|
59 | - $this->layout_manager = $layout_manager; |
|
60 | - } |
|
61 | - function display($layout_def) |
|
62 | - { |
|
63 | - return 'display class undefined'; |
|
64 | - } |
|
57 | + function SugarWidget(&$layout_manager) |
|
58 | + { |
|
59 | + $this->layout_manager = $layout_manager; |
|
60 | + } |
|
61 | + function display($layout_def) |
|
62 | + { |
|
63 | + return 'display class undefined'; |
|
64 | + } |
|
65 | 65 | |
66 | - /** |
|
67 | - * getSubpanelWidgetId |
|
68 | - * This is a utility function to return a widget's unique id |
|
69 | - * @return id String label of the widget's unique id |
|
70 | - */ |
|
71 | - public function getWidgetId() { |
|
72 | - return $this->widget_id; |
|
73 | - } |
|
66 | + /** |
|
67 | + * getSubpanelWidgetId |
|
68 | + * This is a utility function to return a widget's unique id |
|
69 | + * @return id String label of the widget's unique id |
|
70 | + */ |
|
71 | + public function getWidgetId() { |
|
72 | + return $this->widget_id; |
|
73 | + } |
|
74 | 74 | |
75 | - /** |
|
76 | - * setSubpanelWidgetId |
|
77 | - * This is a utility function to set the id for a widget |
|
78 | - * @param id String value to set the widget's unique id |
|
79 | - */ |
|
80 | - public function setWidgetId($id='') { |
|
81 | - $this->widget_id = $id; |
|
82 | - } |
|
75 | + /** |
|
76 | + * setSubpanelWidgetId |
|
77 | + * This is a utility function to set the id for a widget |
|
78 | + * @param id String value to set the widget's unique id |
|
79 | + */ |
|
80 | + public function setWidgetId($id='') { |
|
81 | + $this->widget_id = $id; |
|
82 | + } |
|
83 | 83 | |
84 | 84 | public function getDisplayName() |
85 | 85 | { |
@@ -94,20 +94,20 @@ discard block |
||
94 | 94 | { |
95 | 95 | $this->parent_bean = $parent_bean; |
96 | 96 | } |
97 | - /** |
|
98 | - * getTruncatedColumnAlias |
|
99 | - * This function ensures that a column alias is no more than 28 characters. Should the column_name |
|
100 | - * argument exceed 28 charcters, it creates an alias using the first 22 characters of the column_name |
|
101 | - * plus an md5 of the first 6 characters of the lowercased column_name value. |
|
102 | - * |
|
103 | - */ |
|
97 | + /** |
|
98 | + * getTruncatedColumnAlias |
|
99 | + * This function ensures that a column alias is no more than 28 characters. Should the column_name |
|
100 | + * argument exceed 28 charcters, it creates an alias using the first 22 characters of the column_name |
|
101 | + * plus an md5 of the first 6 characters of the lowercased column_name value. |
|
102 | + * |
|
103 | + */ |
|
104 | 104 | protected function getTruncatedColumnAlias($column_name) |
105 | 105 | { |
106 | - if(empty($column_name) || !is_string($column_name) || strlen($column_name) < 28) |
|
107 | - { |
|
108 | - return $column_name; |
|
109 | - } |
|
110 | - return strtoupper(substr($column_name,0,22) . substr(md5(strtolower($column_name)), 0, 6)); |
|
106 | + if(empty($column_name) || !is_string($column_name) || strlen($column_name) < 28) |
|
107 | + { |
|
108 | + return $column_name; |
|
109 | + } |
|
110 | + return strtoupper(substr($column_name,0,22) . substr(md5(strtolower($column_name)), 0, 6)); |
|
111 | 111 | } |
112 | 112 | } |
113 | 113 |
@@ -41,8 +41,8 @@ discard block |
||
41 | 41 | |
42 | 42 | class SugarWidgetFieldFloat extends SugarWidgetFieldInt |
43 | 43 | { |
44 | - function displayList($layout_def) |
|
45 | - { |
|
44 | + function displayList($layout_def) |
|
45 | + { |
|
46 | 46 | |
47 | 47 | $vardef = $this->getVardef($layout_def); |
48 | 48 | |
@@ -51,37 +51,37 @@ discard block |
||
51 | 51 | } else { |
52 | 52 | $precision = null; |
53 | 53 | } |
54 | - return format_number(parent::displayListPlain($layout_def), $precision, $precision); |
|
55 | - } |
|
54 | + return format_number(parent::displayListPlain($layout_def), $precision, $precision); |
|
55 | + } |
|
56 | 56 | |
57 | - function displayListPlain($layout_def) |
|
58 | - { |
|
59 | - return $this->displayList($layout_def); |
|
60 | - } |
|
61 | - function queryFilterEquals(&$layout_def) |
|
62 | - { |
|
57 | + function displayListPlain($layout_def) |
|
58 | + { |
|
59 | + return $this->displayList($layout_def); |
|
60 | + } |
|
61 | + function queryFilterEquals(&$layout_def) |
|
62 | + { |
|
63 | 63 | return $this->_get_column_select($layout_def)."= ".$GLOBALS['db']->quote(unformat_number($layout_def['input_name0']))."\n"; |
64 | - } |
|
64 | + } |
|
65 | 65 | |
66 | - function queryFilterNot_Equals(&$layout_def) |
|
67 | - { |
|
68 | - return $this->_get_column_select($layout_def)."!=".$GLOBALS['db']->quote(unformat_number($layout_def['input_name0']))."\n"; |
|
69 | - } |
|
66 | + function queryFilterNot_Equals(&$layout_def) |
|
67 | + { |
|
68 | + return $this->_get_column_select($layout_def)."!=".$GLOBALS['db']->quote(unformat_number($layout_def['input_name0']))."\n"; |
|
69 | + } |
|
70 | 70 | |
71 | - function queryFilterGreater(&$layout_def) |
|
72 | - { |
|
71 | + function queryFilterGreater(&$layout_def) |
|
72 | + { |
|
73 | 73 | return $this->_get_column_select($layout_def)." > ".$GLOBALS['db']->quote(unformat_number($layout_def['input_name0']))."\n"; |
74 | - } |
|
74 | + } |
|
75 | 75 | |
76 | - function queryFilterLess(&$layout_def) |
|
77 | - { |
|
78 | - return $this->_get_column_select($layout_def)." < ".$GLOBALS['db']->quote(unformat_number($layout_def['input_name0']))."\n"; |
|
79 | - } |
|
76 | + function queryFilterLess(&$layout_def) |
|
77 | + { |
|
78 | + return $this->_get_column_select($layout_def)." < ".$GLOBALS['db']->quote(unformat_number($layout_def['input_name0']))."\n"; |
|
79 | + } |
|
80 | 80 | |
81 | - function queryFilterBetween(&$layout_def) |
|
82 | - { |
|
83 | - return $this->_get_column_select($layout_def)." BETWEEN ".$GLOBALS['db']->quote(unformat_number($layout_def['input_name0'])). " AND " . $GLOBALS['db']->quote(unformat_number($layout_def['input_name1'])) . "\n"; |
|
84 | - } |
|
81 | + function queryFilterBetween(&$layout_def) |
|
82 | + { |
|
83 | + return $this->_get_column_select($layout_def)." BETWEEN ".$GLOBALS['db']->quote(unformat_number($layout_def['input_name0'])). " AND " . $GLOBALS['db']->quote(unformat_number($layout_def['input_name1'])) . "\n"; |
|
84 | + } |
|
85 | 85 | |
86 | 86 | |
87 | 87 | } |
@@ -51,13 +51,13 @@ |
||
51 | 51 | $ops = $layout_def['options']; |
52 | 52 | } |
53 | 53 | elseif (isset($layout_def['options']) && isset($app_list_strings[$layout_def['options']])){ |
54 | - $ops = $app_list_strings[$layout_def['options']]; |
|
54 | + $ops = $app_list_strings[$layout_def['options']]; |
|
55 | 55 | if(array_key_exists('', $app_list_strings[$layout_def['options']])) { |
56 | - unset($ops['']); |
|
57 | - } |
|
56 | + unset($ops['']); |
|
57 | + } |
|
58 | 58 | } |
59 | 59 | else{ |
60 | - $ops = array(); |
|
60 | + $ops = array(); |
|
61 | 61 | } |
62 | 62 | } |
63 | 63 | else { |
@@ -54,30 +54,30 @@ discard block |
||
54 | 54 | */ |
55 | 55 | protected $reporter; |
56 | 56 | |
57 | - function SugarWidgetReportField(&$layout_manager) { |
|
57 | + function SugarWidgetReportField(&$layout_manager) { |
|
58 | 58 | parent::SugarWidgetField($layout_manager); |
59 | 59 | $this->reporter = $this->layout_manager->getAttribute("reporter"); |
60 | 60 | } |
61 | 61 | |
62 | - function getSubClass($layout_def) |
|
63 | - { |
|
64 | - if (! empty($layout_def['type'])) |
|
65 | - { |
|
66 | - |
|
67 | - if ($layout_def['type'] == 'time') { |
|
68 | - $layout_def['widget_class'] = 'Fielddate'; |
|
69 | - } else { |
|
70 | - $layout_def['widget_class'] = 'Field'.$layout_def['type']; |
|
71 | - } |
|
72 | - return $this->layout_manager->getClassFromWidgetDef($layout_def); |
|
73 | - } else { |
|
74 | - return $this; |
|
75 | - } |
|
76 | - } |
|
77 | - |
|
78 | - |
|
79 | - function display($layout_def) |
|
80 | - { |
|
62 | + function getSubClass($layout_def) |
|
63 | + { |
|
64 | + if (! empty($layout_def['type'])) |
|
65 | + { |
|
66 | + |
|
67 | + if ($layout_def['type'] == 'time') { |
|
68 | + $layout_def['widget_class'] = 'Fielddate'; |
|
69 | + } else { |
|
70 | + $layout_def['widget_class'] = 'Field'.$layout_def['type']; |
|
71 | + } |
|
72 | + return $this->layout_manager->getClassFromWidgetDef($layout_def); |
|
73 | + } else { |
|
74 | + return $this; |
|
75 | + } |
|
76 | + } |
|
77 | + |
|
78 | + |
|
79 | + function display($layout_def) |
|
80 | + { |
|
81 | 81 | $obj = $this->getSubClass($layout_def); |
82 | 82 | |
83 | 83 | $context = $this->layout_manager->getAttribute('context');//_ppd($context); |
@@ -91,51 +91,51 @@ discard block |
||
91 | 91 | { |
92 | 92 | return 'display not found:'.$func_name; |
93 | 93 | } |
94 | - } |
|
94 | + } |
|
95 | 95 | |
96 | - function _get_column_select_special($layout_def) |
|
97 | - { |
|
98 | - $alias = ''; |
|
99 | - if ( ! empty($layout_def['table_alias'])) |
|
100 | - { |
|
101 | - $alias = $layout_def['table_alias']; |
|
102 | - } |
|
96 | + function _get_column_select_special($layout_def) |
|
97 | + { |
|
98 | + $alias = ''; |
|
99 | + if ( ! empty($layout_def['table_alias'])) |
|
100 | + { |
|
101 | + $alias = $layout_def['table_alias']; |
|
102 | + } |
|
103 | 103 | |
104 | 104 | if ($layout_def['name'] == 'weighted_sum' ) |
105 | 105 | { |
106 | 106 | return sprintf("SUM(%s * %s * 0.01)", $this->reporter->db->convert("$alias.probability","IFNULL", array(0)), |
107 | 107 | $this->reporter->db->convert("$alias.amount_usdollar","IFNULL", array(0))); |
108 | - } |
|
108 | + } |
|
109 | 109 | if ($layout_def['name'] == 'weighted_amount' ) |
110 | 110 | { |
111 | 111 | return sprintf("AVG(%s * %s * 0.01)", $this->reporter->db->convert("$alias.probability","IFNULL", array(0)), |
112 | 112 | $this->reporter->db->convert("$alias.amount_usdollar","IFNULL", array(0))); |
113 | - } |
|
114 | - } |
|
115 | - |
|
116 | - function _get_column_select($layout_def) |
|
117 | - { |
|
118 | - global $reportAlias; |
|
119 | - if (!isset($reportAlias)) { |
|
120 | - $reportAlias = array(); |
|
121 | - } |
|
122 | - |
|
123 | - if ( ! empty($layout_def['table_alias'])) { |
|
124 | - $alias = $layout_def['table_alias'].".".$layout_def['name']; |
|
125 | - } else if (! empty($layout_def['name'])) { |
|
126 | - $alias = $layout_def['name']; |
|
127 | - } else { |
|
128 | - $alias = "*"; |
|
129 | - } |
|
130 | - |
|
131 | - if ( ! empty($layout_def['group_function']) ) |
|
132 | - { |
|
133 | - if ($layout_def['name'] == 'weighted_sum' || $layout_def['name'] == 'weighted_amount') |
|
134 | - { |
|
135 | - $alias = $this->_get_column_select_special($layout_def); |
|
136 | - $reportAlias[$alias] = $layout_def; |
|
137 | - return $alias; |
|
138 | - } |
|
113 | + } |
|
114 | + } |
|
115 | + |
|
116 | + function _get_column_select($layout_def) |
|
117 | + { |
|
118 | + global $reportAlias; |
|
119 | + if (!isset($reportAlias)) { |
|
120 | + $reportAlias = array(); |
|
121 | + } |
|
122 | + |
|
123 | + if ( ! empty($layout_def['table_alias'])) { |
|
124 | + $alias = $layout_def['table_alias'].".".$layout_def['name']; |
|
125 | + } else if (! empty($layout_def['name'])) { |
|
126 | + $alias = $layout_def['name']; |
|
127 | + } else { |
|
128 | + $alias = "*"; |
|
129 | + } |
|
130 | + |
|
131 | + if ( ! empty($layout_def['group_function']) ) |
|
132 | + { |
|
133 | + if ($layout_def['name'] == 'weighted_sum' || $layout_def['name'] == 'weighted_amount') |
|
134 | + { |
|
135 | + $alias = $this->_get_column_select_special($layout_def); |
|
136 | + $reportAlias[$alias] = $layout_def; |
|
137 | + return $alias; |
|
138 | + } |
|
139 | 139 | |
140 | 140 | // Use IFNULL only if it's not AVG aggregate |
141 | 141 | // because it adds NULL rows to the count when it should not, thus getting wrong result |
@@ -164,66 +164,66 @@ discard block |
||
164 | 164 | } |
165 | 165 | |
166 | 166 | } |
167 | - } |
|
167 | + } |
|
168 | 168 | |
169 | - $reportAlias[$alias] = $layout_def; |
|
170 | - return $alias; |
|
171 | - } |
|
169 | + $reportAlias[$alias] = $layout_def; |
|
170 | + return $alias; |
|
171 | + } |
|
172 | 172 | |
173 | - function querySelect(&$layout_def) |
|
174 | - { |
|
173 | + function querySelect(&$layout_def) |
|
174 | + { |
|
175 | 175 | return $this->_get_column_select($layout_def)." ".$this->_get_column_alias($layout_def)."\n"; |
176 | - } |
|
176 | + } |
|
177 | 177 | |
178 | - function queryGroupBy($layout_def) |
|
179 | - { |
|
180 | - return $this->_get_column_select($layout_def)." \n"; |
|
181 | - } |
|
178 | + function queryGroupBy($layout_def) |
|
179 | + { |
|
180 | + return $this->_get_column_select($layout_def)." \n"; |
|
181 | + } |
|
182 | 182 | |
183 | 183 | |
184 | - function queryOrderBy($layout_def) |
|
185 | - { |
|
186 | - $field_def = array(); |
|
187 | - if(!empty($this->reporter->all_fields[$layout_def['column_key']])) $field_def = $this->reporter->all_fields[$layout_def['column_key']]; |
|
184 | + function queryOrderBy($layout_def) |
|
185 | + { |
|
186 | + $field_def = array(); |
|
187 | + if(!empty($this->reporter->all_fields[$layout_def['column_key']])) $field_def = $this->reporter->all_fields[$layout_def['column_key']]; |
|
188 | 188 | |
189 | 189 | if (!empty($layout_def['group_function'])) |
190 | 190 | { |
191 | 191 | $order_by = $this->_get_column_alias($layout_def); |
192 | 192 | } |
193 | 193 | elseif (!empty($field_def['sort_on'])) |
194 | - { |
|
195 | - $order_by = $layout_def['table_alias'].".".$field_def['sort_on']; |
|
194 | + { |
|
195 | + $order_by = $layout_def['table_alias'].".".$field_def['sort_on']; |
|
196 | 196 | if(!empty($field_def['sort_on2'])) |
197 | 197 | $order_by .= ', ' . $layout_def['table_alias'].".".$field_def['sort_on2']; |
198 | 198 | } |
199 | - else { |
|
200 | - $order_by = $this->_get_column_alias($layout_def)." \n"; |
|
201 | - } |
|
199 | + else { |
|
200 | + $order_by = $this->_get_column_alias($layout_def)." \n"; |
|
201 | + } |
|
202 | 202 | |
203 | - //use sugar db function convert on order by string to convert to varchar. This is mainly for db's |
|
204 | - //that do not allow sorting on clob/text fields |
|
203 | + //use sugar db function convert on order by string to convert to varchar. This is mainly for db's |
|
204 | + //that do not allow sorting on clob/text fields |
|
205 | 205 | if ($this->reporter->db->isTextType($this->reporter->db->getFieldType($field_def))) { |
206 | 206 | $order_by = $this->reporter->db->convert($order_by,'text2char', array(10000)); // array(10000) is for db2 only |
207 | 207 | } |
208 | 208 | |
209 | - if ( empty($layout_def['sort_dir']) || $layout_def['sort_dir'] == 'a') |
|
210 | - { |
|
211 | - return $order_by." ASC"; |
|
212 | - } else { |
|
213 | - return $order_by." DESC"; |
|
214 | - } |
|
215 | - } |
|
209 | + if ( empty($layout_def['sort_dir']) || $layout_def['sort_dir'] == 'a') |
|
210 | + { |
|
211 | + return $order_by." ASC"; |
|
212 | + } else { |
|
213 | + return $order_by." DESC"; |
|
214 | + } |
|
215 | + } |
|
216 | 216 | |
217 | 217 | |
218 | - function queryFilter($layout_def) |
|
219 | - { |
|
220 | - $method_name = "queryFilter".$layout_def['qualifier_name']; |
|
221 | - return $this->$method_name($layout_def); |
|
222 | - } |
|
218 | + function queryFilter($layout_def) |
|
219 | + { |
|
220 | + $method_name = "queryFilter".$layout_def['qualifier_name']; |
|
221 | + return $this->$method_name($layout_def); |
|
222 | + } |
|
223 | 223 | |
224 | - function displayHeaderCell($layout_def) |
|
225 | - { |
|
226 | - global $start_link_wrapper,$end_link_wrapper; |
|
224 | + function displayHeaderCell($layout_def) |
|
225 | + { |
|
226 | + global $start_link_wrapper,$end_link_wrapper; |
|
227 | 227 | |
228 | 228 | |
229 | 229 | // don't show sort links if name isn't defined |
@@ -237,22 +237,22 @@ discard block |
||
237 | 237 | |
238 | 238 | $sort_by =''; |
239 | 239 | if ( ! empty($layout_def['table_key']) && ! empty($layout_def['name']) ) { |
240 | - if (! empty($layout_def['group_function']) && $layout_def['group_function'] == 'count') { |
|
240 | + if (! empty($layout_def['group_function']) && $layout_def['group_function'] == 'count') { |
|
241 | 241 | $sort_by = $layout_def['table_key'].":".'count'; |
242 | - } else { |
|
243 | - $sort_by = $layout_def['table_key'].":".$layout_def['name']; |
|
242 | + } else { |
|
243 | + $sort_by = $layout_def['table_key'].":".$layout_def['name']; |
|
244 | 244 | if ( ! empty($layout_def['column_function'])) { |
245 | - $sort_by .= ':'.$layout_def['column_function']; |
|
246 | - } else if ( ! empty($layout_def['group_function']) ) { |
|
247 | - $sort_by .= ':'.$layout_def['group_function']; |
|
248 | - } |
|
249 | - } |
|
245 | + $sort_by .= ':'.$layout_def['column_function']; |
|
246 | + } else if ( ! empty($layout_def['group_function']) ) { |
|
247 | + $sort_by .= ':'.$layout_def['group_function']; |
|
248 | + } |
|
249 | + } |
|
250 | 250 | } else { |
251 | - return $this->displayHeaderCellPlain($layout_def); |
|
251 | + return $this->displayHeaderCellPlain($layout_def); |
|
252 | 252 | } |
253 | 253 | |
254 | 254 | $start = empty($start_link_wrapper) ? '': $start_link_wrapper; |
255 | - $end = empty($end_link_wrapper) ? '': $end_link_wrapper; |
|
255 | + $end = empty($end_link_wrapper) ? '': $end_link_wrapper; |
|
256 | 256 | |
257 | 257 | // unable to retrieve the vardef here, exclude columns of type clob/text from being sortable |
258 | 258 | |
@@ -262,40 +262,40 @@ discard block |
||
262 | 262 | $objListView = new ListView(); |
263 | 263 | $header_cell .= $objListView->getArrowUpDownStart(isset($layout_def['sort']) ? $layout_def['sort'] : ''); |
264 | 264 | $header_cell .= $objListView->getArrowUpDownEnd(isset($layout_def['sort']) ? $layout_def['sort'] : ''); |
265 | - $header_cell .= "</a>"; |
|
266 | - return $header_cell; |
|
267 | - } |
|
265 | + $header_cell .= "</a>"; |
|
266 | + return $header_cell; |
|
267 | + } |
|
268 | 268 | |
269 | - return $this->displayHeaderCellPlain($layout_def); |
|
269 | + return $this->displayHeaderCellPlain($layout_def); |
|
270 | 270 | } |
271 | 271 | |
272 | - function query($layout_def) |
|
273 | - { |
|
274 | - $obj = $this->getSubClass($layout_def); |
|
272 | + function query($layout_def) |
|
273 | + { |
|
274 | + $obj = $this->getSubClass($layout_def); |
|
275 | 275 | |
276 | - $context = $this->layout_manager->getAttribute('context'); |
|
277 | - $func_name = 'query'.$context; |
|
276 | + $context = $this->layout_manager->getAttribute('context'); |
|
277 | + $func_name = 'query'.$context; |
|
278 | 278 | |
279 | - if ( ! empty($context) && method_exists($obj,$func_name)) |
|
280 | - { |
|
281 | - return $obj->$func_name($layout_def); |
|
282 | - } else |
|
283 | - { |
|
284 | - return ''; |
|
285 | - } |
|
286 | - } |
|
279 | + if ( ! empty($context) && method_exists($obj,$func_name)) |
|
280 | + { |
|
281 | + return $obj->$func_name($layout_def); |
|
282 | + } else |
|
283 | + { |
|
284 | + return ''; |
|
285 | + } |
|
286 | + } |
|
287 | 287 | |
288 | - function _get_column_alias($layout_def) |
|
289 | - { |
|
288 | + function _get_column_alias($layout_def) |
|
289 | + { |
|
290 | 290 | $alias_arr = array(); |
291 | 291 | |
292 | - if (!empty($layout_def['table_key']) && $layout_def['table_key'] == 'self' && !empty($layout_def['name']) && $layout_def['name'] == 'id') |
|
293 | - { |
|
294 | - return 'primaryid'; |
|
295 | - } |
|
292 | + if (!empty($layout_def['table_key']) && $layout_def['table_key'] == 'self' && !empty($layout_def['name']) && $layout_def['name'] == 'id') |
|
293 | + { |
|
294 | + return 'primaryid'; |
|
295 | + } |
|
296 | 296 | |
297 | - // Bug: 44605 |
|
298 | - // this comment is being added to trigger the upgrade package |
|
297 | + // Bug: 44605 |
|
298 | + // this comment is being added to trigger the upgrade package |
|
299 | 299 | if ( ! empty($layout_def['group_function']) && $layout_def['group_function']=='count') |
300 | 300 | { |
301 | 301 | return $layout_def['table_alias'] . '__count'; |
@@ -322,49 +322,49 @@ discard block |
||
322 | 322 | array_push($alias_arr,$layout_def['name']); |
323 | 323 | } |
324 | 324 | |
325 | - global $used_aliases, $alias_map; |
|
325 | + global $used_aliases, $alias_map; |
|
326 | 326 | |
327 | 327 | $alias = strtolower(implode("_",$alias_arr)); |
328 | 328 | |
329 | 329 | $short_alias = $this->getTruncatedColumnAlias($alias); |
330 | 330 | |
331 | - if ( empty($used_aliases[$short_alias])) |
|
332 | - { |
|
333 | - $alias_map[$alias] = $short_alias; |
|
334 | - $used_aliases[$short_alias] = 1; |
|
335 | - return $short_alias; |
|
336 | - } else if ( ! empty($alias_map[$alias]) ) |
|
337 | - { |
|
338 | - return $alias_map[$alias]; |
|
339 | - } else { |
|
340 | - $alias_map[$alias] = $short_alias.'_'.$used_aliases[$short_alias]; |
|
341 | - $used_aliases[$short_alias]++; |
|
342 | - return $alias_map[$alias]; |
|
343 | - } |
|
344 | - } |
|
345 | - |
|
346 | - function queryFilterEmpty($layout_def) |
|
347 | - { |
|
348 | - $column = $this->_get_column_select($layout_def); |
|
349 | - return "($column IS NULL OR $column = ".$this->reporter->db->emptyValue($layout_def['type']).")"; |
|
350 | - } |
|
351 | - |
|
352 | - function queryFilterIs($layout_def) |
|
353 | - { |
|
354 | - return '( '.$this->_get_column_select($layout_def)."='".$GLOBALS['db']->quote($layout_def['input_name0'])."')\n"; |
|
355 | - } |
|
356 | - |
|
357 | - function queryFilteris_not($layout_def) |
|
358 | - { |
|
359 | - return '( '.$this->_get_column_select($layout_def)."<>'".$GLOBALS['db']->quote($layout_def['input_name0'])."')\n"; |
|
360 | - } |
|
361 | - |
|
362 | - function queryFilterNot_Empty($layout_def) |
|
363 | - { |
|
364 | - /** @var $db DBManager */ |
|
365 | - $db = $this->reporter->db; |
|
366 | - $column = $this->_get_column_select($layout_def); |
|
367 | - return "(coalesce(" . $db->convert($column, "length") . ",0) > 0)\n"; |
|
368 | - } |
|
331 | + if ( empty($used_aliases[$short_alias])) |
|
332 | + { |
|
333 | + $alias_map[$alias] = $short_alias; |
|
334 | + $used_aliases[$short_alias] = 1; |
|
335 | + return $short_alias; |
|
336 | + } else if ( ! empty($alias_map[$alias]) ) |
|
337 | + { |
|
338 | + return $alias_map[$alias]; |
|
339 | + } else { |
|
340 | + $alias_map[$alias] = $short_alias.'_'.$used_aliases[$short_alias]; |
|
341 | + $used_aliases[$short_alias]++; |
|
342 | + return $alias_map[$alias]; |
|
343 | + } |
|
344 | + } |
|
345 | + |
|
346 | + function queryFilterEmpty($layout_def) |
|
347 | + { |
|
348 | + $column = $this->_get_column_select($layout_def); |
|
349 | + return "($column IS NULL OR $column = ".$this->reporter->db->emptyValue($layout_def['type']).")"; |
|
350 | + } |
|
351 | + |
|
352 | + function queryFilterIs($layout_def) |
|
353 | + { |
|
354 | + return '( '.$this->_get_column_select($layout_def)."='".$GLOBALS['db']->quote($layout_def['input_name0'])."')\n"; |
|
355 | + } |
|
356 | + |
|
357 | + function queryFilteris_not($layout_def) |
|
358 | + { |
|
359 | + return '( '.$this->_get_column_select($layout_def)."<>'".$GLOBALS['db']->quote($layout_def['input_name0'])."')\n"; |
|
360 | + } |
|
361 | + |
|
362 | + function queryFilterNot_Empty($layout_def) |
|
363 | + { |
|
364 | + /** @var $db DBManager */ |
|
365 | + $db = $this->reporter->db; |
|
366 | + $column = $this->_get_column_select($layout_def); |
|
367 | + return "(coalesce(" . $db->convert($column, "length") . ",0) > 0)\n"; |
|
368 | + } |
|
369 | 369 | |
370 | 370 | } |