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

All Activity

This stream auto-updates     

  1. Today
  2. Bueno decidí hacerlo porque me parece una forma de poder ver todos los smiles/emoticones sin problemas. Les va a quedar así. Literalmente me base en el mod de @Kmario19 [MOD] Emoticones Administrables V2, excepto que este NO ES ADMINISTRABLE. Bueno comencemos: 1 - En inc/php/ajax/ajax.emoticones.php buscamos foreach($emoticones as $key => $emo){ echo '<a smile="'.$emo[0].'" href="#"><img src="'.$tsCore->settings['default'].'/images/smiles/'.$emo[1].'" style="margin:auto 2px;"/></a>'; } y la reemplazamos por echo'<div class="smiles">'; foreach($emoticones as $key => $emo){ echo '<a smile="'.$emo[0].'" href="#"><img alt="'.$emo[0].'" src="'.$tsCore->settings['images'].'/smiles/'.$emo[1].'"></a>'; } echo'</div>'; 2 - En js/funciones.js buscamos function moreEmoticons(margin){ var emos = $('#emoticons'); // $('#loading').fadeIn(250); $.ajax({ type: 'GET', url: global_data.url + '/emoticones.php', data: 'ts=false', success: function(h){ if(margin) $(emos).css({marginTop : '1em'}) $(emos).append(h); $('#moreemofn').hide(); $('#loading').fadeOut(350); } }); } y la reemplazamos por function moreEmoticons(margin){ $('#emoticons').slideToggle('fast'); } 3 - En js/wysibb.js buscamos buildSmilebox: function(container,bn,opt) { if (this.options.smileList && this.options.smileList.length>0) { var $btnHTML = $(this.strf(opt.buttonHTML,opt)).addClass("btn-inner"); var $btn = $('<div class="wysibb-toolbar-btn wbb-smilebox wbb-'+bn+'">').appendTo(container).append($btnHTML).append(this.strf('<span class="btn-tooltip">{title}<ins/></span>',{title:opt.title})); var $sblock = $('<div class="wbb-list">').appendTo($btn); if ($.isArray(this.options.smileList)) { $.each(this.options.smileList,$.proxy(function(i,sm){ $('<span>').addClass("smile").appendTo($sblock).append($(this.strf(sm.img,this.options)).attr("title",sm.title)); },this)); } $btn.mousedown($.proxy(function(e) { e.preventDefault(); this.dropdownclick(".wbb-smilebox",".wbb-list",e); },this)); $btn.find('.smile').mousedown($.proxy(function(e) { e.preventDefault(); //this.selectLastRange(); this.insertAtCursor((this.options.bbmode) ? this.toBB($(e.currentTarget).html()):$($(e.currentTarget).html())); },this)) } }, y la reemplazamos por buildSmilebox: function(container,bn,opt) { var $btnHTML = $(this.strf(opt.buttonHTML,opt)).addClass("btn-inner"); var $btn = $('<div class="wysibb-toolbar-btn wbb-smilebox wbb-'+bn+'">').appendTo(container).append($btnHTML).append(this.strf('<span class="btn-tooltip">{title}<ins/></span>',{title:opt.title})); $btn.mousedown($.proxy(function(e) { e.preventDefault(); $('#emoticons').slideToggle('fast'); },this)); }, 4 - En templates/modules/m.global_emoticons.tpl y reemplazamos todo el contenido por <div id="emoticons" style="display:none;"> <!-- La imagen la pueden cambiar por la que deseen --> <img src="{$tsConfig.tema.t_url}/i/loading-spin.svg"> </div> {literal} <script type="text/javascript"> $(document).ready(function() { $.ajax({ url: global_data.url + '/emoticones.php', success: function(h) { $('#emoticons').html(h); } }); }); $('#emoticons').click(function(e) { e.preventDefault(); var smile = e.target.alt; $('.wysibb-body').append(smile); // Inserta el smile/emoticon al editor }); </script> {/literal} 5 - Ir templates/modules/m.posts_comments_form.tpl y buscamos <div id="procesando"><div id="post"></div></div> y debajo agregaremos {include file='modules/m.global_emoticons.tpl'} 6 - En extras.css al final de todo agregamos #emoticons { text-align: center; border: 3px solid #CCCCCCFF; padding: 4px; margin: 6px; } #emoticons .smiles { display: table; position: relative; z-index: 2; width: 100%; } #emoticons .smiles img { float: left; cursor: pointer; margin: 4px 2px; font-size: 20px; }
  3. Yesterday
  4. 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
  5. _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.
  6. Last week
  7. boreas

    Theme Identi Actual [Desarrollo]

    Deberías directamente sacar el vCard. La mayoría de temas actuales (si no es que todos) ya no los usan.
  8. _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
  9. _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
  10. Altffenser

    Theme Identi Actual [Desarrollo]

    No puedo ver la web, hay un error de compilación :/
  11. camila

    Web lenta

    ojala lo soluciones
  12. Gente quiero invitarlos para los chicos que deseen generar ingresos de forma sencilla y por hacer lo que mas les gusta comentar, dar likes y publicar sus ideas. hablo de aportelatino .com echenle un ojo y bueno no esta demás ganar un poco para mantener nuestros sitios webs y pagos al día xD

  13. _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
  14. _morozov

    Web lenta

    Te contacto vía mp
  15. boreas

    Web lenta

    He estado buscando información sobre cómo hacer eso y "slow query" pero realmente no he encontrado nada y tampoco quiero joder mucho el vps.
  16. _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
  17. _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!
  18. boreas

    Theme Identi Actual [Desarrollo]

    Ya hay un tema publicado por gonzalo pero es muy viejo, te está quedando bastante bueno a ver que tal queda cuando lo termines.
  19. boreas

    Web lenta

    Hola, no sabía qué título ponerle a este problema pero quiero explicar más o menos lo que me pasa. Estoy usando la v6 de mi buen amigo y querido to-up que publicaron aquí en el foro. La instalé en una web pequeña, con menos de 100 usuarios y menos de 100 posts y funciona muy bien, el problema viene cuando la uso en un sitio con buen tráfico, más de 3k de usuarios y más de 30k posts. Desde el posts.php he comentado ciertas cositas como destacados, recomendados, fotos, afiliados y un par más para que la home no se sobrecargue, de esta forma me carga bien pero hay una función (¿se llama así) en específico que jode tanto la web que me toca reiniciar el vps... ¿No te conté? mudé la web a un vps creyendo que así se iba a solucionar el problema. Bueno, vamos al grano. Me refiero al siguiente código: //MURO HOME //include(TS_CLASS."c.muro.php"); //$tsMuro =& tsMuro::getInstance(); //$smarty->assign("tsMuroHome",$tsMuro->getMuroHome()); //$smarty->assign("tsType","home"); Que hace la llamada a la siguiente función: //MURO HOME function getMuroHome(){ global $tsUser, $tsCore; $tipo = $tsCore->setSecure(intval($_GET['tipo'])); $total = 3; //DESTACADOS if($tipo == 1){ $ordenar = 'p.p_comments DESC, p.p_favoritos DESC, p.p_compa DESC, p.p_likes DESC, p.p_date DESC , f.favo_fecha DESC , l.like_fecha DESC, s.compa_fecha DESC'; } //POPULARES if($tipo == 2){ $ordenar = 'p.p_likes DESC, l.like_fecha DESC'; } //PUBLICO if($tipo == 0 || $tipo == 3){ $ordenar = 'p.p_date DESC'; } $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT p.*, u.user_name FROM u_muro AS p LEFT JOIN u_miembros AS u ON p.p_user_pub = u.user_id LEFT JOIN u_muro_favoritos AS f ON p.pub_id = f.shout_id LEFT JOIN u_muro_likes AS l ON p.pub_id = l.obj_id LEFT JOIN u_muro_compartir AS s ON p.pub_id = s.shout_id WHERE p.p_user = p.p_user_pub GROUP BY p.pub_id ORDER BY '.$ordenar.' LIMIT '.$total.''); while($row = db_exec('fetch_array', $query)){ //LO TENGO COMO MI FAVORITO if($row['p_favoritos'] > 0){ $row['favorito'] = $this->getPubExtras($row['pub_id'], 'favorito', $row['p_favoritos']); } //LO HE COMPARTIDO if($row['p_shared'] > 0){ $row['compartir'] = $this->getPubExtras($row['pub_id'], 'compartir', $row['p_shared']); } // CARGAR LIKES if($row['p_likes'] > 0){ $row['likes'] = $this->getPubExtras($row['pub_id'], 'likes', $row['p_likes']); } else $row['likes'] = array('link' => 'Me gusta'); // MENCIONES $row['p_body'] = $tsCore->parseBadWords($tsCore->parseBBCode($tsCore->setMenciones($row['p_body'])), true); // CARGAR ADJUNTOS if($row['p_type'] != 1){ $queryDos = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT * FROM u_muro_adjuntos WHERE pub_id = \''.$row['pub_id'].'\' LIMIT 1'); $adj = db_exec('fetch_assoc', $queryDos); $data[] = array_merge($row,$adj); } else $data[] = $row; } return array('total' => count($data), 'data' => $data); } Esa función por lo que me he dado cuenta es la de los shouts ya que si bien no soy experto ni muy buen programador (es más, no soy ni intento de programador) he "leído" un poco el código. El problema viene cuando yo descomento el primer código del posts.php ya que la web se tilda tanto pero tanto que nunca carga y al final da un error 503, los procesos de mi vps aumentan tanto que parece que estoy alojando el mismísimo fácebook y no vuelve (la web) hasta que reinicio el vps. Lo mismo pasa con los destacados... A este paso cuando llegue a mas de 60k posts solo pondré los posts en la home, sin ningún otro modulo para que no se sobrecargue. Si alguien tiene una idea de qué puede ser el problema agradecería su ayuda. Besitos, chao.
  20. Quieres ganar dinero creando publicaciones? 

  21. _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.
  22. 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
  23. xScorpion

    Adxat - Empresa de publicidad

    Hola hoy voy a compartir la experiencia que tuve con Adxat, bueno esta empresa publicitaria fue la que me funciono y me dejo para mi en 1 mes un buen dinero. Para los que se preguntan ¿que es adxat? Adxat es una empresa publicitaria como adsense, pero esta acepta todas las webs que quieran (excepto pedofilia, gore, y todas esas cosas) ademas de todo eso los pagos se realizan diariamente y tiene un buen soporte. Aca les dejo las caracteristicas! Tarifas justas Informes detallados Pagos diarios Tasa de llenado del 100% Aprobación instantánea de la cuenta Pagos justos que se basan en la calidad del tráfico Estadísticas en tiempo real para sus zonas de anuncios Soporte las 24/7 Con 8 metodos de pagos Minimo de pago 5$ Acepta cualquier web (Mientras no sea Pedofilia, gore, etc) Una de las mejores empresas publicitarias tanto para warez como para PHPOST, los anuncios se adaptan muy bien a la web como para pc y para mobiles.. TAMBIEN PODES COMPRAR TRAFICO 100% REAL PARA TU PAGINA WEB/PROYECTOS/BLOG ETC AdXat | Shout your ad Pruebas de pago: https://i.imgur.com/H5g1Zkv.png https://i.imgur.com/tzJFh86.png https://i.imgur.com/DVoMkiv.png https://i.imgur.com/rtY3oh5.pn
  24. Ganar dinero compartiendo? AporteLatino.com Es una plataforma social que te ofrece la posibilidad de ganar dinero con solo compartir posts(blogs), imagenes, videos, audios... y por reaccionar a las publicaciones de los demás también ganaras $. Con el sistema de afiliados también podrás generar ingresos invitando a tus amigos o conocidos a registrarse a través de un link tuyo, consulta tu link de referido y compartelo en tus redes https://aportelatino.com/settings/affiliates Únete ahora y te regalaremos 5 dólares a tu cuenta: https://aportelatino.com/signup
  25. Earlier
  26. Quiero comprar y levantar este sitio, con quien tengo que hablar?

  1. Load more activity
  • Patrocinador



    ×