/**
 * Implements hook_civicrm_postProcess().
 */
function petitionemail_civicrm_postProcess($formName, &$form)
{
    switch ($formName) {
        case 'CRM_Campaign_Form_Petition_Signature':
            $class = CRM_Petitionemail_Interface::findInterface($form->petition['id']);
            if ($class === FALSE) {
                return;
            }
            $interface = new $class($form->petition['id']);
            $interface->processSignature($form);
            break;
    }
}