function opigno_module_activities_bank_lp_form_submit in Opigno module 3.x
Same name and namespace in other branches
- 8 opigno_module.module \opigno_module_activities_bank_lp_form_submit()
Custom submit for view activities bank lp form.
Throws
\Exception
1 string reference to 'opigno_module_activities_bank_lp_form_submit'
- opigno_module_form_alter in ./
opigno_module.module - Implements hook_form_alter().
File
- ./
opigno_module.module, line 683 - Contains opigno_module.module.
Code
function opigno_module_activities_bank_lp_form_submit(&$form, FormStateInterface $form_state) {
$activities = [];
$storage = $form_state
->getStorage();
// Is group edit page flag.
$is_group_page = !empty($storage['activities_bank_page']) && $storage['activities_bank_page'] == 'group' ? TRUE : FALSE;
if ($is_group_page && !empty($_SESSION['activities_bank']['activities_ids'])) {
// Get activities ids if group edit page.
$activities = $_SESSION['activities_bank']['activities_ids'];
}
if (!empty($_SESSION['activities_bank'])) {
unset($_SESSION['activities_bank']);
}
if (!empty($_COOKIE['activities_bank_activities'])) {
if (!$is_group_page) {
// Get activities ids if module edit page.
$activities = explode(',', $_COOKIE['activities_bank_activities']);
}
unset($_COOKIE['activities_bank_activities']);
setcookie('activities_bank_activities', '', time() - 3600);
}
if (!empty($_COOKIE['activities_bank_checked'])) {
unset($_COOKIE['activities_bank_checked']);
setcookie('activities_bank_checked', '', time() - 3600);
}
if (!empty($activities)) {
$activities = OpignoActivity::loadMultiple($activities);
// Get URL parameters.
$opigno_module = \Drupal::routeMatch()
->getParameter('opigno_module');
if ($opigno_module) {
/* @var \Drupal\opigno_module\Controller\OpignoModuleController $opigno_module_obj*/
$opigno_module_obj = \Drupal::service('opigno_module.opigno_module');
// Get activities that already added to module.
$added_activities = $opigno_module
->getModuleActivities();
$added_activities = array_map(function ($activity) {
return $activity->id;
}, $added_activities);
// Filter activities that are added to a Module.
$activities = array_filter($activities, function ($activity) use ($added_activities) {
/* @var \Drupal\opigno_module\Entity\OpignoActivity $activity */
return !in_array($activity
->id(), $added_activities);
});
// Add activities to a Module.
if ($activities) {
$save_acitivities = $opigno_module_obj
->activitiesToModule($activities, $opigno_module);
\Drupal::messenger()
->addMessage(t('Added @num activities', [
'@num' => count($activities),
]));
}
}
}
}