From d52b6c4f78ed5750a146888c6622ee09a111f598 Mon Sep 17 00:00:00 2001
From: "Conrado @ VGS" <cmaggi@vgsglobal.com>
Date: Mon, 14 May 2018 16:25:52 +0200
Subject: [PATCH] Fix #977 There is a typo in multiple modules that broken all
 related reports.

---
 modules/Campaigns/Campaigns.php               |  22 ++++++------
 modules/Contacts/Contacts.php                 |  32 +++++++++---------
 modules/Documents/Documents.php               |  20 +++++------
 modules/HelpDesk/HelpDesk.php                 |  28 +++++++--------
 modules/Potentials/Potentials.php             |  26 +++++++-------
 modules/PriceBooks/PriceBooks.php             |  20 +++++------
 modules/Products/Products.php                 |  24 ++++++-------
 modules/Vendors/Vendors.php                   |  20 +++++------
 .../vtiger/mandatory/ServiceContracts.zip     | Bin 13719 -> 13716 bytes
 packages/vtiger/optional/ModComments.zip      | Bin 37888 -> 37886 bytes
 .../modules/ModComments/ModCommentsCore.php   |  18 +++++-----
 .../ServiceContracts/ServiceContracts.php     |  24 ++++++-------
 12 files changed, 117 insertions(+), 117 deletions(-)

diff --git a/modules/Campaigns/Campaigns.php b/modules/Campaigns/Campaigns.php
index 1d910bcc3..cc99d855f 100644
--- a/modules/Campaigns/Campaigns.php
+++ b/modules/Campaigns/Campaigns.php
@@ -563,37 +563,37 @@ class Campaigns extends CRMEntity {
 	 * @param - $secmodule secondary module name
 	 * returns the query string formed on fetching the related data for report for secondary module
 	 */
-	function generateReportsSecQuery($module,$secmodule,$queryplanner){
-		$matrix = $queryplanner->newDependencyMatrix();
+	function generateReportsSecQuery($module,$secmodule,$queryPlanner){
+		$matrix = $queryPlanner->newDependencyMatrix();
         $matrix->setDependency('vtiger_crmentityCampaigns',array('vtiger_groupsCampaigns','vtiger_usersCampaignss','vtiger_lastModifiedByCampaigns','vtiger_campaignscf'));
         
-		if (!$queryplanner->requireTable("vtiger_campaign",$matrix)){
+		if (!$queryPlanner->requireTable("vtiger_campaign",$matrix)){
 			return '';
 		}
 
         $matrix->setDependency('vtiger_campaign', array('vtiger_crmentityCampaigns','vtiger_productsCampaigns'));
 
-		$query = $this->getRelationQuery($module,$secmodule,"vtiger_campaign","campaignid", $queryplanner);
+		$query = $this->getRelationQuery($module,$secmodule,"vtiger_campaign","campaignid", $queryPlanner);
 
-		if ($queryplanner->requireTable("vtiger_crmentityCampaigns",$matrix)){
+		if ($queryPlanner->requireTable("vtiger_crmentityCampaigns",$matrix)){
 			$query .=" left join vtiger_crmentity as vtiger_crmentityCampaigns on vtiger_crmentityCampaigns.crmid=vtiger_campaign.campaignid and vtiger_crmentityCampaigns.deleted=0";
 		}
-		if ($queryplanner->requireTable("vtiger_productsCampaigns")){
+		if ($queryPlanner->requireTable("vtiger_productsCampaigns")){
 			$query .=" 	left join vtiger_products as vtiger_productsCampaigns on vtiger_campaign.product_id = vtiger_productsCampaigns.productid";
 		}
-		if ($queryplanner->requireTable("vtiger_campaignscf")){
+		if ($queryPlanner->requireTable("vtiger_campaignscf")){
 			$query .=" 	left join vtiger_campaignscf on vtiger_campaignscf.campaignid = vtiger_crmentityCampaigns.crmid";
 		}
-		if ($queryplanner->requireTable("vtiger_groupsCampaigns")){
+		if ($queryPlanner->requireTable("vtiger_groupsCampaigns")){
 			$query .=" left join vtiger_groups as vtiger_groupsCampaigns on vtiger_groupsCampaigns.groupid = vtiger_crmentityCampaigns.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_usersCampaigns")){
+		if ($queryPlanner->requireTable("vtiger_usersCampaigns")){
 			$query .=" left join vtiger_users as vtiger_usersCampaigns on vtiger_usersCampaigns.id = vtiger_crmentityCampaigns.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_lastModifiedByCampaigns")){
+		if ($queryPlanner->requireTable("vtiger_lastModifiedByCampaigns")){
 			$query .=" left join vtiger_users as vtiger_lastModifiedByCampaigns on vtiger_lastModifiedByCampaigns.id = vtiger_crmentityCampaigns.modifiedby ";
 		}
-        if ($queryplanner->requireTable("vtiger_createdbyCampaigns")){
+        if ($queryPlanner->requireTable("vtiger_createdbyCampaigns")){
 			$query .= " left join vtiger_users as vtiger_createdbyCampaigns on vtiger_createdbyCampaigns.id = vtiger_crmentityCampaigns.smcreatorid ";
 		}
 
diff --git a/modules/Contacts/Contacts.php b/modules/Contacts/Contacts.php
index 19f12b376..2e33d8b7a 100644
--- a/modules/Contacts/Contacts.php
+++ b/modules/Contacts/Contacts.php
@@ -1307,53 +1307,53 @@ function get_contactsforol($user_name)
 	 * @param - $secmodule secondary module name
 	 * returns the query string formed on fetching the related data for report for secondary module
 	 */
-	function generateReportsSecQuery($module,$secmodule,$queryplanner){
-		$matrix = $queryplanner->newDependencyMatrix();
+	function generateReportsSecQuery($module,$secmodule,$queryPlanner){
+		$matrix = $queryPlanner->newDependencyMatrix();
 		$matrix->setDependency('vtiger_crmentityContacts',array('vtiger_groupsContacts','vtiger_usersContacts','vtiger_lastModifiedByContacts'));
 		
-		if (!$queryplanner->requireTable('vtiger_contactdetails', $matrix)) {
+		if (!$queryPlanner->requireTable('vtiger_contactdetails', $matrix)) {
 			return '';
 		}
 
         $matrix->setDependency('vtiger_contactdetails', array('vtiger_crmentityContacts','vtiger_contactaddress',
 								'vtiger_customerdetails','vtiger_contactsubdetails','vtiger_contactscf'));
 
-		$query = $this->getRelationQuery($module,$secmodule,"vtiger_contactdetails","contactid", $queryplanner);
+		$query = $this->getRelationQuery($module,$secmodule,"vtiger_contactdetails","contactid", $queryPlanner);
 
-		if ($queryplanner->requireTable("vtiger_crmentityContacts",$matrix)){
+		if ($queryPlanner->requireTable("vtiger_crmentityContacts",$matrix)){
 			$query .= " left join vtiger_crmentity as vtiger_crmentityContacts on vtiger_crmentityContacts.crmid = vtiger_contactdetails.contactid  and vtiger_crmentityContacts.deleted=0";
 		}
-		if ($queryplanner->requireTable("vtiger_contactdetailsContacts")){
+		if ($queryPlanner->requireTable("vtiger_contactdetailsContacts")){
 			$query .= " left join vtiger_contactdetails as vtiger_contactdetailsContacts on vtiger_contactdetailsContacts.contactid = vtiger_contactdetails.reportsto";
 		}
-		if ($queryplanner->requireTable("vtiger_contactaddress")){
+		if ($queryPlanner->requireTable("vtiger_contactaddress")){
 			$query .= " left join vtiger_contactaddress on vtiger_contactdetails.contactid = vtiger_contactaddress.contactaddressid";
 		}
-		if ($queryplanner->requireTable("vtiger_customerdetails")){
+		if ($queryPlanner->requireTable("vtiger_customerdetails")){
 			$query .= " left join vtiger_customerdetails on vtiger_customerdetails.customerid = vtiger_contactdetails.contactid";
 		}
-		if ($queryplanner->requireTable("vtiger_contactsubdetails")){
+		if ($queryPlanner->requireTable("vtiger_contactsubdetails")){
 			$query .= " left join vtiger_contactsubdetails on vtiger_contactdetails.contactid = vtiger_contactsubdetails.contactsubscriptionid";
 		}
-		if ($queryplanner->requireTable("vtiger_accountContacts")){
+		if ($queryPlanner->requireTable("vtiger_accountContacts")){
 			$query .= " left join vtiger_account as vtiger_accountContacts on vtiger_accountContacts.accountid = vtiger_contactdetails.accountid";
 		}
-		if ($queryplanner->requireTable("vtiger_contactscf")){
+		if ($queryPlanner->requireTable("vtiger_contactscf")){
 			$query .= " left join vtiger_contactscf on vtiger_contactdetails.contactid = vtiger_contactscf.contactid";
 		}
-		if ($queryplanner->requireTable("vtiger_email_trackContacts")){
+		if ($queryPlanner->requireTable("vtiger_email_trackContacts")){
 			$query .= " LEFT JOIN vtiger_email_track AS vtiger_email_trackContacts ON vtiger_email_trackContacts.crmid = vtiger_contactdetails.contactid";
 		}
-		if ($queryplanner->requireTable("vtiger_groupsContacts")){
+		if ($queryPlanner->requireTable("vtiger_groupsContacts")){
 			$query .= " left join vtiger_groups as vtiger_groupsContacts on vtiger_groupsContacts.groupid = vtiger_crmentityContacts.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_usersContacts")){
+		if ($queryPlanner->requireTable("vtiger_usersContacts")){
 			$query .= " left join vtiger_users as vtiger_usersContacts on vtiger_usersContacts.id = vtiger_crmentityContacts.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_lastModifiedByContacts")){
+		if ($queryPlanner->requireTable("vtiger_lastModifiedByContacts")){
 			$query .= " left join vtiger_users as vtiger_lastModifiedByContacts on vtiger_lastModifiedByContacts.id = vtiger_crmentityContacts.modifiedby ";
 		}
-        if ($queryplanner->requireTable("vtiger_createdbyContacts")){
+        if ($queryPlanner->requireTable("vtiger_createdbyContacts")){
 			$query .= " left join vtiger_users as vtiger_createdbyContacts on vtiger_createdbyContacts.id = vtiger_crmentityContacts.smcreatorid ";
 		}
 
diff --git a/modules/Documents/Documents.php b/modules/Documents/Documents.php
index 72f07624f..1a615f67e 100644
--- a/modules/Documents/Documents.php
+++ b/modules/Documents/Documents.php
@@ -363,34 +363,34 @@ class Documents extends CRMEntity {
 	 * @param - $secmodule secondary module name
 	 * returns the query string formed on fetching the related data for report for secondary module
 	 */
-	function generateReportsSecQuery($module,$secmodule,$queryplanner) {
+	function generateReportsSecQuery($module,$secmodule,$queryPlanner) {
 
-		$matrix = $queryplanner->newDependencyMatrix();
+		$matrix = $queryPlanner->newDependencyMatrix();
 		$matrix->setDependency("vtiger_crmentityDocuments",array("vtiger_groupsDocuments","vtiger_usersDocuments","vtiger_lastModifiedByDocuments"));
 
-		if (!$queryplanner->requireTable('vtiger_notes', $matrix)) {
+		if (!$queryPlanner->requireTable('vtiger_notes', $matrix)) {
 			return '';
 		}
 		$matrix->setDependency("vtiger_notes",array("vtiger_crmentityDocuments","vtiger_attachmentsfolder"));
 		// TODO Support query planner
-		$query = $this->getRelationQuery($module,$secmodule,"vtiger_notes","notesid", $queryplanner);
+		$query = $this->getRelationQuery($module,$secmodule,"vtiger_notes","notesid", $queryPlanner);
 		$query .= " left join vtiger_notescf on vtiger_notes.notesid = vtiger_notescf.notesid";
-		if ($queryplanner->requireTable("vtiger_crmentityDocuments",$matrix)){
+		if ($queryPlanner->requireTable("vtiger_crmentityDocuments",$matrix)){
 			$query .=" left join vtiger_crmentity as vtiger_crmentityDocuments on vtiger_crmentityDocuments.crmid=vtiger_notes.notesid and vtiger_crmentityDocuments.deleted=0";
 		}
-		if ($queryplanner->requireTable("vtiger_attachmentsfolder")){
+		if ($queryPlanner->requireTable("vtiger_attachmentsfolder")){
 			$query .=" left join vtiger_attachmentsfolder on vtiger_attachmentsfolder.folderid=vtiger_notes.folderid";
 		}
-		if ($queryplanner->requireTable("vtiger_groupsDocuments")){
+		if ($queryPlanner->requireTable("vtiger_groupsDocuments")){
 			$query .=" left join vtiger_groups as vtiger_groupsDocuments on vtiger_groupsDocuments.groupid = vtiger_crmentityDocuments.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_usersDocuments")){
+		if ($queryPlanner->requireTable("vtiger_usersDocuments")){
 			$query .=" left join vtiger_users as vtiger_usersDocuments on vtiger_usersDocuments.id = vtiger_crmentityDocuments.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_lastModifiedByDocuments")){
+		if ($queryPlanner->requireTable("vtiger_lastModifiedByDocuments")){
 			$query .=" left join vtiger_users as vtiger_lastModifiedByDocuments on vtiger_lastModifiedByDocuments.id = vtiger_crmentityDocuments.modifiedby ";
 		}
-		if ($queryplanner->requireTable("vtiger_createdbyDocuments")){
+		if ($queryPlanner->requireTable("vtiger_createdbyDocuments")){
 			$query .= " left join vtiger_users as vtiger_createdbyDocuments on vtiger_createdbyDocuments.id = vtiger_crmentityDocuments.smcreatorid ";
 		}
 
diff --git a/modules/HelpDesk/HelpDesk.php b/modules/HelpDesk/HelpDesk.php
index e9a216064..9bd40d4b2 100644
--- a/modules/HelpDesk/HelpDesk.php
+++ b/modules/HelpDesk/HelpDesk.php
@@ -590,48 +590,48 @@ case when (vtiger_users.user_name not like '') then $userNameSql else vtiger_gro
 	 * @param - $secmodule secondary module name
 	 * returns the query string formed on fetching the related data for report for secondary module
 	 */
-	function generateReportsSecQuery($module,$secmodule, $queryplanner) {
-		$matrix = $queryplanner->newDependencyMatrix();
+	function generateReportsSecQuery($module,$secmodule, $queryPlanner) {
+		$matrix = $queryPlanner->newDependencyMatrix();
 		$matrix->setDependency("vtiger_crmentityHelpDesk",array("vtiger_groupsHelpDesk","vtiger_usersHelpDesk","vtiger_lastModifiedByHelpDesk"));
 		$matrix->setDependency("vtiger_crmentityRelHelpDesk",array("vtiger_accountRelHelpDesk","vtiger_contactdetailsRelHelpDesk"));
 
-		if (!$queryplanner->requireTable('vtiger_troubletickets', $matrix)) {
+		if (!$queryPlanner->requireTable('vtiger_troubletickets', $matrix)) {
 			return '';
 		}
         
         $matrix->setDependency("vtiger_troubletickets",array("vtiger_crmentityHelpDesk","vtiger_ticketcf","vtiger_crmentityRelHelpDesk","vtiger_productsRel"));
 		
 		// TODO Support query planner
-		$query = $this->getRelationQuery($module,$secmodule,"vtiger_troubletickets","ticketid", $queryplanner);
+		$query = $this->getRelationQuery($module,$secmodule,"vtiger_troubletickets","ticketid", $queryPlanner);
 
-		if ($queryplanner->requireTable("vtiger_crmentityHelpDesk",$matrix)){
+		if ($queryPlanner->requireTable("vtiger_crmentityHelpDesk",$matrix)){
 		    $query .=" left join vtiger_crmentity as vtiger_crmentityHelpDesk on vtiger_crmentityHelpDesk.crmid=vtiger_troubletickets.ticketid and vtiger_crmentityHelpDesk.deleted=0";
 		}
-		if ($queryplanner->requireTable("vtiger_ticketcf")){
+		if ($queryPlanner->requireTable("vtiger_ticketcf")){
 		    $query .=" left join vtiger_ticketcf on vtiger_ticketcf.ticketid = vtiger_troubletickets.ticketid";
 		}
-		if ($queryplanner->requireTable("vtiger_crmentityRelHelpDesk",$matrix)){
+		if ($queryPlanner->requireTable("vtiger_crmentityRelHelpDesk",$matrix)){
 		    $query .=" left join vtiger_crmentity as vtiger_crmentityRelHelpDesk on vtiger_crmentityRelHelpDesk.crmid = vtiger_troubletickets.parent_id";
 		}
-		if ($queryplanner->requireTable("vtiger_accountRelHelpDesk")){
+		if ($queryPlanner->requireTable("vtiger_accountRelHelpDesk")){
 		    $query .=" left join vtiger_account as vtiger_accountRelHelpDesk on vtiger_accountRelHelpDesk.accountid=vtiger_crmentityRelHelpDesk.crmid";
 		}
-		if ($queryplanner->requireTable("vtiger_contactdetailsRelHelpDesk")){
+		if ($queryPlanner->requireTable("vtiger_contactdetailsRelHelpDesk")){
 		    $query .=" left join vtiger_contactdetails as vtiger_contactdetailsRelHelpDesk on vtiger_contactdetailsRelHelpDesk.contactid= vtiger_troubletickets.contact_id";
 		}
-		if ($queryplanner->requireTable("vtiger_productsRel")){
+		if ($queryPlanner->requireTable("vtiger_productsRel")){
 		    $query .=" left join vtiger_products as vtiger_productsRel on vtiger_productsRel.productid = vtiger_troubletickets.product_id";
 		}
-		if ($queryplanner->requireTable("vtiger_groupsHelpDesk")){
+		if ($queryPlanner->requireTable("vtiger_groupsHelpDesk")){
 		    $query .=" left join vtiger_groups as vtiger_groupsHelpDesk on vtiger_groupsHelpDesk.groupid = vtiger_crmentityHelpDesk.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_usersHelpDesk")){
+		if ($queryPlanner->requireTable("vtiger_usersHelpDesk")){
 		    $query .=" left join vtiger_users as vtiger_usersHelpDesk on vtiger_usersHelpDesk.id = vtiger_crmentityHelpDesk.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_lastModifiedByHelpDesk")){
+		if ($queryPlanner->requireTable("vtiger_lastModifiedByHelpDesk")){
 		    $query .=" left join vtiger_users as vtiger_lastModifiedByHelpDesk on vtiger_lastModifiedByHelpDesk.id = vtiger_crmentityHelpDesk.modifiedby ";
 		}
-        if ($queryplanner->requireTable("vtiger_createdbyHelpDesk")){
+        if ($queryPlanner->requireTable("vtiger_createdbyHelpDesk")){
 			$query .= " left join vtiger_users as vtiger_createdbyHelpDesk on vtiger_createdbyHelpDesk.id = vtiger_crmentityHelpDesk.smcreatorid ";
 		}
 
diff --git a/modules/Potentials/Potentials.php b/modules/Potentials/Potentials.php
index ef234d976..b58308fa0 100644
--- a/modules/Potentials/Potentials.php
+++ b/modules/Potentials/Potentials.php
@@ -648,43 +648,43 @@ class Potentials extends CRMEntity {
 	 * @param - $secmodule secondary module name
 	 * returns the query string formed on fetching the related data for report for secondary module
 	 */
-	function generateReportsSecQuery($module,$secmodule,$queryplanner){
-		$matrix = $queryplanner->newDependencyMatrix();
+	function generateReportsSecQuery($module,$secmodule,$queryPlanner){
+		$matrix = $queryPlanner->newDependencyMatrix();
 		$matrix->setDependency('vtiger_crmentityPotentials',array('vtiger_groupsPotentials','vtiger_usersPotentials','vtiger_lastModifiedByPotentials'));
 
-		if (!$queryplanner->requireTable("vtiger_potential",$matrix)){
+		if (!$queryPlanner->requireTable("vtiger_potential",$matrix)){
 			return '';
 		}
         $matrix->setDependency('vtiger_potential', array('vtiger_crmentityPotentials','vtiger_accountPotentials',
 											'vtiger_contactdetailsPotentials','vtiger_campaignPotentials','vtiger_potentialscf'));
 
-		$query = $this->getRelationQuery($module,$secmodule,"vtiger_potential","potentialid", $queryplanner);
+		$query = $this->getRelationQuery($module,$secmodule,"vtiger_potential","potentialid", $queryPlanner);
 
-		if ($queryplanner->requireTable("vtiger_crmentityPotentials",$matrix)){
+		if ($queryPlanner->requireTable("vtiger_crmentityPotentials",$matrix)){
 			$query .= " left join vtiger_crmentity as vtiger_crmentityPotentials on vtiger_crmentityPotentials.crmid=vtiger_potential.potentialid and vtiger_crmentityPotentials.deleted=0";
 		}
-		if ($queryplanner->requireTable("vtiger_accountPotentials")){
+		if ($queryPlanner->requireTable("vtiger_accountPotentials")){
 			$query .= " left join vtiger_account as vtiger_accountPotentials on vtiger_potential.related_to = vtiger_accountPotentials.accountid";
 		}
-		if ($queryplanner->requireTable("vtiger_contactdetailsPotentials")){
+		if ($queryPlanner->requireTable("vtiger_contactdetailsPotentials")){
 			$query .= " left join vtiger_contactdetails as vtiger_contactdetailsPotentials on vtiger_potential.contact_id = vtiger_contactdetailsPotentials.contactid";
 		}
-		if ($queryplanner->requireTable("vtiger_potentialscf")){
+		if ($queryPlanner->requireTable("vtiger_potentialscf")){
 			$query .= " left join vtiger_potentialscf on vtiger_potentialscf.potentialid = vtiger_potential.potentialid";
 		}
-		if ($queryplanner->requireTable("vtiger_groupsPotentials")){
+		if ($queryPlanner->requireTable("vtiger_groupsPotentials")){
 			$query .= " left join vtiger_groups vtiger_groupsPotentials on vtiger_groupsPotentials.groupid = vtiger_crmentityPotentials.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_usersPotentials")){
+		if ($queryPlanner->requireTable("vtiger_usersPotentials")){
 			$query .= " left join vtiger_users as vtiger_usersPotentials on vtiger_usersPotentials.id = vtiger_crmentityPotentials.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_campaignPotentials")){
+		if ($queryPlanner->requireTable("vtiger_campaignPotentials")){
 			$query .= " left join vtiger_campaign as vtiger_campaignPotentials on vtiger_potential.campaignid = vtiger_campaignPotentials.campaignid";
 		}
-		if ($queryplanner->requireTable("vtiger_lastModifiedByPotentials")){
+		if ($queryPlanner->requireTable("vtiger_lastModifiedByPotentials")){
 			$query .= " left join vtiger_users as vtiger_lastModifiedByPotentials on vtiger_lastModifiedByPotentials.id = vtiger_crmentityPotentials.modifiedby ";
 		}
-        if ($queryplanner->requireTable("vtiger_createdbyPotentials")){
+        if ($queryPlanner->requireTable("vtiger_createdbyPotentials")){
 			$query .= " left join vtiger_users as vtiger_createdbyPotentials on vtiger_createdbyPotentials.id = vtiger_crmentityPotentials.smcreatorid ";
 		}
 
diff --git a/modules/PriceBooks/PriceBooks.php b/modules/PriceBooks/PriceBooks.php
index 7cb405586..725c35611 100755
--- a/modules/PriceBooks/PriceBooks.php
+++ b/modules/PriceBooks/PriceBooks.php
@@ -286,34 +286,34 @@ class PriceBooks extends CRMEntity {
 	 * @param - $secmodule secondary module name
 	 * returns the query string formed on fetching the related data for report for secondary module
 	 */
-	function generateReportsSecQuery($module,$secmodule,$queryplanner) {
+	function generateReportsSecQuery($module,$secmodule,$queryPlanner) {
 
-		$matrix = $queryplanner->newDependencyMatrix();
+		$matrix = $queryPlanner->newDependencyMatrix();
 
 		$matrix->setDependency("vtiger_crmentityPriceBooks",array("vtiger_usersPriceBooks","vtiger_groupsPriceBooks"));
-		if (!$queryplanner->requireTable('vtiger_pricebook', $matrix)) {
+		if (!$queryPlanner->requireTable('vtiger_pricebook', $matrix)) {
 			return '';
 		}
         $matrix->setDependency("vtiger_pricebook",array("vtiger_crmentityPriceBooks","vtiger_currency_infoPriceBooks"));
 
-		$query = $this->getRelationQuery($module,$secmodule,"vtiger_pricebook","pricebookid", $queryplanner);
+		$query = $this->getRelationQuery($module,$secmodule,"vtiger_pricebook","pricebookid", $queryPlanner);
 		// TODO Support query planner
-		if ($queryplanner->requireTable("vtiger_crmentityPriceBooks",$matrix)){
+		if ($queryPlanner->requireTable("vtiger_crmentityPriceBooks",$matrix)){
 		$query .=" left join vtiger_crmentity as vtiger_crmentityPriceBooks on vtiger_crmentityPriceBooks.crmid=vtiger_pricebook.pricebookid and vtiger_crmentityPriceBooks.deleted=0";
 		}
-		if ($queryplanner->requireTable("vtiger_currency_infoPriceBooks")){
+		if ($queryPlanner->requireTable("vtiger_currency_infoPriceBooks")){
 		$query .=" left join vtiger_currency_info as vtiger_currency_infoPriceBooks on vtiger_currency_infoPriceBooks.id = vtiger_pricebook.currency_id";
 		}
-		if ($queryplanner->requireTable("vtiger_usersPriceBooks")){
+		if ($queryPlanner->requireTable("vtiger_usersPriceBooks")){
 		    $query .=" left join vtiger_users as vtiger_usersPriceBooks on vtiger_usersPriceBooks.id = vtiger_crmentityPriceBooks.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_groupsPriceBooks")){
+		if ($queryPlanner->requireTable("vtiger_groupsPriceBooks")){
 		    $query .=" left join vtiger_groups as vtiger_groupsPriceBooks on vtiger_groupsPriceBooks.groupid = vtiger_crmentityPriceBooks.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_lastModifiedByPriceBooks")){
+		if ($queryPlanner->requireTable("vtiger_lastModifiedByPriceBooks")){
 		    $query .=" left join vtiger_users as vtiger_lastModifiedByPriceBooks on vtiger_lastModifiedByPriceBooks.id = vtiger_crmentityPriceBooks.smownerid";
 		}
-        if ($queryplanner->requireTable("vtiger_createdbyPriceBooks")){
+        if ($queryPlanner->requireTable("vtiger_createdbyPriceBooks")){
 			$query .= " left join vtiger_users as vtiger_createdbyPriceBooks on vtiger_createdbyPriceBooks.id = vtiger_crmentityPriceBooks.smcreatorid ";
 		}
 
diff --git a/modules/Products/Products.php b/modules/Products/Products.php
index 93e328638..3d2449677 100755
--- a/modules/Products/Products.php
+++ b/modules/Products/Products.php
@@ -1183,19 +1183,19 @@ class Products extends CRMEntity {
 	 * @param - $secmodule secondary module name
 	 * returns the query string formed on fetching the related data for report for secondary module
 	 */
-	function generateReportsSecQuery($module,$secmodule,$queryplanner) {
+	function generateReportsSecQuery($module,$secmodule,$queryPlanner) {
 		global $current_user;
-		$matrix = $queryplanner->newDependencyMatrix();
+		$matrix = $queryPlanner->newDependencyMatrix();
 
 		$matrix->setDependency("vtiger_crmentityProducts",array("vtiger_groupsProducts","vtiger_usersProducts","vtiger_lastModifiedByProducts"));
 		//query planner Support  added
-		if (!$queryplanner->requireTable('vtiger_products', $matrix)) {
+		if (!$queryPlanner->requireTable('vtiger_products', $matrix)) {
 			return '';
 		}
 		$matrix->setDependency("vtiger_products",array("innerProduct","vtiger_crmentityProducts","vtiger_productcf","vtiger_vendorRelProducts"));
 
-		$query = $this->getRelationQuery($module,$secmodule,"vtiger_products","productid", $queryplanner);
-		if ($queryplanner->requireTable("innerProduct")){
+		$query = $this->getRelationQuery($module,$secmodule,"vtiger_products","productid", $queryPlanner);
+		if ($queryPlanner->requireTable("innerProduct")){
 			$query .= " LEFT JOIN (
 					SELECT vtiger_products.productid,
 							(CASE WHEN (vtiger_products.currency_id = 1 ) THEN vtiger_products.unit_price
@@ -1207,25 +1207,25 @@ class Products extends CRMEntity {
 					AND vtiger_productcurrencyrel.currencyid = ". $current_user->currency_id . "
 				) AS innerProduct ON innerProduct.productid = vtiger_products.productid";
 		}
-		if ($queryplanner->requireTable("vtiger_crmentityProducts")){
+		if ($queryPlanner->requireTable("vtiger_crmentityProducts")){
 			$query .= " left join vtiger_crmentity as vtiger_crmentityProducts on vtiger_crmentityProducts.crmid=vtiger_products.productid and vtiger_crmentityProducts.deleted=0";
 		}
-		if ($queryplanner->requireTable("vtiger_productcf")){
+		if ($queryPlanner->requireTable("vtiger_productcf")){
 			$query .= " left join vtiger_productcf on vtiger_products.productid = vtiger_productcf.productid";
 		}
-			if ($queryplanner->requireTable("vtiger_groupsProducts")){
+			if ($queryPlanner->requireTable("vtiger_groupsProducts")){
 			$query .= " left join vtiger_groups as vtiger_groupsProducts on vtiger_groupsProducts.groupid = vtiger_crmentityProducts.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_usersProducts")){
+		if ($queryPlanner->requireTable("vtiger_usersProducts")){
 			$query .= " left join vtiger_users as vtiger_usersProducts on vtiger_usersProducts.id = vtiger_crmentityProducts.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_vendorRelProducts")){
+		if ($queryPlanner->requireTable("vtiger_vendorRelProducts")){
 			$query .= " left join vtiger_vendor as vtiger_vendorRelProducts on vtiger_vendorRelProducts.vendorid = vtiger_products.vendor_id";
 		}
-		if ($queryplanner->requireTable("vtiger_lastModifiedByProducts")){
+		if ($queryPlanner->requireTable("vtiger_lastModifiedByProducts")){
 			$query .= " left join vtiger_users as vtiger_lastModifiedByProducts on vtiger_lastModifiedByProducts.id = vtiger_crmentityProducts.modifiedby ";
 		}
-		if ($queryplanner->requireTable("vtiger_createdbyProducts")){
+		if ($queryPlanner->requireTable("vtiger_createdbyProducts")){
 			$query .= " left join vtiger_users as vtiger_createdbyProducts on vtiger_createdbyProducts.id = vtiger_crmentityProducts.smcreatorid ";
 		}
 
diff --git a/modules/Vendors/Vendors.php b/modules/Vendors/Vendors.php
index d5d883e72..d76741a1f 100755
--- a/modules/Vendors/Vendors.php
+++ b/modules/Vendors/Vendors.php
@@ -411,33 +411,33 @@ class Vendors extends CRMEntity {
 	 * @param - $secmodule secondary module name
 	 * returns the query string formed on fetching the related data for report for secondary module
 	 */
-	function generateReportsSecQuery($module,$secmodule, $queryplanner) {
+	function generateReportsSecQuery($module,$secmodule, $queryPlanner) {
 
-		$matrix = $queryplanner->newDependencyMatrix();
+		$matrix = $queryPlanner->newDependencyMatrix();
 
 		$matrix->setDependency("vtiger_crmentityVendors",array("vtiger_usersVendors","vtiger_lastModifiedByVendors"));
-		if (!$queryplanner->requireTable('vtiger_vendor', $matrix)) {
+		if (!$queryPlanner->requireTable('vtiger_vendor', $matrix)) {
 			return '';
 		}
         $matrix->setDependency("vtiger_vendor",array("vtiger_crmentityVendors","vtiger_vendorcf","vtiger_email_trackVendors"));
-		$query = $this->getRelationQuery($module,$secmodule,"vtiger_vendor","vendorid", $queryplanner);
+		$query = $this->getRelationQuery($module,$secmodule,"vtiger_vendor","vendorid", $queryPlanner);
 		// TODO Support query planner
-		if ($queryplanner->requireTable("vtiger_crmentityVendors",$matrix)){
+		if ($queryPlanner->requireTable("vtiger_crmentityVendors",$matrix)){
 		    $query .=" left join vtiger_crmentity as vtiger_crmentityVendors on vtiger_crmentityVendors.crmid=vtiger_vendor.vendorid and vtiger_crmentityVendors.deleted=0";
 		}
-		if ($queryplanner->requireTable("vtiger_vendorcf")){
+		if ($queryPlanner->requireTable("vtiger_vendorcf")){
 		    $query .=" left join vtiger_vendorcf on vtiger_vendorcf.vendorid = vtiger_crmentityVendors.crmid";
 		}
-		if ($queryplanner->requireTable("vtiger_email_trackVendors")){
+		if ($queryPlanner->requireTable("vtiger_email_trackVendors")){
 		    $query .=" LEFT JOIN vtiger_email_track AS vtiger_email_trackVendors ON vtiger_email_trackVendors.crmid = vtiger_vendor.vendorid";
 		}
-		if ($queryplanner->requireTable("vtiger_usersVendors")){
+		if ($queryPlanner->requireTable("vtiger_usersVendors")){
 		    $query .=" left join vtiger_users as vtiger_usersVendors on vtiger_usersVendors.id = vtiger_crmentityVendors.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_lastModifiedByVendors")){
+		if ($queryPlanner->requireTable("vtiger_lastModifiedByVendors")){
 		    $query .=" left join vtiger_users as vtiger_lastModifiedByVendors on vtiger_lastModifiedByVendors.id = vtiger_crmentityVendors.modifiedby ";
 		}
-        if ($queryplanner->requireTable("vtiger_createdbyVendors")){
+        if ($queryPlanner->requireTable("vtiger_createdbyVendors")){
 			$query .= " left join vtiger_users as vtiger_createdbyVendors on vtiger_createdbyVendors.id = vtiger_crmentityVendors.smcreatorid ";
 		}
 		//if secondary modules custom reference field is selected
diff --git a/packages/vtiger/mandatory/ServiceContracts.zip b/packages/vtiger/mandatory/ServiceContracts.zip
index 49852f288a30c456c3a1765ac85b7e19f8e2afc5..a1b53c07d50540611cdc1a5be5c707111424f86f 100644
GIT binary patch
delta 5183
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
BaUlQz

delta 5178
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

diff --git a/packages/vtiger/optional/ModComments.zip b/packages/vtiger/optional/ModComments.zip
index eac2692f4b8c78380ad750be80130bd045871a5d..dd239896c29f55c2fb0845b170bd9246580ff2e6 100644
GIT binary patch
delta 3983
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

delta 4084
zcma)8dt6gx7(SdcE<+lZCfGIxjDdg-#zij06hRVX$Pf@3#zj#yH42<C6gNc(7>MJ5
z<R!)AlA0?;Of<+0`@!(Sq#(r$C74&T3yLYw`8F7mXKdpSe*5itpYMI1_xs-W9jSxG
zU%(_@7(y_Hz{giC3z3p+nCOUiZ1e4Xd_mSUNRRMT4}u6h?B@w!(=tzKq$86fN#<+7
zkukgx1aN!jkOA)Ek=>K{j`#hlhhV>>tuTEmB2{JpXpGqD28=+QwFCW|mZAHQIm|~-
zc4^gs4k8P1Mbw8A_UI#k>H#s745<Duvwop*jS2GRNk00AC4+p7Q~o-_!Ae312G)ZT
zjDL(E8niwwMX+vVhFeTD5kj=qq~UZZI!JY44)o+`5;Wmu5Y1yMi`3OachmgwmEWgr
zP}MJq9*B=PMQ6au3isG*K)Bm65CTw+#xniLK;dilRWl6;N|IwvbMcQEb#fr6NSs(6
z4pZ2q5~Vy&#0tPau9Nk*9s-<fbMqquCtpj*lHF!xewny}yRL=OtuTWic@PB6L?dZd
z=<SkeXikZ-6;`dihj;U@9-VyS>plGpNTM)%w|r;B1@)%0pB{EvJ2=DZ;$H)SwHC!@
zFP^0tg@_cN*ZFgDTcfslxxE|x^yatne&S-c>0)_Xj-Xw3uJ{1*!Y{4&@Y=T;a^JHl
z>q;_Md45RdD04mHT;<o~SbK{n;n+63mDuN5cg1vV&A&CLySG$S=XHDhLS7@4amBxi
zGWm@a!wLN__&3&kH57R8)1ZH@{`k@R^EZZ3+hQ(XJ1Vv2{G63)cR_F>H7+g3`+{}M
z_J(KI_=;axocO<a;a;@H%z~jaH?HUXP<F=sR2{Sa;F0*sQt21XBP5FgiQ?)m0dv=a
z!GllB1|PPba7&^wW2bL@{N*Ng&*HO&>#7ZHMCAwey;Pj|qj;Mk@xx1}s&5r`S_o%y
z*N4+xJq3BT8#$&fQP!zLgUv0}ip`PC=zsT1OwI(3&Z?PnmQD_JUeP?wir4KgT6I}i
z6mTT9sbNK5v-Q6AA@Ao&1NQf*7Uw&k**|eyD^FZqS@%^}Nl;Ys#YSFMXM*US;y#Oh
zh0!BAukgJ}_+~g}AXw4S+ke!|!zrP|f%wqxQlEEMJ>^B{x0&rW6e~{U$lMSH5^b7Z
zy7lbl{&#K&9{N1@$g$esE4g-o`?B>m+kSh8?PkI;!P2GA&nl?qnZ4fEXQFYH{)*6x
zKPl`soV?pCF5WLRo8CiD43Nh=#-H(RE)Sg9Aj)m4<!zE1u6FG=p4Tgj>_2R{1dg{^
zAdjDa=)2M-g8TQc70Eg*`%mtEFX6y%H5=!|b0b=|4YW|x5;r;7-23SeYdLSZu>Jb?
z5spJ|4~pG;hqG@>g41VthJ<I|iIQ!dTmC5QW%|Q4wz0{@kG2c@Yh6Q@HM#RRCdZr8
z>exo25C6>GB8(1<@FKX7S$x~hQTjhTvz4jC4~oPy5*5g2PewO3h#!9wsdwT5P1-Ty
zo$=>#AI`a~=T%l=9}g!VAi+1w`yM>2$}j72>uULZz%=#ds6Lnr>W;yUFKwJXn+QPx
z))3?}_AX|CH-R?=>Q^oDBbtLZdGEWsRZ?uy<RcKoR)$6Fpo1{nw(v4)zpDFu7US-r
zbqoQ1D}}W73C5p7P(If<I!a$^j^6}=mJaKYK#XglyYLVe^8teP3MpvXPD3;;?oIrl
zU2$KlG79B$@Eg@0e!8lanI^u2k4Q-L)K@mU@)Qk-J1O=gC4!j2cF;*TnvkKPwI0nV
z(Ni@}e*p(yREfX>HpgZ!w>Q{0uN!ls5vvYES)C+-0eUI(4SXR3nSClVeiqKdM>u5*
zR8p%%8v6QQqKdKMAj$Q?Pp>PNH>SWPkHr8N<+Y7P52hm%V^5gp#Q?71!qit7y^<HC
z88*SzQ9wl_^38RDZp(Mm1=gAGqYVa@joF_BF~G8+MTYc~C7Rh(Y5|*mL98}5u)l06
zVB3TJ1@};uDazTZD43<K6kx#83w;@2z)nF2mcFdQ0Bsro?0VrMU10AP@pOTmF5=m1
zxh6`fvm^^OOP#n*<r1!Dx>uY-iUaI5USbuU^4L|yi?tmK9PTP!=%mqM6`gvIL4!+z
z8DMF_EyskEFH5Mf;Ue_7#1h+fsG3#1lCAX)3S1eb42jrbH&3HL^}FJZ@4(<c6`C>j
z)eL$(zbr<{gEis>G12;}kupWbz^zGre~b)kWKi|i-_>N;C?GjvbQ*JeMNV=l1@?^_
zPXn6=W)9jT!4<tyN`>e0)q%vFQ#6hV!~J(sVM5|ql;u1vw-U5!nRDf!B?*EOd?3hS
zlHkG=_37tQOaiC!55E|cNyQjRSJGjFK<8pagdb#yG50O8F~Xdb+mehiG81%1hJmid
zxGAN;Y{6KhrH+MIR7Qm>GsknshM4h`R;X*ib@^Hzuv#C2yiFm<c~bUr;W%AcwmC>c
zd!0}_lnPgf#^ca-kr_~}B~bbPccK(nl&g+xMc;77y}9}Z;ORJEf0wcQK+6N){sZfa
B&6ofH

diff --git a/pkg/vtiger/modules/ModComments/modules/ModComments/ModCommentsCore.php b/pkg/vtiger/modules/ModComments/modules/ModComments/ModCommentsCore.php
index 50a624457..2bc9a16c4 100644
--- a/pkg/vtiger/modules/ModComments/modules/ModComments/ModCommentsCore.php
+++ b/pkg/vtiger/modules/ModComments/modules/ModComments/ModCommentsCore.php
@@ -356,31 +356,31 @@ class ModCommentsCore extends CRMEntity {
 	 * @param - $secmodule secondary module name
 	 * returns the query string formed on fetching the related data for report for secondary module
 	 */
-	function generateReportsSecQuery($module,$secmodule,$queryplanner){
-		$matrix = $queryplanner->newDependencyMatrix();
+	function generateReportsSecQuery($module,$secmodule,$queryPlanner){
+		$matrix = $queryPlanner->newDependencyMatrix();
 
 		$matrix->setDependency('vtiger_crmentityModComments',array('vtiger_groupsModComments','vtiger_usersModComments', 'vtiger_contactdetailsRelModComments', 'vtiger_modcommentsRelModComments'));
 
-		if (!$queryplanner->requireTable("vtiger_modcomments",$matrix)){
+		if (!$queryPlanner->requireTable("vtiger_modcomments",$matrix)){
 			return '';
 		}
 		$matrix->setDependency('vtiger_modcomments', array('vtiger_crmentityModComments'));
 
-		$query = $this->getRelationQuery($module,$secmodule,"vtiger_modcomments","modcommentsid", $queryplanner);
+		$query = $this->getRelationQuery($module,$secmodule,"vtiger_modcomments","modcommentsid", $queryPlanner);
 
-		if ($queryplanner->requireTable("vtiger_crmentityModComments",$matrix)){
+		if ($queryPlanner->requireTable("vtiger_crmentityModComments",$matrix)){
 			$query .= " left join vtiger_crmentity as vtiger_crmentityModComments on vtiger_crmentityModComments.crmid=vtiger_modcomments.modcommentsid and vtiger_crmentityModComments.deleted=0";
 		}
-		if ($queryplanner->requireTable("vtiger_groupsModComments")){
+		if ($queryPlanner->requireTable("vtiger_groupsModComments")){
 			$query .= " left join vtiger_groups vtiger_groupsModComments on vtiger_groupsModComments.groupid = vtiger_crmentityModComments.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_usersModComments")){
+		if ($queryPlanner->requireTable("vtiger_usersModComments")){
 			$query .= " left join vtiger_users as vtiger_usersModComments on vtiger_usersModComments.id = vtiger_crmentityModComments.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_contactdetailsRelModComments")){
+		if ($queryPlanner->requireTable("vtiger_contactdetailsRelModComments")){
 			$query .= " left join vtiger_contactdetails as vtiger_contactdetailsRelModComments on vtiger_contactdetailsRelModComments.contactid = vtiger_crmentityModComments.crmid";
 		}
-		if ($queryplanner->requireTable("vtiger_modcommentsRelModComments")){
+		if ($queryPlanner->requireTable("vtiger_modcommentsRelModComments")){
 			$query .= " left join vtiger_modcomments as vtiger_modcommentsRelModComments on vtiger_modcommentsRelModComments.modcommentsid = vtiger_crmentityModComments.crmid";
 		}
 
diff --git a/pkg/vtiger/modules/ServiceContracts/modules/ServiceContracts/ServiceContracts.php b/pkg/vtiger/modules/ServiceContracts/modules/ServiceContracts/ServiceContracts.php
index c799acc82..1f9225c0e 100644
--- a/pkg/vtiger/modules/ServiceContracts/modules/ServiceContracts/ServiceContracts.php
+++ b/pkg/vtiger/modules/ServiceContracts/modules/ServiceContracts/ServiceContracts.php
@@ -225,39 +225,39 @@ class ServiceContracts extends CRMEntity {
 	 * @param - $secmodule secondary module name
 	 * returns the query string formed on fetching the related data for report for secondary module
 	 */
-	function generateReportsSecQuery($module,$secmodule,$queryplanner) {
+	function generateReportsSecQuery($module,$secmodule,$queryPlanner) {
 
-		$matrix = $queryplanner->newDependencyMatrix();
+		$matrix = $queryPlanner->newDependencyMatrix();
 		$matrix->setDependency('vtiger_crmentityServiceContracts',array('vtiger_groupsServiceContracts','vtiger_usersServiceContracts'));
-		if (!$queryplanner->requireTable('vtiger_servicecontracts', $matrix)) {
+		if (!$queryPlanner->requireTable('vtiger_servicecontracts', $matrix)) {
 			return '';
 		}
 		$matrix->setDependency('vtiger_servicecontracts',array('vtiger_servicecontractscf','vtiger_crmentityServiceContracts'));
 
-		$query = $this->getRelationQuery($module,$secmodule,"vtiger_servicecontracts","servicecontractsid", $queryplanner);
+		$query = $this->getRelationQuery($module,$secmodule,"vtiger_servicecontracts","servicecontractsid", $queryPlanner);
 
-		if ($queryplanner->requireTable("vtiger_crmentityServiceContracts",$matrix)){
+		if ($queryPlanner->requireTable("vtiger_crmentityServiceContracts",$matrix)){
 			$query .= " left join vtiger_crmentity as vtiger_crmentityServiceContracts on vtiger_crmentityServiceContracts.crmid = vtiger_servicecontracts.servicecontractsid  and vtiger_crmentityServiceContracts.deleted=0";
 		}
-		if ($queryplanner->requireTable("vtiger_servicecontractscf")){
+		if ($queryPlanner->requireTable("vtiger_servicecontractscf")){
 			$query .= " left join vtiger_servicecontractscf on vtiger_servicecontractscf.servicecontractsid = vtiger_servicecontracts.servicecontractsid";
 		}
-		if ($queryplanner->requireTable("vtiger_groupsServiceContracts")){
+		if ($queryPlanner->requireTable("vtiger_groupsServiceContracts")){
 			$query .= " left join vtiger_groups as vtiger_groupsServiceContracts on vtiger_groupsServiceContracts.groupid = vtiger_crmentityServiceContracts.smownerid";
 		}
-		if ($queryplanner->requireTable("vtiger_usersServiceContracts")){
+		if ($queryPlanner->requireTable("vtiger_usersServiceContracts")){
 			$query .= " left join vtiger_users as vtiger_usersServiceContracts on vtiger_usersServiceContracts.id = vtiger_crmentityServiceContracts.smownerid";
 		}
-		if($queryplanner->requireTable("vtiger_contactdetailsRelServiceContracts")){
+		if($queryPlanner->requireTable("vtiger_contactdetailsRelServiceContracts")){
 			$query .= " left join vtiger_contactdetails as vtiger_contactdetailsRelServiceContracts on vtiger_contactdetailsRelServiceContracts.contactid = vtiger_servicecontracts.sc_related_to";
 		}
-		if($queryplanner->requireTable("vtiger_accountRelServiceContracts")){
+		if($queryPlanner->requireTable("vtiger_accountRelServiceContracts")){
 			$query .= " left join vtiger_account as vtiger_accountRelServiceContracts on vtiger_accountRelServiceContracts.accountid = vtiger_servicecontracts.sc_related_to";
 		}
-		 if ($queryplanner->requireTable("vtiger_lastModifiedByServiceContracts")){
+		 if ($queryPlanner->requireTable("vtiger_lastModifiedByServiceContracts")){
 			$query .= " left join vtiger_users as vtiger_lastModifiedByServiceContracts on vtiger_lastModifiedByServiceContracts.id = vtiger_crmentityServiceContracts.modifiedby ";
 		}
-		if ($queryplanner->requireTable("vtiger_createdbyServiceContracts")){
+		if ($queryPlanner->requireTable("vtiger_createdbyServiceContracts")){
 			$query .= " left join vtiger_users as vtiger_createdbyServiceContracts on vtiger_createdbyServiceContracts.id = vtiger_crmentityServiceContracts.smcreatorid ";
 		}
 		//if secondary modules custom reference field is selected
-- 
GitLab