PATH:
home
/
letacommog
/
crmleta
/
include
/
Webservices
<?php /*+******************************************************************************* * The contents of this file are subject to the vtiger CRM Public License Version 1.0 * ("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. * *********************************************************************************/ /** * Description of RelatedModuleMeta * TODO to add and extend a way to track many-many and many-one relationships. * @author MAK */ class RelatedModuleMeta { private $module; private $relatedModule; private $CAMPAIGNCONTACTREL = 1; private $PRODUCTQUOTESREL = 2; private $PRODUCTINVOICEREL = 3; private $PRODUCTPURCHASEORDERREL = 4; private function __construct($module, $relatedModule) { $this->module = $module; $this->relatedModule = $relatedModule; } /** * * @param <type> $module * @param <type> $relatedModule * @return RelatedModuleMeta */ public static function getInstance($module, $relatedModule) { return new RelatedModuleMeta($module, $relatedModule); } public function getRelationMeta() { $campaignContactRel = array('Campaigns','Contacts'); $productInvoiceRel = array('Products','Invoice'); $productQuotesRel = array('Products','Quotes'); $productPurchaseOrder = array('Products','PurchaseOrder'); if(in_array($this->module, $campaignContactRel) && in_array($this->relatedModule, $campaignContactRel)) { return $this->getRelationMetaInfo($this->CAMPAIGNCONTACTREL); } if(in_array($this->module, $productInvoiceRel) && in_array($this->relatedModule, $productInvoiceRel)) { return $this->getRelationMetaInfo($this->PRODUCTINVOICEREL); } if(in_array($this->module, $productQuotesRel) && in_array($this->relatedModule, $productQuotesRel)) { return $this->getRelationMetaInfo($this->PRODUCTQUOTESREL); } if(in_array($this->module, $productPurchaseOrder) && in_array($this->relatedModule, $productPurchaseOrder)) { return $this->getRelationMetaInfo($this->PRODUCTPURCHASEORDERREL); } } private function getRelationMetaInfo($relationId) { switch($relationId) { case $this->CAMPAIGNCONTACTREL: return array( 'relationTable' => 'vtiger_campaigncontrel', 'Campaigns' => 'campaignid', 'Contacts' => 'contactid' ); case $this->PRODUCTINVOICEREL: return array( 'relationTable' => 'vtiger_inventoryproductrel', 'Products' => 'productid', 'Invoice' => 'id' ); case $this->PRODUCTQUOTESREL: return array( 'relationTable' => 'vtiger_inventoryproductrel', 'Products' => 'productid', 'Quotes' => 'id' ); case $this->PRODUCTPURCHASEORDERREL: return array( 'relationTable' => 'vtiger_inventoryproductrel', 'Products' => 'productid', 'PurchaseOrder' => 'id' ); } } } ?>
[+]
..
[-] 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]