Compare commits
10 Commits
d932243a26
...
4827746562
| Author | SHA1 | Date | |
|---|---|---|---|
| 4827746562 | |||
| 8b11d513ad | |||
| ff7326b843 | |||
| 4d1b2205c1 | |||
| 0c74c05dc4 | |||
| b58ac82744 | |||
| 67376f0ef6 | |||
| e7bfe401f2 | |||
| 635411b52b | |||
| 9bacd4c2f7 |
@ -35,8 +35,8 @@ form.appnitro
|
||||
padding:0;
|
||||
text-decoration:none;
|
||||
text-indent:-8000px;
|
||||
background-image: url('../../../images/machform.gif');
|
||||
background-repeat: no-repeat;
|
||||
/*background-image: url('../../../images/machform.gif');
|
||||
background-repeat: no-repeat;*/
|
||||
}
|
||||
|
||||
#main_body h1 a
|
||||
|
||||
@ -112,6 +112,7 @@
|
||||
order by
|
||||
element_position asc";
|
||||
$result = do_query($query);
|
||||
|
||||
$j=0;
|
||||
while($row = do_fetch_result($result)){
|
||||
$element_id = $row['element_id'];
|
||||
@ -130,7 +131,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//populate elements
|
||||
$element[$j] = new stdClass();
|
||||
$element[$j]->title = $row['element_title'];
|
||||
@ -150,6 +150,7 @@
|
||||
}else{
|
||||
$element[$j]->options = '';
|
||||
}
|
||||
|
||||
$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="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('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="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>
|
||||
@ -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')">
|
||||
<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="radio">Botón de opciones</option>
|
||||
<option value="checkbox">Casillas de selección</option>
|
||||
<option value="select">Lista desplegable</option>
|
||||
<option value="number">Número</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>
|
||||
</label>
|
||||
<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 / YYYY</option>
|
||||
<option id="element_europe_date" value="europe_date">DD / MM / AAAA</option>
|
||||
<option id="element_date" value="date">MM / DD / AAAA</option>
|
||||
</select>
|
||||
</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>
|
||||
</label>
|
||||
<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_phone" value="phone">(###) ### - ####</option>
|
||||
</select>
|
||||
</li>
|
||||
|
||||
@ -691,7 +692,7 @@ Instrucciones para los usuarios
|
||||
<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="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 class="right">
|
||||
@ -707,6 +708,7 @@ Instrucciones para los usuarios
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
||||
@ -290,28 +290,28 @@
|
||||
<script type="text/javascript" src="js/jquery/jquery-core.js"></script>
|
||||
<script>
|
||||
function toggle_esl_options(){
|
||||
if($("#esl_toggle").text() == "more options"){
|
||||
if($("#esl_toggle").text() == "más opciones"){
|
||||
$(".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_options_expand").val("1");
|
||||
}else{
|
||||
$(".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_options_expand").val("0");
|
||||
}
|
||||
}
|
||||
|
||||
function toggle_esr_options(){
|
||||
if($("#esr_toggle").text() == "more options"){
|
||||
if($("#esr_toggle").text() == "más opciones"){
|
||||
$(".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_options_expand").val("1");
|
||||
}else{
|
||||
$(".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_options_expand").val("0");
|
||||
}
|
||||
@ -327,7 +327,7 @@ EOT;
|
||||
<div id="form_manager">
|
||||
<?php show_message(); ?>
|
||||
<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>
|
||||
</div>
|
||||
<h2 style="font-size: 150%;margin-bottom: 10px;">Mandar notificaciones por email <img src="images/icons/arrow_right.gif" align="absmiddle" /></h2>
|
||||
|
||||
|
Before Width: | Height: | Size: 787 B After Width: | Height: | Size: 807 B |
|
Before Width: | Height: | Size: 783 B After Width: | Height: | Size: 751 B |
@ -26,7 +26,7 @@
|
||||
<?php /*<img src="images/appnitro_logo.png" class="fix_png" id="appnitro_logo" width="179" height="55"/>*/ ?>
|
||||
<?php if(empty($hide_nav)){ ?>
|
||||
<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>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
|
||||
@ -423,7 +423,7 @@ EOT;
|
||||
}elseif (NOTIFICATION_MAIL_FROM_NAME != ''){
|
||||
$mail->FromName = utf8_encode(str_replace(' ','',str_replace($template_variables,$template_values,NOTIFICATION_MAIL_FROM_NAME)));
|
||||
}else{
|
||||
$mail->FromName = 'MachForm';
|
||||
$mail->FromName = '';
|
||||
}
|
||||
|
||||
//decode any html entity
|
||||
@ -461,7 +461,7 @@ EOT;
|
||||
$email_content = str_replace($template_variables,$template_values,$content);
|
||||
|
||||
//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
|
||||
$email_content = '<div style="font-family:Lucida Grande,Tahoma,Arial,Verdana,sans-serif;font-size:12px">'.$email_content.'</div>';
|
||||
|
||||
@ -10,35 +10,35 @@
|
||||
global $lang;
|
||||
|
||||
//simple name and extended name
|
||||
$lang['name_first'] = 'Primero';
|
||||
$lang['name_last'] = 'Último';
|
||||
$lang['name_title'] = 'Título';
|
||||
$lang['name_first'] = 'Nombre';
|
||||
$lang['name_last'] = 'Apellidos';
|
||||
$lang['name_title'] = 'Título';
|
||||
$lang['name_suffix'] = 'Sufijo';
|
||||
|
||||
//address
|
||||
$lang['address_street'] = 'Dirección';
|
||||
$lang['address_street2'] = 'Dirección (cont)';
|
||||
$lang['address_city'] = 'Población';
|
||||
$lang['address_street'] = 'Dirección';
|
||||
$lang['address_street2'] = 'Dirección (cont)';
|
||||
$lang['address_city'] = 'Población';
|
||||
$lang['address_state'] = 'Provincia';
|
||||
$lang['address_zip'] = 'Código postal';
|
||||
$lang['address_country'] = 'País';
|
||||
$lang['address_zip'] = 'Código postal';
|
||||
$lang['address_country'] = 'País';
|
||||
|
||||
//captcha
|
||||
$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_error'] = 'Se ha producido un error en el proceso. 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_title'] = 'Introduzca las letras que aparecen en la imagen de abajo.';
|
||||
|
||||
//date
|
||||
$lang['date_dd'] = 'DD';
|
||||
$lang['date_mm'] = 'MM';
|
||||
$lang['date_yyyy'] = 'YYYY';
|
||||
$lang['date_yyyy'] = 'AAAA';
|
||||
|
||||
//price
|
||||
$lang['price_dollar_main'] = 'Dólares';
|
||||
$lang['price_dollar_main'] = 'Dólares';
|
||||
$lang['price_dollar_sub'] = 'Centavos';
|
||||
$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_sub'] = 'Peniques';
|
||||
$lang['price_yen'] = 'Yenes';
|
||||
@ -50,47 +50,48 @@
|
||||
|
||||
//error message
|
||||
$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
|
||||
$lang['submit_button'] = 'Enviar';
|
||||
$lang['continue_button'] = 'Continuar';
|
||||
$lang['back_button'] = 'Atrás';
|
||||
$lang['back_button'] = 'Atrás';
|
||||
|
||||
//form status
|
||||
$lang['form_inactive'] = 'Este formulario está actualmente desactivado.';
|
||||
$lang['form_inactive'] = 'Este formulario está actualmente desactivado.';
|
||||
|
||||
//form password
|
||||
$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_invalid'] = '¡La contraseña no es correcta!';
|
||||
$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_invalid'] = '¡La contraseña no es correcta!';
|
||||
$lang['form_pass_word'] = 'Contraseña';
|
||||
|
||||
//form review
|
||||
$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
|
||||
$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_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_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_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_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_username'] = 'Los caracteres de este campo sólo pueden contener letras (a-z), números (0-9) y guiones bajos.';
|
||||
$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_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_equal'] = '%s debe coincidir.';
|
||||
$lang['val_date'] = 'Este campo no tiene una fecha 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.';
|
||||
|
||||
//fields on excel/csv
|
||||
$lang['export_num'] = 'Num.';
|
||||
$lang['date_created'] = 'Fecha de creación';
|
||||
$lang['date_updated'] = 'Fecha de actualización';
|
||||
$lang['ip_address'] = 'Dirección IP';
|
||||
$lang['date_created'] = 'Fecha de creación';
|
||||
$lang['date_updated'] = 'Fecha de actualización';
|
||||
$lang['ip_address'] = 'Dirección IP';
|
||||
?>
|
||||
2595
includes/mobile-view-functions.php
Normal file
2541
includes/standard-view-functions.php
Normal file
@ -31,7 +31,7 @@
|
||||
$username = trim($_POST['admin_username']);
|
||||
$password = trim($_POST['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{
|
||||
$_SESSION['logged_in'] = true;
|
||||
|
||||
|
||||
@ -166,6 +166,7 @@
|
||||
}
|
||||
});
|
||||
if (d === true) {
|
||||
|
||||
this.find("*").andSelf().each(function (i) {
|
||||
var a = v.data(this, "events");
|
||||
for (var b in a) {
|
||||
@ -902,6 +903,7 @@
|
||||
button: '"button"==a.type||jQuery.nodeName(a,"button")',
|
||||
input: "/input|select|textarea|button/i.test(a.nodeName)",
|
||||
has: "jQuery.find(m[3],a).length",
|
||||
|
||||
header: "/h\\d/i.test(a.nodeName)",
|
||||
animated: "jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length"
|
||||
}
|
||||
@ -1241,6 +1243,7 @@
|
||||
} else {
|
||||
if (d[b]) {
|
||||
if (c) {
|
||||
|
||||
delete d[b][c.guid]
|
||||
} else {
|
||||
for (c in d[b]) {
|
||||
@ -1624,6 +1627,7 @@
|
||||
lastModified: {},
|
||||
ajax: function (s) {
|
||||
var c, jsre = /=(\?|%3F)/g,
|
||||
|
||||
status, data;
|
||||
s = v.extend(true, s, v.extend(true, {},
|
||||
v.ajaxSettings, s));
|
||||
@ -2369,6 +2373,7 @@ var JJ = jQuery.noConflict();
|
||||
S = 0,
|
||||
Y = this[0],
|
||||
M = this[0],
|
||||
|
||||
L,
|
||||
I,
|
||||
W = G.css(Y, "position"),
|
||||
@ -3102,16 +3107,16 @@ field.prototype = {
|
||||
return A
|
||||
},
|
||||
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 () {
|
||||
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 () {
|
||||
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 () {
|
||||
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 () {
|
||||
if (ds.get(this.id, "constraint") == "show_seconds") {
|
||||
@ -3197,10 +3202,10 @@ data_source.prototype = {
|
||||
title = "Lista desplegable";
|
||||
break;
|
||||
case "radio":
|
||||
title = "Selección múltiple";
|
||||
title = "Botón de opciones";
|
||||
break;
|
||||
case "checkbox":
|
||||
title = "Cajas de selección";
|
||||
title = "Casillas de selección";
|
||||
break;
|
||||
case "name":
|
||||
title = "Nombre";
|
||||
@ -3240,6 +3245,7 @@ data_source.prototype = {
|
||||
break;
|
||||
case "file":
|
||||
title = "Carga de fichero";
|
||||
|
||||
break;
|
||||
case "section":
|
||||
title = "Salto de sección";
|
||||
@ -3260,19 +3266,31 @@ data_source.prototype = {
|
||||
default_value: "",
|
||||
constraint: "",
|
||||
options: [{
|
||||
option: "Primera opción",
|
||||
option: "Primera",
|
||||
is_default: 0,
|
||||
is_db_live: "0",
|
||||
id: "0"
|
||||
},
|
||||
{
|
||||
option: "Segunda opción",
|
||||
option: "Segunda",
|
||||
is_default: 0,
|
||||
is_db_live: "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_db_live: "0",
|
||||
id: "0"
|
||||
@ -3646,7 +3664,7 @@ function delete_checkbox(c, d, e, f) {
|
||||
return false
|
||||
}
|
||||
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 {
|
||||
confirmed = true
|
||||
}
|
||||
@ -3755,7 +3773,7 @@ function switch_display(A, B) {
|
||||
}
|
||||
function delete_element(A) {
|
||||
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 {
|
||||
confirmed = true
|
||||
}
|
||||
@ -3766,7 +3784,7 @@ function delete_element(A) {
|
||||
}
|
||||
function delete_from_db(c) {
|
||||
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", {
|
||||
form_id: json_form.id,
|
||||
element_id: c
|
||||
@ -3776,7 +3794,7 @@ function delete_from_db(c) {
|
||||
if (b.status == "ok") {
|
||||
delete_element_markup(c)
|
||||
} else {
|
||||
alert("An error occured while deleting your field!")
|
||||
alert("Ha ocurrido un error mientras se eliminaba el campo")
|
||||
}
|
||||
})
|
||||
} else {
|
||||
|
||||
@ -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_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>
|
||||
<?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%"> </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="21%"> </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%"><a href="send_form.php?id=<?php echo $data['form_id']; ?>"><img src="images/icons/mail_forward_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="18%"> </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>
|
||||
</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 "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 "email_settings.php?id={$data['form_id']}"; ?>">Emails</a></td>
|
||||
<?php /*<td nowrap><a href=" < ? p h p echo "embed_code.php?id={$data['form_id']}"; ? > ">Código</a></td> */ ?>
|
||||
<td> </td>
|
||||
<td><a href="view.php?id=<?php echo $data['form_id']; ?>" target="_blank">Ver formulario</a></td>
|
||||
<td nowrap><a href="<?php echo "email_settings.php?id={$data['form_id']}"; ?>">Notificaciones</a></td>
|
||||
<td nowrap><a href="<?php echo "embed_code.php?id={$data['form_id']}"; ?>">Código</a></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 base64_encode($data['form_id']); ?>" target="_blank">Ver formulario</a></td>
|
||||
<td> </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>
|
||||
|
||||
1138
mobile/apple/css/developer-style.css
Normal file
81
mobile/apple/css/forms.css
Normal 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;
|
||||
}
|
||||
92
mobile/apple/css/spinningwheel.css
Normal 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;
|
||||
}
|
||||
1
mobile/apple/css/style.css
Normal file
BIN
mobile/apple/images/0stars.png
Normal file
|
After Width: | Height: | Size: 314 B |
BIN
mobile/apple/images/0starsborder.png
Normal file
|
After Width: | Height: | Size: 363 B |
BIN
mobile/apple/images/1stars.png
Normal file
|
After Width: | Height: | Size: 456 B |
BIN
mobile/apple/images/1starsborder.png
Normal file
|
After Width: | Height: | Size: 482 B |
BIN
mobile/apple/images/2stars.png
Normal file
|
After Width: | Height: | Size: 467 B |
BIN
mobile/apple/images/2starsborder.png
Normal file
|
After Width: | Height: | Size: 501 B |
BIN
mobile/apple/images/3stars.png
Normal file
|
After Width: | Height: | Size: 470 B |
BIN
mobile/apple/images/3starsborder.png
Normal file
|
After Width: | Height: | Size: 506 B |
BIN
mobile/apple/images/4stars.png
Normal file
|
After Width: | Height: | Size: 455 B |
BIN
mobile/apple/images/4starsborder.png
Normal file
|
After Width: | Height: | Size: 503 B |
BIN
mobile/apple/images/5stars.png
Normal file
|
After Width: | Height: | Size: 393 B |
BIN
mobile/apple/images/arrow.png
Normal file
|
After Width: | Height: | Size: 361 B |
BIN
mobile/apple/images/checkbox.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
mobile/apple/images/home.png
Normal file
|
After Width: | Height: | Size: 361 B |
BIN
mobile/apple/images/navbutton.png
Normal file
|
After Width: | Height: | Size: 571 B |
BIN
mobile/apple/images/navbuttonblack.png
Normal file
|
After Width: | Height: | Size: 493 B |
BIN
mobile/apple/images/navbuttonblue.png
Normal file
|
After Width: | Height: | Size: 664 B |
BIN
mobile/apple/images/navleft.png
Normal file
|
After Width: | Height: | Size: 826 B |
BIN
mobile/apple/images/navleftblack.png
Normal file
|
After Width: | Height: | Size: 810 B |
BIN
mobile/apple/images/navlinkleft.png
Normal file
|
After Width: | Height: | Size: 786 B |
BIN
mobile/apple/images/navlinkleftblack.png
Normal file
|
After Width: | Height: | Size: 737 B |
BIN
mobile/apple/images/navlinkright.png
Normal file
|
After Width: | Height: | Size: 804 B |
BIN
mobile/apple/images/navlinkrightblack.png
Normal file
|
After Width: | Height: | Size: 738 B |
BIN
mobile/apple/images/navright.png
Normal file
|
After Width: | Height: | Size: 845 B |
BIN
mobile/apple/images/navrightblack.png
Normal file
|
After Width: | Height: | Size: 861 B |
BIN
mobile/apple/images/play.gif
Normal file
|
After Width: | Height: | Size: 103 B |
BIN
mobile/apple/images/radiobutton.png
Normal file
|
After Width: | Height: | Size: 373 B |
BIN
mobile/apple/images/searchfield.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
mobile/apple/images/sw-alpha.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
mobile/apple/images/sw-button-cancel.png
Normal file
|
After Width: | Height: | Size: 538 B |
BIN
mobile/apple/images/sw-button-done.png
Normal file
|
After Width: | Height: | Size: 767 B |
BIN
mobile/apple/images/sw-header.png
Normal file
|
After Width: | Height: | Size: 682 B |
BIN
mobile/apple/images/sw-slot-border.png
Normal file
|
After Width: | Height: | Size: 126 B |
BIN
mobile/apple/images/tributton.png
Normal file
|
After Width: | Height: | Size: 476 B |
77
mobile/apple/javascript/calendar.js
Normal 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();
|
||||
}
|
||||
|
||||
29
mobile/apple/javascript/developer-functions.js
Normal 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();
|
||||
};
|
||||
}
|
||||
1
mobile/apple/javascript/functions.js
Normal 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()}}
|
||||
492
mobile/apple/javascript/spinningwheel.js
Normal 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
@ -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
|
||||
|
||||
|
||||
|
||||
?>
|
||||
BIN
mobile/apple/thumbs/accessibility.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
mobile/apple/thumbs/appstore.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
mobile/apple/thumbs/basics.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
mobile/apple/thumbs/calculator.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
mobile/apple/thumbs/calendar.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
mobile/apple/thumbs/calendar2.png
Normal file
|
After Width: | Height: | Size: 536 B |
BIN
mobile/apple/thumbs/camera.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
mobile/apple/thumbs/clock.png
Normal file
|
After Width: | Height: | Size: 1014 B |
BIN
mobile/apple/thumbs/compass.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
mobile/apple/thumbs/contacts.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
mobile/apple/thumbs/help.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
mobile/apple/thumbs/ipod.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
mobile/apple/thumbs/itunes.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
mobile/apple/thumbs/iwebkit.png
Normal file
|
After Width: | Height: | Size: 839 B |
BIN
mobile/apple/thumbs/mail.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
mobile/apple/thumbs/maps.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
mobile/apple/thumbs/messages.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
mobile/apple/thumbs/music.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
mobile/apple/thumbs/nike+.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
mobile/apple/thumbs/notepad.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
mobile/apple/thumbs/other.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
mobile/apple/thumbs/otherapps.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
mobile/apple/thumbs/photos.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
mobile/apple/thumbs/plugin.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
mobile/apple/thumbs/safari.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
mobile/apple/thumbs/settings.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
mobile/apple/thumbs/sketches.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
mobile/apple/thumbs/sms.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
mobile/apple/thumbs/start.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
mobile/apple/thumbs/stocks.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
mobile/apple/thumbs/telephone.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
mobile/apple/thumbs/video.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
mobile/apple/thumbs/voice.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
mobile/apple/thumbs/weather.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
mobile/apple/thumbs/wordpress.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
mobile/apple/thumbs/youtube.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
4
save.php
@ -407,8 +407,8 @@
|
||||
/******** End processing review table **********************************************************/
|
||||
|
||||
|
||||
$_SESSION['AP_SUCCESS']['title'] = 'Success';
|
||||
$_SESSION['AP_SUCCESS']['desc'] = 'Your form has been saved.';
|
||||
$_SESSION['AP_SUCCESS']['title'] = 'Completado';
|
||||
$_SESSION['AP_SUCCESS']['desc'] = 'Se ha guardado el formulario.';
|
||||
|
||||
echo '{ "status" : "ok", "message" : "'.$form_id.'" }';
|
||||
|
||||
|
||||
4
view.css
@ -64,8 +64,8 @@ form.appnitro
|
||||
padding:0;
|
||||
text-decoration:none;
|
||||
text-indent:-8000px;
|
||||
background-image: url('../../../images/machform.gif');
|
||||
background-repeat: no-repeat;
|
||||
/*background-image: url('../../../images/machform.gif');
|
||||
background-repeat: no-repeat;*/
|
||||
}
|
||||
|
||||
#main_body h1 a
|
||||
|
||||
7
view.php
@ -37,8 +37,7 @@
|
||||
if(empty($submit_result['review_id'])){
|
||||
if(empty($submit_result['form_redirect'])){
|
||||
$ssl_suffix = get_ssl_suffix();
|
||||
|
||||
header("Location: http{$ssl_suffix}://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?id={$input_array['form_id']}&done=1");
|
||||
header("Location: http{$ssl_suffix}://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?id=".base64_encode($input_array['form_id'])."&done=1");
|
||||
exit;
|
||||
}else{
|
||||
echo "<script type=\"text/javascript\">top.location.replace('{$submit_result['form_redirect']}')</script>";
|
||||
@ -48,7 +47,7 @@
|
||||
$ssl_suffix = get_ssl_suffix();
|
||||
|
||||
$_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;
|
||||
}
|
||||
}else{
|
||||
@ -67,7 +66,7 @@
|
||||
}
|
||||
}
|
||||
}else{
|
||||
$form_id = (int) trim($_GET['id']);
|
||||
$form_id = (int) base64_decode(trim($_GET['id']));
|
||||
if(empty($form_id)){
|
||||
die('ID required.');
|
||||
}
|
||||
|
||||