public function getJoinSQL(&$join_array, &$columns_array) { $this->getStJoinSQL($join_array, $columns_array); $fieldid_alias = ""; if ($this->params["fieldid"] != "" && $this->params["tablename"] != $this->params["primary_table_name"]) { $fieldid_alias = "_" . $this->params["fieldid"]; } $oth_as = ""; if ($this->params["tablename"] == "vtiger_crmentity") { $oth_as = $this->oth_as; } $join_tablename_alias = $this->params["join_tablename_alias"] = $this->params["tablename"] . $oth_as . $fieldid_alias; $join_alias = " " . $this->params["tablename"] . " AS " . $join_tablename_alias . " "; if ($this->params["primary_table_name"] != $join_tablename_alias && !array_key_exists($join_alias, $join_array) && !in_array($this->params["old_oth_fieldid"], array("inv")) && $this->params["tablename"] != "vtiger_crmentity") { if ($this->params["tablename"] != $this->params["report_primary_table"] && $this->params["tablename"] != $this->params["primary_table_name"]) { $join_array[$join_alias]["joincol"] = $join_tablename_alias . "." . $this->params["table_index"]; if ($this->params["using_aliastablename"] != "" && $this->params["using_columnname"] != "") { $join_array[$join_alias]["using"] = $this->params["using_aliastablename"] . "." . $this->params["using_columnname"]; } } } if ($this->params["columnname"] == "setype") { $columns_array_value = " CASE WHEN (" . "vtiger_crmentity" . $this->oth_as . "a" . $fieldid_alias . ".setype != '') THEN " . "vtiger_crmentity" . $this->oth_as . "a" . $fieldid_alias . ".setype ELSE vtiger_crmentity" . $this->oth_as . "c" . $fieldid_alias . ".setype != '' END AS " . $this->params["columnname"] . $fieldid_alias; $fld_alias = $this->params["columnname"] . $fieldid_alias; $fld_hrefid = ""; } elseif ($this->params["columnname"] == "accountid") { $this->params["join_tablename_alias"] = "vtiger_account" . $fieldid_alias; $uifactory = new UIFactory($this->params); $test_display = $uifactory->getDisplaySQL("Accounts", $join_array, $columns_array); $columns_array_value = $test_display["display"]; $fld_alias = $test_display["fld_string"]; $fld_hrefid = $test_display["hrefid"]; $fld_cond = $test_display["fld_cond"]; } elseif ($this->params["columnname"] == "contactid") { $this->params["join_tablename_alias"] = "vtiger_contactdetails" . $fieldid_alias; $uifactory = new UIFactory($this->params); $test_display = $uifactory->getDisplaySQL("Contacts", $join_array, $columns_array); $columns_array_value = $test_display["display"]; $fld_alias = $test_display["fld_string"]; $fld_hrefid = $test_display["hrefid"]; $fld_cond = $test_display["fld_cond"]; } else { $fld_cond = $join_tablename_alias . "." . $this->params["columnname"]; $columns_array_value = $fld_cond . " AS " . $this->params["columnname"] . $fieldid_alias; $fld_alias = $this->params["columnname"] . $fieldid_alias; $fld_hrefid = ""; } $columns_array[] = $columns_array_value; $columns_array[$this->params["fld_string"]]["fld_alias"] = $fld_alias; $columns_array[$this->params["fld_string"]]["fld_alias_hid"] = $fld_alias . "_hid"; $columns_array[$this->params["fld_string"]]["fld_sql_str"] = $columns_array_value; $columns_array[$this->params["fld_string"]]["fld_cond"] = $fld_cond; $columns_array["uitype_{$fld_alias}"] = $this->params["field_uitype"]; $columns_array[$fld_alias] = $this->params["fld_string"]; if ($fld_hrefid != "") { $columns_array[] = $fld_hrefid; } }
public function getJoinSQL(&$join_array, &$columns_array) { $this->getStJoinSQL($join_array, $columns_array); $fieldid_alias = ""; if ($this->params["fieldid"] != "") { $fieldid_alias = "_" . $this->params["fieldid"]; } $oth_as = ""; if ($this->params["tablename"] == "vtiger_crmentity") { $oth_as = $this->oth_as; } $join_tablename = trim($this->params["using_array"]["join"]["tablename"], $fieldid_alias); $join_columnname = $this->params["using_array"]["join"]["columnname"]; $adb = PEARDatabase::getInstance(); $field_row = $adb->fetchByAssoc($adb->pquery("SELECT * FROM vtiger_field WHERE tablename=? AND columnname=?", array($this->params["tablename"], $this->params["columnname"])), 0); if ($field_row["fieldid"] != "" && $field_row["tablename"] != "vtiger_crmentity") { $fieldid_alias = "_" . $field_row["fieldid"]; } $join_tablename_alias = $this->params["join_tablename_alias"] = $join_tablename . $oth_as . $fieldid_alias; $join_alias = " " . $join_tablename . " AS " . $join_tablename_alias . " "; if ($this->params["primary_table_name"] != $join_tablename_alias && isset($this->params["using_array"]) && !empty($this->params["using_array"]["using"]) && !array_key_exists($join_alias, $join_array) && !in_array($this->params["old_oth_fieldid"], array("inv"))) { $using_tablename = $this->params["using_array"]["using"]["tablename"]; $using_columnname = $this->params["using_array"]["using"]["columnname"]; if ($join_tablename != $this->params["primary_table_name"] && $using_tablename != "" && $using_columnname != "") { $join_array[$join_alias]["joincol"] = $join_tablename_alias . "." . $join_columnname; $join_array[$join_alias]["using"] = $using_tablename . "." . $using_columnname; } //show("Join array uitype80 getJoinSQL",$join_array); } if ($this->params["columnname"] == "salesorderid") { $this->params["join_tablename_alias"] = "vtiger_salesorder" . $fieldid_alias; $uifactory = new UIFactory($this->params); $test_display = $uifactory->getDisplaySQL($this->relModuleName, $join_array, $columns_array); $columns_array_value = $test_display["display"]; $fld_alias = $test_display["fld_string"]; $fld_hrefid = $test_display["hrefid"]; $fld_cond = $test_display["fld_cond"]; } else { $fld_cond = $join_tablename_alias . "." . $this->params["columnname"]; $columns_array_value = $fld_cond . " AS " . $this->params["columnname"] . $fieldid_alias; $fld_alias = $this->params["columnname"] . $fieldid_alias; $fld_hrefid = ""; } $columns_array[] = $columns_array_value; $columns_array[$this->params["fld_string"]]["fld_alias"] = $fld_alias; $columns_array[$this->params["fld_string"]]["fld_alias_hid"] = $fld_alias . "_hid"; $columns_array[$this->params["fld_string"]]["fld_sql_str"] = $columns_array_value; $columns_array[$this->params["fld_string"]]["fld_cond"] = $fld_cond; $columns_array["uitype_{$fld_alias}"] = $this->params["field_uitype"]; $columns_array[$fld_alias] = $this->params["fld_string"]; if ($fld_hrefid != "") { $columns_array[] = $fld_hrefid; } //show("Columns array 80 getJoinSQL",$columns_array,"END JOIN<br />-------------"); }
public function getJoinSQL(&$join_array, &$columns_array) { $this->getStJoinSQL($join_array, $columns_array); $oth_as = $old_oth_fieldid = ""; if ($this->params["tablename"] == "vtiger_crmentity") { $oth_as = $this->oth_as; } if ($this->params["old_oth_fieldid"] != "") { if ($this->params["old_oth_fieldid"] == "mif") { $mif_as = "_" . $this->params["fieldtabid"]; } $old_oth_fieldid = "_" . $this->params["old_oth_fieldid"]; } $fieldid_alias = ""; if ($this->params["fieldid"] != "") { $fieldid_alias = "_" . $this->params["fieldid"]; } $join_tablename_alias = $this->params["join_tablename_alias"] = $this->params["tablename"] . $oth_as . $fieldid_alias; $join_alias = " " . $this->params["tablename"] . " AS " . $join_tablename_alias . " "; $mif_join_alias = " " . $this->params["tablename"] . " AS " . $this->params["tablename"] . $old_oth_fieldid . $mif_as . " "; if ($this->params["primary_table_name"] != $join_tablename_alias && !array_key_exists($mif_join_alias, $join_array) && !array_key_exists($join_alias, $join_array) && !in_array($this->params["old_oth_fieldid"], array("inv"))) { if ($this->params["tablename"] != $this->params["report_primary_table"] && $this->params["tablename"] != $this->params["primary_table_name"]) { $join_array[$join_alias]["joincol"] = $join_tablename_alias . "." . $this->params["table_index"][$this->params["tablename"]]; if ($this->params["using_aliastablename"] != "" && $this->params["using_columnname"] != "") { $join_array[$join_alias]["using"] = $this->params["using_aliastablename"] . "." . $this->params["using_columnname"]; } } } if (in_array($this->params["columnname"], $this->id_cols_array)) { $join_tablename_alias = $this->params["join_tablename_alias"] = "vtiger_account" . $fieldid_alias; $uifactory = new UIFactory($this->params); $test_display = $uifactory->getDisplaySQL($this->relModuleName, $join_array, $columns_array); $fld_cond = $test_display["fld_cond"]; $columns_array_value = $test_display["display"]; $fld_alias = $test_display["fld_string"]; $fld_hrefid = $test_display["hrefid"]; } else { $fld_cond = $join_tablename_alias . "." . $this->params["columnname"] . $fieldid_alias; $columns_array_value = $fld_cond . " AS " . $this->params["columnname"] . $fieldid_alias; $fld_alias = $this->params["columnname"] . $fieldid_alias; $fld_hrefid = ""; } $columns_array[] = $columns_array_value; $columns_array[$this->params["fld_string"]]["fld_alias"] = $fld_alias; $columns_array[$this->params["fld_string"]]["fld_alias_hid"] = $fld_alias . "_hid"; $columns_array[$this->params["fld_string"]]["fld_sql_str"] = $columns_array_value; $columns_array[$this->params["fld_string"]]["fld_cond"] = $fld_cond; $columns_array["uitype_{$fld_alias}"] = $this->params["field_uitype"]; $columns_array[$fld_alias] = $this->params["fld_string"]; if ($fld_hrefid != "") { $columns_array[] = $fld_hrefid; } }
public function getJoinSQL(&$join_array, &$columns_array) { if (isset($this->params["fieldid"]) && $this->params["fieldid"] != "") { $fieldid_alias = $old_oth_fieldid = $mif_as = $old_oth_as = ""; if ($this->params["fieldid"] != "") { $fieldid_alias = "_" . $this->params["fieldid"]; } if ($this->params["old_oth_as"] != "") { $old_oth_as = $this->params["old_oth_as"]; } if ($this->params["old_oth_fieldid"] != "") { if ($this->params["old_oth_fieldid"] == "mif") { $mif_as = "_" . $this->params["fieldtabid"]; } $old_oth_fieldid = "_" . $this->params["old_oth_fieldid"]; } $fieldid = $this->params["fieldid"]; // ITS4YOU-CR SlOl | 25.8.2015 11:33 $fieldid = $this->params["fieldid"]; $adb = PEARDatabase::getInstance(); $stjoin_row = $adb->fetchByAssoc($adb->pquery("SELECT * FROM vtiger_field WHERE fieldid = ? ", array($fieldid)), 0); $tablename = $stjoin_row["tablename"]; $columnname = $stjoin_row["columnname"]; if ($this->params["primary_table_name"] != $tablename && $tablename != "vtiger_crmentity") { if (!array_key_exists(" {$tablename} AS {$tablename}" . $fieldid_alias . " ", $join_array) && !in_array($this->params["old_oth_fieldid"], array("inv"))) { $primary_index = $this->params["table_index"][$this->params["primary_table_name"]]; $rel_index = $this->params["table_index"][$tablename]; $join_array[" {$tablename} AS {$tablename}" . " "]["joincol"] = $this->params["primary_table_name"] . "." . $primary_index; $join_array[" {$tablename} AS {$tablename}" . " "]["using"] = $tablename . "." . $rel_index; } } // ITS4YOU-END // ITS4YOU-UP SlOl | 25.8.2015 11:33 if (in_array($this->params["columnname"], $this->id_cols_array) == true) { $join_col = "vtiger_users" . $fieldid_alias . ".id"; $using_col = " vtiger_crmentity{$old_oth_as}" . $old_oth_fieldid . $mif_as . ".smownerid "; } else { $join_col = "vtiger_users" . $fieldid_alias . ".id"; $using_col = $this->params["tablename"] . "." . $this->params["columnname"]; } if (!array_key_exists(" vtiger_users AS vtiger_users" . $fieldid_alias . " ", $join_array)) { $join_array[" vtiger_users AS vtiger_users" . $fieldid_alias . " "]["joincol"] = $join_col; $join_array[" vtiger_users AS vtiger_users" . $fieldid_alias . " "]["using"] = $using_col; } if (in_array($this->params["columnname"], $this->id_cols_array) == true) { $join_col = "vtiger_groups" . $fieldid_alias . ".groupid"; $using_col = " vtiger_crmentity{$old_oth_as}" . $old_oth_fieldid . $mif_as . ".smownerid "; } else { $join_col = "vtiger_groups" . $fieldid_alias . ".groupid"; $using_col = $this->params["tablename"] . "." . $this->params["columnname"]; } if (!array_key_exists(" vtiger_groups AS vtiger_groups" . $fieldid_alias . " ", $join_array)) { $join_array[" vtiger_groups AS vtiger_groups" . $fieldid_alias . " "]["joincol"] = $join_col; $join_array[" vtiger_groups AS vtiger_groups" . $fieldid_alias . " "]["using"] = $using_col; } // ITS4YOU-END } $this->params["join_tablename_alias"] = "vtiger_users" . $fieldid_alias; $uifactory = new UIFactory($this->params); $test_display = $uifactory->getDisplaySQL($this->relModuleName, $join_array, $columns_array); $columns_array_value = $test_display["display"]; $fld_alias = $test_display["fld_string"]; $fld_cond = $test_display["fld_cond"]; $columns_array[] = $columns_array_value; $columns_array[$this->params["fld_string"]]["fld_alias"] = $fld_alias; // $columns_array[$this->params["fld_string"]]["fld_alias_hid"]=$fld_alias."_hid"; $columns_array[$this->params["fld_string"]]["fld_sql_str"] = $columns_array_value; $columns_array[$this->params["fld_string"]]["fld_cond"] = $fld_cond; $columns_array["uitype_{$fld_alias}"] = $this->params["field_uitype"]; $columns_array[$fld_alias] = $this->params["fld_string"]; if ($fld_hrefid != "") { $columns_array[] = $fld_hrefid; } }