UnpublishingIsEnabled.php in Scheduler 2.x
Same filename and directory in other branches
File
scheduler_rules_integration/src/Plugin/Condition/UnpublishingIsEnabled.phpView source
<?php
namespace Drupal\scheduler_rules_integration\Plugin\Condition;
use Drupal\Core\Entity\EntityInterface;
use Drupal\rules\Core\RulesConditionBase;
/**
* Provides 'Unpublishing is enabled for the type of this entity' condition.
*
* @Condition(
* id = "scheduler_unpublishing_is_enabled",
* deriver = "Drupal\scheduler_rules_integration\Plugin\Condition\ConditionDeriver"
* )
*/
class UnpublishingIsEnabled extends RulesConditionBase {
/**
* Determines whether scheduled unpublishing is enabled for this entity type.
*
* @param \Drupal\Core\Entity\EntityInterface $entity
* The entity to be checked.
*
* @return bool
* TRUE if scheduled unpublishing is enabled for the bundle of this entity
* type.
*/
public function doEvaluate(EntityInterface $entity) {
$config = \Drupal::config('scheduler.settings');
$bundle_field = $entity
->getEntityType()
->get('entity_keys')['bundle'];
return $entity->{$bundle_field}->entity
->getThirdPartySetting('scheduler', 'unpublish_enable', $config
->get('default_unpublish_enable'));
}
}
Classes
Name | Description |
---|---|
UnpublishingIsEnabled | Provides 'Unpublishing is enabled for the type of this entity' condition. |