class AdminPin in moderated content bulk publish 8
Same name and namespace in other branches
- 2.0.x src/AdminPin.php \Drupal\moderated_content_bulk_publish\AdminPin
- 1.0.x src/AdminPin.php \Drupal\moderated_content_bulk_publish\AdminPin
A Helper Class to assist with the pin and unpin bulk action.
- Called by Pin and Unpin Content Bulk Operations
- Easy one-stop shop to make modifications to these bulk actions.
Hierarchy
- class \Drupal\moderated_content_bulk_publish\AdminPin
Expanded class hierarchy of AdminPin
2 files declare their use of AdminPin
- PinContentAction.php in src/
Plugin/ Action/ PinContentAction.php - UnpinContentAction.php in src/
Plugin/ Action/ UnpinContentAction.php
File
- src/
AdminPin.php, line 12
Namespace
Drupal\moderated_content_bulk_publishView source
class AdminPin {
//set this to true to send to $testEmailList
private $testMode = false;
private $entity = null;
private $nid = 0;
private $status = 0;
// Default is 0, unpin.
public function __construct($entity, $status) {
$this->entity = $entity;
if (!is_null($status)) {
$this->status = $status;
}
$this->nid = $this->entity
->id();
}
/**
* Unpin current revision.
*/
public function unpin() {
$user = \Drupal::currentUser();
\Drupal::logger('PIN_UNPIN')
->notice(utf8_encode('Unpin action in moderated_content_bulk_publish'));
$allLanguages = AdminHelper::getAllEnabledLanguages();
foreach ($allLanguages as $langcode => $languageName) {
if ($this->entity
->hasTranslation($langcode)) {
$this->entity = $this->entity
->getTranslation($langcode);
$this->entity
->setSticky(FALSE);
if ($this->entity instanceof RevisionLogInterface) {
$this->entity
->setRevisionCreationTime(\Drupal::time()
->getRequestTime());
$msg = 'Bulk operation unpin content';
$this->entity
->setRevisionLogMessage($msg);
$current_uid = \Drupal::currentUser()
->id();
$this->entity
->setRevisionUserId($current_uid);
}
if ($user
->hasPermission('moderated content bulk unpin content')) {
$this->entity
->save();
}
else {
\Drupal::logger('moderated_content_bulk_publish')
->notice(utf8_encode("Bulk unpin not permitted, check permissions."));
}
if ($this->entity
->isSticky()) {
$entity_manager = \Drupal::entityTypeManager();
$this->entity = $entity_manager
->getStorage($this->entity
->getEntityTypeId())
->load($this->nid);
$this->entity
->setSticky(FALSE);
if ($this->entity instanceof RevisionLogInterface) {
$this->entity
->setRevisionCreationTime(\Drupal::time()
->getRequestTime());
$msg = 'Bulk operation unpin content';
$this->entity
->setRevisionLogMessage($msg);
$current_uid = \Drupal::currentUser()
->id();
$this->entity
->setRevisionUserId($current_uid);
}
if ($user
->hasPermission('moderated content bulk unpin content')) {
$this->entity
->save();
}
else {
\Drupal::logger('moderated_content_bulk_publish')
->notice(utf8_encode("Bulk unpin not permitted, check permissions."));
}
}
}
}
return $this->entity;
}
/**
* Pin Content.
*/
public function pin() {
$user = \Drupal::currentUser();
\Drupal::logger('PIN_UNPIN')
->notice(utf8_encode('Pin action in moderated_content_bulk_publish'));
$allLanguages = AdminHelper::getAllEnabledLanguages();
foreach ($allLanguages as $langcode => $languageName) {
if ($this->entity
->hasTranslation($langcode)) {
$this->entity = $this->entity
->getTranslation($langcode);
$this->entity
->setSticky(TRUE);
if ($this->entity instanceof RevisionLogInterface) {
$this->entity
->setRevisionCreationTime(\Drupal::time()
->getRequestTime());
$msg = 'Bulk operation pin content';
$this->entity
->setRevisionLogMessage($msg);
$current_uid = \Drupal::currentUser()
->id();
$this->entity
->setRevisionUserId($current_uid);
}
if ($user
->hasPermission('moderated content bulk pin content')) {
$this->entity
->save();
}
else {
\Drupal::logger('moderated_content_bulk_publish')
->notice(utf8_encode("Bulk pin not permitted, check permissions."));
}
if (!$this->entity
->isSticky()) {
$entity_manager = \Drupal::entityTypeManager();
$this->entity = $entity_manager
->getStorage($this->entity
->getEntityTypeId())
->load($this->nid);
$this->entity
->setSticky(TRUE);
if ($this->entity instanceof RevisionLogInterface) {
$this->entity
->setRevisionCreationTime(\Drupal::time()
->getRequestTime());
$msg = 'Bulk operation pin content';
$this->entity
->setRevisionLogMessage($msg);
$current_uid = \Drupal::currentUser()
->id();
$this->entity
->setRevisionUserId($current_uid);
}
if ($user
->hasPermission('moderated content bulk pin content')) {
$this->entity
->save();
}
else {
\Drupal::logger('moderated_content_bulk_publish')
->notice(utf8_encode("Bulk pin not permitted, check permissions."));
}
$this->entity = $entity_manager
->getStorage($this->entity
->getEntityTypeId())
->load($this->nid);
}
}
}
return $this->entity;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AdminPin:: |
private | property | ||
AdminPin:: |
private | property | ||
AdminPin:: |
private | property | ||
AdminPin:: |
private | property | ||
AdminPin:: |
public | function | Pin Content. | |
AdminPin:: |
public | function | Unpin current revision. | |
AdminPin:: |
public | function |