Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2007, 12:09
Avatar de xiscomax
xiscomax
 
Fecha de Ingreso: febrero-2006
Mensajes: 379
Antigüedad: 18 años, 9 meses
Puntos: 5
Como añadirle un elemento de confirmación "checkbox" a este formulario?

Salu2 gente tengo este formulario donde los usuarios pueden contactar conmigo y enviarme archivos a mi dirección de correo. pero necesito añadir un checkbox obligatorio para que el envio se pueda realizar.

el dormulario es un plugin del wordpress pongo el enlace para quien quiera descargarselo y verlo, de todas formas os pongo el codigo.

Código PHP:
<?php
/*
Plugin Name: WP-ContactForm
Version: 1.4.3
*/

load_plugin_textdomain('wpcf',$path 'wp-content/plugins/wp-contact-form');

// Attachments max size in KB!
$attachment_max_size 1024;

/* Declare strings that change depending on input. This also resets them so errors clear on resubmission. */
$wpcf_strings = array(
    
'name' => '<div class="contactright"><input  class="textfield" type="text" name="wpcf_your_name" id="wpcf_your_name" size="30" maxlength="50" value="' $_POST['wpcf_your_name'] . '" /> (requerido)</div>',
    
'email' => '<div class="contactright"><input  class="textfield" type="text" name="wpcf_email" id="wpcf_email" size="30" maxlength="50" value="' $_POST['wpcf_email'] . '" /> (requerido)</div>',
    
'msg' => '<br/><textarea  class="textfield" name="wpcf_msg" id="wpcf_msg" cols="35" rows="8" >' $_POST['wpcf_msg'] . '</textarea>',
    
'error' => '');

/*
This shows the quicktag on the write pages
Based off Buttonsnap Template
http://redalt.com/downloads
*/
if(get_option('wpcf_show_quicktag') == true) {
    include(
'buttonsnap.php');

    
add_action('init''wpcf_button_init');
    
add_action('marker_css''wpcf_marker_css');

    function 
wpcf_button_init() {
        
$wpcf_button_url buttonsnap_dirname(__FILE__) . '/wpcf_button.png';

        
buttonsnap_textbutton($wpcf_button_url__('Insertar Formulario''wpcf'), '<!--contact form-->');
        
buttonsnap_register_marker('contact form''wpcf_marker');
    }

    function 
wpcf_marker_css() {
        
$wpcf_marker_url buttonsnap_dirname(__FILE__) . '/wpcf_marker.gif';
        echo 
"
            .wpcf_marker {
                    display: block;
                    height: 15px;
                    width: 155px
                    margin-top: 5px;
                    background-image: url({$wpcf_marker_url});
                    background-repeat: no-repeat;
                    background-position: center;
            }
        "
;
    }
}

function 
wpcf_is_malicious($input) {
    
$is_malicious false;
    
$bad_inputs = array("\r""\n""mime-version""content-type""cc:""to:");
    foreach(
$bad_inputs as $bad_input) {
        if(
strpos(strtolower($input), strtolower($bad_input)) !== false) {
            
$is_malicious true; break;
        }
    }
    return 
$is_malicious;
}

/* This function checks for errors on input and changes $wpcf_strings if there are any errors. Shortcircuits if there has not been a submission */
function wpcf_check_input()
{
    if(!(isset(
$_POST['wpcf_stage']))) {return false;} // Shortcircuit.

    
$_POST['wpcf_your_name'] = stripslashes(trim($_POST['wpcf_your_name']));
    
$_POST['wpcf_email'] = stripslashes(trim($_POST['wpcf_email']));
    
$_POST['wpcf_website'] = stripslashes(trim($_POST['wpcf_website']));
    
$_POST['wpcf_msg'] = stripslashes(trim($_POST['wpcf_msg']));

    global 
$wpcf_strings;
    
$ok true;

    if(empty(
$_POST['wpcf_your_name']))
    {
        
$ok false$reason 'empty';
        
$wpcf_strings['name'] = '<div class="contactright"><input type="text" name="wpcf_your_name" id="wpcf_your_name" size="30" maxlength="50" value="' $_POST['wpcf_your_name'] . '" class="contacterror" /> (' __('requerido''wpcf') . ')</div>';
    }

    if(!
is_email($_POST['wpcf_email']))
    {
        
$ok false$reason 'empty';
        
$wpcf_strings['email'] = '<div class="contactright"><input type="text" name="wpcf_email" id="wpcf_email" size="30" maxlength="50" value="' $_POST['wpcf_email'] . '" class="contacterror" /> (' __('requerido''wpcf') . ')</div>';
    }

    if(empty(
$_POST['wpcf_msg']))
    {
        
$ok false$reason 'empty';
        
$wpcf_strings['msg'] = '<div class="contactright"><textarea name="wpcf_msg" id="wpcf_message" cols="35" rows="8" class="contacterror">' $_POST['wpcf_msg'] . '</textarea></div>';
    }

    if(
wpcf_is_malicious($_POST['wpcf_your_name']) || wpcf_is_malicious($_POST['wpcf_email'])) {
        
$ok false$reason 'malicious';
    }

    if(
$ok == true)
    {
        return 
true;
    }
    else {
        if(
$reason == 'malicious') {
            
$wpcf_strings['error'] = "<div style='font-weight: bold;'>You can not use any of the following in the Name or Email fields: a linebreak, or the phrases 'mime-version', 'content-type', 'cc:' or 'to:'.</div>";
        } elseif(
$reason == 'empty') {
            
$wpcf_strings['error'] = '<div style="font-weight: bold;">' stripslashes(get_option('wpcf_error_msg')) . '</div>';
        }
        return 
false;
    }
}

/*Wrapper function which calls the form.*/
function wpcf_callback$content )
{
    global 
$wpcf_strings$attachment_max_size;

    
/* Run the input check. */

        
if(! preg_match('|<!--contact form-->|'$content)) {
        return 
$content;
        }

    if(
wpcf_check_input()) // If the input check returns true (ie. there has been a submission & input is ok)
    
{
            
$recipient get_option('wpcf_email');
            
$subject get_option('wpcf_subject');
                        
$success_msg get_option('wpcf_success_msg');
                        
$success_msg stripslashes($success_msg);

            
$name $_POST['wpcf_your_name'];
            
$email $_POST['wpcf_email'];
            
$website $_POST['wpcf_website'];
            
$msg $_POST['wpcf_msg'];

        
$regexp "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>";
        if(
preg_match_all("/$regexp/siU"$msg$matchesPREG_SET_ORDER)) {
            if(
count($matches) > 2) {
                
$results '<h2 class="pagetitle red">No more than 2 links allowed!</h2>';
                echo 
$results;
                return;
             }
/*
            foreach($matches as $match) {
            # $match[2] = link address 
            # $match[3] = link text
            }
*/
        
}

        
$headers "MIME-Version: 1.0\n";
        
$headers .= "From: $name <$email>\n";
                        
//$headers .= "Content-Type: text/plain; charset=\"" . get_settings('blog_charset') . "\"\n";

        
$headers .= "Content-Type: multipart/related; type=\"multipart/alternative\"; boundary=\"----=MIME_BOUNDRY_main_message\"\n";
        
$headers .= "X-Sender: $from_name<" $email ">\n";
        
$headers .= "X-Mailer: PHP4\n";
        
$headers .= "X-Priority: 3\n"//1 = Urgent, 3 = Normal
        
$headers .= "Return-Path: <" $email ">\n"
        
$headers .= "This is a multi-part message in MIME format.\n";
        
$headers .= "------=MIME_BOUNDRY_main_message \n"
        
$headers .= "Content-Type: multipart/alternative; boundary=\"----=MIME_BOUNDRY_main_message\"\n"

            
//$fullmsg = "$name wrote:\n";
            //$fullmsg .= wordwrap($msg, 80, "\n") . "\n\n";
            //$fullmsg .= "Website: " . $website . "\n";
            //$fullmsg .= "IP: " . getip();
Sigue....