- Traducción al castellano git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_FormulariosCalidad/trunk@13 e2c41b2c-0c6f-0149-8b81-50b1a9191bb3
722 lines
34 KiB
PHP
722 lines
34 KiB
PHP
<?php
|
|
/******************************************************************************
|
|
MachForm
|
|
|
|
Copyright 2007 Appnitro Software. This code cannot be redistributed without
|
|
permission from http://www.appnitro.com/
|
|
|
|
More info at: http://www.appnitro.com/
|
|
******************************************************************************/
|
|
session_start();
|
|
|
|
require('config.php');
|
|
require('includes/check-session.php');
|
|
require('includes/db-core.php');
|
|
require('includes/db-functions.php');
|
|
require('includes/JSON.php');
|
|
|
|
if(!empty($_GET['id'])){
|
|
$form_id = (int) trim($_GET['id']);
|
|
}else{
|
|
$form_id = 0;
|
|
}
|
|
|
|
|
|
//get data from databae
|
|
connect_db();
|
|
|
|
//get form data
|
|
$query = "select
|
|
form_name,
|
|
form_description,
|
|
form_redirect,
|
|
form_success_message,
|
|
form_password,
|
|
form_unique_ip,
|
|
form_captcha,
|
|
form_review,
|
|
form_frame_height
|
|
from
|
|
ap_forms
|
|
where
|
|
form_id='$form_id'";
|
|
$result = do_query($query);
|
|
$row = do_fetch_result($result);
|
|
|
|
$form = new stdClass();
|
|
if(!empty($row)){
|
|
$form->id = $form_id;
|
|
$form->name = $row['form_name'];
|
|
$form->description = $row['form_description'];
|
|
$form->redirect = $row['form_redirect'];
|
|
$form->success_message = $row['form_success_message'];
|
|
$form->password = $row['form_password'];
|
|
$form->frame_height = $row['form_frame_height'];
|
|
$form->unique_ip = $row['form_unique_ip'];
|
|
$form->captcha = $row['form_captcha'];
|
|
$form->review = $row['form_review'];
|
|
}else{
|
|
$form->id = 0;
|
|
$form->name = 'Formulario sin título';
|
|
$form->description = 'Haga click aquí para indicar una breve descripción.';
|
|
$form->redirect = '';
|
|
$form->success_message = 'Gracias. Sus respuestas se han enviado correctamente.';
|
|
$form->password = '';
|
|
$form->frame_height = 0;
|
|
$form->unique_ip = 0;
|
|
$form->captcha = 0;
|
|
$form->review = 0;
|
|
}
|
|
|
|
//get element options first and store it into array
|
|
$query = "select
|
|
element_id,
|
|
option_id,
|
|
`position`,
|
|
`option`,
|
|
option_is_default
|
|
from
|
|
ap_element_options
|
|
where
|
|
form_id='$form_id' and live=1
|
|
order by
|
|
element_id asc,`position` asc";
|
|
$result = do_query($query);
|
|
while($row = do_fetch_result($result)){
|
|
$element_id = $row['element_id'];
|
|
$option_id = $row['option_id'];
|
|
$options_lookup[$element_id][$option_id]['position'] = $row['position'];
|
|
$options_lookup[$element_id][$option_id]['option'] = $row['option'];
|
|
$options_lookup[$element_id][$option_id]['option_is_default'] = $row['option_is_default'];
|
|
}
|
|
|
|
|
|
//get elements data
|
|
$element = array();
|
|
$query = "select
|
|
element_id,
|
|
element_title,
|
|
element_guidelines,
|
|
element_size,
|
|
element_is_required,
|
|
element_is_unique,
|
|
element_is_private,
|
|
element_type,
|
|
element_position,
|
|
element_default_value,
|
|
element_constraint
|
|
from
|
|
ap_form_elements
|
|
where
|
|
form_id='$form_id'
|
|
order by
|
|
element_position asc";
|
|
$result = do_query($query);
|
|
$j=0;
|
|
while($row = do_fetch_result($result)){
|
|
$element_id = $row['element_id'];
|
|
|
|
//lookup element options first
|
|
if(!empty($options_lookup[$element_id])){
|
|
$element_options = array();
|
|
$i=0;
|
|
foreach ($options_lookup[$element_id] as $option_id=>$data){
|
|
$element_options[$i] = new stdClass();
|
|
$element_options[$i]->id = $option_id;
|
|
$element_options[$i]->option = $data['option'];
|
|
$element_options[$i]->is_default = $data['option_is_default'];
|
|
$element_options[$i]->is_db_live = 1;
|
|
$i++;
|
|
}
|
|
}
|
|
|
|
|
|
//populate elements
|
|
$element[$j] = new stdClass();
|
|
$element[$j]->title = $row['element_title'];
|
|
$element[$j]->guidelines = $row['element_guidelines'];
|
|
$element[$j]->size = $row['element_size'];
|
|
$element[$j]->is_required = $row['element_is_required'];
|
|
$element[$j]->is_unique = $row['element_is_unique'];
|
|
$element[$j]->is_private = $row['element_is_private'];
|
|
$element[$j]->type = $row['element_type'];
|
|
$element[$j]->position = $row['element_position'];
|
|
$element[$j]->id = $row['element_id'];
|
|
$element[$j]->is_db_live = 1;
|
|
$element[$j]->default_value = $row['element_default_value'];
|
|
$element[$j]->constraint = $row['element_constraint'];
|
|
if(!empty($element_options)){
|
|
$element[$j]->options = $element_options;
|
|
}else{
|
|
$element[$j]->options = '';
|
|
}
|
|
$j++;
|
|
}
|
|
|
|
|
|
$json = new Services_JSON();
|
|
$json_form = $json->encode($form);
|
|
|
|
|
|
$all_element = array('elements' => $element);
|
|
|
|
$json_element = $json->encode($all_element);
|
|
|
|
|
|
$header_data =<<<EOT
|
|
<script type="text/javascript" src="js/base.js"></script>
|
|
<script type="text/javascript" src="js/machform.js"></script>
|
|
EOT;
|
|
|
|
$show_status_bar = true; //for header.php
|
|
|
|
require('includes/header.php');
|
|
?>
|
|
|
|
<div id="main">
|
|
<form id="form_result" action="">
|
|
<ul id="form_elements"></ul>
|
|
|
|
<div class="notification" style="display: <?php if(empty($element)){ echo 'block'; } else { echo 'none'; }; ?>;" id="nofields" onclick="display_fields(0)">
|
|
<h2>No hay ningún campo</h2>
|
|
<p>Haga click en los botones de la derecha para añadir campos al formulario.</p>
|
|
</div>
|
|
|
|
<div id="div_button" class="buttons <?php if(empty($element)){ echo ' hide'; } ?>">
|
|
<a href="#" id="form_save_button" class="positive">
|
|
<img src="images/icons/filesave.gif" alt=""> Guardar el formulario</a>
|
|
</div>
|
|
</form>
|
|
<div id="debug_box"></div>
|
|
</div>
|
|
|
|
|
|
<div id="sidebar">
|
|
<ul id="tabs" class="add_field_tab">
|
|
<li id="add_field_tab"><a href="javascript:display_fields(0);" title="Add a Field">Añadir un campo nuevo</a></li>
|
|
<li id="field_prop_tab"><a href="javascript:display_field_properties();" title="Field Properties">Propiedades del campo</a></li>
|
|
<li id="form_prop_tab"><a href="javascript:display_form_properties();" title="Form Properties">Propiedades del formulario</a></li>
|
|
</ul>
|
|
|
|
|
|
<div style="display: block;" id="add_elements">
|
|
<div style="padding-bottom: 5px; text-align: center"><img src="images/click_to_add.gif" /></div>
|
|
|
|
<div id="element_buttons">
|
|
<ul id="first_column">
|
|
<li><a id="single_line_text" href="javascript:insert_element('text')"><img src="images/button_text/single_line_text.gif" /></a></li>
|
|
<li><a id="paragraph_text" href="javascript:insert_element('textarea');"><img src="images/button_text/paragraph_text.gif" /></a></li>
|
|
<li><a id="multiple_choice" href="javascript:insert_element('radio');"><img src="images/button_text/multiple_choice.gif" /></a></li>
|
|
<li><a id="name_text" href="javascript:insert_element('simple_name');"><img src="images/button_text/name.gif" /></a></li>
|
|
<li><a id="time" href="javascript:insert_element('time');"><img src="images/button_text/time.gif" /></a></li>
|
|
<li><a id="address" href="javascript:insert_element('address');"><img src="images/button_text/address.gif" /></a></li>
|
|
<li><a id="price" href="javascript:insert_element('currency');"><img src="images/button_text/price.gif" /></a></li>
|
|
<li><a id="section_break" href="javascript:insert_element('section');" title="Organize your form."><img src="images/button_text/section_break.gif" /></a></li>
|
|
</ul>
|
|
|
|
<ul id="second_column">
|
|
<li><a id="number" href="javascript:insert_element('number');"><img src="images/button_text/number.gif" /></a></li>
|
|
<li><a id="checkboxes" href="javascript:insert_element('checkbox');"><img src="images/button_text/checkboxes.gif" /></a></li>
|
|
<li><a id="drop_down" href="javascript:insert_element('select');"><img src="images/button_text/drop_down.gif" /></a></li>
|
|
<li><a id="date" href="javascript:insert_element('europe_date');"><img src="images/button_text/date.gif" /></a></li>
|
|
<li><a id="phone" href="javascript:insert_element('simple_phone');"><img src="images/button_text/phone.gif" /></a></li>
|
|
<li><a id="web_site" href="javascript:insert_element('url');"><img src="images/button_text/web_site.gif" /></a></li>
|
|
<li><a id="email" href="javascript:insert_element('email');"><img src="images/button_text/email.gif" /></a></li>
|
|
<li><a id="file_upload" href="javascript:insert_element('file');"><img src="images/button_text/file_upload.gif" /></a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<form style="display: block;" id="element_properties" action="" onsubmit="return false;">
|
|
<div class="element_inactive" id="element_inactive">
|
|
<h3><b>Seleccione un campo</b></h3>
|
|
<p>Haga click en un campo de la izquierda para cambiar sus propiedades.</p>
|
|
</div>
|
|
|
|
<div class="num" id="element_position">1</div>
|
|
<ul id="all_properties">
|
|
<li>
|
|
<label class="desc" for="element_label">
|
|
Etiqueta del campo
|
|
<a href="#" class="tooltip" title="Etiqueta del campo" rel="La etiqueta del campo se sitúa encima del campo e indica qué información hay que introducir.">(?)</a>
|
|
</label>
|
|
<textarea id="element_label" class="textarea"
|
|
onkeyup="set_properties(this.value, 'title')"
|
|
/></textarea><img src="images/icons/arrow_left.gif" id="arrow_left" height="24" width="24" align="top" style="margin-left: 3px;" />
|
|
</li>
|
|
|
|
<li class="left half" id="prop_element_type">
|
|
<label class="desc" for="element_type">
|
|
Tipo de campo
|
|
<a href="#" class="tooltip" title="Tipo de campo" rel="El tipo de campo determina qué clase de información puede contener el campo. Una vez guardado el formulario, el tipo de campo no puede cambiarse.">(?)</a>
|
|
</label>
|
|
<select class="select full" id="element_type" autocomplete="off" tabindex="12" onchange="set_properties(JJ(this).val(), 'type')">
|
|
<option value="text">Línea de texto</option>
|
|
<option value="textarea">Párrafo de texto</option>
|
|
<option value="radio">Selección múltiple</option>
|
|
<option value="checkbox">Cajas de selección</option>
|
|
<option value="select">Lista desplegable</option>
|
|
<option value="number">Número</option>
|
|
<option value="simple_name">Nombre</option>
|
|
<option value="date">Fecha</option>
|
|
<option value="time">Hora</option>
|
|
<option value="phone">Teléfono</option>
|
|
<option value="money">Precio</option>
|
|
<option value="url">Sitio web</option>
|
|
<option value="email">Email</option>
|
|
<option value="address">Dirección</option>
|
|
<option value="file">Carga de fichero</option>
|
|
<option value="section">Salto de sección</option>
|
|
</select>
|
|
</li>
|
|
|
|
<li class="right half" id="prop_element_size">
|
|
<label class="desc" for="field_size">
|
|
Tamaño del campo
|
|
<a href="#" class="tooltip" title="Tamaño del campo" rel="Esta propiedad sólo establece la apariencia visual del campo en el formulario. No limita ni incrementa la cantidad de caracteres que puede contener el campo.">(?)</a>
|
|
</label>
|
|
<select class="select full" id="field_size" autocomplete="off" tabindex="13" onchange="set_properties(JJ(this).val(), 'size')">
|
|
<option value="small">Pequeño</option>
|
|
<option value="medium">Mediano</option>
|
|
<option value="large">Grande</option>
|
|
</select>
|
|
</li>
|
|
|
|
<li class="right half" id="prop_date_format">
|
|
<label class="desc" for="field_size">
|
|
Formato de fecha
|
|
<a href="#" class="tooltip" title="Formato de fecha" rel="Puede elegir entre formato de fecha americano y europeo">(?)</a>
|
|
</label>
|
|
<select class="select full" id="date_type" autocomplete="off" onchange="set_properties(JJ(this).val(), 'type')">
|
|
<option id="element_europe_date" value="europe_date">DD / MM / AAAA</option>
|
|
<option id="element_date" value="date">MM / DD / AAAA</option>
|
|
</select>
|
|
</li>
|
|
|
|
<li class="right half" id="prop_name_format">
|
|
<label class="desc" for="name_format">
|
|
Formato de nombre
|
|
<a href="#" class="tooltip" title="Formato de nombre" rel="Hay dos formatos disponibles: un campo de nombre normal o un campo de nombre extendido con título y sufijo.">(?)</a>
|
|
</label>
|
|
<select class="select full" id="name_format" autocomplete="off" onchange="set_properties(JJ(this).val(), 'type')">
|
|
<option id="element_simple_name" value="simple_name" selected="selected">Normal</option>
|
|
<option id="element_name" value="name">Extendido</option>
|
|
</select>
|
|
</li>
|
|
|
|
<li class="right half" id="prop_phone_format">
|
|
<label class="desc" for="field_size">
|
|
Formato de teléfono
|
|
<a href="#" class="tooltip" title="Formato de teléfono" rel="Puede elegir entre formato de fecha americano o internacional">(?)</a>
|
|
</label>
|
|
<select class="select full" id="phone_format" autocomplete="off" onchange="set_properties(JJ(this).val(), 'type')">
|
|
<option id="element_simple_phone" value="simple_phone">Internacional</option>
|
|
<option id="element_phone" value="phone">(###) ### - ####</option>
|
|
</select>
|
|
</li>
|
|
|
|
<li class="right half" id="prop_currency_format">
|
|
<label class="desc" for="field_size">
|
|
Formato de moneda
|
|
</label>
|
|
<select class="select full" id="money_format" autocomplete="off" onchange="set_properties(JJ(this).val(), 'constraint')">
|
|
<option id="element_money_euro" value="euro">€ Euros</option>
|
|
<option id="element_money_usd" value="dollar">$ Dólares</option>
|
|
<option id="element_money_pound" value="pound">£ Libras</option>
|
|
<option id="element_money_yen" value="yen">¥ Yenes</option>
|
|
</select>
|
|
</li>
|
|
|
|
<li class="clear" id="prop_choices">
|
|
<fieldset class="choices">
|
|
<legend>
|
|
Opciones
|
|
<a href="#" class="tooltip" title="Opciones" rel="Use los botones de más o menos para añadir o eliminar opciones. Haga click en la estrella para elegir una opción como la predeterminada cuando se visualiza el formulario.">(?)</a>
|
|
</legend>
|
|
<ul id="element_choices">
|
|
</ul>
|
|
</fieldset>
|
|
</li>
|
|
|
|
<li class="left half clear" id="prop_options">
|
|
<fieldset class="fieldset">
|
|
<legend>Restricciones</legend>
|
|
<input id="element_required" class="checkbox" value="" tabindex="14" onclick="(this.checked) ? checkVal = '1' : checkVal = '0';set_properties(checkVal, 'is_required')" type="checkbox">
|
|
<label class="choice" for="element_required">Obligatorio</label>
|
|
<a href="#" class="tooltip" title="Obligatorio" rel="Marcando esta restricción, el usuario tendrá que rellenar este campo obligatoriamente y se le avisará para que lo haga en caso de que lo deje en blanco.">(?)</a><br>
|
|
<span id="element_unique_span">
|
|
<input id="element_unique" class="checkbox" value="" tabindex="15" onchange="(this.checked) ? checkVal = '1' : checkVal = '0';set_properties(checkVal, 'is_unique')" type="checkbox">
|
|
<label class="choice" for="element_unique">Sin duplicados</label>
|
|
<a href="#" class="tooltip" title="Sin duplicados" rel="Marcando esta restricción, se comprobará que los datos introducidos en este campo son únicos y no se han introducidor anteriormente.">(?)</a></span><br>
|
|
</fieldset>
|
|
</li>
|
|
|
|
<li class="right half" id="prop_access_control">
|
|
<fieldset class="fieldset">
|
|
<legend>Visibilidad del campo</legend>
|
|
<input id="fieldPublic" name="security" class="radio" value="" checked="checked" tabindex="16" onclick="set_properties('0', 'is_private')" type="radio">
|
|
<label class="choice" for="fieldPublic">Público</label>
|
|
<a href="#" class="tooltip" title="Visible para todo el mundo" rel="Esta es la opción predeterminada. Este campo es visible para los usuarios cuando se visualiza el formulario.">(?)</a><br>
|
|
<span id="admin_only_span">
|
|
<input id="fieldPrivate" name="security" class="radio" value="" tabindex="17" onclick="set_properties('1', 'is_private')" type="radio">
|
|
<label class="choice" for="fieldPrivate">Privado</label>
|
|
<a href="#" class="tooltip" title="Visible sólo a administradores" rel="Con esta opción, el campo no es visible para los usuarios cuando se visualiza el formulario.">(?)</a></span><br>
|
|
</fieldset>
|
|
</li>
|
|
|
|
<li class="left half clear" id="prop_randomize">
|
|
<fieldset class="fieldset">
|
|
<legend>Orden</legend>
|
|
<input id="element_not_random" name="randomize" class="radio" value="" checked="checked" tabindex="16" onclick="set_properties('', 'constraint')" type="radio">
|
|
<label class="choice" for="element_not_random">Orden normal</label>
|
|
<a href="#" class="tooltip" title="Orden normal" rel="Esta es la opción predeterminada. Las opciones se muestran en el formulario en el orden con que se han introducido.">(?)</a><br>
|
|
|
|
<input id="element_random" name="randomize" class="radio" value="" tabindex="16" onclick="set_properties('random', 'constraint')" type="radio">
|
|
<label class="choice" for="element_random">Orden aleatorio</label>
|
|
<a href="#" class="tooltip" title="Orden aleatorio" rel="Cambia el orden de las opciones de forma aleatorio al visualizar el formulario.">(?)</a><br>
|
|
</fieldset>
|
|
</li>
|
|
|
|
<li class="clear" id="prop_time_noseconds" style="padding-top: 5px">
|
|
<input id="time_noseconds" class="checkbox" value="" onclick="(this.checked) ? checkVal = 'show_seconds' : checkVal = '';set_properties(checkVal, 'constraint')" type="checkbox" style="margin-left: 0px;margin-top: -15px">
|
|
<label class="choice" for="time_noseconds">Mostrar campo de segundos</label>
|
|
<a href="#" class="tooltip" title="Mostrar campo de segundos" rel="Marcando esta opciones, se mostrará un campo para los segundos.">(?)</a><br>
|
|
</li>
|
|
|
|
<li class="clear" id="prop_default_value">
|
|
<label class="desc" for="element_default">
|
|
Valor predeterminado
|
|
<a href="#" class="tooltip" title="Valor predeterminado" rel="Al mostrar el formulario, este campo se rellenará con el valor que se indique aquí.">(?)</a>
|
|
</label>
|
|
|
|
<input id="element_default" class="text large" name="text" value="" tabindex="11" maxlength="255" onkeyup="set_properties(JJ(this).val(), 'default_value')" onblur="set_properties(JJ(this).val(), 'default_value')" type="text">
|
|
</li>
|
|
|
|
<li class="clear" id="prop_default_country">
|
|
<label class="desc" for="fieldaddress_default">
|
|
País predeterminado
|
|
<a href="#" class="tooltip" title="País predeterminado" rel="Al mostrar el formulario, este campo se rellenará con el valor que se indique aquí.">(?)</a>
|
|
</label>
|
|
<select class="select medium" id="element_countries" onchange="set_properties(JJ(this).val(), 'default_value')">
|
|
<option value=""></option>
|
|
|
|
<optgroup label="América del Norte y Central">
|
|
<option value="Antigua and Barbuda">Antigua y Barbuda</option>
|
|
<option value="Bahamas">Bahamas</option>
|
|
<option value="Barbados">Barbados</option>
|
|
<option value="Belize">Belice</option>
|
|
<option value="Canada">Canadá</option>
|
|
<option value="Costa Rica">Costa Rica</option>
|
|
<option value="Cuba">Cuba</option>
|
|
<option value="Dominica">Mancomunidad de Dominica</option>
|
|
<option value="El Salvador">El Salvador</option>
|
|
<option value="United States">Estados Unidos</option>
|
|
<option value="Grenada">Granada</option>
|
|
<option value="Guatemala">Guatemala</option>
|
|
<option value="Haiti">Haití</option>
|
|
<option value="Honduras">Honduras</option>
|
|
<option value="Jamaica">Jamaica</option>
|
|
<option value="Mexico">México</option>
|
|
<option value="Nicaragua">Nicaragua</option>
|
|
<option value="Panama">Panamá</option>
|
|
<option value="Puerto Rico">Puerto Rico</option>
|
|
<option value="Dominican Republic">República Dominicana</option>
|
|
<option value="Saint Kitts and Nevis">San Cristóbal y Nieves</option>
|
|
<option value="Saint Lucia">Santa Lucía</option>
|
|
<option value="Saint Vincent and the Grenadines">San Vicente y las Granadinas</option>
|
|
<option value="Trinidad and Tobago">Trinidad y Tobago</option>
|
|
</optgroup>
|
|
|
|
<optgroup label="América del Sur">
|
|
<option value="Argentina">Argentina</option>
|
|
<option value="Bolivia">Bolivia</option>
|
|
<option value="Brazil">Brasil</option>
|
|
<option value="Chile">Chile</option>
|
|
<option value="Columbia">Colombia</option>
|
|
<option value="Ecuador">Ecuador</option>
|
|
<option value="Guyana">Guyana</option>
|
|
<option value="Paraguay">Paraguay</option>
|
|
<option value="Peru">Perú</option>
|
|
<option value="Suriname">Surinam</option>
|
|
<option value="Uruguay">Uruguay</option>
|
|
<option value="Venezuela">Venezuela</option>
|
|
</optgroup>
|
|
|
|
<optgroup label="Europe">
|
|
<option value="Albania">Albania</option>
|
|
<option value="Germany">Alemania</option>
|
|
<option value="Andorra">Andorra</option>
|
|
<option value="Armenia">Armenia</option>
|
|
<option value="Austria">Austria</option>
|
|
<option value="Azerbaijan">Azerbaiyán</option>
|
|
<option value="Belgium">Bélgica</option>
|
|
<option value="Belarus">Bielorrusia</option>
|
|
<option value="Bosnia and Herzegovina">Bosnia y Herzegovina</option>
|
|
<option value="Bulgaria">Bulgaria</option>
|
|
<option value="Vatican City">Ciudad del Vaticano</option>
|
|
<option value="Croatia">Croacia</option>
|
|
<option value="Cyprus">Chipre</option>
|
|
<option value="Denmark">Dinamarca</option>
|
|
<option value="Slovakia">Eslovaquia</option>
|
|
<option value="Slovenia">Eslovenia</option>
|
|
<option value="Spain">España</option>
|
|
<option value="Estonia">Estonia</option>
|
|
<option value="Finland">Finlandia</option>
|
|
<option value="France">Francia</option>
|
|
<option value="Georgia">Georgia</option>
|
|
<option value="Greece">Grecia</option>
|
|
<option value="Hungary">Hungría</option>
|
|
<option value="Iceland">Islandia</option>
|
|
<option value="Ireland">Irlanda</option>
|
|
<option value="Italy">Italia</option>
|
|
<option value="Latvia">Letonia</option>
|
|
<option value="Liechtenstein">Liechtenstein</option>
|
|
<option value="Lithuania">Lituania</option>
|
|
<option value="Luxembourg">Luxemburgo</option>
|
|
<option value="Macedonia">Macedonia</option>
|
|
<option value="Malta">Malta</option>
|
|
<option value="Moldova">Moldavia</option>
|
|
<option value="Monaco">Mónaco</option>
|
|
<option value="Montenegro">Montenegro</option>
|
|
<option value="Norway">Noruega</option>
|
|
<option value="Netherlands">Países Bajos</option>
|
|
<option value="Poland">Polonia</option>
|
|
<option value="Portugal">Portugal</option>
|
|
<option value="United Kingdom">Reino Unido</option>
|
|
<option value="Czech Republic">República Checa</option>
|
|
<option value="Romania">Rumanía</option>
|
|
<option value="San Marino">San Marino</option>
|
|
<option value="Serbia">Serbia</option>
|
|
<option value="Sweden">Suecia</option>
|
|
<option value="Switzerland">Suiza</option>
|
|
<option value="Ukraine">Ucrania</option>
|
|
</optgroup>
|
|
|
|
<optgroup label="Asia">
|
|
<option value="Afghanistan">Afganistán</option>
|
|
<option value="Bahrain">Baréin</option>
|
|
<option value="Bangladesh">Bangladés</option>
|
|
<option value="Bhutan">Bután</option>
|
|
<option value="Brunei Darussalam">Brunéi</option>
|
|
<option value="Myanmar">Birmania</option>
|
|
<option value="Cambodia">Camboya</option>
|
|
<option value="China">China</option>
|
|
<option value="East Timor">Timor Oriental</option>
|
|
<option value="Hong Kong">Hong Kong</option>
|
|
<option value="India">India</option>
|
|
<option value="Indonesia">Indonesia</option>
|
|
<option value="Iran">Irán</option>
|
|
<option value="Iraq">Iraq</option>
|
|
<option value="Israel">Israel</option>
|
|
<option value="Japan">Japón</option>
|
|
<option value="Jordan">Jordania</option>
|
|
<option value="Kazakhstan">Kazajistán</option>
|
|
<option value="North Korea">Corea del Norte</option>
|
|
<option value="South Korea">Corea del Sur</option>
|
|
<option value="Kuwait">Kuwait</option>
|
|
<option value="Kyrgyzstan">Kirguistán</option>
|
|
<option value="Laos">Laos</option>
|
|
<option value="Lebanon">Líbano</option>
|
|
<option value="Malaysia">Malasia</option>
|
|
<option value="Maldives">Maldivas</option>
|
|
<option value="Mongolia">Mongolia</option>
|
|
<option value="Nepal">Nepal</option>
|
|
<option value="Oman">Omán</option>
|
|
<option value="Pakistan">Pakistán</option>
|
|
<option value="Philippines">Filipinas</option>
|
|
<option value="Qatar">Catar</option>
|
|
<option value="Russia">Rusia</option>
|
|
<option value="Saudi Arabia">Arabia Saudita</option>
|
|
<option value="Singapore">Singapur</option>
|
|
<option value="Sri Lanka">Sri Lanka</option>
|
|
<option value="Syria">Siria</option>
|
|
<option value="Taiwan">Taiwán</option>
|
|
<option value="Tajikistan">Tayikistán</option>
|
|
<option value="Thailand">Tailandia</option>
|
|
<option value="Turkey">Turquía</option>
|
|
<option value="Turkmenistan">Turkmenistán</option>
|
|
<option value="United Arab Emirates">Emiratos Árabes Unidos</option>
|
|
<option value="Uzbekistan">Uzbekistán</option>
|
|
<option value="Vietnam">Vietnam</option>
|
|
<option value="Yemen">Yemen</option>
|
|
</optgroup>
|
|
|
|
<optgroup label="Oceania">
|
|
<option value="Australia">Australia</option>
|
|
<option value="Fiji">Fiji</option>
|
|
<option value="Kiribati">Kiribati</option>
|
|
<option value="Marshall Islands">Islas Marshall</option>
|
|
<option value="Micronesia">Micronesia</option>
|
|
<option value="Nauru">Nauru</option>
|
|
<option value="New Zealand">Nueva Zelanda</option>
|
|
<option value="Palau">Palau</option>
|
|
<option value="Papua New Guinea">Papúa Nueva Guinea</option>
|
|
<option value="Samoa">Samoa</option>
|
|
<option value="Solomon Islands">Islas Solomón</option>
|
|
<option value="Tonga">Tonga</option>
|
|
<option value="Tuvalu">Tuvalu</option>
|
|
<option value="Vanuatu">Vanuatu</option>
|
|
</optgroup>
|
|
|
|
<optgroup label="África">
|
|
<option value="Algeria">Argelia</option>
|
|
<option value="Angola">Angola</option>
|
|
<option value="Benin">Benin</option>
|
|
<option value="Botswana">Botswana</option>
|
|
<option value="Burkina Faso">Burkina Faso</option>
|
|
<option value="Burundi">Burundi</option>
|
|
<option value="Cameroon">Camerún</option>
|
|
<option value="Cape Verde">Cabo Verde</option>
|
|
<option value="Central African Republic">República Centroafricana</option>
|
|
<option value="Chad">Chad</option>
|
|
<option value="Comoros">Comoras</option>
|
|
<option value="Congo">Congo</option>
|
|
<option value="Djibouti">Djibouti</option>
|
|
<option value="Egypt">Egipto</option>
|
|
<option value="Equatorial Guinea">Guinea Ecuatorial</option>
|
|
<option value="Eritrea">Eritrea</option>
|
|
<option value="Ethiopia">Etiopía</option>
|
|
<option value="Gabon">Gabón</option>
|
|
<option value="Gambia">Gambia</option>
|
|
<option value="Ghana">Ghana</option>
|
|
<option value="Guinea">Guinea</option>
|
|
<option value="Guinea-Bissau">Guinea-Bissau</option>
|
|
<option value="Côte d'Ivoire">Côte d'Ivoire</option>
|
|
<option value="Kenya">Kenya</option>
|
|
<option value="Lesotho">Lesotho</option>
|
|
<option value="Liberia">Liberia</option>
|
|
<option value="Libya">Libia</option>
|
|
<option value="Madagascar">Madagascar</option>
|
|
<option value="Malawi">Malawi</option>
|
|
<option value="Mali">Malí</option>
|
|
<option value="Mauritania">Mauritania</option>
|
|
<option value="Mauritius">Mauricio</option>
|
|
<option value="Morocco">Marruecos</option>
|
|
<option value="Mozambique">Mozambique</option>
|
|
<option value="Namibia">Namibia</option>
|
|
<option value="Niger">Níger</option>
|
|
<option value="Nigeria">Nigeria</option>
|
|
<option value="Rwanda">Ruanda</option>
|
|
<option value="Sao Tome and Principe">Santo Tomé y Príncipe</option>
|
|
<option value="Senegal">Senegal</option>
|
|
<option value="Seychelles">Seychelles</option>
|
|
<option value="Sierra Leone">Sierra Leona</option>
|
|
<option value="Somalia">Somalia</option>
|
|
<option value="South Africa">Sudáfrica</option>
|
|
<option value="Sudan">Sudán</option>
|
|
<option value="Swaziland">Suazilandia</option>
|
|
<option value="United Republic of Tanzania">Tanzania</option>
|
|
<option value="Togo">Togo</option>
|
|
<option value="Tunisia">Túnez</option>
|
|
<option value="Uganda">Uganda</option>
|
|
<option value="Zambia">Zambia</option>
|
|
<option value="Zimbabwe">Zimbabue</option>
|
|
</optgroup>
|
|
</select>
|
|
</li>
|
|
|
|
<li class="clear" id="prop_phone_default">
|
|
<label class="desc" for="element_phone_default1">
|
|
Valor predeterminado
|
|
<a href="#" class="tooltip" title="Default Value" rel="Al mostrar el formulario, este campo se rellenará con el valor que se indique aquí.">(?)</a>
|
|
</label>
|
|
|
|
( <input id="element_phone_default1" class="text" size="3" name="text" value="" tabindex="11" maxlength="3" onkeyup="set_properties(JJ('#element_phone_default1').val().toString()+JJ('#element_phone_default2').val().toString()+JJ('#element_phone_default3').val().toString(), 'default_value')" onblur="set_properties(JJ('#element_phone_default1').val().toString()+JJ('#element_phone_default2').val().toString()+JJ('#element_phone_default3').val().toString(), 'default_value')" type="text"> )
|
|
|
|
<input id="element_phone_default2" class="text" size="3" name="text" value="" tabindex="11" maxlength="3" onkeyup="set_properties(JJ('#element_phone_default1').val().toString()+JJ('#element_phone_default2').val().toString()+JJ('#element_phone_default3').val().toString(), 'default_value')" onblur="set_properties(JJ('#element_phone_default1').val().toString()+JJ('#element_phone_default2').val().toString()+JJ('#element_phone_default3').val().toString(), 'default_value')" type="text"> -
|
|
<input id="element_phone_default3" class="text" size="4" name="text" value="" tabindex="11" maxlength="4" onkeyup="set_properties(JJ('#element_phone_default1').val().toString()+JJ('#element_phone_default2').val().toString()+JJ('#element_phone_default3').val().toString(), 'default_value')" onblur="set_properties(JJ('#element_phone_default1').val().toString()+JJ('#element_phone_default2').val().toString()+JJ('#element_phone_default3').val().toString(), 'default_value')" type="text">
|
|
</li>
|
|
|
|
|
|
<li class="clear">
|
|
<label class="desc" for="element_instructions">
|
|
Instrucciones para los usuarios
|
|
<a href="#" class="tooltip" title="Instrucciones para los usuarios" rel="El texto que introduzca en este campo se mostrará a los usuarios mientras están rellenando el campo correspondiente.">(?)</a>
|
|
</label>
|
|
|
|
<textarea class="textarea full" rows="10" cols="50" id="element_instructions" tabindex="18" onkeyup="set_properties(this.value, 'guidelines')" onblur="set_properties(this.value, 'guidelines')"></textarea>
|
|
</li>
|
|
</ul>
|
|
</form>
|
|
<ul id="add_elements_button" style="display: none; padding-top: 5px">
|
|
<li class="buttons" id="list_buttons">
|
|
<a href="#" onclick="display_fields(0);return false">
|
|
<img src="images/icons/textfield_add.gif" alt="">Añadir otro campo</a>
|
|
</li>
|
|
</ul>
|
|
<form style="display: none;" id="form_properties" action="" onsubmit="return false;">
|
|
<ul>
|
|
<li>
|
|
<label class="desc" for="form_title">Título del formulario <a class="tooltip" title="Form Title" rel="Título del formulario que se mostrará a los usuarios.">(?)</a></label>
|
|
<input id="form_title" class="text medium" value="" tabindex="1" maxlength="50" onkeyup="update_form(this.value, 'name')" onblur="update_form(this.value, 'name')" type="text">
|
|
</li>
|
|
<li>
|
|
<label class="desc" for="form_description">Descripción <a class="tooltip" title="Description" rel="Este texto aparecerá debajo del título del formulario. Utilícelo para mostrar una pequeña descripcion, instrucciones, notas o cualquier otra información de utilidad para los usuarios.">(?)</a></label>
|
|
<textarea class="textarea small" rows="10" cols="50" id="form_description" tabindex="2" onkeyup="update_form(this.value, 'description')" onblur="update_form(this.value, 'description')"></textarea>
|
|
</li>
|
|
|
|
<li>
|
|
<input id="form_password_option" class="checkbox" value="" tabindex="5" type="checkbox">
|
|
<label class="choice" for="form_password_option"><b>Proteger con contraseña</b></label>
|
|
<a class="tooltip" title="Proteger con contraseña" rel="Si se activa, para acceder al formulario, los usuarios deben indicar una contraseña.">(?)</a><br>
|
|
<div id="form_password" class="password hide">
|
|
<img src="images/icons/key.gif" alt="Contraseña : ">
|
|
<input id="form_password_data" class="text" value="" size="25" tabindex="6" maxlength="255" onkeyup="update_form(this.value, 'password')" onblur="update_form(this.value, 'password')" type="password">
|
|
</div>
|
|
</li>
|
|
|
|
<li>
|
|
<input id="form_captcha" class="checkbox" value="" onchange="(this.checked)?update_form('1', 'captcha'):update_form('0','captcha');" tabindex="6" type="checkbox">
|
|
<label class="choice" for="form_captcha"><b>Proteger contra SPAM (Sistema CAPTCHA)</b></label>
|
|
<a class="tooltip" title="Proteger contra SPAM" rel="Se se activa, una imagen con palabras aleatorias se mostrará cuando los usuarios envien las respuestas del formulario. Los usuarios deben indicar correctamente las palabras que se muestran en la imagen para poder realizar el envio. Es útil para impedir que programas utilicen el formulario para generar respuestas con basura.">(?)</a><br>
|
|
</li>
|
|
|
|
<li>
|
|
<input id="form_unique_ip" class="checkbox" value="" onchange="(this.checked)?update_form('1', 'unique_ip'):update_form('0','unique_ip');" tabindex="7" type="checkbox">
|
|
<label class="choice" for="form_unique_ip"><b>Limitar a una respuesta por usuario</b></label>
|
|
<a class="tooltip" title="Limitar a una respuesta por usuario" rel="Active esta opción para impedir que un usuario concreto conteste más de una vez este formulario. Se realiza guardan y comparando la dirección IP del usuario.">(?)</a><br>
|
|
</li>
|
|
|
|
<li>
|
|
<input id="form_review" class="checkbox" value="" onchange="(this.checked)?update_form('1', 'review'):update_form('0','review');" tabindex="8" type="checkbox">
|
|
<label class="choice" for="form_review"><b>Mostrar página de revisión antes de enviar</b></label>
|
|
<a class="tooltip" title="Mostrar página de revisión antes de enviar" rel="Se se activa, los usuarios podrán comprobar sus respuestas del formulario antes de enviarlas.">(?)</a><br>
|
|
</li>
|
|
|
|
<li>
|
|
<fieldset>
|
|
<legend>Mensaje de confirmación</legend>
|
|
|
|
<div class="left">
|
|
<input id="form_success_message_option" name="confirmation" class="radio" value="" checked="checked" tabindex="8" onclick="update_form('', 'redirect'); Element.removeClassName('form_success_message', 'hide');Element.addClassName('form_redirect_url', 'hide')" type="radio">
|
|
<label class="choice" for="form_success_message_option">Mostrar mensaje</label>
|
|
<a class="tooltip" title="Mensaje a mostrar después del envio" rel="Se mostrará el mensaje que se indique después de que los usuarios hayan enviado sus respuestas.">(?)</a>
|
|
</div>
|
|
|
|
<div class="right">
|
|
<input id="form_redirect_option" name="confirmation" class="radio" value="" tabindex="7" onclick="update_form(redirect_url, 'redirect'); Element.addClassName('form_success_message', 'hide');Element.removeClassName('form_redirect_url', 'hide');" type="radio">
|
|
<label class="choice" for="form_redirect_option">Redirigir a una dirección</label>
|
|
<a class="tooltip" title="Redirect URL" rel="Después de enviar sus respuestas, los usuarios serán redirigidos a otra página.">(?)</a>
|
|
</div>
|
|
|
|
<textarea class="textarea full" rows="10" cols="50" id="form_success_message" tabindex="9" onkeyup="update_form(JJ(this).val(), 'success_message')" onblur="update_form(JJ(this).val(), 'success_message')"><?php echo $form->success_message; ?></textarea>
|
|
|
|
<input id="form_redirect_url" class="text full hide" name="text" value="http://" tabindex="10" onkeyup="redirect_url = JJ(this).val();update_form(JJ(this).val(), 'redirect')" onblur="urlInHistory = JJ(this).val();update_form(JJ(this).val(), 'redirect')" type="text">
|
|
</fieldset>
|
|
</li>
|
|
</ul>
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<?php
|
|
$footer_data =<<<EOT
|
|
<script type="text/javascript">
|
|
var json_form = {$json_form};
|
|
var json_elements = {$json_element};
|
|
</script>
|
|
EOT;
|
|
require('includes/footer.php');
|
|
?>
|