function akismet_ContentActionHandler($module, $http, $objectID) { $object = eZContentObject::fetch($objectID); $version = $object->attribute('current'); if ($http->hasPostVariable('AkismetSubmitSpam')) { $user = eZUser::currentUser(); $accessResult = $user->hasAccessTo('akismet', 'submit'); if ($accessResult['accessWord'] === 'yes') { $mainNode = $object->attribute('main_node'); $module->redirectTo($mainNode->attribute('url_alias')); $akismetObject = new eZContentObjectAkismet(); $comment = $akismetObject->akismetInformationExtractor($version); if ($comment) { $akismet = new eZAkismet($comment); if ($akismet) { $feedback = $akismet->submitSpam(); $response[] = $feedback[1]; } else { $response[] = ezi18n('extension/contactivity/akismet/submit', "An error has occured, unable to submit spam to Akismet."); } } else { $response[] = ezi18n('extension/contactivity/akismet/submit', "An error has occured, unable to submit spam to Akismet."); } } $mainNode = $object->attribute('main_node'); $module->redirectTo($mainNode->attribute('url_alias')); return true; } }
function execute($process, $event) { $parameters = $process->attribute('parameter_list'); $object = eZContentObject::fetch($parameters['object_id']); $versionID = $parameters['version']; if (!$object) { return eZWorkflowType::STATUS_WORKFLOW_CANCELLED; } $version = $object->version($versionID); if (!$version) { return eZWorkflowType::STATUS_WORKFLOW_CANCELLED; } $akismetObject = new eZContentObjectAkismet(); $comment = $akismetObject->akismetInformationExtractor($version); if ($comment) { $akismet = new eZAkismet($comment); if ($akismet) { $isSpam = $akismet->isCommentSpam(); eZDebug::writeDebug($comment); eZDebug::writeDebug("this is spam: " . $isSpam); } else { return eZWorkflowType::STATUS_WORKFLOW_CANCELLED; } if (!$isSpam) { $response = $akismet->submitHam(); return eZWorkflowType::STATUS_ACCEPTED; } return eZWorkflowType::STATUS_REJECTED; } }
} $viewParameters = array('offset' => $Offset); $viewParameters = array_merge($viewParameters, $UserParameters); $limit = 20; $objectIDList = array(); if ($Module->hasActionParameter('ObjectIDList')) { $objectIDList = $Module->actionParameter('ObjectIDList'); if ($Module->isCurrentAction('Submit')) { foreach ($objectIDList as $objectID) { $object = eZContentObject::fetch($objectID); $version = $object->attribute('current'); $akismetObject = new eZContentObjectAkismet(); $comment = $akismetObject->akismetInformationExtractor($version); if ($comment) { eZDebug::writeDebug($comment); $akismet = new eZAkismet($comment); if ($akismet) { $feedback = $akismet->submitSpam(); $response[] = $feedback[1]; } else { $response[] = ezi18n('extension/contactivity/akismet/submit', "An error has occured, unable to submit spam to Akismet."); } } else { $response[] = ezi18n('extension/contactivity/akismet/submit', "An error has occured, unable to submit spam to Akismet."); } } } elseif ($Module->isCurrentAction('Remove')) { foreach ($objectIDList as $objectID) { $object = eZContentObject::fetch($objectID); if (!$object->attribute('can_remove')) { $response[] = ezi18n('extension/contactivity/akismet/submit', "You are not allowed to remove this content object.");