function _fasttoggle_create_node_link in Fasttoggle 8.3
Create fastoggle node action link function.
1 call to _fasttoggle_create_node_link()
- fasttoggle_node_links_alter in ./
fasttoggle.module - Implements hook_node_links_alter().
File
- ./
fasttoggle.module, line 20 - Main file for the fasttoggle module.
Code
function _fasttoggle_create_node_link(NodeInterface $entity, $toggle, $link_name) {
$config = \Drupal::config('fasttoggle.settings');
$label_style = $config
->get('label_style');
switch ($toggle) {
case 'status':
switch ($label_style) {
case 0:
$entity
->isPublished() ? $link_title = t('Published') : ($link_title = t('Not published'));
break;
case 1:
$entity
->isPublished() ? $link_title = t('Unpublish') : ($link_title = t('Publish'));
break;
}
break;
case 'promote':
switch ($label_style) {
case 0:
$entity
->isPromoted() ? $link_title = t('Promoted') : ($link_title = t('Not promoted'));
break;
case 1:
$entity
->isPromoted() ? $link_title = t('Demote') : ($link_title = t('Promote'));
break;
}
break;
case 'sticky':
switch ($label_style) {
case 0:
$entity
->isSticky() ? $link_title = t('Sticky') : ($link_title = t('Not sticky'));
break;
case 1:
$entity
->isSticky() ? $link_title = t('Make not sticky') : ($link_title = t('Make sticky'));
break;
}
break;
}
$link[$link_name] = [
'title' => $link_title,
'url' => Url::fromUserInput('/fasttoggle/node/' . $entity
->id() . '/' . $toggle),
'attributes' => [
'class' => [
'use-ajax',
'fasttoggle-node-' . $toggle,
],
],
];
return $link[$link_name];
}