<?php
namespace AppBundle\EventListener;
use Pimcore\Event\Model\ElementEventInterface;
use Pimcore\Event\Model\DataObjectEvent;
use \Pimcore\Model\DataObject;
use \Pimcore\Model\DataObject\ItemMaster;
use Pimcore\Db;
use Pimcore\Log\ApplicationLogger;
class ObjectListener {
public function onPostUpdateOld (ElementEventInterface $e) {
}
public function onPostUpdate (ElementEventInterface $e) {
if($e instanceof AssetEvent) {
// do something with the asset
$foo = $e->getAsset();
} else if ($e instanceof DocumentEvent) {
// do something with the document
$foo = $e->getDocument();
} else if ($e instanceof DataObjectEvent) {
// do something with the object
$foo = $e->getObject();
$pid = $foo->getId();
// $logger = $this->get(ApplicationLogger::class);
$claname = '';
$userId= 0;
$otype = $foo->geto_type();
if($otype == 'object')
{
$o_published =$foo->geto_published();
$claname = $foo->geto_className();
$userId = $foo->geto_userOwner();
}
$styleNum = '';
if( $claname == 'itemMaster' || $claname == 'ItemMaster' )
{
$styleNum = $foo->getstyleNum();
$user = \Pimcore\Tool\Admin::getCurrentUser();
}
if( ( $claname == 'itemMaster' || $claname == 'ItemMaster' ) && $otype == 'object' && $user != null && $o_published == 1 && $styleNum)
{
$userId = $foo->getUserOwner();
$tableOne = "object_masterItem";
$query = "select * from ".$tableOne." where oo_id='".$pid."'";
$statment = Db::get()->prepare($query);
$statment->execute();
$dataGet =$statment->fetchAll();
$po_published = $dataGet[0]['o_published'];
$table = "object_masterItem";
$sql = "select * from ".$table." where o_parentId='".$pid."'";
$stmt = Db::get()->prepare($sql);
$stmt->execute();
$data =$stmt->fetchAll();
$childIdArray =array();
$m=0;
while($m<count($data))
{
$childIdArray[] = $data[$m]['oo_id'];
$srcId = $data[$m]['oo_id'];
/* $dqry1 ="DELETE FROM `object_relations_masterItem` WHERE `src_id` = '".$srcId."' and fieldname IN ('colorDetails','sizeDetails')";
$dqrystmt1 = Db::get()->prepare($dqry1);
$dqrystmt = $dqrystmt1->execute();
*/
$m++;
}
$childId= implode(',',$childIdArray);
//throw new \Pimcore\Model\Element\ValidationException($childId."Please select set code 0.", 1234);
// throw new \Pimcore\Model\Element\ValidationException($childId."Please select set code 0.", 1234);
$totalrec = count($data);
$itemShortDesc = $foo->getitemShortDesc();
$itemDesc = $foo->getitemDesc();
$styleNum = $foo->getstyleNum();
$mfrNum = $foo->getmfrNum();
$vendorPartNum = $foo->getvendorPartNum();
$preventPosDl = $foo->getpreventPosDl();
$sku = $foo->getsku();
$innerPack = $foo->getinnerPack();
$casePack = $foo->getcasePack();
$colorDetails=$foo->getcolorDetails();
$sizeDetails=$foo->getsizeDetails();
$totalcolors = count($colorDetails);
$totalsizes = count($sizeDetails);
//throw new \Pimcore\Model\Element\ValidationException($totalsizes."Please select set code 0.".$totalcolors, 1234);
$brandDetails=$foo->getbrandDetails();
$extdClassification=$foo->getextdClassification();
$cost= 0.01;
$originalSalePrice=0;
$sellingPrice=0;
if($foo->getSalesInformation())
{
if($foo->getSalesInformation()->getsaleInformation())
{
$cost = $foo->getsalesInformation()->getSaleInformation()->getcost();
$originalSalePrice = $foo->getsalesInformation()->getSaleInformation()->getoriginalSalePrice();
$sellingPrice = $foo->getsalesInformation()->getSaleInformation()->getsellingPrice();
// else
// $cost= 0;
}
}
foreach ($brandDetails as $lists)
{
$bbrand_id = $lists->getId();
$brobjectData = DataObject::getById($bbrand_id);
$brand_code1 = $brobjectData->getbrandCD();
}
foreach ($extdClassification as $lists)
{
$ex_id = $lists->getId();
$exobjectData = DataObject::getById($ex_id);
$exbrandata = $exobjectData->getbrandCode();
foreach ($exbrandata as $lists2)
{
$exbrand_id = $lists2->getId();
$brand_code2 = $lists2->getbrandCD();
}
}
if($brand_code2!='')
{
if($brand_code1 != $brand_code2)
{
throw new \Pimcore\Model\Element\ValidationException("Selected Extended Classification brand Code must be the same with Brand Details.", 1234);
}
}
if($totalcolors > 1 || $totalsizes > 1)
{
$setcode = $foo->getsetCode();
// throw new \Pimcore\Model\Element\ValidationException($setcode."Please select set code 0.", 1234);
if($setcode != '0')
{
throw new \Pimcore\Model\Element\ValidationException("Please select set code 0.", 1234);
}
}
if($totalcolors > 1 && $totalsizes == 0)
{
$j=1;
$pp=0;
foreach ($colorDetails as $lists)
{
$src_id = $childIdArray[$pp];
$colorcode=$lists->getshortDesc();
$colorobjectId=$lists->getId();
$pp++;
$fieldname = "colorDetails";
$logger = \Pimcore::getContainer()->get(ApplicationLogger::class);
// $logger->error( "Id ->".implode(',',$childIdArray), ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
$variantcount = $this->checkSingleVariantIsPresentOrNot($src_id,$colorobjectId,$fieldname);
if($variantcount > 0)
{
$objectColor = DataObject::getById($src_id);
}
else
{
$objectColor = new DataObject\ItemMaster();
}
//$logger->error( "Id ->".$variantcount, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
$objectColor->setParent(DataObject\ItemMaster::getById($pid));
$productname = $itemShortDesc." ".$colorcode;
$objectColor->setKey(\Pimcore\Model\Element\Service::getValidKey($productname, 'object'));
$objectColor->setType(DataObject\AbstractObject::OBJECT_TYPE_VARIANT);
$objectColor->setsetCode('0');
$objectColor->setitemShortDesc($itemShortDesc);
$objectColor->setstyleNum($styleNum);
$objectColor->setmfrNum($mfrNum);
$objectColor->setvendorPartNum($vendorPartNum);
$objectColor->setInVariantsProcess('yes');
$tireBrick = new DataObject\Objectbrick\Data\SaleInformation($objectColor);
$tireBrick->setcost($cost);
$tireBrick->setsellingPrice($sellingPrice);
$tireBrick->setoriginalSalePrice($originalSalePrice);
$objectColor->getsalesInformation()->setSaleInformation($tireBrick);
$objectColor->setitemDesc($productname);
$objectColor->setsetCode('0');
$objectColor->setPublished(true);
$objectColor->setpreventPosDl($preventPosDl);
$objectColor->setitemShortDesc($itemShortDesc);
$objectColor->setstyleNum($styleNum);
$objectColor->setmfrNum($mfrNum);
$objectColor->setvendorPartNum($vendorPartNum);
$objectColor->setInVariantsProcess('yes');
//$myObject->setsku($sku);
$objectColor->setinnerPack($innerPack);
$objectColor->setcasePack($casePack);
try {
$objectColor->setsubbrandDetails($foo->getsubbrandDetails());
$objectColor->setskuType($foo->getskuType());
$objectColor->setvendorDetails($foo->getvendorDetails());
$objectColor->setbrandDetails($foo->getbrandDetails());
$objectColor->setbuyerDetails($foo->getbuyerDetails());
$objectColor->setstatusCode($foo->getstatusCode());
$objectColor->setseasonDetails($foo->getseasonDetails());
$objectColor->setextdClassification($foo->getextdClassification());
$objectColor->setattDetails1($foo->getattDetails1());
$objectColor->setattDetails2($foo->getattDetails2());
$objectColor->setattDetails3($foo->getattDetails3());
$objectColor->setattDetails4($foo->getattDetails4());
$objectColor->setattDetails5($foo->getattDetails5());
$objectColor->sethierarchyDetails($foo->gethierarchyDetails());
$objectColor->setbuyUMCD($foo->getbuyUMCD());
$objectColor->setsellUMCD($foo->getsellUMCD());
$newIddata = $objectColor->save();
$newId = $newIddata->getId();
// $logger->error( "saved".$newId, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
}
catch(\Exception $e){
$errorMessage = $e->getMessage();
$logger->error( 'only color '.$errorMessage, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
}
if($totalsizes == 0)
{
//$logger->error( 'only color '.$j, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
$newObject11 = new DataObject\Size\Listing();
$newObject11->setCondition( "sizeCode = ?",'9999');
$newObject11->load();
foreach ($newObject11 as $entrie)
{
$getsizeObjcetId=$entrie->getId();
}
$variantfornoothercount = $this->checkSingleVariantIsPresentOrNot($src_id,$getsizeObjcetId,'sizeDetails');
if($variantfornoothercount < 1)
{
/* $qryy = "INSERT INTO `object_relations_masterItem` (`src_id`, `dest_id`, `type`, `fieldname`, `index`, `ownertype`, `ownername`, `position`) VALUES ('".$newId."', '".$getsizeObjcetId."', 'object', 'sizeDetails', '".$j."', 'object', '', '0');";
$stmt = Db::get()->prepare($qryy);
$rdata = $stmt->execute(); */
}
}
// $mynewObject1 = DataObject::getById($newId);
// $mynewObject1->save();
// $dqry ="DELETE FROM `object_relations_masterItem` WHERE `src_id` IN (".$childId.")";
// $dqrystmt = Db::get()->prepare($dqry);
// $dqrystmt = $dqrystmt->execute();
//$logger->error( 'only color1 '.$j, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
if($variantcount >0 )
{
$newId = $src_id;
}
$relations = $this->addRelation($newId,$colorobjectId,'colorDetails',$j);
if($variantcount < 1)
{
$subqty1 = "select * from object_relations_masterItem where src_id='".$pid."' and fieldname NOT IN ('colorDetails','sizeDetails')";
$subqty = Db::get()->prepare($subqty1);
$subqty->execute();
$subqtydata =$subqty->fetchAll();
$mn=0;
while($mn<count($subqtydata))
{
// $subdest_id = $subqtydata[$mn]['dest_id'];
// $subfieldname = $subqtydata[$mn]['fieldname'];
// $qryy = "INSERT INTO `object_relations_masterItem` (`src_id`, `dest_id`, `type`, `fieldname`, `index`, `ownertype`, `ownername`, `position`) VALUES ('".$newId."', '".$subdest_id."', 'object', '".$subfieldname."', '".$mn."', 'object', '', '0');";
// $stmt = Db::get()->prepare($qryy);
// $stmt->execute();
$mn++;
}
}
// $logger->error( 'only color '.$j, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
$j++;
}
$variantscount = count($colorDetails);
if($j > $variantscount)
{
$foo->setInVariantsProcess('no');
// $foo->save();
}
}
else if($totalcolors == 0 && $totalsizes > 1)
{
$pp=0;
$j=1;
foreach ($sizeDetails as $lists)
{
$src_id = $childIdArray[$pp];
$sizecode=$lists->getsizeCode();
$sizeobjectId=$lists->getId();
$pp++;
$variantcount = $this->checkSingleVariantIsPresentOrNot($src_id,$sizeobjectId,'sizeDetails');
if($variantcount > 0)
{
$objectSize = DataObject::getById($src_id);
}
else
{
$objectSize = new DataObject\ItemMaster();
}
$objectSize->setParent(DataObject\ItemMaster::getById($pid));
$productname = $itemShortDesc." ".$sizecode;
$objectSize->setKey(\Pimcore\Model\Element\Service::getValidKey($productname, 'object'));
$objectSize->setType(DataObject\AbstractObject::OBJECT_TYPE_VARIANT);
$objectSize->setitemDesc($productname);
$objectSize->setsetCode('0');
$objectSize->setitemShortDesc($itemShortDesc);
$objectSize->setstyleNum($styleNum);
$objectSize->setmfrNum($mfrNum);
$objectSize->setvendorPartNum($vendorPartNum);
$objectSize->setInVariantsProcess('yes');
$tireBrick = new DataObject\Objectbrick\Data\SaleInformation($objectSize);
$tireBrick->setcost($cost);
$tireBrick->setsellingPrice($sellingPrice);
$tireBrick->setoriginalSalePrice($originalSalePrice);
$objectSize->getsalesInformation()->setSaleInformation($tireBrick);
$objectSize->setitemDesc($productname);
$objectSize->setsetCode('0');
$objectSize->setPublished(true);
$objectSize->setpreventPosDl($preventPosDl);
//$myObject->setsku($sku);
$objectSize->setinnerPack($innerPack);
$objectSize->setcasePack($casePack);
$objectSize->setitemShortDesc($itemShortDesc);
$objectSize->setstyleNum($styleNum);
$objectSize->setmfrNum($mfrNum);
$objectSize->setvendorPartNum($vendorPartNum);
$objectSize->setInVariantsProcess('yes');
$objectSize->setsubbrandDetails($foo->getsubbrandDetails());
$objectSize->setskuType($foo->getskuType());
$objectSize->setvendorDetails($foo->getvendorDetails());
$objectSize->setbrandDetails($foo->getbrandDetails());
$objectSize->setbuyerDetails($foo->getbuyerDetails());
$objectSize->setstatusCode($foo->getstatusCode());
$objectSize->setseasonDetails($foo->getseasonDetails());
$objectSize->setextdClassification($foo->getextdClassification());
$objectSize->setattDetails1($foo->getattDetails1());
$objectSize->setattDetails2($foo->getattDetails2());
$objectSize->setattDetails3($foo->getattDetails3());
$objectSize->setattDetails4($foo->getattDetails4());
$objectSize->setattDetails5($foo->getattDetails5());
$objectSize->sethierarchyDetails($foo->gethierarchyDetails());
$objectSize->setbuyUMCD($foo->getbuyUMCD());
$objectSize->setsellUMCD($foo->getsellUMCD());
$newIddata = $objectSize->save();
$newId = $newIddata->getId();
if($totalcolors == 0)
{
$newObjectColor11 = new DataObject\Color\Listing();
$newObjectColor11->setCondition( "colorCD = ?",'9999');
$newObjectColor11->load();
foreach ($newObjectColor11 as $entrie)
{
$getColorObjcetId=$entrie->getId();
}
$variantfornoothercount = $this->checkSingleVariantIsPresentOrNot($newId,$getColorObjcetId,'colorDetails');
if($variantfornoothercount < 1)
{
/* $qryy = "INSERT INTO `object_relations_masterItem` (`src_id`, `dest_id`, `type`, `fieldname`, `index`, `ownertype`, `ownername`, `position`) VALUES ('".$newId."', '".$getColorObjcetId."', 'object', 'colorDetails', '".$j."', 'object', '', '0');";
$stmt = Db::get()->prepare($qryy);
$rdata = $stmt->execute(); */
}
}
// $imob = DataObject::getById($newId);
// $imob->setitemDesc($productname);
// $imob->setsetCode(0);
// $imob->save();
// $dqry ="DELETE FROM `object_relations_masterItem` WHERE `src_id` IN (".$childId.")";
// $dqrystmt = Db::get()->prepare($dqry);
// $dqrystmt = $dqrystmt->execute();
// throw new \Pimcore\Model\Element\ValidationException(".", 1234);
if($variantcount > 0 )
{
$newId = $src_id;
}
$relations = $this->addRelation($newId,$sizeobjectId,'sizeDetails',$j);
if($variantcount < 1)
{
$logger = \Pimcore::getContainer()->get(ApplicationLogger::class);
// $logger->error( 'only size '.$j, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
$subqty1 = "select * from object_relations_masterItem where src_id='".$pid."' and fieldname NOT IN ('colorDetails','sizeDetails')";
$subqty = Db::get()->prepare($subqty1);
$subqty->execute();
$subqtydata =$subqty->fetchAll();
$mn=0;
while($mn<count($subqtydata))
{
// $subdest_id = $subqtydata[$mn]['dest_id'];
// $subfieldname = $subqtydata[$mn]['fieldname'];
// $qryy = "INSERT INTO `object_relations_masterItem` (`src_id`, `dest_id`, `type`, `fieldname`, `index`, `ownertype`, `ownername`, `position`) VALUES ('".$newId."', '".$subdest_id."', 'object', '".$subfieldname."', '".$mn."', 'object', '', '0');";
// //$logger->error( 'only size '.$qryy, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
// $stmt = Db::get()->prepare($qryy);
// $stmt->execute();
}
//$logger->error( 'only size '.$j, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
$mn++;
}
$j++;
}
$variantscount = count($sizeDetails);
if($j > $variantscount)
{
$foo->setInVariantsProcess('no');
// $foo->save();
}
}
else if( $totalcolors > 0 && $totalsizes > 0)
{
$k=0;
$j=1;
$logger = \Pimcore::getContainer()->get(ApplicationLogger::class);
//$logger->error( "Id ->".$src_id, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
foreach ($colorDetails as $sublists)
{
//$colorcode=$sublists->getcolorCD();
$colorcode=$sublists->getshortDesc();
$colorobjectId=$sublists->getId();
//$colorcode=$sublists->getdesc();
$r=0;
$i=1;
$pp=0;
foreach ($sizeDetails as $lists)
{
$sizecode=$lists->getsizeCode();
$sizeId=$lists->getId();
//$src_id = $childIdArray[$pp];
/// exist data
// $logger->error( "Id ->".implode(",",$childIdArray), ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
$pp++;
if($childIdArray)
{
$nqury = "select * from object_masterItem where o_id IN (".implode(',',$childIdArray).") and colorDetails LIKE '%,".$colorobjectId.",%' and sizeDetails LIKE '%,".$sizeId.",%'";
// $logger->error( "exist query ".$nqury);
$exstmt = Db::get()->prepare($nqury);
$exstmt->execute();
$exdataAll =$exstmt->fetchAll();
$src_id = $exdataAll[0]['o_id'];
}
$fieldname = "'sizeDetails','colorDetails'";
//$logger->error( "Id ->".$src_id, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
$variantcount = $this->checkVariantIsPresentOrNot($src_id,$sizeId,$colorobjectId,$fieldname);
// $logger->error( $src_id."variat ->".$variantcount, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
// throw new \Pimcore\Model\Element\ValidationException($variantcount."You are not authorised to update the Attribute Code. ", 1234);
if($variantcount > 0)
{
$objectColor = DataObject::getById($src_id);
$ss= '1';
$DBcolorDetails=$objectColor->getcolorDetails();
$DBsizeDetails=$objectColor->getsizeDetails();
foreach ($DBsizeDetails as $szlists)
{
$DBsizeobjectId=$szlists->getId();
}
foreach ($DBcolorDetails as $cllists)
{
$DBcolorobjectId=$cllists->getId();
}
$szData = DataObject::getById($DBsizeobjectId);
$newsizecode=$szData->getsizeCode();
$clData = DataObject::getById($DBcolorobjectId);
$newcolorcode=$clData->getshortDesc();
$productname = $itemShortDesc." ".$newsizecode ." ".$newcolorcode;
//$objectColor->setKey(\Pimcore\Model\Element\Service::getValidKey($productname, 'object'));
}
else
{
$objectColor = new DataObject\ItemMaster();
$ss= '2';
$productname = $itemShortDesc." ".$sizecode ." ".$colorcode;
$objectColor->setKey(\Pimcore\Model\Element\Service::getValidKey($productname, 'object'));
}
// $logger->error( $ss."variat ->".$variantcount, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
$objectColor->setParentId($pid);
//$logger->error( $src_id."name ->".$productname, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
$objectColor->setType(DataObject\AbstractObject::OBJECT_TYPE_VARIANT);
$objectColor->setitemDesc($productname);
$objectColor->setsetCode('0');
$objectColor->setPublished(true);
$objectColor->setitemShortDesc($itemShortDesc);
$objectColor->setInVariantsProcess('yes');
$objectColor->setstyleNum($styleNum);
$objectColor->setmfrNum($mfrNum);
$objectColor->setvendorPartNum($vendorPartNum);
$objectColor->setsizeDetails( []);
$objectColor->setcolorDetails([]);
$tireBrick = new DataObject\Objectbrick\Data\SaleInformation($objectColor);
$cost = str_replace(',', '', $cost);
$sellingPrice = str_replace(',', '', $sellingPrice);
$originalSalePrice = str_replace(',', '', $originalSalePrice);
$cost = str_replace(' ', '', $cost);
$sellingPrice = str_replace(' ', '', $sellingPrice);
$originalSalePrice = str_replace(' ', '', $originalSalePrice);
$tireBrick->setcost($cost);
$tireBrick->setsellingPrice($sellingPrice);
$tireBrick->setoriginalSalePrice($originalSalePrice);
$objectColor->getsalesInformation()->setSaleInformation($tireBrick);
// $newIddata = $objectColor->save();
// $objectId = $newIddata->getId();
//$myObject = DataObject::getById($objectId);
$objectColor->setsetCode('0');
$objectColor->setPublished(true);
$objectColor->setpreventPosDl($preventPosDl);
//$myObject->setsku($sku);
$objectColor->setinnerPack($innerPack);
$objectColor->setcasePack($casePack);
try {
$objectColor->setsubbrandDetails($foo->getsubbrandDetails());
$objectColor->setskuType($foo->getskuType());
$objectColor->setvendorDetails($foo->getvendorDetails());
$objectColor->setbrandDetails($foo->getbrandDetails());
$objectColor->setbuyerDetails($foo->getbuyerDetails());
$objectColor->setstatusCode($foo->getstatusCode());
$objectColor->setseasonDetails($foo->getseasonDetails());
$objectColor->setextdClassification($foo->getextdClassification());
$objectColor->setattDetails1($foo->getattDetails1());
$objectColor->setattDetails2($foo->getattDetails2());
$objectColor->setattDetails3($foo->getattDetails3());
$objectColor->setattDetails4($foo->getattDetails4());
$objectColor->setattDetails5($foo->getattDetails5());
$objectColor->sethierarchyDetails($foo->gethierarchyDetails());
$objectColor->setbuyUMCD($foo->getbuyUMCD());
$objectColor->setsellUMCD($foo->getsellUMCD());
if($variantcount > 0)
{
$objectColor->save();
$objectId = $src_id;
}
else
{
$newIddata = $objectColor->save();
$objectId = $newIddata->getId();
}
}
catch(\Exception $e){
$errorMessage = $e->getMessage();
// $logger->error( 'both color and sizes '.$errorMessage, ['relatedObject' => $objectColor, "versionNote" => date("Y-m-d")." version"]);
}
$sql12 = "update object_masterItem set colorDetails =',".$colorobjectId.",' , sizeDetails = ',".$sizeId.",' where o_id='".$objectId."'";
$stmt12 = Db::get()->prepare($sql12);
$stmt12->execute();
//$ObjectId[] = $objectId;
// $imob = DataObject::getById($objectId);
// $imob->save();
// $dqry ="DELETE FROM `object_relations_masterItem` WHERE `src_id` IN (".$childId.")";
// $dqrystmt = Db::get()->prepare($dqry);
// $dqrystmt = $dqrystmt->execute();
// throw new \Pimcore\Model\Element\ValidationException($dqry.".", 1234);
$imob = DataObject::getById($colorobjectId);
$colodesc = $imob->getdesc();
if($colodesc = '')
{
//$tagdata = $this->AddTag($colodesc,$objectId);
}
if($variantcount > 0 )
{
//$logger->error( 'exist'.$src_id);
$objectId = $src_id;
}
//throw new \Pimcore\Model\Element\ValidationException("added", 1234);
$imob = DataObject::getById($sizeId);
$colodesc = $imob->getdescription();
if($colodesc = '')
{
//$tagdata = $this->AddTag($colodesc,$objectId);
}
//if($variantcount < 1 )
// {
if($objectId)
{
$dqry ="DELETE FROM `object_relations_masterItem` WHERE `src_id` IN (".$objectId.") and fieldname IN ('colorDetails','sizeDetails') ";
$dqrystmt = Db::get()->prepare($dqry);
$dqrystmt = $dqrystmt->execute();
$relations = $this->addRelation($objectId,$colorobjectId,'colorDetails',$j);
$relations = $this->addRelation($objectId,$sizeId,'sizeDetails',$i);
}
//}
$subqty1 = "select * from object_relations_masterItem where src_id='".$pid."' and fieldname NOT IN ('colorDetails','sizeDetails')";
$subqty = Db::get()->prepare($subqty1);
$subqty->execute();
$subqtydata =$subqty->fetchAll();
$mn=0;
while($mn<count($subqtydata))
{
$subdest_id = $subqtydata[$mn]['dest_id'];
$subfieldname = $subqtydata[$mn]['fieldname'];
$imob = DataObject::getById($subdest_id);
if($subfieldname == 'statusCode')
{
$desc = $imob->getdescription();
}
if($subfieldname == 'skuType')
{
$desc = $imob->getdescription();
}
if($subfieldname == 'vendorDetails')
{
$desc = $imob->getvendorName();
}
if($subfieldname == 'brandDetails')
{
$desc = $imob->getbrandName();
if($desc = '')
{
$tagdata = $this->AddTag($desc,$objectId);
}
}
if($subfieldname == 'subbrandDetails')
{
$desc = $imob->getsubbrandName();
if($desc = '')
{
$tagdata = $this->AddTag($desc,$objectId);
}
}
if($subfieldname == 'buyerDetails')
{
$desc = $imob->getbuyerName();
}
if($subfieldname == 'seasonDetails')
{
$desc = $imob->getdescription();
if($desc = '')
{
$tagdata = $this->AddTag($desc,$objectId);
}
}
if($subfieldname == 'extdClassification')
{
$desc = $imob->getextdClassName();
if($desc = '')
{
$tagdata = $this->AddTag($desc,$objectId);
}
}
if($subfieldname == 'attDetails1' || $subfieldname == 'attDetails2' || $subfieldname == 'attDetails3' || $subfieldname == 'attDetails4' || $subfieldname == 'attDetails5')
{
$desc = $imob->getdescription();
}
if($subfieldname == 'buyUMCD' || $subfieldname == 'sellUMCD')
{
$desc = $imob->getdescription();
}
if($desc = '')
{
// $tagdata = $this->AddTag($desc,$objectId);
}
if($variantcount < 1)
{
// $qryy = "INSERT INTO `object_relations_masterItem` (`src_id`, `dest_id`, `type`, `fieldname`, `index`, `ownertype`, `ownername`, `position`) VALUES ('".$objectId."', '".$subdest_id."', 'object', '".$subfieldname."', '".$mn."', 'object', '', '0');";
// $stmt = Db::get()->prepare($qryy);
// $stmt->execute();
}
$mn++;
}
$r++;
$i++;
}
$variantscount1 = count($sizeDetails);
$variantscount2 = count($colorDetails);
$j++;
$k++;
}
if($i > 0)
{
// $userM = new \Pimcore\Model\User();
// $user = $userM->getByName('user');
// $userId = $user->getId();
$foo->setInVariantsProcess('no');
$foo->setPublished(true);
// $foo->save();
$table = "object_masterItem";
$sql = "select * from ".$table." where o_parentId='".$pid."'";
$stmt = Db::get()->prepare($sql);
$stmt->execute();
$data11 =$stmt->fetchAll();
$m1=0;
while($m1<count($data11))
{
$peId = $data11[$m1]['oo_id'];
if($peId != $pid)
{
$subobject = DataObject::getById($peId);
$subobject->setInVariantsProcess('no');
// $subobject->setUserOwner($userId);
// $subobject->setUserModification($userId);
$subobject->setPublished(true);
$subobject->save();
//$subobject1 = DataObject::getById($pid);
// $subobject1->setInVariantsProcess('no');
// $subobject->setUserOwner($userId);
// $subobject->setUserModification($userId);
// $subobject1->setPublished(true);
//$subobject1->save();
}
// unset($subobject);
$m1++;
}
$sql = "update object_masterItem set InVariantsProcess ='no' where oo_id='".$pid."'";
$stmt = Db::get()->prepare($sql);
$stmt->execute();
// $sql = "update objects set InVariantsProcess ='no' where o_id='".$pid."'";
// $stmt = Db::get()->prepare($sql);
// $stmt->execute();
//update objects set o_published = '1' where o_id = '80627'
/* $peObject = new DataObject\ItemMaster\Listing();
$peObject->setCondition("o_parentId = :o_parentId", ["o_parentId" => $pid]);
$peObject->load();
foreach ($peObject as $entry) {
$peId = $entry->getId();
$subobject = DataObject::getById($peId);
$subobject->setInVariantsProcess('no');
$subobject->save();
unset($subobject);
} */
$logger = \Pimcore::getContainer()->get(ApplicationLogger::class);
//$logger->error( "in last loop", ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
}
}
else
{
}
$totalvariants = $totalcolors * $totalcolors;
if($totalvariants > 1)
{
$setCode = $foo->getsetCode();
if($setCode != '0' || $setCode != 0)
{
throw new \Pimcore\Model\Element\ValidationException("Please set setcode to 0.", 1234);
}
}
// $imob1 = DataObject::getById($pid);
// $imob1->setsetCode(0);
// $imob1->save();
if($totalrec > 0)
{
$styleNum = $foo->getstyleNum();
$mfrNum = $foo->getmfrNum();
$vendorPartNum = $foo->getvendorPartNum();
$preventPosDl = $foo->getpreventPosDl();
$setCode = $foo->getsetCode();
$innerPack = $foo->getinnerPack();
$casePack = $foo->getcasePack();
$POS12_Desc = $foo->getPOS12_Desc();
$itemMasterStatus = $foo->getitemMasterStatus();
$publishInBrandCom = $foo->getpublishInBrandCom();
$publishInZalora = $foo->getpublishInZalora();
$publishInTrunc = $foo->getpublishInTrunc();
$publishInLazada = $foo->getpublishInLazada();
$prodName = $foo->getprodName();
$prodID = $foo->getprodID();
$prodStyleID = $foo->getprodStyleID();
$handle = $foo->gethandle();
$prodLDesc = $foo->getprodLDesc();
$prodSDesc = $foo->getprodSDesc();
$inlineTextInfo = $foo->getinlineTextInfo();
$inlineTextInfo2 = $foo->getinlineTextInfo2();
$inlineTextInfo3 = $foo->getinlineTextInfo3();
$inlineTextInfo4 = $foo->getinlineTextInfo4();
$inlineTextInfo5 = $foo->getinlineTextInfo5();
$material = $foo->getmaterial();
$primaryCateg = $foo->getprimaryCateg();
$secondaryCateg = $foo->getsecondaryCateg();
$color = $foo->getcolor();
$colorFamily = $foo->getcolorFamily();
$size = $foo->getsize();
$seasonType = $foo->getseasonType();
$seasonYear = $foo->getseasonYear();
$gender = $foo->getgender();
$ageGroup = $foo->getageGroup();
$Vendor = $foo->getVendor();
$prodType = $foo->getprodType();
$prodTags = $foo->getprodTags();
$attributes = $foo->getattributes();
$mainAsset = $foo->getmainAsset();
$addAssets = $foo->getaddAssets();
$fabricAsset = $foo->getfabricAsset();
$swatch = $foo->getswatch();
$Status = $foo->getStatus();
$ZaloraSellerSKU = $foo->getZaloraSellerSKU();
$SkuSupplierConfig = $foo->getSkuSupplierConfig();
//$ZaloraCategories = $foo->getZaloraCategories();
$ZaloraImages = $foo->getZaloraImages();
$Zalora = $foo->getZalora();
$TruncCategories = $foo->getTruncCategories();
$Trunc = $foo->getTrunc();
$LazadaCategories = $foo->getLazadaCategories();
$Lazada = $foo->getLazada();
$collections = $foo->getcollections();
$customCollections = $foo->getcustomCollections();
//$BrandsComCategories = $foo->getBrandsComCategories();
$BrandCom = $foo->getBrandCom();
$ProcessJDA = $foo->getProcessJDA();
$shopifyProdStatus = $foo->getshopifyProdStatus();
$tempSuffix =$foo->gettempSuffix();
$handle =$foo->gethandle();
$Vendor =$foo->getVendor();
$prodType =$foo->getprodType();
$collections =$foo->getcollections();
$ShopifyProdTags =$foo->getShopifyProdTags();
$ShopifyprodPromotionalTags =$foo->getShopifyprodPromotionalTags();
$start_date =$foo->getstart_date();
$end_date =$foo->getend_date();
$promotional_tags_status =$foo->getpromotional_tags_status();
$Status =$foo->getStatus();
$ZaloraSellerSKU =$foo->getZaloraSellerSKU();
$SkuSupplierConfig =$foo->getSkuSupplierConfig();
$ZaloraPrimaryCateg =$foo->getZaloraPrimaryCateg();
$ZaloraSecondaryCateg =$foo->getZaloraSecondaryCateg();
$ZaloraImages = $foo->getZaloraImages();
$Luxury =$foo->getLuxury();
$MaterialComposition = $foo->getMaterialComposition();
$Ocassion = $foo->getOcassion();
$Pattern = $foo->getPattern();
$ZaloraSellingPrice = $foo->getZaloraSellingPrice();
$TruncCategories = $foo->getTruncCategories();
$LazadaCategories = $foo->getLazadaCategories();
$k=0;
$logger = \Pimcore::getContainer()->get(ApplicationLogger::class);
while($k<count($childIdArray))
{
$objectId = $childIdArray[$k];
$objectDataI = DataObject::getById($objectId);
if($objectDataI)
{
if($foo->getBrandCom())
{
if($foo->getBrandCom()->getDune())
{
$templateSuffix = $foo->getBrandCom()->getDune()->gettemplateSuffix();
$title_tag = $foo->getBrandCom()->getDune()->gettitle_tag();
$description_tag = $foo->getBrandCom()->getDune()->getdescription_tag();
$item_code = $foo->getBrandCom()->getDune()->getitem_code();
$variant_fastening = $foo->getBrandCom()->getDune()->getvariant_fastening();
$variant_feature = $foo->getBrandCom()->getDune()->getvariant_feature();
$variant_finish = $foo->getBrandCom()->getDune()->getvariant_finish();
$variant_heel_shape = $foo->getBrandCom()->getDune()->getvariant_heel_shape();
$variant_lining_material = $foo->getBrandCom()->getDune()->getvariant_lining_material();
$variant_material = $foo->getBrandCom()->getDune()->getvariant_material();
$variant_origin = $foo->getBrandCom()->getDune()->getvariant_origin();
$variant_pattern = $foo->getBrandCom()->getDune()->getvariant_pattern();
$variant_sole_material = $foo->getBrandCom()->getDune()->getvariant_sole_material();
$variant_toe_shape = $foo->getBrandCom()->getDune()->getvariant_toe_shape();
$alt_name = $foo->getBrandCom()->getDune()->getalt_name();
$variant_depth = $foo->getBrandCom()->getDune()->getvariant_depth();
$variant_handle_bag_drop = $foo->getBrandCom()->getDune()->getvariant_handle_bag_drop();
$variant_length = $foo->getBrandCom()->getDune()->getvariant_length();
$variant_strap_type = $foo->getBrandCom()->getDune()->getvariant_strap_type();
$variant_width = $foo->getBrandCom()->getDune()->getvariant_width();
$variant__heel_height = $foo->getBrandCom()->getDune()->getvariant__heel_height();
$variant__item_code = $foo->getBrandCom()->getDune()->getvariant__item_code();
$product_toe_shape = $foo->getBrandCom()->getDune()->getproduct_toe_shape();
$variant_short_description = $foo->getBrandCom()->getDune()->getvariant_short_description();
$tireBrick1 = new DataObject\Objectbrick\Data\Dune($objectDataI);
$tireBrick1->settemplateSuffix($templateSuffix);
$tireBrick1->settitle_tag($title_tag);
$tireBrick1->setdescription_tag($description_tag);
$tireBrick1->setvariant_fastening($variant_fastening);
$tireBrick1->setitem_code($item_code);
$tireBrick1->setvariant_feature($variant_feature);
$tireBrick1->setvariant_finish($variant_finish);
$tireBrick1->setvariant_heel_shape($variant_heel_shape);
$tireBrick1->setvariant_lining_material($variant_lining_material);
$tireBrick1->setvariant_material($variant_material);
$tireBrick1->setvariant_origin($variant_origin);
$tireBrick1->setvariant_pattern($variant_pattern);
$tireBrick1->setvariant_sole_material($variant_sole_material);
$tireBrick1->setvariant_toe_shape($variant_toe_shape);
$tireBrick1->setalt_name($alt_name);
$tireBrick1->setvariant_depth($variant_depth);
$tireBrick1->setvariant_handle_bag_drop($variant_handle_bag_drop);
$tireBrick1->setvariant_length($variant_length);
$tireBrick1->setvariant_strap_type($variant_strap_type);
$tireBrick1->setvariant_width($variant_width);
$tireBrick1->setvariant__heel_height($variant__heel_height);
$tireBrick1->setvariant__item_code($variant__item_code);
$tireBrick1->setproduct_toe_shape($product_toe_shape);
$tireBrick1->setvariant_short_description($variant_short_description);
$objectDataI->getBrandCom()->setDune($tireBrick1);
}
if($foo->getBrandCom()->getLUSH())
{
$templateSuffix = $foo->getBrandCom()->getLUSH()->gettemplateSuffix();
$title_tag = $foo->getBrandCom()->getLUSH()->gettitle_tag();
$description_tag = $foo->getBrandCom()->getLUSH()->getdescription_tag();
$specs_short_description = $foo->getBrandCom()->getLUSH()->getspecs_short_description();
$specs_featured_ingredienton1 = $foo->getBrandCom()->getLUSH()->getspecs_featured_ingredienton1();
$specs_ingredientsdienton2 = $foo->getBrandCom()->getLUSH()->getspecs_ingredientsdienton2();
$cresco_crescoIdton3 = $foo->getBrandCom()->getLUSH()->getcresco_crescoIdton3();
$judgeme_badge = $foo->getBrandCom()->getLUSH()->getjudgeme_badge();
$judgeme_widget = $foo->getBrandCom()->getLUSH()->getjudgeme_widget();
$specs_banner_image = $foo->getBrandCom()->getLUSH()->getspecs_banner_image();
$specs_gift_products = $foo->getBrandCom()->getLUSH()->getspecs_gift_products();
$c_f_specs = $foo->getBrandCom()->getLUSH()->getc_f_specs();
$specs_gift_products_gift_products = $foo->getBrandCom()->getLUSH()->getspecs_gift_products_gift_products();
$specs_banner_imgift_products1 = $foo->getBrandCom()->getLUSH()->getspecs_banner_imgift_products1();
$specs_banner_videoproducts2 = $foo->getBrandCom()->getLUSH()->getspecs_banner_videoproducts2();
$specs_banner_maintextroducts3 = $foo->getBrandCom()->getLUSH()->getspecs_banner_maintextroducts3();
$specs_banner_tabImgxtroducts4 = $foo->getBrandCom()->getLUSH()->getspecs_banner_tabImgxtroducts4();
$sub_description = $foo->getBrandCom()->getLUSH()->getsub_description();
$natural_ingredient = $foo->getBrandCom()->getLUSH()->getnatural_ingredient();
$safe_synthetics = $foo->getBrandCom()->getLUSH()->getsafe_synthetics();
$eo_occurence = $foo->getBrandCom()->getLUSH()->geteo_occurence();
$tireBrick2 = new DataObject\Objectbrick\Data\LUSH($objectDataI);
$tireBrick2->settemplateSuffix($templateSuffix);
$tireBrick2->settitle_tag($title_tag);
$tireBrick2->setdescription_tag($description_tag);
$tireBrick2->setspecs_short_description($specs_short_description);
$tireBrick2->setspecs_featured_ingredienton1($specs_featured_ingredienton1);
$tireBrick2->setspecs_ingredientsdienton2($specs_ingredientsdienton2);
$tireBrick2->setcresco_crescoIdton3($cresco_crescoIdton3);
$tireBrick2->setjudgeme_badge($judgeme_badge);
$tireBrick2->setjudgeme_widget($judgeme_widget);
$tireBrick2->setspecs_banner_image($specs_banner_image);
$tireBrick2->setspecs_gift_products($specs_gift_products);
$tireBrick2->setc_f_specs($c_f_specs);
$tireBrick2->setspecs_gift_products_gift_products($specs_gift_products_gift_products);
$tireBrick2->setspecs_banner_imgift_products1($specs_banner_imgift_products1);
$tireBrick2->setspecs_banner_videoproducts2($specs_banner_videoproducts2);
$tireBrick2->setspecs_banner_maintextroducts3($specs_banner_maintextroducts3);
$tireBrick2->setspecs_banner_tabImgxtroducts4($specs_banner_tabImgxtroducts4);
$tireBrick2->setsub_description($sub_description);
$tireBrick2->seteo_occurence($eo_occurence);
$tireBrick2->setnatural_ingredient($natural_ingredient);
$tireBrick2->setsafe_synthetics($safe_synthetics);
$objectDataI->getBrandCom()->setLUSH($tireBrick2);
}
if($foo->getBrandCom()->getLacoste())
{
$templateSuffix = $foo->getBrandCom()->getLacoste()->gettemplateSuffix();
$title_tag = $foo->getBrandCom()->getLacoste()->gettitle_tag();
$description_tag = $foo->getBrandCom()->getLacoste()->getdescription_tag();
$swatch_image = $foo->getBrandCom()->getLacoste()->getswatch_image();
$spec_swatch_image = $foo->getBrandCom()->getLacoste()->getspec_swatch_image();
$specs_product_ref = $foo->getBrandCom()->getLacoste()->getspecs_product_ref();
$specs_care_washing = $foo->getBrandCom()->getLacoste()->getspecs_care_washing();
$specs_care_bleaching = $foo->getBrandCom()->getLacoste()->getspecs_care_bleaching();
$specs_care_tumbledrying = $foo->getBrandCom()->getLacoste()->getspecs_care_tumbledrying();
$specs_care_ironing = $foo->getBrandCom()->getLacoste()->getspecs_care_ironing();
$specs_care_drycleaning = $foo->getBrandCom()->getLacoste()->getspecs_care_drycleaning();
$specs_care_drying = $foo->getBrandCom()->getLacoste()->getspecs_care_drying();
$specs_product_ref_old = $foo->getBrandCom()->getLacoste()->getspecs_product_ref_old();
$specs_productRef = $foo->getBrandCom()->getLacoste()->getspecs_productRef();
$tireBrick3 = new DataObject\Objectbrick\Data\Lacoste($objectDataI);
$tireBrick3->settemplateSuffix($templateSuffix);
$tireBrick3->settitle_tag($title_tag);
$tireBrick3->setdescription_tag($description_tag);
$tireBrick3->setswatch_image($swatch_image);
$tireBrick3->setspec_swatch_image($spec_swatch_image);
$tireBrick3->setspecs_product_ref($specs_product_ref);
$tireBrick3->setspecs_care_washing($specs_care_washing);
$tireBrick3->setspecs_care_bleaching($specs_care_bleaching);
$tireBrick3->setspecs_care_tumbledrying($specs_care_tumbledrying);
$tireBrick3->setspecs_care_ironing($specs_care_ironing);
$tireBrick3->setspecs_care_drycleaning($specs_care_drycleaning);
$tireBrick3->setspecs_care_drying($specs_care_drying);
$tireBrick3->setspecs_product_ref_old($specs_product_ref_old);
$tireBrick3->setspecs_productRef($specs_productRef);
$objectDataI->getBrandCom()->setLacoste($tireBrick3);
}
if($foo->getBrandCom()->getSuperga())
{
$templateSuffix = $foo->getBrandCom()->getSuperga()->gettemplateSuffix();
$title_tag = $foo->getBrandCom()->getSuperga()->gettitle_tag();
$description_tag = $foo->getBrandCom()->getSuperga()->getdescription_tag();
$specs_style_number = $foo->getBrandCom()->getSuperga()->getspecs_style_number();
$tireBrick4 = new DataObject\Objectbrick\Data\Superga($objectDataI);
$tireBrick4->settemplateSuffix($templateSuffix);
$tireBrick4->settitle_tag($title_tag);
$tireBrick4->setdescription_tag($description_tag);
$tireBrick4->setspecs_style_number($specs_style_number);
$objectDataI->getBrandCom()->setSuperga($tireBrick4);
}
}
if($foo->getZalora())
{
if($foo->getZalora()->getZAccesories())
{
$AccessoriesCollection = $foo->getZalora()->getZAccesories()->getAccessoriesCollection();
$TechnicalFeatures = $foo->getZalora()->getZAccesories()->getTechnicalFeatures();
$tireBrick5 = new DataObject\Objectbrick\Data\ZAccesories($objectDataI);
$tireBrick5->setAccessoriesCollection($AccessoriesCollection);
$tireBrick5->setTechnicalFeatures($TechnicalFeatures);
$objectDataI->getZalora()->setZAccesories($tireBrick5);
}
if($foo->getZalora()->getZApparel())
{
$Details = $foo->getZalora()->getZApparel()->getDetails();
$Style = $foo->getZalora()->getZApparel()->getStyle();
$AType = $foo->getZalora()->getZApparel()->getAType();
$Care = $foo->getZalora()->getZApparel()->getCare();
$Fitting = $foo->getZalora()->getZApparel()->getFitting();
$Length = $foo->getZalora()->getZApparel()->getLength();
$Waist = $foo->getZalora()->getZApparel()->getWaist();
$Neck = $foo->getZalora()->getZApparel()->getNeck();
$tireBrick6 = new DataObject\Objectbrick\Data\ZApparel($objectDataI);
$tireBrick6->setDetails($Details);
$tireBrick6->setStyle($Style);
$tireBrick6->setAType($AType);
$tireBrick6->setCare($Care);
$tireBrick6->setFitting($Fitting);
$tireBrick6->setLength($Length);
$tireBrick6->setWaist($Waist);
$tireBrick6->setNeck($Neck);
$objectDataI->getZalora()->setZApparel($tireBrick6);
}
if($foo->getZalora()->getZFootwear())
{
$Fastening = $foo->getZalora()->getZFootwear()->getFastening();
$ToeShape = $foo->getZalora()->getZFootwear()->getToeShape();
$ShoeWidth = $foo->getZalora()->getZFootwear()->getShoeWidth();
$HeelHeight = $foo->getZalora()->getZFootwear()->getHeelHeight();
$Heels = $foo->getZalora()->getZFootwear()->getHeels();
$tireBrick7 = new DataObject\Objectbrick\Data\ZFootwear($objectDataI);
$tireBrick7->setFastening($Fastening);
$tireBrick7->setToeShape($ToeShape);
$tireBrick7->setShoeWidth($ShoeWidth);
$tireBrick7->setHeelHeight($HeelHeight);
$tireBrick7->setHeels($Heels);
$objectDataI->getZalora()->setZFootwear($tireBrick7);
}
if($foo->getZalora()->getZUnderwearAndSwimwear())
{
$USType = $foo->getZalora()->getZUnderwearAndSwimwear()->getUSType();
$tireBrick8 = new DataObject\Objectbrick\Data\ZUnderwearAndSwimwear($objectDataI);
$tireBrick8->setUSType($USType);
$objectDataI->getZalora()->setZFootwear($tireBrick8);
}
if($foo->getZalora()->getZaloraAddFields())
{
$z_salePrice = $foo->getZalora()->getZaloraAddFields()->getz_salePrice();
$z_SaleStartDate = $foo->getZalora()->getZaloraAddFields()->getz_SaleStartDate();
$z_SaleEndDate = $foo->getZalora()->getZaloraAddFields()->getz_SaleEndDate();
$z_catalogType = $foo->getZalora()->getZaloraAddFields()->getz_catalogType();
$z_landingPage = $foo->getZalora()->getZaloraAddFields()->getz_landingPage();
$z_sizeSystem = $foo->getZalora()->getZaloraAddFields()->getz_sizeSystem();
$z_variants = $foo->getZalora()->getZaloraAddFields()->getz_variants();
$z_carelabel = $foo->getZalora()->getZaloraAddFields()->getz_carelabel();
$z_measurementDetails = $foo->getZalora()->getZaloraAddFields()->getz_measurementDetails();
$z_modeIsWearing = $foo->getZalora()->getZaloraAddFields()->getz_modeIsWearing();
$z_modeBodyMeasurement = $foo->getZalora()->getZaloraAddFields()->getz_modeBodyMeasurement();
$tireBrick9 = new DataObject\Objectbrick\Data\ZaloraAddFields($objectDataI);
$tireBrick9->setz_salePrice($z_salePrice);
$tireBrick9->setz_SaleStartDate($z_SaleStartDate);
$tireBrick9->setz_SaleEndDate($z_SaleEndDate);
$tireBrick9->setz_catalogType($z_catalogType);
$tireBrick9->setz_landingPage($z_landingPage);
$tireBrick9->setz_sizeSystem($z_sizeSystem);
$tireBrick9->setz_variants($z_variants);
$tireBrick9->setz_carelabel($z_carelabel);
$tireBrick9->setz_measurementDetails($z_measurementDetails);
$tireBrick9->setz_modeIsWearing($z_modeIsWearing);
$tireBrick9->setz_modeBodyMeasurement($z_modeBodyMeasurement);
$objectDataI->getZalora()->setZaloraAddFields($tireBrick9);
}
}
if($foo->getTrunc())
{
if($foo->getTrunc()->getTruncAdditionalFields())
{
$NewsFromDate = $foo->getTrunc()->getTruncAdditionalFields()->getNewsFromDate();
$NewsToDate = $foo->getTrunc()->getTruncAdditionalFields()->getNewsToDate();
$RelatedProducts = $foo->getTrunc()->getTruncAdditionalFields()->getRelatedProducts();
$UpSellProducts = $foo->getTrunc()->getTruncAdditionalFields()->getUpSellProducts();
$CrossSellProducts = $foo->getTrunc()->getTruncAdditionalFields()->getCrossSellProducts();
$tireBrick10 = new DataObject\Objectbrick\Data\TruncAdditionalFields($objectDataI);
$tireBrick10->setNewsFromDate($NewsFromDate);
$tireBrick10->setNewsToDate($NewsToDate);
$tireBrick10->setRelatedProducts($RelatedProducts);
$tireBrick10->setUpSellProducts($UpSellProducts);
$tireBrick10->setCrossSellProducts($CrossSellProducts);
$objectDataI->getTrunc()->setTruncAdditionalFields($tireBrick10);
}
}
$objectDataI->setshopifyProdStatus($shopifyProdStatus);
$objectDataI->settempSuffix($tempSuffix);
$objectDataI->sethandle($handle);
$objectDataI->setVendor($Vendor);
$objectDataI->setprodType($prodType);
$objectDataI->setcollections($collections);
$objectDataI->setShopifyProdTags($ShopifyProdTags);
$objectDataI->setShopifyprodPromotionalTags($ShopifyprodPromotionalTags);
$objectDataI->setstart_date($start_date);
$objectDataI->setend_date($end_date);
$objectDataI->setpromotional_tags_status($promotional_tags_status);
$objectDataI->setStatus($Status);
$objectDataI->setZaloraSellerSKU($ZaloraSellerSKU);
$objectDataI->setZaloraPrimaryCateg($ZaloraPrimaryCateg);
$objectDataI->setZaloraSecondaryCateg($ZaloraSecondaryCateg);
$objectDataI->setZaloraImages($ZaloraImages);
$objectDataI->setLuxury($Luxury);
$objectDataI->setMaterialComposition($MaterialComposition);
$objectDataI->setOcassion($Ocassion);
$objectDataI->setPattern($Pattern);
$objectDataI->setZaloraSellingPrice($ZaloraSellingPrice);
$objectDataI->setTruncCategories($TruncCategories);
$objectDataI->setLazadaCategories($LazadaCategories);
$objectDataI->setProcessJDA($ProcessJDA);
/* $objectDataI->setcolor($color);
$objectDataI->setsize($size);
$objectDataI->setmainAsset($mainAsset);
$objectDataI->setaddAssets($addAssets); */
$objectDataI->setitemMasterStatus($itemMasterStatus);
/* $objectDataI->setpublishInBrandCom($publishInBrandCom);
$objectDataI->setpublishInZalora($publishInZalora);
$objectDataI->setpublishInTrunc($publishInTrunc);
$objectDataI->setpublishInLazada($publishInLazada); */
$objectDataI->setprodName($prodName);
$objectDataI->setprodID($prodID);
$objectDataI->setprodStyleID($prodStyleID);
$objectDataI->sethandle($handle);
$objectDataI->setprodLDesc($prodLDesc);
$objectDataI->setprodSDesc($prodSDesc);
$objectDataI->setinlineTextInfo($inlineTextInfo);
$objectDataI->setinlineTextInfo2($inlineTextInfo2);
$objectDataI->setinlineTextInfo3($inlineTextInfo3);
$objectDataI->setinlineTextInfo4($inlineTextInfo4);
$objectDataI->setinlineTextInfo5($inlineTextInfo5);
$objectDataI->setmaterial($material);
$objectDataI->setprimaryCateg($primaryCateg);
$objectDataI->setsecondaryCateg($secondaryCateg);
//$objectDataI->setcolorFamily($colorFamily);
//$objectDataI->setsize(4);
$objectDataI->setseasonType($seasonType);
$objectDataI->setseasonYear($seasonYear);
//$objectDataI->setgender($gender);
//$objectDataI->setageGroup($ageGroup);
//$objectDataI->setVendor($Vendor);
//$objectDataI->setprodType($prodType);
$objectDataI->setprodTags($prodTags);
//$objectDataI->setattributes($attributes);
$Accessories = $foo->getattributes()->getAccessories();
$Apparel = $foo->getattributes()->getApparel();
$Bags = $foo->getattributes()->getBags();
$Beauty = $foo->getattributes()->getBeauty();
$Dimensions = $foo->getattributes()->getDimensions();
$Foods = $foo->getattributes()->getFoods();
$Footwear = $foo->getattributes()->getFootwear();
$Gifts = $foo->getattributes()->getGifts();
if($Accessories)
$objectDataI->getattributes()->setAccessories($Accessories);
if($Apparel)
$objectDataI->getattributes()->setApparel($Apparel);
if($Bags)
$objectDataI->getattributes()->setBags($Bags);
if($Beauty)
$objectDataI->getattributes()->setBeauty($Beauty);
if($Dimensions)
$objectDataI->getattributes()->setDimensions($Dimensions);
if($Foods)
$objectDataI->getattributes()->setFoods($Foods);
if($Footwear)
$objectDataI->getattributes()->setFootwear($Footwear);
if($Gifts)
$objectDataI->getattributes()->setGifts($Gifts);
/*
$objectDataI->setfabricAsset($fabricAsset);
$objectDataI->setswatch($swatch); */
$objectDataI->setStatus($Status);
$objectDataI->setZaloraSellerSKU($ZaloraSellerSKU);
$objectDataI->setSkuSupplierConfig($SkuSupplierConfig);
//$objectDataI->setZaloraCategories($ZaloraCategories);
/* $objectDataI->setZaloraImages($ZaloraImages);
$objectDataI->setZalora($Zalora);
$objectDataI->setTruncCategories($TruncCategories);
$objectDataI->setTrunc($Trunc);
$objectDataI->setLazadaCategories($LazadaCategories);
$objectDataI->setLazada($Lazada );*/
//$objectDataI->setcollections($collections);
//$objectDataI->setcustomCollections($customCollections);
//$objectDataI->setBrandsComCategories($BrandsComCategories);
//$objectDataI->setBrandCom(65);
$objectDataI->setstyleNum($styleNum);
$objectDataI->setmfrNum($mfrNum);
$objectDataI->setvendorPartNum($vendorPartNum);
$objectDataI->setpreventPosDl($preventPosDl);
$objectDataI->setsetCode($setCode);
$objectDataI->setinnerPack($innerPack);
$objectDataI->setcasePack($casePack);
$objectDataI->setPOS12_Desc($POS12_Desc);
$tireBrick = new DataObject\Objectbrick\Data\SaleInformation($objectDataI);
$tireBrick->setcost($cost);
$tireBrick->setsellingPrice($sellingPrice);
$tireBrick->setoriginalSalePrice($originalSalePrice);
$objectDataI->getsalesInformation()->setSaleInformation($tireBrick);
//$objectDataI->setPublished(true);
}
//$logger->error( "in last loop", ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
try {
$objectDataI->save();
}
catch(\Exception $e){
$errorMessage = $e->getMessage();
$logger->error( $errorMessage, ['relatedObject' => $objectDataI, "versionNote" => date("Y-m-d")." version"]);
}
unset($objectDataI);
$k++;
}
}
}
}
}
public function onPreAdd(ElementEventInterface $e)
{
}
public function onPreUpdateold(ElementEventInterface $e)
{}
public function onPreUpdate(ElementEventInterface $e)
{
if($e instanceof AssetEvent) {
// do something with the asset
$foo = $e->getAsset();
} else if ($e instanceof DocumentEvent) {
// do something with the document
$foo = $e->getDocument();
} else if ($e instanceof DataObjectEvent) {
// do something with the object
$foo = $e->getObject();
$pid = $foo->getId();
$claname = '';
$otype = $foo->geto_type();
if($otype == 'object')
{
$o_published =$foo->geto_published();
$user = \Pimcore\Tool\Admin::getCurrentUser();
$claname = $foo->geto_className();
}
// throw new \Pimcore\Model\Element\ValidationException($otype, 1234);
if( ( $claname == 'itemMaster' || $claname == 'ItemMaster' ) && $otype == 'object' && $o_published == 1 && $user != null)
{
// $foo->setPublished(true);
//throw new \Pimcore\Model\Element\ValidationException($otype, 1234);
//throw new \Pimcore\Model\Element\ValidationException("before update.", 1234);
$table = "object_masterItem";
$sql = "select * from ".$table." where o_parentId='".$pid."'";
$stmt = Db::get()->prepare($sql);
$stmt->execute();
$data =$stmt->fetchAll();
$totalrec = count($data);
$tableOne = "object_masterItem";
$query = "select * from ".$tableOne." where oo_id='".$pid."'";
$statment = Db::get()->prepare($query);
$statment->execute();
$dataGet =$statment->fetchAll();
$colorDetailsDB = $dataGet[0]['colorDetails'];
$sizeDetailsDB = $dataGet[0]['sizeDetails'];
$colorDetails=$foo->getcolorDetails();
$sizeDetails=$foo->getsizeDetails();
$styleNum = $foo->getstyleNum();
$dateTimeCreatedJDA = $foo->getdateTimeCreatedJDA();
if(count($colorDetails) > 1 || count($sizeDetails) > 1)
{
if($styleNum=='')
{
//throw new \Pimcore\Model\Element\ValidationException("Please enter Syle Number.", 1234);
}
}
if($dateTimeCreatedJDA)
{
if($styleNum=='')
{
//throw new \Pimcore\Model\Element\ValidationException("Please enter Syle Number.", 1234);
}
}
$newColorsArray = array();
$newSizeArray = array();
$r=0;
foreach ($colorDetails as $lists)
{
$newColorsArray[$r]=$lists->getId();
$r++;
}
$r=0;
foreach ($sizeDetails as $listsx)
{
$newSizeArray[$r]=$listsx->getId();
$r++;
}
if($styleNum)
{
//print_r($newSizeArray);
if(count($newSizeArray) < 1)
{
throw new \Pimcore\Model\Element\ValidationException("Please select atleast one size.", 1234);
}
if(count($newColorsArray) < 1)
{
throw new \Pimcore\Model\Element\ValidationException("Please select atleast one color.", 1234);
}
}
$oldColors = explode(',', $colorDetailsDB);
$oldSizes = explode(',', $sizeDetailsDB);
$t=0;
while($t<count($oldColors))
{
if($oldColors[$t] != '')
{
if (!(in_array($oldColors[$t], $newColorsArray)))
{
throw new \Pimcore\Model\Element\ValidationException("You are not allowed to remove the existing color.", 1234);
}
else
{
}
}
$t++;
}
$t=0;
while($t<count($oldSizes))
{
if($oldSizes[$t] != '')
{
if (!(in_array($oldSizes[$t], $newSizeArray)))
{
throw new \Pimcore\Model\Element\ValidationException("You are not allowed to remove the existing size.", 1234);
}
else
{
}
}
$t++;
}
//61350,61352,61351
//throw new \Pimcore\Model\Element\ValidationException($totalrec, 1234);
if($totalrec == 0)
{
$itemShortDesc = $foo->getitemShortDesc();
$itemDesc = $foo->getitemDesc();
$colorDetails=$foo->getcolorDetails();
$sizeDetails=$foo->getsizeDetails();
$totalcolors = count($colorDetails);
$totalsizes = count($sizeDetails);
$brandDetails=$foo->getbrandDetails();
$extdClassification=$foo->getextdClassification();
foreach ($brandDetails as $lists)
{
$bbrand_id = $lists->getId();
$brobjectData = DataObject::getById($bbrand_id);
$brand_code1 = $brobjectData->getbrandCD();
}
foreach ($extdClassification as $lists)
{
$ex_id = $lists->getId();
$exobjectData = DataObject::getById($ex_id);
$exbrandata = $exobjectData->getbrandCode();
foreach ($exbrandata as $lists2)
{
$exbrand_id = $lists2->getId();
$brand_code2 = $lists2->getbrandCD();
}
}
if($brand_code2!='')
{
if($brand_code1 != $brand_code2)
{
throw new \Pimcore\Model\Element\ValidationException("Selected Extended Classification brand Code must be the same with Brand Details.", 1234);
}
}
if($totalcolors > 1 || $totalsizes > 1)
{
$setcode = $foo->getsetCode();
// throw new \Pimcore\Model\Element\ValidationException($setcode."Please select set code 0.", 1234);
if($setcode != '0')
{
throw new \Pimcore\Model\Element\ValidationException("Please select set code 0.", 1234);
}
}
$totalvariants = $totalcolors * $totalcolors;
if($totalvariants > 1)
{
if($foo->gettype() == 'object')
{
$foo->setInVariantsProcess('yes');
}
$setCode = $foo->getsetCode();
if($setCode != '0' || $setCode != 0)
{
throw new \Pimcore\Model\Element\ValidationException("Please set setcode to 0.", 1234);
}
}
}
else
{
//throw new \Pimcore\Model\Element\ValidationException("Please select set code 0.", 1234);
}
}
}
}
public function AddTag($tagname,$id)
{
$tags = \Pimcore\Model\Element\Tag::getTagsForElement('object', $id);
$t=0;
$tagArray = array();
while($t<count($tags))
{
$tagArray[] = $tags[$t]->name;
$t++;
}
if(in_array($tagname, $tagArray))
{
//echo "available";
}
else
{
$tag = new \Pimcore\Model\Element\Tag();
try {
$tag->setName($tagname)->save();
\Pimcore\Model\Element\Tag::addTagToElement('object', $id, $tag);
} catch (Exception $e) {
}
}
return true;
}
function checkVariantIsPresentOrNot($src_id,$sizeId,$colorobjectId,$fieldname)
{
$count=0;
if($src_id != '' && $src_id != '0')
{
$tablename = "object_relations_masterItem";
$sql = "select * from ".$tablename." where src_id = '".$src_id."' and fieldname IN (".$fieldname.")";
// throw new \Pimcore\Model\Element\ValidationException($sql."", 1234);
$logger = \Pimcore::getContainer()->get(ApplicationLogger::class);
//$logger->error( $sql, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
$stmt = Db::get()->prepare($sql);
$stmt->execute();
$dataAll =$stmt->fetchAll();
$count = count($dataAll);
}
return $count;
}
function addRelation($src_id,$dest_id,$fieldname,$index)
{
$tablename = "object_relations_masterItem";
$sql = "select * from ".$tablename." where src_id = '".$src_id."' and dest_id = '".$dest_id."' and fieldname = '".$fieldname."'";
//throw new \Pimcore\Model\Element\ValidationException($sql."", 1234);
$stmt = Db::get()->prepare($sql);
$stmt->execute();
$dataAll =$stmt->fetchAll();
$count = count($dataAll);
if($count < 1)
{
$qryy = "INSERT INTO `object_relations_masterItem` (`src_id`, `dest_id`, `type`, `fieldname`, `index`, `ownertype`, `ownername`, `position`) VALUES ('".$src_id."', '".$dest_id."', 'object', '".$fieldname."', '".$index."', 'object', '', '0');";
$stmt = Db::get()->prepare($qryy);
$rdata = $stmt->execute();
}
}
function checkSingleVariantIsPresentOrNot($src_id,$dest_id,$fieldname)
{
$tablename = "object_relations_masterItem";
$sql = "select * from ".$tablename." where src_id = '".$src_id."' and dest_id ='".$dest_id."' and fieldname = '".$fieldname."'";
//throw new \Pimcore\Model\Element\ValidationException($sql."", 1234);
$logger = \Pimcore::getContainer()->get(ApplicationLogger::class);
// $logger->error( $sql, ['relatedObject' => $foo, "versionNote" => date("Y-m-d")." version"]);
$stmt = Db::get()->prepare($sql);
$stmt->execute();
$dataAll =$stmt->fetchAll();
$count = count($dataAll);
return $count;
}
}
?>