public deleteOrImportSeveralEmails ( $emails_ids = [], $action, $entity ) | ||
$emails_ids | array | |
$action | (default 0) | |
$entity | (default 0) |
/** * @since version 0.85 * * @see CommonDBTM::processMassiveActionsForOneItemtype() **/ static function processMassiveActionsForOneItemtype(MassiveAction $ma, CommonDBTM $item, array $ids) { switch ($ma->getAction()) { case 'delete_email': case 'import_email': if (!$item->canUpdate()) { $ma->itemDone($item->getType(), $ids, MassiveAction::ACTION_NORIGHT); } else { $input = $ma->getInput(); if (count($ids)) { $mailcollector = new MailCollector(); if ($ma->getAction() == 'delete_email') { $mailcollector->deleteOrImportSeveralEmails($ids, 0); } else { $mailcollector->deleteOrImportSeveralEmails($ids, 1, $input['entities_id']); } } $ma->itemDone($item->getType(), $ids, MassiveAction::ACTION_OK); } return; } parent::processMassiveActionsForOneItemtype($ma, $item, $ids); }
} } } break; case 'delete_email': case 'import_email': $emails_ids = array(); foreach ($_POST["item"] as $key => $val) { if ($val == 1) { $emails_ids[$key] = $key; } } if (!empty($emails_ids)) { $mailcollector = new MailCollector(); if ($_POST["action"] == 'delete_email') { $mailcollector->deleteOrImportSeveralEmails($emails_ids, 0); } else { $mailcollector->deleteOrImportSeveralEmails($emails_ids, 1, $_POST['entities_id']); } } break; default: // Plugin specific actions $split = explode('_', $_POST["action"]); if ($split[0] == 'plugin' && isset($split[1])) { // Normalized name plugin_name_action // Allow hook from any plugin on any (core or plugin) type doOneHook($split[1], 'MassiveActionsProcess', $_POST); } else { if ($plug = isPluginItemType($_POST["itemtype"])) { // non-normalized name
/** * @see CommonDBTM::doSpecificMassiveActions() **/ function doSpecificMassiveActions($input = array()) { $res = array('ok' => 0, 'ko' => 0, 'noright' => 0); switch ($input['action']) { case 'delete_email': case 'import_email': if (!static::canCreate()) { $res['noright']++; } else { $emails_ids = array(); foreach ($input["item"] as $key => $val) { if ($val == 1) { $emails_ids[$key] = $key; } } if (count($emails_ids)) { $mailcollector = new MailCollector(); if ($input["action"] == 'delete_email') { $mailcollector->deleteOrImportSeveralEmails($emails_ids, 0); } else { $mailcollector->deleteOrImportSeveralEmails($emails_ids, 1, $input['entities_id']); } } $res['ok']++; } break; default: return parent::doSpecificMassiveActions($input); } return $res; }