PATH:
home
/
letacommog
/
crmleta
/
include
/
Webservices
<?php /* +********************************************************************************** * The contents of this file are subject to the vtiger CRM Public License Version 1.1 * ("License"); You may not use this file except in compliance with the License * The Original Code is: vtiger CRM Open Source * The Initial Developer of the Original Code is vtiger. * Portions created by vtiger are Copyright (C) vtiger. * All Rights Reserved. * ***********************************************************************************/ /** * Function to relate CRM records for relationships exists in vtiger_relatedlists table. * @param $sourceRecordId - Source record webservice id. * @param $relatedRecordId - Related record webservice id(s). One record id or array of ids for same module. * @param $relationIdLabel - Relation id or label as in vtiger_relatedlists table. * @param $user */ function vtws_add_related($sourceRecordId, $relatedRecordId, $relationIdLabel = false, $user = false) { $db = PearDatabase::getInstance(); if (!is_array($relatedRecordId)) { $relatedRecordId = array($relatedRecordId); } $sourceRecordIdParts = vtws_getIdComponents($sourceRecordId); $relatedRecordIdParts = vtws_getIdComponents($relatedRecordId[0]); if (!isRecordExists($sourceRecordIdParts[1])) { throw new Exception("Source record $sourceRecordIdParts is deleted"); } try { $sourceRecordWsObject = VtigerWebserviceObject::fromId($db, $sourceRecordIdParts[0]); $relatedRecordWsObject = VtigerWebserviceObject::fromId($db, $relatedRecordIdParts[0]); $sourceModuleModel = Vtiger_Module_Model::getInstance($sourceRecordWsObject->getEntityName()); $relatedModuleModel = Vtiger_Module_Model::getInstance($relatedRecordWsObject->getEntityName()); $relationLabel = false; $relationId = false; if (is_numeric($relationIdLabel)) { $relationId = $relationIdLabel; } else if (!empty($relationIdLabel)) { $relationLabel = $relationIdLabel; } if ($sourceModuleModel && $relatedModuleModel) { $relationModel = Vtiger_Relation_Model::getInstance($sourceModuleModel, $relatedModuleModel, $relationLabel, $relationId); if ($relationModel) { foreach ($relatedRecordId as $id) { $idParts = vtws_getIdComponents($id); if ($idParts[0] == $relatedRecordIdParts[0]) { $relationModel->addRelation($sourceRecordIdParts[1], $idParts[1]); } } } } return array('message' => 'successfull'); } catch (Exception $ex) { throw new Exception($ex->getMessage()); } }
[+]
..
[-] DescribeObjectPartial.php
[edit]
[-] SessionManager.php
[edit]
[+]
LineItem
[-] Revise.php
[edit]
[+]
Custom
[-] RelatedTypes.php
[edit]
[-] ModuleTypes.php
[edit]
[-] RetrieveRelated.php
[edit]
[-] VTQL_Parser.php
[edit]
[-] VtigerCRMObject.php
[edit]
[-] Retrieve.php
[edit]
[-] ConvertPotential.php
[edit]
[-] WebserviceEntityOperation.php
[edit]
[-] OperationManager.php
[edit]
[-] Logout.php
[edit]
[-] WebserviceField.php
[edit]
[-] WebServiceError.php
[edit]
[-] History.php
[edit]
[-] DescribeObject.php
[edit]
[-] VtigerWebserviceObject.php
[edit]
[-] WebServiceErrorCode.php
[edit]
[-] ExtendSession.php
[edit]
[-] AuthToken.php
[edit]
[-] VtigerCRMActorMeta.php
[edit]
[-] Utils.php
[edit]
[-] VTQL_Lexer.php
[edit]
[-] AddRelated.php
[edit]
[-] QueryParser.php
[edit]
[-] Delete.php
[edit]
[-] ConvertLead.php
[edit]
[-] VtigerActorOperation.php
[edit]
[-] PreserveGlobal.php
[edit]
[-] Login.php
[edit]
[-] State.php
[edit]
[-] QueryRelated.php
[edit]
[-] DataTransform.php
[edit]
[-] VtigerProductOperation.php
[edit]
[-] VtigerModuleOperation.php
[edit]
[-] Create.php
[edit]
[-] VtigerCRMObjectMeta.php
[edit]
[-] GetUpdates.php
[edit]
[-] Query.php
[edit]
[-] RelatedModuleMeta.php
[edit]
[-] Relation.php
[edit]
[-] Update.php
[edit]
[-] EntityMeta.php
[edit]