Esempio n. 1
0
 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;
     }
 }
Esempio n. 2
0
 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 />-------------");
 }
Esempio n. 3
0
 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;
     }
 }
Esempio n. 4
0
 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;
     }
 }