for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @copyright Copyright (c) Flipbox Digital Limited
* @license https://flipboxfactory.com/software/hubspot/license
* @link https://www.flipboxfactory.com/software/hubspot/
*/
namespace flipbox\craft\hubspot\fields\actions;
use Craft;
use craft\base\ElementInterface;
use flipbox\craft\hubspot\fields\ObjectsFieldInterface;
use flipbox\craft\integration\fields\actions\AbstractIntegrationItemAction;
use flipbox\craft\integration\fields\Integrations;
use flipbox\craft\integration\records\IntegrationAssociation;
class SyncItemTo extends AbstractIntegrationItemAction
{
* @inheritdoc
public function getTriggerLabel(): string
return Craft::t('hubspot', 'Sync To HubSpot');
}
public function getConfirmationMessage()
return Craft::t('hubspot', "Performing a sync will transmit any unsaved data. Please confirm to continue.");
* @throws \Throwable
public function performAction(Integrations $field, ElementInterface $element, IntegrationAssociation $record): bool
if (!$field instanceof ObjectsFieldInterface) {
$this->setMessage("Invalid field type.");
return false;
if (!$field->syncToHubSpot($element)) {
$this->setMessage("Failed to sync to HubSpot");
$this->setMessage("Sync to HubSpot executed successfully");
return true;