Compare commits

...

10 Commits

Author SHA1 Message Date
4827746562 Quitar "Powered by..." de los emails.
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_FormulariosCalidad/trunk@21 e2c41b2c-0c6f-0149-8b81-50b1a9191bb3
2011-04-11 18:28:54 +00:00
8b11d513ad - Adaptación de los formularios a iOS (iPhone / iPod)
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_FormulariosCalidad/trunk@20 e2c41b2c-0c6f-0149-8b81-50b1a9191bb3
2011-04-11 17:43:47 +00:00
ff7326b843 - Ticket #567 -> Enciptar el ID de formulario en el enlace que se manda.
- Traducción al castellano
- Quitar logotipos originales de las cabeceras


git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_FormulariosCalidad/trunk@19 e2c41b2c-0c6f-0149-8b81-50b1a9191bb3
2011-04-11 15:04:44 +00:00
4d1b2205c1 Traducción al castellano
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_FormulariosCalidad/trunk@18 e2c41b2c-0c6f-0149-8b81-50b1a9191bb3
2011-04-07 16:41:53 +00:00
0c74c05dc4 Ticket #567 -> Enciptar el ID de formulario en el enlace que se manda.
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_FormulariosCalidad/trunk@17 e2c41b2c-0c6f-0149-8b81-50b1a9191bb3
2011-04-07 16:02:57 +00:00
b58ac82744 Tarea #567 -> Enciptar el ID de formulario en el enlace que se manda.
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_FormulariosCalidad/trunk@16 e2c41b2c-0c6f-0149-8b81-50b1a9191bb3
2011-04-07 15:44:25 +00:00
67376f0ef6 Traducción al castellano
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_FormulariosCalidad/trunk@15 e2c41b2c-0c6f-0149-8b81-50b1a9191bb3
2011-04-07 15:14:44 +00:00
e7bfe401f2 Poner checkboxes y radiobuttons en horizontal.
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_FormulariosCalidad/trunk@14 e2c41b2c-0c6f-0149-8b81-50b1a9191bb3
2011-03-21 14:33:48 +00:00
635411b52b - Adaptación de los formularios a iOS (iPhone / iPod)
- Traducción al castellano

git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_FormulariosCalidad/trunk@13 e2c41b2c-0c6f-0149-8b81-50b1a9191bb3
2011-03-21 11:28:57 +00:00
9bacd4c2f7 Adaptación de los formularios a iOS (iPhone / iPod)
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_FormulariosCalidad/trunk@12 e2c41b2c-0c6f-0149-8b81-50b1a9191bb3
2011-03-17 22:34:38 +00:00
97 changed files with 8003 additions and 3269 deletions

View File

@ -35,8 +35,8 @@ form.appnitro
padding:0; padding:0;
text-decoration:none; text-decoration:none;
text-indent:-8000px; text-indent:-8000px;
background-image: url('../../../images/machform.gif'); /*background-image: url('../../../images/machform.gif');
background-repeat: no-repeat; background-repeat: no-repeat;*/
} }
#main_body h1 a #main_body h1 a

View File

@ -112,6 +112,7 @@
order by order by
element_position asc"; element_position asc";
$result = do_query($query); $result = do_query($query);
$j=0; $j=0;
while($row = do_fetch_result($result)){ while($row = do_fetch_result($result)){
$element_id = $row['element_id']; $element_id = $row['element_id'];
@ -130,7 +131,6 @@
} }
} }
//populate elements //populate elements
$element[$j] = new stdClass(); $element[$j] = new stdClass();
$element[$j]->title = $row['element_title']; $element[$j]->title = $row['element_title'];
@ -150,6 +150,7 @@
}else{ }else{
$element[$j]->options = ''; $element[$j]->options = '';
} }
$j++; $j++;
} }
@ -218,8 +219,8 @@ EOT;
<li><a id="number" href="javascript:insert_element('number');"><img src="images/button_text/number.gif" /></a></li> <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="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="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('date');"><img src="images/button_text/date.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('phone');"><img src="images/button_text/phone.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="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="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> <li><a id="file_upload" href="javascript:insert_element('file');"><img src="images/button_text/file_upload.gif" /></a></li>
@ -254,8 +255,8 @@ Tipo de campo
<select class="select full" id="element_type" autocomplete="off" tabindex="12" onchange="set_properties(JJ(this).val(), 'type')"> <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="text">Línea de texto</option>
<option value="textarea">Párrafo de texto</option> <option value="textarea">Párrafo de texto</option>
<option value="radio">Selección múltiple</option> <option value="radio">Botón de opciones</option>
<option value="checkbox">Cajas de selección</option> <option value="checkbox">Casillas de selección</option>
<option value="select">Lista desplegable</option> <option value="select">Lista desplegable</option>
<option value="number">Número</option> <option value="number">Número</option>
<option value="simple_name">Nombre</option> <option value="simple_name">Nombre</option>
@ -289,8 +290,8 @@ Formato de fecha
<a href="#" class="tooltip" title="Formato de fecha" rel="Puede elegir entre formato de fecha americano y europeo">(?)</a> <a href="#" class="tooltip" title="Formato de fecha" rel="Puede elegir entre formato de fecha americano y europeo">(?)</a>
</label> </label>
<select class="select full" id="date_type" autocomplete="off" onchange="set_properties(JJ(this).val(), 'type')"> <select class="select full" id="date_type" autocomplete="off" onchange="set_properties(JJ(this).val(), 'type')">
<option id="element_date" value="date">MM / DD / YYYY</option> <option id="element_europe_date" value="europe_date">DD / MM / AAAA</option>
<option id="element_europe_date" value="europe_date">DD / MM / YYYY</option> <option id="element_date" value="date">MM / DD / AAAA</option>
</select> </select>
</li> </li>
@ -311,8 +312,8 @@ Formato de teléfono
<a href="#" class="tooltip" title="Formato de teléfono" rel="Puede elegir entre formato de fecha americano o internacional">(?)</a> <a href="#" class="tooltip" title="Formato de teléfono" rel="Puede elegir entre formato de fecha americano o internacional">(?)</a>
</label> </label>
<select class="select full" id="phone_format" autocomplete="off" onchange="set_properties(JJ(this).val(), 'type')"> <select class="select full" id="phone_format" autocomplete="off" onchange="set_properties(JJ(this).val(), 'type')">
<option id="element_phone" value="phone">(###) ### - ####</option>
<option id="element_simple_phone" value="simple_phone">Internacional</option> <option id="element_simple_phone" value="simple_phone">Internacional</option>
<option id="element_phone" value="phone">(###) ### - ####</option>
</select> </select>
</li> </li>
@ -691,7 +692,7 @@ Instrucciones para los usuarios
<div class="left"> <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"> <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> <label class="choice" for="form_success_message_option">Mostrar mensaje</label>
<a class="tooltip" title="Success Message" rel="Se mostrará el mensaje que se indique después de que los usuarios hayan enviado sus respuestas.">(?)</a> <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>
<div class="right"> <div class="right">
@ -707,6 +708,7 @@ Instrucciones para los usuarios
</li> </li>
</ul> </ul>
</form> </form>
</div> </div>
<?php <?php

View File

@ -290,28 +290,28 @@
<script type="text/javascript" src="js/jquery/jquery-core.js"></script> <script type="text/javascript" src="js/jquery/jquery-core.js"></script>
<script> <script>
function toggle_esl_options(){ function toggle_esl_options(){
if($("#esl_toggle").text() == "more options"){ if($("#esl_toggle").text() == "más opciones"){
$(".esl_options").slideDown("slow"); $(".esl_options").slideDown("slow");
$("#esl_toggle").text("hide options"); $("#esl_toggle").text("ocultar opciones");
$("#esl_toggle_img").attr("src","images/icons/resultset_up.gif"); $("#esl_toggle_img").attr("src","images/icons/resultset_up.gif");
$("#esl_options_expand").val("1"); $("#esl_options_expand").val("1");
}else{ }else{
$(".esl_options").fadeOut("slow"); $(".esl_options").fadeOut("slow");
$("#esl_toggle").text("more options"); $("#esl_toggle").text("más opciones");
$("#esl_toggle_img").attr("src","images/icons/resultset_next.gif"); $("#esl_toggle_img").attr("src","images/icons/resultset_next.gif");
$("#esl_options_expand").val("0"); $("#esl_options_expand").val("0");
} }
} }
function toggle_esr_options(){ function toggle_esr_options(){
if($("#esr_toggle").text() == "more options"){ if($("#esr_toggle").text() == "más opciones"){
$(".esr_options").slideDown("slow"); $(".esr_options").slideDown("slow");
$("#esr_toggle").text("hide options"); $("#esr_toggle").text("ocultar opciones");
$("#esr_toggle_img").attr("src","images/icons/resultset_up.gif"); $("#esr_toggle_img").attr("src","images/icons/resultset_up.gif");
$("#esr_options_expand").val("1"); $("#esr_options_expand").val("1");
}else{ }else{
$(".esr_options").fadeOut("slow"); $(".esr_options").fadeOut("slow");
$("#esr_toggle").text("more options"); $("#esr_toggle").text("más opciones");
$("#esr_toggle_img").attr("src","images/icons/resultset_next.gif"); $("#esr_toggle_img").attr("src","images/icons/resultset_next.gif");
$("#esr_options_expand").val("0"); $("#esr_options_expand").val("0");
} }
@ -327,7 +327,7 @@ EOT;
<div id="form_manager"> <div id="form_manager">
<?php show_message(); ?> <?php show_message(); ?>
<div class="info"> <div class="info">
<h2><a class="breadcrumb" href="manage_form.php?id=<?php echo $form_id; ?>"><?php echo $form_name; ?></a> <img src="images/icons/resultset_next.gif" align="bottom" /> Emails de respuesta</h2> <h2><a class="breadcrumb" href="manage_form.php?id=<?php echo $form_id; ?>"><?php echo $form_name; ?></a> <img src="images/icons/resultset_next.gif" align="bottom" /> Notificaciones de respuesta</h2>
<p>Indique a quién se enviará por email las respuestas del formulario</b></p> <p>Indique a quién se enviará por email las respuestas del formulario</b></p>
</div> </div>
<h2 style="font-size: 150%;margin-bottom: 10px;">Mandar notificaciones por email <img src="images/icons/arrow_right.gif" align="absmiddle" /></h2> <h2 style="font-size: 150%;margin-bottom: 10px;">Mandar notificaciones por email <img src="images/icons/arrow_right.gif" align="absmiddle" /></h2>

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 787 B

After

Width:  |  Height:  |  Size: 807 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 783 B

After

Width:  |  Height:  |  Size: 751 B

View File

@ -26,7 +26,7 @@
<?php /*<img src="images/appnitro_logo.png" class="fix_png" id="appnitro_logo" width="179" height="55"/>*/ ?> <?php /*<img src="images/appnitro_logo.png" class="fix_png" id="appnitro_logo" width="179" height="55"/>*/ ?>
<?php if(empty($hide_nav)){ ?> <?php if(empty($hide_nav)){ ?>
<ul id="header_tab"> <ul id="header_tab">
<li><a href="manage_form.php" title="Formularios"><img src="images/manage_forms_active.gif" alt=""></a></li> <li><a href="manage_form.php" title="Formularios"><img src="images/manage_forms_active.gif" alt="Formularios"></a></li>
<li class="lgo"><a href="logout.php" class="lbOn" title="Salir"><img src="images/logout.gif" alt=""></a></li> <li class="lgo"><a href="logout.php" class="lbOn" title="Salir"><img src="images/logout.gif" alt=""></a></li>
</ul> </ul>
<?php } ?> <?php } ?>

View File

@ -423,7 +423,7 @@ EOT;
}elseif (NOTIFICATION_MAIL_FROM_NAME != ''){ }elseif (NOTIFICATION_MAIL_FROM_NAME != ''){
$mail->FromName = utf8_encode(str_replace('&nbsp','',str_replace($template_variables,$template_values,NOTIFICATION_MAIL_FROM_NAME))); $mail->FromName = utf8_encode(str_replace('&nbsp','',str_replace($template_variables,$template_values,NOTIFICATION_MAIL_FROM_NAME)));
}else{ }else{
$mail->FromName = 'MachForm'; $mail->FromName = '';
} }
//decode any html entity //decode any html entity
@ -461,7 +461,7 @@ EOT;
$email_content = str_replace($template_variables,$template_values,$content); $email_content = str_replace($template_variables,$template_values,$content);
//add footer //add footer
$email_content .= "<br /><br /><br /><br /><br /><b style=\"font-family:Lucida Grande,Tahoma,Arial,Verdana,sans-serif;font-size:12px\">Powered by <a href=\"http://www.appnitro.com\">MachForm</a></b>"; $email_content .= "<br /><br /><br /><br /><br /><b style=\"font-family:Lucida Grande,Tahoma,Arial,Verdana,sans-serif;font-size:12px\"></b>";
//enclose with container div //enclose with container div
$email_content = '<div style="font-family:Lucida Grande,Tahoma,Arial,Verdana,sans-serif;font-size:12px">'.$email_content.'</div>'; $email_content = '<div style="font-family:Lucida Grande,Tahoma,Arial,Verdana,sans-serif;font-size:12px">'.$email_content.'</div>';

View File

@ -10,35 +10,35 @@
global $lang; global $lang;
//simple name and extended name //simple name and extended name
$lang['name_first'] = 'Primero'; $lang['name_first'] = 'Nombre';
$lang['name_last'] = 'Último'; $lang['name_last'] = 'Apellidos';
$lang['name_title'] = 'Título'; $lang['name_title'] = 'Título';
$lang['name_suffix'] = 'Sufijo'; $lang['name_suffix'] = 'Sufijo';
//address //address
$lang['address_street'] = 'Dirección'; $lang['address_street'] = 'Dirección';
$lang['address_street2'] = 'Dirección (cont)'; $lang['address_street2'] = 'Dirección (cont)';
$lang['address_city'] = 'Población'; $lang['address_city'] = 'Población';
$lang['address_state'] = 'Provincia'; $lang['address_state'] = 'Provincia';
$lang['address_zip'] = 'Código postal'; $lang['address_zip'] = 'Código postal';
$lang['address_country'] = 'País'; $lang['address_country'] = 'País';
//captcha //captcha
$lang['captcha_required'] = 'Este campo es obligatorio. Por favor, introduzca las letras que aparecen en la imagen.'; $lang['captcha_required'] = 'Este campo es obligatorio. Por favor, introduzca las letras que aparecen en la imagen.';
$lang['captcha_mismatch'] = 'No coinciden las letras introducidas con las que aparecen en la imagen. Por favor, inténtelo otra vez.'; $lang['captcha_mismatch'] = 'No coinciden las letras introducidas con las que aparecen en la imagen. Por favor, inténtelo otra vez.';
$lang['captcha_error'] = 'Se ha producido un error en el proceso. Por favor, inténtelo otra vez.'; $lang['captcha_error'] = 'Se ha producido un error en el proceso. Por favor, inténtelo otra vez.';
$lang['captcha_title'] = 'Introduzca las letras que aparecen en la imagen de abajo.'; $lang['captcha_title'] = 'Introduzca las letras que aparecen en la imagen de abajo.';
//date //date
$lang['date_dd'] = 'DD'; $lang['date_dd'] = 'DD';
$lang['date_mm'] = 'MM'; $lang['date_mm'] = 'MM';
$lang['date_yyyy'] = 'YYYY'; $lang['date_yyyy'] = 'AAAA';
//price //price
$lang['price_dollar_main'] = 'Dólares'; $lang['price_dollar_main'] = 'Dólares';
$lang['price_dollar_sub'] = 'Centavos'; $lang['price_dollar_sub'] = 'Centavos';
$lang['price_euro_main'] = 'Euros'; $lang['price_euro_main'] = 'Euros';
$lang['price_euro_sub'] = 'Céntimos'; $lang['price_euro_sub'] = 'Céntimos';
$lang['price_pound_main'] = 'Libras'; $lang['price_pound_main'] = 'Libras';
$lang['price_pound_sub'] = 'Peniques'; $lang['price_pound_sub'] = 'Peniques';
$lang['price_yen'] = 'Yenes'; $lang['price_yen'] = 'Yenes';
@ -50,47 +50,48 @@
//error message //error message
$lang['error_title'] = 'Se ha producido un error en su envio.'; $lang['error_title'] = 'Se ha producido un error en su envio.';
$lang['error_desc'] = 'Los errores están <strong>resaltados</strong> abajo.'; $lang['error_desc'] = 'Los errores están <strong>resaltados</strong> abajo.';
//form buttons //form buttons
$lang['submit_button'] = 'Enviar'; $lang['submit_button'] = 'Enviar';
$lang['continue_button'] = 'Continuar'; $lang['continue_button'] = 'Continuar';
$lang['back_button'] = 'Atrás'; $lang['back_button'] = 'Atrás';
//form status //form status
$lang['form_inactive'] = 'Este formulario está actualmente desactivado.'; $lang['form_inactive'] = 'Este formulario está actualmente desactivado.';
//form password //form password
$lang['form_pass_title'] = 'El acceso a este formulario está protegido por contraseña.'; $lang['form_pass_title'] = 'El acceso a este formulario está protegido por contraseña.';
$lang['form_pass_desc'] = 'Por favor, introduzca la contraseña.'; $lang['form_pass_desc'] = 'Por favor, introduzca la contraseña.';
$lang['form_pass_invalid'] = '¡La contraseña no es correcta!'; $lang['form_pass_invalid'] = '¡La contraseña no es correcta!';
$lang['form_pass_word'] = 'Contraseña';
//form review //form review
$lang['review_title'] = 'Revise sus datos'; $lang['review_title'] = 'Revise sus datos';
$lang['review_message'] = 'Por favor, revise los datos que ha introducido. Cuando esté conforme, pulse el botón Enviar para terminar.'; $lang['review_message'] = 'Por favor, revise los datos que ha introducido. Cuando esté conforme, pulse el botón Enviar para terminar.';
//validation message //validation message
$lang['val_required'] = 'Este campo es obligatorio. Por favor, introduzca un valor.'; $lang['val_required'] = 'Este campo es obligatorio. Por favor, introduzca un valor.';
$lang['val_required_file'] = 'Este campo es obligatorio. Por favor, indique un fichero.'; $lang['val_required_file'] = 'Este campo es obligatorio. Por favor, indique un fichero.';
$lang['val_unique'] = 'Este campo requiere un valor único y este valor ya ha sido usado.'; $lang['val_unique'] = 'Este campo requiere un valor único y este valor ya ha sido usado.';
$lang['val_integer'] = 'El valor introducido tiene que ser un valor entero.'; $lang['val_integer'] = 'El valor introducido tiene que ser un valor entero.';
$lang['val_float'] = 'El valor introducido tiene que ser un valor flotante.'; $lang['val_float'] = 'El valor introducido tiene que ser un valor flotante.';
$lang['val_numeric'] = 'El valor introducido tiene que ser un número.'; $lang['val_numeric'] = 'El valor introducido tiene que ser un número.';
$lang['val_min'] = 'El valor de este campo no puede ser menor de %s caracteres.'; $lang['val_min'] = 'El valor de este campo no puede ser menor de %s caracteres.';
$lang['val_max'] = 'El valor de este campo no puede ser mayor de %s caracteres.'; $lang['val_max'] = 'El valor de este campo no puede ser mayor de %s caracteres.';
$lang['val_range'] = 'El valor de este campo no está dentro del rango de %s a %s caracteres.'; $lang['val_range'] = 'El valor de este campo no está dentro del rango de %s a %s caracteres.';
$lang['val_email'] = 'Este campo no tiene una dirección de correo electrónico válida.'; $lang['val_email'] = 'Este campo no tiene una dirección de correo electrónico válida.';
$lang['val_website'] = 'Este campo no tiene una dirección web válida.'; $lang['val_website'] = 'Este campo no tiene una dirección web válida.';
$lang['val_username'] = 'Los caracteres de este campo sólo pueden contener letras (a-z), números (0-9) y guiones bajos.'; $lang['val_username'] = 'Los caracteres de este campo sólo pueden contener letras (a-z), números (0-9) y guiones bajos.';
$lang['val_equal'] = '%s debe coincidir.'; $lang['val_equal'] = '%s debe coincidir.';
$lang['val_date'] = 'Este campo no tiene una fecha correcta.'; $lang['val_date'] = 'Este campo no tiene una fecha correcta.';
$lang['val_time'] = 'Este campo no tiene una hora correcta.'; $lang['val_time'] = 'Este campo no tiene una hora correcta.';
$lang['val_phone'] = 'Por favor, introduzca un número de teléfono válido.'; $lang['val_phone'] = 'Por favor, introduzca un número de teléfono válido.';
$lang['val_filetype'] = 'The filetype you are attempting to upload is not allowed.'; $lang['val_filetype'] = 'The filetype you are attempting to upload is not allowed.';
//fields on excel/csv //fields on excel/csv
$lang['export_num'] = 'Num.'; $lang['export_num'] = 'Num.';
$lang['date_created'] = 'Fecha de creación'; $lang['date_created'] = 'Fecha de creación';
$lang['date_updated'] = 'Fecha de actualización'; $lang['date_updated'] = 'Fecha de actualización';
$lang['ip_address'] = 'Dirección IP'; $lang['ip_address'] = 'Dirección IP';
?> ?>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -31,7 +31,7 @@
$username = trim($_POST['admin_username']); $username = trim($_POST['admin_username']);
$password = trim($_POST['admin_password']); $password = trim($_POST['admin_password']);
if(($username != ADMIN_USER) || ($password != ADMIN_PASSWORD)){ if(($username != ADMIN_USER) || ($password != ADMIN_PASSWORD)){
$_SESSION['AP_LOGIN_ERROR'] = 'Please enter the correct user and password!'; $_SESSION['AP_LOGIN_ERROR'] = 'Por favor, introduzca su usuario y su contraseña correctamente';
}else{ }else{
$_SESSION['logged_in'] = true; $_SESSION['logged_in'] = true;

View File

@ -166,6 +166,7 @@
} }
}); });
if (d === true) { if (d === true) {
this.find("*").andSelf().each(function (i) { this.find("*").andSelf().each(function (i) {
var a = v.data(this, "events"); var a = v.data(this, "events");
for (var b in a) { for (var b in a) {
@ -902,6 +903,7 @@
button: '"button"==a.type||jQuery.nodeName(a,"button")', button: '"button"==a.type||jQuery.nodeName(a,"button")',
input: "/input|select|textarea|button/i.test(a.nodeName)", input: "/input|select|textarea|button/i.test(a.nodeName)",
has: "jQuery.find(m[3],a).length", has: "jQuery.find(m[3],a).length",
header: "/h\\d/i.test(a.nodeName)", header: "/h\\d/i.test(a.nodeName)",
animated: "jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length" animated: "jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length"
} }
@ -1241,6 +1243,7 @@
} else { } else {
if (d[b]) { if (d[b]) {
if (c) { if (c) {
delete d[b][c.guid] delete d[b][c.guid]
} else { } else {
for (c in d[b]) { for (c in d[b]) {
@ -1624,6 +1627,7 @@
lastModified: {}, lastModified: {},
ajax: function (s) { ajax: function (s) {
var c, jsre = /=(\?|%3F)/g, var c, jsre = /=(\?|%3F)/g,
status, data; status, data;
s = v.extend(true, s, v.extend(true, {}, s = v.extend(true, s, v.extend(true, {},
v.ajaxSettings, s)); v.ajaxSettings, s));
@ -2369,6 +2373,7 @@ var JJ = jQuery.noConflict();
S = 0, S = 0,
Y = this[0], Y = this[0],
M = this[0], M = this[0],
L, L,
I, I,
W = G.css(Y, "position"), W = G.css(Y, "position"),
@ -3102,16 +3107,16 @@ field.prototype = {
return A return A
}, },
name: function () { name: function () {
return '<div><span><input readonly="readonly" class="text" size="2" type="text"><label>Title</label></span><span><input readonly="readonly" class="text" size="12" type="text"><label>First</label></span><span><input readonly="readonly" class="text" size="14" type="text"><label>Last</label></span><span><input readonly="readonly" class="text" size="3" type="text"><label>Suffix</label></span></div>' return '<div><span><input readonly="readonly" class="text" size="2" type="text"><label>Título</label></span><span><input readonly="readonly" class="text" size="12" type="text"><label>Nombre</label></span><span><input readonly="readonly" class="text" size="14" type="text"><label>Apellidos</label></span><span><input readonly="readonly" class="text" size="3" type="text"><label>Sufijo</label></span></div>'
}, },
simple_name: function () { simple_name: function () {
return '<div><span><input readonly="readonly" class="text" size="12" type="text"><label>First</label></span><span><input readonly="readonly" class="text" size="14" type="text"><label>Last</label></span></div>' return '<div><span><input readonly="readonly" class="text" size="12" type="text"><label>Nombre</label></span><span><input readonly="readonly" class="text" size="14" type="text"><label>Apellidos</label></span></div>'
}, },
date: function () { date: function () {
return '<div><span><input readonly="readonly" class="text" size="2" type="text"> / <label>MM</label></span><span><input readonly="readonly" class="text" size="2" type="text"> / <label>DD</label></span><span><input readonly="readonly" class="text" size="4" type="text"> <label>YYYY</label></span><img src="images/icons/calendar.gif" alt="Elegir una fecha" class="icon"></div>' return '<div><span><input readonly="readonly" class="text" size="2" type="text"> / <label>MM</label></span><span><input readonly="readonly" class="text" size="2" type="text"> / <label>DD</label></span><span><input readonly="readonly" class="text" size="4" type="text"> <label>AAAA</label></span><img src="images/icons/calendar.gif" alt="Elegir una fecha" class="icon"></div>'
}, },
europe_date: function () { europe_date: function () {
return '<div><span><input readonly="readonly" class="text" size="2" type="text"> / <label>DD</label></span><span><input readonly="readonly" class="text" size="2" type="text"> / <label>MM</label></span><span><input readonly="readonly" class="text" size="4" type="text"> <label>YYYY</label></span><img src="images/icons/calendar.gif" alt="Elegir una fecha" class="icon"></div>' return '<div><span><input readonly="readonly" class="text" size="2" type="text"> / <label>DD</label></span><span><input readonly="readonly" class="text" size="2" type="text"> / <label>MM</label></span><span><input readonly="readonly" class="text" size="4" type="text"> <label>AAAA</label></span><img src="images/icons/calendar.gif" alt="Elegir una fecha" class="icon"></div>'
}, },
time: function () { time: function () {
if (ds.get(this.id, "constraint") == "show_seconds") { if (ds.get(this.id, "constraint") == "show_seconds") {
@ -3197,10 +3202,10 @@ data_source.prototype = {
title = "Lista desplegable"; title = "Lista desplegable";
break; break;
case "radio": case "radio":
title = "Selección múltiple"; title = "Botón de opciones";
break; break;
case "checkbox": case "checkbox":
title = "Cajas de selección"; title = "Casillas de selección";
break; break;
case "name": case "name":
title = "Nombre"; title = "Nombre";
@ -3240,6 +3245,7 @@ data_source.prototype = {
break; break;
case "file": case "file":
title = "Carga de fichero"; title = "Carga de fichero";
break; break;
case "section": case "section":
title = "Salto de sección"; title = "Salto de sección";
@ -3260,19 +3266,31 @@ data_source.prototype = {
default_value: "", default_value: "",
constraint: "", constraint: "",
options: [{ options: [{
option: "Primera opción", option: "Primera",
is_default: 0, is_default: 0,
is_db_live: "0", is_db_live: "0",
id: "0" id: "0"
}, },
{ {
option: "Segunda opción", option: "Segunda",
is_default: 0, is_default: 0,
is_db_live: "0", is_db_live: "0",
id: "0" id: "0"
}, },
{ {
option: "Tercera opción", option: "Tercera",
is_default: 0,
is_db_live: "0",
id: "0"
},
{
option: "Cuarta",
is_default: 0,
is_db_live: "0",
id: "0"
},
{
option: "Quinta",
is_default: 0, is_default: 0,
is_db_live: "0", is_db_live: "0",
id: "0" id: "0"
@ -3646,7 +3664,7 @@ function delete_checkbox(c, d, e, f) {
return false return false
} }
if (e == "checkbox" && d == 1) { if (e == "checkbox" && d == 1) {
confirmed = confirm("All data associated with this choice will be deleted. Are you sure you want to delete this choice?") confirmed = confirm("¿Desea eliminar este campo?")
} else { } else {
confirmed = true confirmed = true
} }
@ -3755,7 +3773,7 @@ function switch_display(A, B) {
} }
function delete_element(A) { function delete_element(A) {
if (ds.get(A, "is_db_live") == "1") { if (ds.get(A, "is_db_live") == "1") {
confirmed = confirm("All data associated with this field will be deleted. Are you sure you want to delete this field?") confirmed = confirm("¿Desea eliminar este campo?")
} else { } else {
confirmed = true confirmed = true
} }
@ -3766,7 +3784,7 @@ function delete_element(A) {
} }
function delete_from_db(c) { function delete_from_db(c) {
if (ds.get(c, "is_db_live") == "1") { if (ds.get(c, "is_db_live") == "1") {
JJ("#statusText").html("Deleting ... Please wait ..."); JJ("#statusText").html("Eliminando, por favor, espere...");
JJ.post("delete_element.php", { JJ.post("delete_element.php", {
form_id: json_form.id, form_id: json_form.id,
element_id: c element_id: c
@ -3776,7 +3794,7 @@ function delete_from_db(c) {
if (b.status == "ok") { if (b.status == "ok") {
delete_element_markup(c) delete_element_markup(c)
} else { } else {
alert("An error occured while deleting your field!") alert("Ha ocurrido un error mientras se eliminaba el campo")
} }
}) })
} else { } else {

View File

@ -465,10 +465,10 @@ EOT;
<td width="9%"><a href="<?php echo "edit_form.php?id={$data['form_id']}"; ?>"><img src="images/icons/edit_form_32.gif" /></a></td> <td width="9%"><a href="<?php echo "edit_form.php?id={$data['form_id']}"; ?>"><img src="images/icons/edit_form_32.gif" /></a></td>
<td width="9%"><a href="<?php echo "edit_css.php?id={$data['form_id']}"; ?>"><img src="images/icons/colorize_32.gif" /></a></td> <td width="9%"><a href="<?php echo "edit_css.php?id={$data['form_id']}"; ?>"><img src="images/icons/colorize_32.gif" /></a></td>
<td width="9%"><a href="<?php echo "email_settings.php?id={$data['form_id']}"; ?>"><img src="images/icons/mail_forward_32.gif" /></a></td> <td width="9%"><a href="<?php echo "email_settings.php?id={$data['form_id']}"; ?>"><img src="images/icons/mail_forward_32.gif" /></a></td>
<?php /*<td width="9%"><a href=" < ? p h p echo "embed_code.php?id={$data['form_id']}"; ? > "><img src="images/icons/embed_code_32.gif" /></a></td>*/ ?> <td width="9%"><a href="<?php echo "embed_code.php?id={$data['form_id']}"; ?>"><img src="images/icons/embed_code_32.gif" /></a></td>
<td width="9%">&nbsp;</td> <!--<td width="9%"><a href="send_form.php?id=<?php echo $data['form_id']; ?>"><img src="images/icons/mail_forward_32.gif" /></a></td>-->
<td width="9%"><a href="view.php?id=<?php echo $data['form_id']; ?>" target="_blank"><img src="images/icons/view_form_32.gif" /></a></td> <td width="12%"><a href="view.php?id=<?php echo base64_encode($data['form_id']); ?>" target="_blank"><img src="images/icons/view_form_32.gif" /></a></td>
<td width="21%">&nbsp;</td> <td width="18%">&nbsp;</td>
<td width="9%"><a href="<?php echo "manage_form.php?duplicate={$data['form_id']}"; ?>"><img src="images/icons/copy_32.gif" /></a></td> <td width="9%"><a href="<?php echo "manage_form.php?duplicate={$data['form_id']}"; ?>"><img src="images/icons/copy_32.gif" /></a></td>
<td width="6%"><a href="manage_form.php?pageno=<?php echo $pageno; ?>&delete=<?php echo $data['form_id']; ?>" onclick="javascript: return confirm('¿Desea eliminar este formulario y todas las respuestas asociadas?');"><img src="images/icons/cross.gif" /></a></td> <td width="6%"><a href="manage_form.php?pageno=<?php echo $pageno; ?>&delete=<?php echo $data['form_id']; ?>" onclick="javascript: return confirm('¿Desea eliminar este formulario y todas las respuestas asociadas?');"><img src="images/icons/cross.gif" /></a></td>
</tr> </tr>
@ -476,10 +476,10 @@ EOT;
<td ><a href="<?php echo "manage_entries.php?id={$data['form_id']}"; ?>">Respuestas</a></td> <td ><a href="<?php echo "manage_entries.php?id={$data['form_id']}"; ?>">Respuestas</a></td>
<td><a href="<?php echo "edit_form.php?id={$data['form_id']}"; ?>">Editar form.</a></td> <td><a href="<?php echo "edit_form.php?id={$data['form_id']}"; ?>">Editar form.</a></td>
<td nowrap><a href="<?php echo "edit_css.php?id={$data['form_id']}"; ?>">Editar estilo</a></td> <td nowrap><a href="<?php echo "edit_css.php?id={$data['form_id']}"; ?>">Editar estilo</a></td>
<td nowrap><a href="<?php echo "email_settings.php?id={$data['form_id']}"; ?>">Emails</a></td> <td nowrap><a href="<?php echo "email_settings.php?id={$data['form_id']}"; ?>">Notificaciones</a></td>
<?php /*<td nowrap><a href=" < ? p h p echo "embed_code.php?id={$data['form_id']}"; ? > ">Código</a></td> */ ?> <td nowrap><a href="<?php echo "embed_code.php?id={$data['form_id']}"; ?>">Código</a></td>
<td>&nbsp;</td> <!--<td nowrap><a href="<?php echo "send_form.php?id={$data['form_id']}"; ?>">Enviar el formulario</a></td>-->
<td><a href="view.php?id=<?php echo $data['form_id']; ?>" target="_blank">Ver formulario</a></td> <td><a href="view.php?id=<?php echo base64_encode($data['form_id']); ?>" target="_blank">Ver formulario</a></td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td><a href="<?php echo "manage_form.php?duplicate={$data['form_id']}"; ?>">Duplicar</a></td> <td><a href="<?php echo "manage_form.php?duplicate={$data['form_id']}"; ?>">Duplicar</a></td>
<td><a href="manage_form.php?pageno=<?php echo $pageno; ?>&delete=<?php echo $data['form_id']; ?>" onclick="javascript: return confirm('Este formulario y sus respuestas se eliminarán. ¿Desea continuar?');">Borrar</a></td> <td><a href="manage_form.php?pageno=<?php echo $pageno; ?>&delete=<?php echo $data['form_id']; ?>" onclick="javascript: return confirm('Este formulario y sus respuestas se eliminarán. ¿Desea continuar?');">Borrar</a></td>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,81 @@
.required {
color: #CC0000;
}
.guidelines {
position:relative;
font-weight:normal;
font-size:14px;
right:20px;
left:9px;
color:#4C4C4C;
padding:1px 0 3px 8px;
margin: 0;
width:90%;
}
.error
{
position:relative;
font-weight:normal;
font-size:14px;
left:9px;
padding:1px 8px 3px 8px;
color:#CC0000 !important;
margin: 0;
width:90%;
}
ul.error_message
{
background-color:#FFDFDF !important;
border-color:#c7a9aa;
}
ul.success_message
{
background-color:#ccffcc !important;
border-color:#89ba8a;
}
input.small
{
width:25%;
}
input.medium
{
width:50%;
}
input.large
{
width:99%;
}
textarea.small
{
width:98%;
height:2.5em;
}
textarea.medium
{
width:98%;
height:5em;
}
textarea.large
{
width:98%;
height:7.5em;
}
.datefield {
color:blue;
float:right;
position:relative;
top:12px;
right:10px;
}

View File

@ -0,0 +1,92 @@
#sw-wrapper {
position:absolute; z-index:1000;
left:0;
width:100%;
font-family:helvetica, sans-serif;
background:rgba(0,0,0,0.7);
text-align:left;
}
#sw-header {
position:relative;
width:100%; height:43px;
border-top:1px solid #000; border-bottom:1px solid #000;
background:url(../images/sw-header.png) 0 0 repeat-x;
opacity: 0.9;
}
#sw-cancel, #sw-done {
position:absolute;
top:7px;
height:20px; line-height:20px;
padding:0 5px; margin:0;
border-width:5px;
font-size:12px; font-weight:bold;
text-shadow:rgba(0,0,0,0.8) 0 -1px 0;
color:#fff;
}
#sw-cancel {
left:7px;
float:left;
-webkit-border-image:url(../images/sw-button-cancel.png) 5;
}
#sw-done {
right:7px;
float:right;
-webkit-border-image:url(../images/sw-button-done.png) 5;
}
.sw-pressed { opacity:0.4; }
#sw-slots-wrapper {
position:relative; z-index:999;
display:block;
height:215px;
padding:0 11px;
overflow:hidden;
}
#sw-slots {
display:table;
width:100%;
background:#fcfcfc;
}
#sw-slots div {
display:table-cell;
height:100%;
padding-top:86px;
border-left:2px solid #0d0e0f;
background-color:#fcfcfc;
background-image: url(../images/sw-slot-border.png);
background-position: 0 0, 100% 0;
background-repeat: repeat-y;
}
#sw-slots div:first-child { border:0; }
#sw-slots ul {
padding:0 0 85px 0; margin:0;
list-style:none;
}
#sw-slots .sw-right { text-align:right; }
#sw-slots .sw-shrink { width:1%; }
#sw-slots .sw-readonly { background:#ddd; }
#sw-slots li {
padding:0 8px;
height:44px;
overflow:hidden;
font:bold 24px/44px Helvetica,sans-serif;
}
#sw-frame {
position:absolute; z-index:1000;
left:0; right:0; bottom:0;
height:183px;
border-width:16px;
-webkit-border-image:url(../images/sw-alpha.png) 16;
}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 804 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 738 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 861 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 B

View File

@ -0,0 +1,77 @@
function openTimePicker(elem1,elem2,elem3,elem4,elem5) {
var now = new Time();
var hours = { };
var minutes = { };
var seconds = { };
for( var i = 0; i < 24; i += 1 ) {
hours[i] = i;
}
for( i = 0; i < 60; i += 1 ) {
minutes[i] = i;
seconds[i] = i;
}
alert('jur');
SpinningWheel.addSlot(hours, 'right', now.getHours());
SpinningWheel.addSlot(minutes, 'right', now.getMinutes());
SpinningWheel.addSlot(seconds, 'right', now.getSeconds());
SpinningWheel.setCancelAction(function(){
//document.getElementById(elem1).innerHTML = "cancelled";
});
SpinningWheel.setDoneAction(function(){
var results = SpinningWheel.getSelectedValues();
var ap = "AM";
if (results.keys[0] > 11) { ap = "PM"; }
if (results.keys[0] > 12) { results.keys[0] = results.keys[0] - 12; }
if (results.keys[0] == 0) { results.keys[0] = 12; }
document.getElementById(elem1).innerHTML = results.values.join(' ');
document.getElementById(elem2).value = results.keys.join(' ');
document.getElementById(elem3).value = results.keys[0];
document.getElementById(elem4).value = results.keys[1];
document.getElementById(elem5).value = results.keys[2];
document.getElementById(elem6).value = ap;
});
SpinningWheel.open();
}
function openCalendar(elem1,elem2,elem3,elem4,elem5) {
var now = new Date();
var days = { };
var years = { };
var months = { 1: 'Ene', 2: 'Feb', 3: 'Mar', 4: 'Abr', 5: 'May', 6: 'Jun', 7: 'Jul', 8: 'Ago', 9: 'Sep', 10: 'Oct', 11: 'Nov', 12: 'Dic' };
for( var i = 1; i < 32; i += 1 ) {
days[i] = i;
}
for( i = now.getFullYear()-10; i < now.getFullYear()+10; i += 1 ) {
years[i] = i;
}
SpinningWheel.addSlot(days, 'right', now.getDate());
SpinningWheel.addSlot(months, '', now.getMonth());
SpinningWheel.addSlot(years, 'right', now.getFullYear());
SpinningWheel.setCancelAction(function(){
//document.getElementById(elem1).innerHTML = "cancelled";
});
SpinningWheel.setDoneAction(function(){
var results = SpinningWheel.getSelectedValues();
document.getElementById(elem1).innerHTML = results.values.join(' ');
document.getElementById(elem2).value = results.keys.join(' ');
document.getElementById(elem3).value = results.keys[0];
document.getElementById(elem4).value = results.keys[1];
document.getElementById(elem5).value = results.keys[2];
});
SpinningWheel.open();
}

View File

@ -0,0 +1,29 @@
var iWebkit;
if (!iWebkit) {
iWebkit = window.onload = function () {
function fullscreen() {
var a = document.getElementsByTagName("a");
for (var i = 0; i < a.length;i++) {
if (a[i].className.match("noeffect")) {
}
else {
a[i].onclick = function () {
window.location = this.getAttribute("href");
return false;
};
}
}
}
function hideURLbar() {
window.scrollTo(0, 0.9);
}
iWebkit.init = function () {
fullscreen();
hideURLbar();
};
iWebkit.init();
};
}

View File

@ -0,0 +1 @@
var iWebkit;if(!iWebkit){iWebkit=window.onload=function(){function fullscreen(){var a=document.getElementsByTagName("a");for(var i=0;i<a.length;i++){if(a[i].className.match("noeffect")){}else{a[i].onclick=function(){window.location=this.getAttribute("href");return false}}}}function hideURLbar(){window.scrollTo(0,0.9)}iWebkit.init=function(){fullscreen();hideURLbar()};iWebkit.init()}}

View File

@ -0,0 +1,492 @@
/**
*
* Find more about the Spinning Wheel function at
* http://cubiq.org/spinning-wheel-on-webkit-for-iphone-ipod-touch/11
*
* Copyright (c) 2009 Matteo Spinelli, http://cubiq.org/
* Released under MIT license
* http://cubiq.org/dropbox/mit-license.txt
*
* Version 1.4 - Last updated: 2009.07.09
*
*/
var SpinningWheel = {
cellHeight: 44,
friction: 0.003,
slotData: [],
/**
*
* Event handler
*
*/
handleEvent: function (e) {
if (e.type == 'touchstart') {
this.lockScreen(e);
if (e.currentTarget.id == 'sw-cancel' || e.currentTarget.id == 'sw-done') {
this.tapDown(e);
} else if (e.currentTarget.id == 'sw-frame') {
this.scrollStart(e);
}
} else if (e.type == 'touchmove') {
this.lockScreen(e);
if (e.currentTarget.id == 'sw-cancel' || e.currentTarget.id == 'sw-done') {
this.tapCancel(e);
} else if (e.currentTarget.id == 'sw-frame') {
this.scrollMove(e);
}
} else if (e.type == 'touchend') {
if (e.currentTarget.id == 'sw-cancel' || e.currentTarget.id == 'sw-done') {
this.tapUp(e);
} else if (e.currentTarget.id == 'sw-frame') {
this.scrollEnd(e);
}
} else if (e.type == 'webkitTransitionEnd') {
if (e.target.id == 'sw-wrapper') {
this.destroy();
} else {
this.backWithinBoundaries(e);
}
} else if (e.type == 'orientationchange') {
this.onOrientationChange(e);
} else if (e.type == 'scroll') {
this.onScroll(e);
}
},
/**
*
* Global events
*
*/
onOrientationChange: function (e) {
window.scrollTo(0, 0);
this.swWrapper.style.top = window.innerHeight + window.pageYOffset + 'px';
this.calculateSlotsWidth();
},
onScroll: function (e) {
this.swWrapper.style.top = window.innerHeight + window.pageYOffset + 'px';
},
lockScreen: function (e) {
e.preventDefault();
e.stopPropagation();
},
/**
*
* Initialization
*
*/
reset: function () {
this.slotEl = [];
this.activeSlot = null;
this.swWrapper = undefined;
this.swSlotWrapper = undefined;
this.swSlots = undefined;
this.swFrame = undefined;
},
calculateSlotsWidth: function () {
var div = this.swSlots.getElementsByTagName('div');
for (var i = 0; i < div.length; i += 1) {
this.slotEl[i].slotWidth = div[i].offsetWidth;
}
},
create: function () {
var i, l, out, ul, div;
this.reset(); // Initialize object variables
// Create the Spinning Wheel main wrapper
div = document.createElement('div');
div.id = 'sw-wrapper';
div.style.top = window.innerHeight + window.pageYOffset + 'px'; // Place the SW down the actual viewing screen
div.style.webkitTransitionProperty = '-webkit-transform';
div.innerHTML = '<div id="sw-header"><div id="sw-cancel">Cancelar</' + 'div><div id="sw-done">Guardar</' + 'div></' + 'div><div id="sw-slots-wrapper"><div id="sw-slots"></' + 'div></' + 'div><div id="sw-frame"></' + 'div>';
document.body.appendChild(div);
this.swWrapper = div; // The SW wrapper
this.swSlotWrapper = document.getElementById('sw-slots-wrapper'); // Slots visible area
this.swSlots = document.getElementById('sw-slots'); // Pseudo table element (inner wrapper)
this.swFrame = document.getElementById('sw-frame'); // The scrolling controller
// Create HTML slot elements
for (l = 0; l < this.slotData.length; l += 1) {
// Create the slot
ul = document.createElement('ul');
out = '';
for (i in this.slotData[l].values) {
out += '<li>' + this.slotData[l].values[i] + '<' + '/li>';
}
ul.innerHTML = out;
div = document.createElement('div'); // Create slot container
div.className = this.slotData[l].style; // Add styles to the container
div.appendChild(ul);
// Append the slot to the wrapper
this.swSlots.appendChild(div);
ul.slotPosition = l; // Save the slot position inside the wrapper
ul.slotYPosition = 0;
ul.slotWidth = 0;
ul.slotMaxScroll = this.swSlotWrapper.clientHeight - ul.clientHeight - 86;
ul.style.webkitTransitionTimingFunction = 'cubic-bezier(0, 0, 0.2, 1)'; // Add default transition
this.slotEl.push(ul); // Save the slot for later use
// Place the slot to its default position (if other than 0)
if (this.slotData[l].defaultValue) {
this.scrollToValue(l, this.slotData[l].defaultValue);
}
}
this.calculateSlotsWidth();
// Global events
document.addEventListener('touchstart', this, false); // Prevent page scrolling
document.addEventListener('touchmove', this, false); // Prevent page scrolling
window.addEventListener('orientationchange', this, true); // Optimize SW on orientation change
window.addEventListener('scroll', this, true); // Reposition SW on page scroll
// Cancel/Done buttons events
document.getElementById('sw-cancel').addEventListener('touchstart', this, false);
document.getElementById('sw-done').addEventListener('touchstart', this, false);
// Add scrolling to the slots
this.swFrame.addEventListener('touchstart', this, false);
},
open: function () {
this.create();
this.swWrapper.style.webkitTransitionTimingFunction = 'ease-out';
this.swWrapper.style.webkitTransitionDuration = '400ms';
this.swWrapper.style.webkitTransform = 'translate3d(0, -260px, 0)';
},
/**
*
* Unload
*
*/
destroy: function () {
this.swWrapper.removeEventListener('webkitTransitionEnd', this, false);
this.swFrame.removeEventListener('touchstart', this, false);
document.getElementById('sw-cancel').removeEventListener('touchstart', this, false);
document.getElementById('sw-done').removeEventListener('touchstart', this, false);
document.removeEventListener('touchstart', this, false);
document.removeEventListener('touchmove', this, false);
window.removeEventListener('orientationchange', this, true);
window.removeEventListener('scroll', this, true);
this.slotData = [];
this.cancelAction = function () {
return false;
};
this.cancelDone = function () {
return true;
};
this.reset();
document.body.removeChild(document.getElementById('sw-wrapper'));
},
close: function () {
this.swWrapper.style.webkitTransitionTimingFunction = 'ease-in';
this.swWrapper.style.webkitTransitionDuration = '400ms';
this.swWrapper.style.webkitTransform = 'translate3d(0, 0, 0)';
this.swWrapper.addEventListener('webkitTransitionEnd', this, false);
},
/**
*
* Generic methods
*
*/
addSlot: function (values, style, defaultValue) {
if (!style) {
style = '';
}
style = style.split(' ');
for (var i = 0; i < style.length; i += 1) {
style[i] = 'sw-' + style[i];
}
style = style.join(' ');
var obj = { 'values': values, 'style': style, 'defaultValue': defaultValue };
this.slotData.push(obj);
},
getSelectedValues: function () {
var index, count,
i, l,
keys = [], values = [];
for (i in this.slotEl) {
// Remove any residual animation
this.slotEl[i].removeEventListener('webkitTransitionEnd', this, false);
this.slotEl[i].style.webkitTransitionDuration = '0';
if (this.slotEl[i].slotYPosition > 0) {
this.setPosition(i, 0);
} else if (this.slotEl[i].slotYPosition < this.slotEl[i].slotMaxScroll) {
this.setPosition(i, this.slotEl[i].slotMaxScroll);
}
index = -Math.round(this.slotEl[i].slotYPosition / this.cellHeight);
count = 0;
for (l in this.slotData[i].values) {
if (count == index) {
keys.push(l);
values.push(this.slotData[i].values[l]);
break;
}
count += 1;
}
}
return { 'keys': keys, 'values': values };
},
/**
*
* Rolling slots
*
*/
setPosition: function (slot, pos) {
this.slotEl[slot].slotYPosition = pos;
this.slotEl[slot].style.webkitTransform = 'translate3d(0, ' + pos + 'px, 0)';
},
scrollStart: function (e) {
// Find the clicked slot
var xPos = e.targetTouches[0].clientX - this.swSlots.offsetLeft; // Clicked position minus left offset (should be 11px)
// Find tapped slot
var slot = 0;
for (var i = 0; i < this.slotEl.length; i += 1) {
slot += this.slotEl[i].slotWidth;
if (xPos < slot) {
this.activeSlot = i;
break;
}
}
// If slot is readonly do nothing
if (this.slotData[this.activeSlot].style.match('readonly')) {
this.swFrame.removeEventListener('touchmove', this, false);
this.swFrame.removeEventListener('touchend', this, false);
return false;
}
this.slotEl[this.activeSlot].removeEventListener('webkitTransitionEnd', this, false); // Remove transition event (if any)
this.slotEl[this.activeSlot].style.webkitTransitionDuration = '0'; // Remove any residual transition
// Stop and hold slot position
var theTransform = window.getComputedStyle(this.slotEl[this.activeSlot]).webkitTransform;
theTransform = new WebKitCSSMatrix(theTransform).m42;
if (theTransform != this.slotEl[this.activeSlot].slotYPosition) {
this.setPosition(this.activeSlot, theTransform);
}
this.startY = e.targetTouches[0].clientY;
this.scrollStartY = this.slotEl[this.activeSlot].slotYPosition;
this.scrollStartTime = e.timeStamp;
this.swFrame.addEventListener('touchmove', this, false);
this.swFrame.addEventListener('touchend', this, false);
return true;
},
scrollMove: function (e) {
var topDelta = e.targetTouches[0].clientY - this.startY;
if (this.slotEl[this.activeSlot].slotYPosition > 0 || this.slotEl[this.activeSlot].slotYPosition < this.slotEl[this.activeSlot].slotMaxScroll) {
topDelta /= 2;
}
this.setPosition(this.activeSlot, this.slotEl[this.activeSlot].slotYPosition + topDelta);
this.startY = e.targetTouches[0].clientY;
// Prevent slingshot effect
if (e.timeStamp - this.scrollStartTime > 80) {
this.scrollStartY = this.slotEl[this.activeSlot].slotYPosition;
this.scrollStartTime = e.timeStamp;
}
},
scrollEnd: function (e) {
this.swFrame.removeEventListener('touchmove', this, false);
this.swFrame.removeEventListener('touchend', this, false);
// If we are outside of the boundaries, let's go back to the sheepfold
if (this.slotEl[this.activeSlot].slotYPosition > 0 || this.slotEl[this.activeSlot].slotYPosition < this.slotEl[this.activeSlot].slotMaxScroll) {
this.scrollTo(this.activeSlot, this.slotEl[this.activeSlot].slotYPosition > 0 ? 0 : this.slotEl[this.activeSlot].slotMaxScroll);
return false;
}
// Lame formula to calculate a fake deceleration
var scrollDistance = this.slotEl[this.activeSlot].slotYPosition - this.scrollStartY;
// The drag session was too short
if (scrollDistance < this.cellHeight / 1.5 && scrollDistance > -this.cellHeight / 1.5) {
if (this.slotEl[this.activeSlot].slotYPosition % this.cellHeight) {
this.scrollTo(this.activeSlot, Math.round(this.slotEl[this.activeSlot].slotYPosition / this.cellHeight) * this.cellHeight, '100ms');
}
return false;
}
var scrollDuration = e.timeStamp - this.scrollStartTime;
var newDuration = (2 * scrollDistance / scrollDuration) / this.friction;
var newScrollDistance = (this.friction / 2) * (newDuration * newDuration);
if (newDuration < 0) {
newDuration = -newDuration;
newScrollDistance = -newScrollDistance;
}
var newPosition = this.slotEl[this.activeSlot].slotYPosition + newScrollDistance;
if (newPosition > 0) {
// Prevent the slot to be dragged outside the visible area (top margin)
newPosition /= 2;
newDuration /= 3;
if (newPosition > this.swSlotWrapper.clientHeight / 4) {
newPosition = this.swSlotWrapper.clientHeight / 4;
}
} else if (newPosition < this.slotEl[this.activeSlot].slotMaxScroll) {
// Prevent the slot to be dragged outside the visible area (bottom margin)
newPosition = (newPosition - this.slotEl[this.activeSlot].slotMaxScroll) / 2 + this.slotEl[this.activeSlot].slotMaxScroll;
newDuration /= 3;
if (newPosition < this.slotEl[this.activeSlot].slotMaxScroll - this.swSlotWrapper.clientHeight / 4) {
newPosition = this.slotEl[this.activeSlot].slotMaxScroll - this.swSlotWrapper.clientHeight / 4;
}
} else {
newPosition = Math.round(newPosition / this.cellHeight) * this.cellHeight;
}
this.scrollTo(this.activeSlot, Math.round(newPosition), Math.round(newDuration) + 'ms');
return true;
},
scrollTo: function (slotNum, dest, runtime) {
this.slotEl[slotNum].style.webkitTransitionDuration = runtime ? runtime : '100ms';
this.setPosition(slotNum, dest ? dest : 0);
// If we are outside of the boundaries go back to the sheepfold
if (this.slotEl[slotNum].slotYPosition > 0 || this.slotEl[slotNum].slotYPosition < this.slotEl[slotNum].slotMaxScroll) {
this.slotEl[slotNum].addEventListener('webkitTransitionEnd', this, false);
}
},
scrollToValue: function (slot, value) {
var yPos, count, i;
this.slotEl[slot].removeEventListener('webkitTransitionEnd', this, false);
this.slotEl[slot].style.webkitTransitionDuration = '0';
count = 0;
for (i in this.slotData[slot].values) {
if (i == value) {
yPos = count * this.cellHeight;
this.setPosition(slot, yPos);
break;
}
count -= 1;
}
},
backWithinBoundaries: function (e) {
e.target.removeEventListener('webkitTransitionEnd', this, false);
this.scrollTo(e.target.slotPosition, e.target.slotYPosition > 0 ? 0 : e.target.slotMaxScroll, '150ms');
return false;
},
/**
*
* Buttons
*
*/
tapDown: function (e) {
e.currentTarget.addEventListener('touchmove', this, false);
e.currentTarget.addEventListener('touchend', this, false);
e.currentTarget.className = 'sw-pressed';
},
tapCancel: function (e) {
e.currentTarget.removeEventListener('touchmove', this, false);
e.currentTarget.removeEventListener('touchend', this, false);
e.currentTarget.className = '';
},
tapUp: function (e) {
this.tapCancel(e);
if (e.currentTarget.id == 'sw-cancel') {
this.cancelAction();
} else {
this.doneAction();
}
this.close();
},
setCancelAction: function (action) {
this.cancelAction = action;
},
setDoneAction: function (action) {
this.doneAction = action;
},
cancelAction: function () {
return false;
},
cancelDone: function () {
return true;
}
};

82
mobile/apple/php/rss.php Normal file
View File

@ -0,0 +1,82 @@
<?php
// define the namespaces that we are interested in
$ns = array
(
"content" => "http://purl.org/rss/1.0/modules/content/",
"wfw" => "http://wellformedweb.org/CommentAPI/",
"dc" => "http://purl.org/dc/elements/1.1/"
);
// obtain the articles in the feeds, and construct an array of articles
$articles = array();
// step 1: get the feed
$blog_url = "HTTP://YOURSITE.COM/FEED.XML";
$rawFeed = file_get_contents($blog_url);
$xml = new SimpleXmlElement($rawFeed);
// step 2: extract the channel metadata
$channel = array();
$channel["title"] = $xml->channel->title;
$channel["link"] = $xml->channel->link;
$channel["description"] = $xml->channel->description;
$channel["pubDate"] = $xml->pubDate;
$channel["timestamp"] = strtotime($xml->pubDate);
$channel["generator"] = $xml->generator;
$channel["language"] = $xml->language;
// step 3: extract the articles
foreach ($xml->channel->item as $item)
{
$article = array();
$article["channel"] = $blog_url;
?>
<?php
$article["comments"] = $item->comments;
$article["timestamp"] = strtotime($item->pubDate);
?>
<ul class="pageitem">
<li class="textbox"><span class="header"> <?php echo $article["title"] = $item->title;?></span>
<?php echo $article["description"] = (string) trim($item->description);?>
</li>
<li class="menu">
<a href="<?php echo $article["link"] = $item->link;?>">
<img alt="Description" src="thumbs/safari.png" />
<span class="name">View</span>
<span class="comment"><?php echo $article["pubDate"] = $item->pubDate;?></span>
<span class="arrow"></span>
</a>
</li>
</ul>
<?php
$article["isPermaLink"] = $item->guid["isPermaLink"];
// get data held in namespaces
$content = $item->children($ns["content"]);
$dc = $item->children($ns["dc"]);
$wfw = $item->children($ns["wfw"]);
foreach ($dc->subject as $subject)
$article["subject"][] = (string)$subject;
$article["content"] = (string)trim($content->encoded);
$article["commentRss"] = $wfw->commentRss;
// add this article to the list
$articles[$article["timestamp"]] = $article;
}
// at this point, $channel contains all the metadata about the RSS feed,
// and $articles contains an array of articles for us to repurpose
?>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
mobile/apple/thumbs/sms.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -407,8 +407,8 @@
/******** End processing review table **********************************************************/ /******** End processing review table **********************************************************/
$_SESSION['AP_SUCCESS']['title'] = 'Success'; $_SESSION['AP_SUCCESS']['title'] = 'Completado';
$_SESSION['AP_SUCCESS']['desc'] = 'Your form has been saved.'; $_SESSION['AP_SUCCESS']['desc'] = 'Se ha guardado el formulario.';
echo '{ "status" : "ok", "message" : "'.$form_id.'" }'; echo '{ "status" : "ok", "message" : "'.$form_id.'" }';

View File

@ -64,8 +64,8 @@ form.appnitro
padding:0; padding:0;
text-decoration:none; text-decoration:none;
text-indent:-8000px; text-indent:-8000px;
background-image: url('../../../images/machform.gif'); /*background-image: url('../../../images/machform.gif');
background-repeat: no-repeat; background-repeat: no-repeat;*/
} }
#main_body h1 a #main_body h1 a

View File

@ -37,8 +37,7 @@
if(empty($submit_result['review_id'])){ if(empty($submit_result['review_id'])){
if(empty($submit_result['form_redirect'])){ if(empty($submit_result['form_redirect'])){
$ssl_suffix = get_ssl_suffix(); $ssl_suffix = get_ssl_suffix();
header("Location: http{$ssl_suffix}://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?id=".base64_encode($input_array['form_id'])."&done=1");
header("Location: http{$ssl_suffix}://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?id={$input_array['form_id']}&done=1");
exit; exit;
}else{ }else{
echo "<script type=\"text/javascript\">top.location.replace('{$submit_result['form_redirect']}')</script>"; echo "<script type=\"text/javascript\">top.location.replace('{$submit_result['form_redirect']}')</script>";
@ -48,7 +47,7 @@
$ssl_suffix = get_ssl_suffix(); $ssl_suffix = get_ssl_suffix();
$_SESSION['review_id'] = $submit_result['review_id']; $_SESSION['review_id'] = $submit_result['review_id'];
header("Location: http{$ssl_suffix}://".$_SERVER['HTTP_HOST'].get_dirname($_SERVER['PHP_SELF'])."/confirm.php?id={$input_array['form_id']}"); header("Location: http{$ssl_suffix}://".$_SERVER['HTTP_HOST'].get_dirname($_SERVER['PHP_SELF'])."/confirm.php?id=".base64_encode($input_array['form_id']));
exit; exit;
} }
}else{ }else{
@ -67,7 +66,7 @@
} }
} }
}else{ }else{
$form_id = (int) trim($_GET['id']); $form_id = (int) base64_decode(trim($_GET['id']));
if(empty($form_id)){ if(empty($form_id)){
die('ID required.'); die('ID required.');
} }