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;
|
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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
|
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 /*<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 } ?>
|
||||||
|
|||||||
@ -423,7 +423,7 @@ EOT;
|
|||||||
}elseif (NOTIFICATION_MAIL_FROM_NAME != ''){
|
}elseif (NOTIFICATION_MAIL_FROM_NAME != ''){
|
||||||
$mail->FromName = utf8_encode(str_replace(' ','',str_replace($template_variables,$template_values,NOTIFICATION_MAIL_FROM_NAME)));
|
$mail->FromName = utf8_encode(str_replace(' ','',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>';
|
||||||
|
|||||||
@ -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';
|
||||||
?>
|
?>
|
||||||
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']);
|
$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;
|
||||||
|
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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%"> </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%"> </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="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> </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> </td>
|
<td> </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>
|
||||||
|
|||||||
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 **********************************************************/
|
/******** 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.'" }';
|
||||||
|
|
||||||
|
|||||||
4
view.css
@ -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
|
||||||
|
|||||||
7
view.php
@ -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.');
|
||||||
}
|
}
|
||||||
|
|||||||