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;
     }
 }
Пример #3
0
}
$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.");