reporter = $this->layout_manager->getAttribute('reporter');
}
public function queryFilterEmpty(&$layout_def)
{
if( $this->reporter->db->dbType == 'mysql') {
return '( '.$this->_get_column_select($layout_def).' IS NULL'.
' OR '.$this->_get_column_select($layout_def)." = ''".
' OR '.$this->_get_column_select($layout_def)." = '^^' )\n";
}
elseif( $this->reporter->db->dbType == 'mssql') {
return '( '.$this->_get_column_select($layout_def).' IS NULL'.
' OR '.$this->_get_column_select($layout_def)." LIKE ''".
' OR '.$this->_get_column_select($layout_def)." = '^^' )\n";
}
}
public function queryFilterNot_Empty(&$layout_def)
{
$reporter = $this->layout_manager->getAttribute("reporter");
if( $this->reporter->db->dbType == 'mysql') {
return '( '.$this->_get_column_select($layout_def).' IS NOT NULL'.
' AND '.$this->_get_column_select($layout_def)." <> ''".
' AND '.$this->_get_column_select($layout_def)." != '^^' )\n";
}
else if( $this->reporter->db->dbType == 'mssql') {
return '( '.$this->_get_column_select($layout_def).' IS NOT NULL'.
' AND '.$this->_get_column_select($layout_def)." != '^^' )\n";
}
}
public function queryFilteris(&$layout_def) {
$input_name0 = $layout_def['input_name0'];
if (is_array($layout_def['input_name0'])) {
$input_name0 = $layout_def['input_name0'][0];
}
return $this->_get_column_select($layout_def)." = '".$GLOBALS['db']->quote($input_name0)."'\n";
}
public function queryFilteris_not(&$layout_def) {
$input_name0 = $layout_def['input_name0'];
if (is_array($layout_def['input_name0'])) {
$input_name0 = $layout_def['input_name0'][0];
}
return $this->_get_column_select($layout_def)." <> '".$GLOBALS['db']->quote($input_name0)."'\n";
}
public function queryFilterone_of(&$layout_def) {
$arr = array ();
foreach ($layout_def['input_name0'] as $value) {
$arr[] = "'".$GLOBALS['db']->quote($value)."'";
}
$reporter = $this->layout_manager->getAttribute("reporter");
$str = implode(",", $arr);
return $this->_get_column_select($layout_def)." IN (".$str.")\n";
}
public function queryFilternot_one_of(&$layout_def) {
$arr = array ();
foreach ($layout_def['input_name0'] as $value) {
$arr[] = "'".$GLOBALS['db']->quote($value)."'";
}
$reporter = $this->layout_manager->getAttribute("reporter");
$str = implode(",", $arr);
return $this->_get_column_select($layout_def)." NOT IN (".$str.")\n";
}
function & displayList($layout_def) {
if(!empty($layout_def['column_key'])){
$field_def = $this->reporter->all_fields[$layout_def['column_key']];
}else if(!empty($layout_def['fields'])){
$field_def = $layout_def['fields'];
}
$cell = $this->displayListPlain($layout_def);
$str = $cell;
global $sugar_config;
if (isset ($sugar_config['enable_inline_reports_edit']) && $sugar_config['enable_inline_reports_edit']) {
$module = $this->reporter->all_fields[$layout_def['column_key']]['module'];
$name = $layout_def['name'];
$layout_def['name'] = 'id';
$key = $this->_get_column_alias($layout_def);
$key = strtoupper($key);
//If the key isn't in the layout fields, skip it
if (!empty($layout_def['fields'][$key]))
{
$record = $layout_def['fields'][$key];
$field_name = $field_def['name'];
$field_type = $field_def['type'];
$div_id = $field_def['module'] ."&$record&$field_name";
$str = "
" . $cell . " "
. SugarThemeRegistry::current()->getImage(
"edit_inline",
"border='0' alt='Edit Layout' align='bottom' onClick='SUGAR.reportsInlineEdit.inlineEdit(" .
"\"$div_id\",\"$cell\",\"$module\",\"$record\",\"$field_name\",\"$field_type\");'"
)
. "
";
}
}
return $str;
}
function & displayListPlain($layout_def) {
if(!empty($layout_def['column_key'])){
$field_def = $this->reporter->all_fields[$layout_def['column_key']];
}else if(!empty($layout_def['fields'])){
$field_def = $layout_def['fields'];
}
if (!empty($layout_def['table_key'] ) &&( empty ($field_def['fields']) || empty ($field_def['fields'][0]) || empty ($field_def['fields'][1]))){
$value = $this->_get_list_value($layout_def);
}else if(!empty($layout_def['name']) && !empty($layout_def['fields'])){
$key = strtoupper($layout_def['name']);
$value = $layout_def['fields'][$key];
}
$cell = '';
if(isset($field_def['options'])){
$cell = translate($field_def['options'], $field_def['module'], $value);
}else if(isset($field_def['type']) && $field_def['type'] == 'enum' && isset($field_def['function'])){
global $beanFiles;
if(empty($beanFiles)) {
include('include/modules.php');
}
$bean_name = get_singular_bean_name($field_def['module']);
require_once($beanFiles[$bean_name]);
$list = $field_def['function']();
$cell = $list[$value];
}
if (is_array($cell)) {
//#22632
$value = unencodeMultienum($value);
$cell=array();
foreach($value as $val){
$returnVal = translate($field_def['options'],$field_def['module'],$val);
if(!is_array($returnVal)){
array_push( $cell, translate($field_def['options'],$field_def['module'],$val));
}
}
$cell = implode(", ",$cell);
}
return $cell;
}
public function queryOrderBy($layout_def) {
$field_def = $this->reporter->all_fields[$layout_def['column_key']];
if (!empty ($field_def['sort_on'])) {
$order_by = $layout_def['table_alias'].".".$field_def['sort_on'];
} else {
$order_by = $this->_get_column_select($layout_def);
}
$list = array();
if(isset($field_def['options']))
$list = translate($field_def['options'], $field_def['module']);
else if(isset($field_def['type']) && $field_def['type'] == 'enum' && isset($field_def['function']))
{
global $beanFiles;
if(empty($beanFiles)) {
include('include/modules.php');
}
$bean_name = get_singular_bean_name($field_def['module']);
require_once($beanFiles[$bean_name]);
$list = $field_def['function']();
}
$order_by_arr = array ();
if (empty ($layout_def['sort_dir']) || $layout_def['sort_dir'] == 'a') {
$order_dir = " DESC";
} else {
$order_dir = " ASC";
}
foreach ($list as $key => $value) {
if ($key == '') {
array_push($order_by_arr, "(".$order_by."='".$key."' OR ".$order_by." IS NULL)" . " $order_dir\n");
} else {
array_push($order_by_arr, $order_by."='".$key."' $order_dir\n");
}
}
$thisarr = implode(',', $order_by_arr);
return $thisarr;
}
public function displayInput(&$layout_def) {
global $app_list_strings;
if(!empty($layout_def['remove_blank']) && $layout_def['remove_blank']) {
if ( isset($layout_def['options']) && is_array($layout_def['options']) ) {
$ops = $layout_def['options'];
}
elseif (isset($layout_def['options']) && isset($app_list_strings[$layout_def['options']])){
$ops = $app_list_strings[$layout_def['options']];
if(array_key_exists('', $app_list_strings[$layout_def['options']])) {
unset($ops['']);
}
}
else{
$ops = array();
}
}
else {
$ops = $app_list_strings[$layout_def['options']];
}
$str = '';
return $str;
}
}
?>