diff --git a/modules/Campaigns/models/Relation.php b/modules/Campaigns/models/Relation.php index f58e05b28944f3b6165c43118c6b41282614f015..6185d4a14fadae33e819cd52b453cb6b5fe05cb7 100644 --- a/modules/Campaigns/models/Relation.php +++ b/modules/Campaigns/models/Relation.php @@ -53,12 +53,16 @@ class Campaigns_Relation_Model extends Vtiger_Relation_Model { $tableName = $emailEnabledModulesInfo[$relatedModuleName]['tableName']; $db = PearDatabase::getInstance(); + $paramArray = array(); $updateQuery = "UPDATE $tableName SET campaignrelstatusid = CASE $fieldName "; foreach ($statusDetails as $relatedRecordId => $status) { - $updateQuery .= " WHEN $relatedRecordId THEN $status "; + $updateQuery .= " WHEN ? THEN ? "; + array_push($paramArray, $relatedRecordId); + array_push($paramArray, $status); } $updateQuery .= "ELSE campaignrelstatusid END WHERE campaignid = ?"; - $db->pquery($updateQuery, array($sourceRecordId)); + array_push($paramArray, $sourceRecordId); + $db->pquery($updateQuery, $paramArray); } } } diff --git a/modules/Settings/Leads/models/Mapping.php b/modules/Settings/Leads/models/Mapping.php index b0d1b580aa5f2c3ce1a7408afa7b9aaeaf7d73df..e9c5b841ddcd29d781381eafc0bfb84416a0b1da 100644 --- a/modules/Settings/Leads/models/Mapping.php +++ b/modules/Settings/Leads/models/Mapping.php @@ -195,20 +195,28 @@ class Settings_Leads_Mapping_Model extends Settings_Vtiger_Module_Model { $accountQuery = ' accountfid = CASE '; $contactQuery = ' contactfid = CASE '; $potentialQuery = ' potentialfid = CASE '; - + $paramArray = array(); foreach ($updateMappingsList as $mappingDetails) { - $mappingId = $mappingDetails['mappingId']; - $leadQuery .= " WHEN cfmid = $mappingId THEN ". $mappingDetails['lead']; - $accountQuery .= " WHEN cfmid = $mappingId THEN ". $mappingDetails['account']; - $contactQuery .= " WHEN cfmid = $mappingId THEN ". $mappingDetails['contact']; - $potentialQuery .= " WHEN cfmid = $mappingId THEN ". $mappingDetails['potential']; + $mappingId = $mappingDetails['mappingId']; + $leadQuery .= ' WHEN cfmid = ? THEN ?'; + array_push($paramArray, $mappingId); + array_push($paramArray, $mappingDetails['lead']); + $accountQuery .= ' WHEN cfmid = ? THEN ?'; + array_push($paramArray, $mappingId); + array_push($paramArray, $mappingDetails['account']); + $contactQuery .= ' WHEN cfmid = ? THEN ?'; + array_push($paramArray, $mappingId); + array_push($paramArray, $mappingDetails['contact']); + $potentialQuery .= ' WHEN cfmid = ? THEN ?'; + array_push($paramArray, $mappingId); + array_push($paramArray, $mappingDetails['potential']); } $leadQuery .= ' ELSE leadfid END '; $accountQuery .= ' ELSE accountfid END '; $contactQuery .= ' ELSE contactfid END '; $potentialQuery .= ' ELSE potentialfid END '; - - $db->pquery("UPDATE vtiger_convertleadmapping $leadQuery, $accountQuery, $contactQuery, $potentialQuery WHERE editable = ?", array(1)); + array_push($paramArray, 1); + $db->pquery("UPDATE vtiger_convertleadmapping $leadQuery, $accountQuery, $contactQuery, $potentialQuery WHERE editable = ?", $paramArray); } } diff --git a/modules/Settings/Picklist/models/Module.php b/modules/Settings/Picklist/models/Module.php index a20206e2226f261172916cb2da404216d6b4fc9c..9c42a8dfe0feffeab624734c60831d989ad2e08f 100644 --- a/modules/Settings/Picklist/models/Module.php +++ b/modules/Settings/Picklist/models/Module.php @@ -261,18 +261,21 @@ class Settings_Picklist_Module_Model extends Vtiger_Module_Model { } - public function updateSequence($pickListFieldName , $picklistValues) { - $db = PearDatabase::getInstance(); + public function updateSequence($pickListFieldName , $picklistValues, $rolesList = false) { + $db = PearDatabase::getInstance(); $primaryKey = Vtiger_Util_Helper::getPickListId($pickListFieldName); - - $query = 'UPDATE '.$this->getPickListTableName($pickListFieldName).' SET sortorderid = CASE '; - foreach($picklistValues as $values => $sequence) { - $query .= ' WHEN '.$primaryKey.'="'.$values.'" THEN "'.$sequence.'"'; - } + $paramArray = array(); + $query = 'UPDATE '.$this->getPickListTableName($pickListFieldName).' SET sortorderid = CASE '; + foreach($picklistValues as $values => $sequence) { + $query .= ' WHEN '.$primaryKey.'=? THEN ?'; + array_push($paramArray, $values); + array_push($paramArray, $sequence); + } $query .= ' END'; - $db->pquery($query, array()); - } + $db->pquery($query, $paramArray); + Vtiger_Cache::flushPicklistCache($pickListFieldName, $rolesList); + } public static function getPicklistSupportedModules() { diff --git a/modules/Vtiger/models/Block.php b/modules/Vtiger/models/Block.php index 1fd1deeb7e9512b9ff711002ab442d13d706e618..e2b2612dc6524e5449e3badfa9a3395c372bfc5c 100644 --- a/modules/Vtiger/models/Block.php +++ b/modules/Vtiger/models/Block.php @@ -141,16 +141,26 @@ class Vtiger_Block_Model extends Vtiger_Block { return $blockModel; } - public static function updateSequenceNumber($sequenceList) { + public static function updateSequenceNumber($sequenceList, $moduleName = false) { $db = PearDatabase::getInstance(); $query = 'UPDATE vtiger_blocks SET sequence = CASE blockid '; + $paramArray = array(); foreach ($sequenceList as $blockId => $sequence){ - $query .=' WHEN '.$blockId.' THEN '.$sequence; + $query .=' WHEN ? THEN ?'; + array_push($paramArray, $blockId); + array_push($paramArray, $sequence); } $query .=' END '; $query .= ' WHERE blockid IN ('.generateQuestionMarks($sequenceList).')'; - $db->pquery($query, array_keys($sequenceList)); - } + $resultArray = array_merge($paramArray, array_keys($sequenceList)); + $db->pquery($query, $resultArray); + + // To clear cache + if($moduleName){ + $moduleInstance = Vtiger_Module_Model::getInstance($moduleName); + Vtiger_Cache::flushModuleBlocksCache($moduleInstance); + } + } public static function checkFieldsExists($blockId) { $db = PearDatabase::getInstance(); diff --git a/modules/Vtiger/models/Relation.php b/modules/Vtiger/models/Relation.php index 5ef52d5d2ec84b16510cfeeeeeb8da8ca4ce719d..a1195f6693a579c3360dd945bd4b8f364cede7ea 100644 --- a/modules/Vtiger/models/Relation.php +++ b/modules/Vtiger/models/Relation.php @@ -249,28 +249,35 @@ class Vtiger_Relation_Model extends Vtiger_Base_Model{ } public static function updateRelationSequenceAndPresence($relatedInfoList, $sourceModuleTabId) { - $db = PearDatabase::getInstance(); - $query = 'UPDATE vtiger_relatedlists SET sequence=CASE '; - $relation_ids = array(); - foreach($relatedInfoList as $relatedInfo){ - $relation_id = $relatedInfo['relation_id']; - $relation_ids[] = $relation_id; - $sequence = $relatedInfo['sequence']; - $presence = $relatedInfo['presence']; - $query .= ' WHEN relation_id='.$relation_id.' THEN '.$sequence; - } - $query.= ' END , '; - $query.= ' presence = CASE '; - foreach($relatedInfoList as $relatedInfo){ - $relation_id = $relatedInfo['relation_id']; - $relation_ids[] = $relation_id; - $sequence = $relatedInfo['sequence']; - $presence = $relatedInfo['presence']; - $query .= ' WHEN relation_id='.$relation_id.' THEN '.$presence; - } - $query .= ' END WHERE tabid=? AND relation_id IN ('. generateQuestionMarks($relation_ids).')'; - $result = $db->pquery($query, array($sourceModuleTabId,$relation_ids)); - } + $db = PearDatabase::getInstance(); + $query = 'UPDATE vtiger_relatedlists SET sequence=CASE '; + $relation_ids = array(); + $paramArray = array(); + foreach($relatedInfoList as $relatedInfo){ + $relation_id = $relatedInfo['relation_id']; + $relation_ids[] = $relation_id; + $sequence = $relatedInfo['sequence']; + $presence = $relatedInfo['presence']; + array_push($paramArray, $relation_id); + array_push($paramArray, $sequence); + $query .= ' WHEN relation_id=? THEN ?'; + } + $query.= ' END , '; + $query.= ' presence = CASE '; + foreach($relatedInfoList as $relatedInfo){ + $relation_id = $relatedInfo['relation_id']; + $relation_ids[] = $relation_id; + $sequence = $relatedInfo['sequence']; + $presence = $relatedInfo['presence']; + array_push($paramArray, $relation_id); + array_push($paramArray, $presence); + $query .= ' WHEN relation_id=? THEN ?'; + } + array_push($paramArray, $sourceModuleTabId); + $resultArray = array_merge($paramArray, $relation_ids); + $query .= ' END WHERE tabid=? AND relation_id IN ('. generateQuestionMarks($relation_ids).')'; + $result = $db->pquery($query, $resultArray); + } public function isActive() { return $this->get('presence') == 0 ? true : false;