Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

_morozov

Newbie
  • Content Count

    12
  • Posts on chatbox

    2
  • Joined

  • Last visited

  • Days Won

    5

_morozov last won the day on September 8

_morozov had the most liked content!

Community Reputation

9 Neutral

About _morozov

  • Rank
    Member

Recent Profile Visitors

43 profile views
  1. _morozov

    Theme Identi Actual [Desarrollo]

    Muy bien, terminado, lo subiré en estos días, estuve muy mal de salud. Pero ya todo bien. Solo que tendrá que ser el script, debido a que se modificaron en cantidad demasiados archivos para compatibilidad del theme. Pero lo mejor es que sigue siendo compatible con cualquier tema, configurable. Lo subiré a github. Una disculpa por el abandono
  2. Hoy traeré algo para que no se sientan tan viejos Fuera rodeos. Archivo : inc/c.registro.php Buscar : 'user_captcha' => $_POST['g-recaptcha-response'], Reemplazar: 'user_captcha' => $_POST['captcha'], Archivo : themes/{Tutema}/templates/t.php_files/p.registro.form.tpl Buscar: <div class="form-line"> <label>Confirme humanidad:</label> <div class="g-recaptcha" data-sitekey="{$tsConfig.pkey}"></div> <div class="help"><span><em></em></span></div> </div> Reemplazar : <div class="form-line"> <input type="hidden" name="recaptcha_response" id="recaptchaResponse" class="g-recaptcha"> <div class="help"><span><em></em></span></div> </div> Buscar : <script type="text/javascript"> $.getScript("{$tsConfig.js}/registro.js{literal}", function(){ registro.change_paso(1); mydialog.procesando_fin(); }); </script> {/literal} Añadir Abajo: <script> var keyv3 = "{RC_PUK}"; grecaptcha.ready(function () { grecaptcha.execute(keyv3, { action: 'contact' }).then(function (token) { var recaptchaResponse = document.getElementById('recaptchaResponse'); recaptchaResponse.value = token; }); }); </script> Archivo : /templates/sections/main_header.tpl Agregamos antes de </head> <script src="https://www.google.com/recaptcha/api.js?render={RC_PUK}"></script> Archivo : {tutheme}/js/registro.js Buscar : case 'dia': case 'mes': case 'anio': //Almaceno el dato this.datos['dia'] = $('#RegistroForm #dia').val(); this.datos['mes'] = $('#RegistroForm #mes').val(); this.datos['anio'] = $('#RegistroForm #anio').val(); Reemplazar : /* nacimiento */ case 'dia': case 'mes': case 'anio': case 'captcha': //Almaceno el dato this.datos['dia'] = $('#RegistroForm #dia').val(); this.datos['mes'] = $('#RegistroForm #mes').val(); this.datos['anio'] = $('#RegistroForm #anio').val(); this.datos['captcha'] = $('#RegistroForm #recaptchaResponse').val(); Buscar (Linea 418 Aprox): // Estado case 'estado': if (this.no_requerido[campo]) { Ingresar Arriba : /* reCAPTCHA */ case 'recaptcha_response': this.datos[campo] = value; //!empty if (!value) { return this.show_status($('#RegistroForm .g-recaptcha'), 'empty', 'Demuestra que eres humano'); } return registro.show_status($('#RegistroForm .g-recaptcha'), 'ok', 'OK'); break; // Estado Buscamos : /* reCAPTCHA */ case 'g-recaptcha-response': this.datos[campo] = value; //!empty if (!value) { return this.show_status($('#RegistroForm .g-recaptcha'), 'empty', 'Demuestra que eres humano'); } return registro.show_status($('#RegistroForm .g-recaptcha'), 'ok', 'OK'); break; y lo eliminamos Buscamos show_status: function(el, status_aux, text, no_cache_data) { var campo = $(el).attr('name'); var status = (status_aux == 'empty') ? 'error' : status_aux; //Si es reCAPTCHA, lo busco directamente if (campo == 'recaptcha_response_field') el = $('#RegistroForm .pasoDos .help.recaptcha'); else { //Paso al siguiente elemento hasta encontrar un .help do { el = $(el).next(); } while (!$(el).is('.help')); } $(el).removeClass('ok').removeClass('error').removeClass('info').removeClass('loading').addClass(status).show().children().children().html(text); if (!no_cache_data) { this.datos_status[campo] = status_aux; this.datos_text[campo] = text; } return (status == 'ok'); }, hide_status: function(el, status, text) { var campo = $(el).attr('name'); //Si es reCAPTCHA, lo busco directamente if (campo == 'recaptcha_response_field') el = $('#RegistroForm .pasoDos .help.recaptcha'); else { //Paso al siguiente elemento hasta encontrar un .help do { el = $(el).next(); } while (!$(el).is('.help')); } $(el).hide(); this.datos_status[campo] = status; this.datos_text[campo] = text; return (status == 'ok'); }, Reemplazamos show_status: function(el, status_aux, text, no_cache_data) { var campo = $(el).attr('name'); var status = (status_aux == 'empty') ? 'error' : status_aux; //Si es reCAPTCHA, lo busco directamente if (campo == 'recaptcha_response') el = $('#RegistroForm .pasoDos .g-recaptcha'); else { //Paso al siguiente elemento hasta encontrar un .help do { el = $(el).next(); } while (!$(el).is('.help')); } $(el).removeClass('ok').removeClass('error').removeClass('info').removeClass('loading').addClass(status).show().children().children().html(text); if (!no_cache_data) { this.datos_status[campo] = status_aux; this.datos_text[campo] = text; } return (status == 'ok'); }, hide_status: function(el, status, text) { var campo = $(el).attr('name'); //Si es reCAPTCHA, lo busco directamente if (campo == 'recaptcha_response') el = $('#RegistroForm .pasoDos .g-recaptcha'); else { //Paso al siguiente elemento hasta encontrar un .help do { el = $(el).next(); } while (!$(el).is('.help')); } $(el).hide(); this.datos_status[campo] = status; this.datos_text[campo] = text; return (status == 'ok'); }, Buscar función submit: //Envio los datos y completo el registro submit: function() { //Compruebo datos del paso actual (PasoDos) if (!this.check_paso()) return false; //Oculto todos los mensajes informativos $('#RegistroForm .help').hide(); var params = ''; var amp = ''; for (var campo in this.datos) { params += amp + campo + '=' + encodeURIComponent(this.datos[campo]); amp = '&'; } if (this.dialog) mydialog.procesando_inicio('Enviando...', 'Registro'); //return false; //Envio los datos $('#loading').fadeIn(250); $.ajax({ type: 'POST', url: global_data.url + '/registro-nuevo.php', data: params, success: function(h) { //Si hubo algun error, recargo recaptcha var rnum = h.substring(0, strpos(h, ':')); if (rnum != '1' || rnum != '2') { registro.datos['g-recaptcha-response'] = ''; grecaptcha.reset(); } switch (h.substring(0, strpos(h, ':'))) { case '0': //Error generico break; case 'nick': //Error nick registro.change_paso(1, true); registro.show_status($('#RegistroForm #nick'), 'error', h.substring(strpos(h, ':') + 2)); break; case 'password': //Password registro.change_paso(1, true); registro.show_status($('#RegistroForm #password'), 'error', h.substring(strpos(h, ':') + 2)); registro.datos['password'] = ''; break; // case 'email': //Email registro.change_paso(1, true); registro.show_status($('#RegistroForm #email'), 'error', h.substring(strpos(h, ':') + 2)); break; case 'nacimiento': //Dia|Mes|Anio registro.change_paso(1, true); registro.show_status($('#RegistroForm #anio'), 'error', h.substring(strpos(h, ':') + 2)); break; case 'sexo': //Sexo registro.change_paso(2, true); registro.show_status($('#RegistroForm #sexo_f'), 'error', h.substring(strpos(h, ':') + 2)); break; case 'pais': //Pais registro.change_paso(2, true); registro.show_status($('#RegistroForm #pais'), 'error', h.substring(strpos(h, ':') + 2)); break; case 'estado': //Estado registro.change_paso(2, true); registro.show_status($('#RegistroForm #estado'), 'error', h.substring(strpos(h, ':') + 2)); break; /*case 'ciudad': //Ciudad registro.change_paso(2, true); registro.show_status($('#RegistroForm #ciudad'), 'error', h.substring(strpos(h, ':')+2)); break;*/ case 'recaptcha': //reCAPTCHA registro.change_paso(2, true); registro.show_status($('#RegistroForm .g-recaptcha'), 'error', h.substring(strpos(h, ':') + 2)); break; case '1': if (registro.dialog) { mydialog.body(h.substring(strpos(h, ':') + 2)); mydialog.buttons(true, true, 'Aceptar', 'mydialog.close()', true, true); mydialog.center(); } else { $('.reg-login .registro #RegistroForm').html(h.substring(strpos(h, ':') + 2)); $('.reg-login .registro #buttons').remove(); } break; case '2': if (registro.dialog) { mydialog.body(h.substring(strpos(h, ':') + 2)); mydialog.buttons(true, true, 'Aceptar', 'redireccionar()', true, true); mydialog.center(); } else { $('.reg-login .registro #RegistroForm').html(h.substring(strpos(h, ':') + 2)); $('.reg-login .registro #buttons').remove(); } break; } $('#loading').fadeOut(350); }, error: function() { mydialog.error_500("registro.submit()"); $('#loading').fadeOut(350); }, complete: function() { if (registro.dialog) mydialog.procesando_fin(); $('#loading').fadeOut(450); } }); } } Reemplazamos : //Envio los datos y completo el registro submit: function() { //Compruebo datos del paso actual (PasoDos) if (!this.check_paso()) return false; //Oculto todos los mensajes informativos $('#RegistroForm .help').hide(); var params = ''; var amp = ''; for (var campo in this.datos) { params += amp + campo + '=' + encodeURIComponent(this.datos[campo]); amp = '&'; } if (this.dialog) mydialog.procesando_inicio('Enviando...', 'Registro'); //return false; //Envio los datos $('#loading').fadeIn(250); $.ajax({ type: 'POST', url: global_data.url + '/registro-nuevo.php', data: params, success: function(h) { console.log(h); //Si hubo algun error, recargo recaptcha switch (h.substring(0, strpos(h, ':'))) { case '0': //Error generico break; case 'nick': //Error nick registro.change_paso(1, true); registro.show_status($('#RegistroForm #nick'), 'error', h.substring(strpos(h, ':') + 2)); break; case 'password': //Password registro.change_paso(1, true); registro.show_status($('#RegistroForm #password'), 'error', h.substring(strpos(h, ':') + 2)); registro.datos['password'] = ''; break; // case 'email': //Email registro.change_paso(1, true); registro.show_status($('#RegistroForm #email'), 'error', h.substring(strpos(h, ':') + 2)); break; case 'nacimiento': //Dia|Mes|Anio registro.change_paso(1, true); registro.show_status($('#RegistroForm #anio'), 'error', h.substring(strpos(h, ':') + 2)); break; case 'sexo': //Sexo registro.change_paso(2, true); registro.show_status($('#RegistroForm #sexo_f'), 'error', h.substring(strpos(h, ':') + 2)); break; case 'pais': //Pais registro.change_paso(2, true); registro.show_status($('#RegistroForm #pais'), 'error', h.substring(strpos(h, ':') + 2)); break; case 'estado': //Estado registro.change_paso(2, true); registro.show_status($('#RegistroForm #estado'), 'error', h.substring(strpos(h, ':') + 2)); break; /*case 'ciudad': //Ciudad registro.change_paso(2, true); registro.show_status($('#RegistroForm #ciudad'), 'error', h.substring(strpos(h, ':')+2)); break;*/ case 'recaptcha': //reCAPTCHA registro.change_paso(2, true); registro.show_status($('#RegistroForm #recaptchaResponse'), 'error', h.substring(strpos(h, ':')+2)); break; case '1': if (registro.dialog) { mydialog.body(h.substring(strpos(h, ':') + 2)); mydialog.buttons(true, true, 'Aceptar', 'mydialog.close()', true, true); mydialog.center(); } else { $('.reg-login .registro #RegistroForm').html(h.substring(strpos(h, ':') + 2)); $('.reg-login .registro #buttons').remove(); } break; case '2': if (registro.dialog) { mydialog.body(h.substring(strpos(h, ':') + 2)); mydialog.buttons(true, true, 'Aceptar', 'redireccionar()', true, true); mydialog.center(); } else { $('.reg-login .registro #RegistroForm').html(h.substring(strpos(h, ':') + 2)); $('.reg-login .registro #buttons').remove(); } break; } $('#loading').fadeOut(350); }, error: function() { mydialog.error_500("registro.submit()"); $('#loading').fadeOut(350); }, complete: function(data) { if (registro.dialog) mydialog.procesando_fin(); $('#loading').fadeOut(450); console.log('complete ?'); } }); } } Demo : https://zendfire.com Opcional Recaptcha completamente invisible Añadan en su css: .grecaptcha-badge { display: none !important; } Importante : Reemplazar private y public key en config.inc.php Con claves recaptcha v3
  3. _morozov

    Theme Identi Actual [Desarrollo]

    Status: solo falta pastear emojis en wysibb y listo. Lo demas seran modificaciones de bloques, posts recientes, etc. Se adaptarán comunidades proximamente.
  4. _morozov

    Theme Identi Actual [Desarrollo]

    Avances Errores conocidos / faltantes :- Al clickear emoji, pastearlo en editor - Vcard, no muestra los datos correctamente- Pequeño error js no permite bloquear userCompletado:Reparado comentar en ajaxReparado eliminar comentario hecho en ajax.Reparado editar en ajaxReparada seccion favoritosReparada secciones moderaciónIconos, diseño , tablas actuales actualizadas Libreria wysibb actualizadaReparados tops con iconos default, reestructurar a tema actual.Estilo de registro actualizadoActualizado recaptcha v2Actualizados botones de modalsEliminados los votos de posts "No existen en pagina oficial"Añadido titulo de usuario en perfileliminado botones de recarga en inicio "No existen en pagina oficial"Mod: comentarios tiempo real Reparado nombre en perfilReparado rango en perfilreparado enviar mensaje en perfilreparado rellenar nombre al enviar mensajeNuevoRecaptcha v3 Smarty 3.1.3 Reparado Completar paginas para el perfil [posts recientes, comentarios recientes] Reparado error de database y/o inc que no permite actualizar datos de perfil ni imagen.-------------------------------------------------Los mantendré actualizados
  5. _morozov

    Theme Identi Actual [Desarrollo]

    La visitaste cuando estaba actualizando smarty, una disculpa, ya funciona :) Gracias einet! Quiero liberarlo con todas las librerias actualizadas incluido recaptcha v3
  6. _morozov

    Theme Identi Actual [Desarrollo]

    actualmente ya solo un error en vcard que no resuelve los datos completar un poco mas el perfil y listo. Acabo de actualizar en la demo lo ya corregido y lo faltante :), mañana continuare fixeando cosas
  7. _morozov

    Web lenta

    Te contacto vía mp
  8. _morozov

    Web lenta

    Has verificado el log ? debuggeado la base de datos en busca de errores comunes ? Si tienes vps es mas facil debugear los archivos y ver que sucede
  9. _morozov

    Theme Identi Actual [Desarrollo]

    De echo es de gonza, editado totalmente al actual, iconos, notificaciones, tablas, poco a poco, creo que lo termino en una semana. y obviamente dejare los copys de phpost y del querido gonza. Saludos!
  10. _morozov

    V5 Agregar fotos desde equipo

    No te la compliques Agrega wysibb.js el mas reciente, que contiene la posibilidad de subir contenido desde tu ordenador integrando ya la api.
  11. Actualmente estoy actualizando todas las librerías, diseños, tablas, contenido tal cual al diseño de identi que jamás fue finalizado con éxito. Me vendría bien una mano, ya nomas me restan 2 pequeños errores. Aclaro que : El Copy de phpost & créditos al autor original serán visibles al momento de liberar el theme. en la demo se muestra como "identi fuera" Demo : https://zendfire.com
×