Staff en línea
Últimos temas
[beta] Likes como opensource Origin10[widget] Crear mp
por citrato Mar Jul 21, 2020 5:05 am

[beta] Likes como opensource Origin10[widget] Aviso flotante
por citrato Lun Jul 20, 2020 8:14 am

[beta] Likes como opensource Origin10[recursos] Pack Rangos
por PeruxD Miér Jul 15, 2020 4:37 am

[beta] Likes como opensource
Tema iniciado por y Añadir a favoritos

[beta] Likes como opensource 
el Lun Nov 16, 2015 11:24 pm
staff


Última edición por Chalo el Dom Mayo 17, 2020 10:59 am, editado 7 veces


[codebox]
Este code esta basado en el sistema de likes de open source.
[beta] Likes como opensource Captur10
[/codebox]


Para phpbb3, colocar en temas:
Código:

var likes = {
    img: "http://myopensourcephpbb3.com/likesup.png",
    site: "append",
    target: ".profile-icons",
    heightImg: "20px",
    widthImg: "20px",
    marginImg: "3px",
    fontFamily:"",
    tools: {
        me: function (e) {
            likes.tools.closest(e, ".post");
            var cond, t = likes.tools.g(".author", e),
                s = t.length ? likes.tools.g("a", t[0])[0].textContent : "error";
            return cond = s === _userdata.username, cond
        },
        hasClass: function (e, t) {
            return e.classList ? e.classList.contains(t) : new RegExp("\\b" + t + "\\b").test(e.className)
        },
        addClass: function (e, t) {
            ! function (e, t) {
                likes.tools.hasClass(e, t) ? e.className = t : e.className += " " + t
            }(e, t)
        },
        removeClass: function (e, t) {
            e.classList ? e.classList.remove(t) : e.className = e.className.replace(new RegExp("\\b" + t + "\\b", "g"), "")
        },
        create: function (e, t) {
            switch ((e = "text" == e ? document.createTextNode(e) : "fragment" != e ? 1 == e.nodeType ? e : document.createElement(e) : document.createDocumentFragment()).nodeType) {
                case 1:
                    t.class && likes.tools.addClass(e, t.class), t.attributes && likes.tools.attr(e, t.attributes), t.style && likes.tools.Style(e, t.style), t.html && (e.innerHTML = t.html), t.text && e.appendChild(document.createTextNode(t.text));
                    break;
                case 3:
                    e.textContent = t.text
            }
            return t.childs && t.childs.length && likes.tools.childs(e, t.childs), e
        },
        childs: function (e, t) {
            for (var s = 0; s < t.length; s++) e.appendChild(t[s] instanceof window.HTMLElement ? t[s] : likes.tools.create(t[s].tag, t[s]))
        },
        attr: function (e, t) {
            for (var s in t) e.setAttribute(s, t[s])
        },
        Style: function (e, t) {
            if ("string" == typeof e && (e = likes.tools.g(e)), e.style)
                for (var s in t) e.style[s] = t[s];
            return this
        },
        closest: function (e, t) {
            var s, o;
            for (["matches", "webkitMatchesSelector", "mozMatchesSelector", "msMatchesSelector", "oMatchesSelector"].some(function (e) {
                    return "function" == typeof document.body[e] && (s = e, !0)
                }); e;) {
                if ((o = e.parentElement) && o[s](t)) return o;
                e = o
            }
            return null
        },
        fixedEncodeURIComponent: function (e) {
            return encodeURIComponent(e).replace(/[!'()]/g, escape).replace(/\*/g, "%2A")
        },
        xmlhRequest: function (e, t, s) {
            var o, n = void 0 !== e,
                i = n && "string" == typeof e ? e : Object.keys(e).map(function (t) {
                    return likes.tools.fixedEncodeURIComponent(t) + "=" + likes.tools.fixedEncodeURIComponent(e[t])
                }).join("&");
            o = window.XMLHttpRequest ? new XMLHttpRequest : window.ActiveXObject && new ActiveXObject("Microsoft.XMLHTTP"), n ? o.open("POST", t) : o.open("GET", t, !0), o.responseType = "document", o.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"), o.send(n ? i : ""), o.onreadystatechange = function () {
                4 == this.readyState && 200 == this.status && s(this)
            }
        },
        myarray: function (e, t, s) {
            "string" != typeof e && (s = t, t = e, e = "a");
            var o = {
                    f: "filter",
                    m: "map",
                    a: "forEach"
                } [e],
                n = 0,
                i = [],
                l = t.length;
            if (o && t[o]) return t[o](s);
            for (; l > n; n++) {
                var r = t[n],
                    a = s.call(t, r, n, t);
                switch (e) {
                    case "f":
                        a && i.push(r);
                        break;
                    case "m":
                        i.push(a)
                }
            }
            return i
        },
        move: function (e, t, s, o) {
            switch (s) {
                case "append":
                    e.appendChild(t);
                    break;
                case "prepend":
                    e.insertBefore(t, e.childNodes[0]);
                    break;
                case "before":
                    e.parentNode.insertBefore(t, e);
                    break;
                case "after":
                    e.parentNode.insertBefore(t, e.nextSibling);
                    break;
                case "replaceWith":
                    e.parentNode.replaceChild(t, e)
            }
            void 0 !== o && o(e, t)
        },
        contiene: function (e, t) {
            return e = 1 == e.nodeType ? e.innerHTML : likes.tools.isString(e) ? e : e.join(), !(t.length > e.length) && -1 !== e.indexOf(t)
        },
        isString: function (e) {
            return "[object String]" === Object.prototype.toString.call(e)
        },
        elem: function (e, t) {
            var s = 1 == e.nodeType ? e : document.createElement(e);
            if (t) {
                for (var o in t) "style" != o && (s[o] = t[o], /^on/.test(o) && s.setAttribute(o, t[o]));
                t.style && likes.tools.Style(s, t.style)
            }
            return s
        },
        copyHtml: function (e, t, s) {
            for (var o = e.ownerDocument === t.ownerDocument ? e.cloneNode(!0) : t.ownerDocument.importNode(e, !0); o.firstChild;) t.appendChild(o.firstChild);
            void 0 !== s && s(e, t)
        },
        replaceHtml: function (e, t, s) {
            likes.tools.borrarTodo(t), likes.tools.copyHtml(e, t, s)
        },
        borrarTodo: function (e) {
            for (; e.firstChild;) e.removeChild(e.firstChild);
            return this
        },
        g: function (e, t) {
            switch (t = void 0 !== t ? t : document, e.charAt(0).match(/\W/) ? e.charAt(0) : e) {
                case "#":
                    return t.getElementById(e.substr(1));
                case ".":
                    return t.getElementsByClassName(e.substr(1));
                case "*":
                    return t.getElementsByName(e.substr(1));
                case "body":
                    return t.body;
                case "head":
                    return t.head;
                case "forms":
                    return t.forms;
                default:
                    return t.getElementsByTagName(e)
            }
        }
    },
    sendLike: function (e, t, s) {
        likes.tools.xmlhRequest("", e, function (e) {
            var s = e.responseXML,
                o = !likes.tools.contiene(s.body, "Ya has votado"),
                n = parseInt(t.getAttribute("alt")) + 1,
                i = t.parentNode,
                l = likes.contexto(n, i, "novote"),
                r = t.nextElementSibling;
            o ? (likes.tools.elem(t, {
                className: "like novote",
                onclick: ""
            }), likes.tools.elem(t.firstChild, {
                style: {
                    opacity: ".5",
                    cursor: "auto"
                }
            }), r.innerHTML = l) : alert("Ya has dado click en este like")
        })
    },
    setup: function () {
        var e = likes.tools.g(".vote");
        likes.tools.myarray(e, function (e) {
            var t = likes.tools.closest(e, ".post"),
                s = likes.tools.g(likes.target, t)[0],
                o = likes.tools.g(".vote-bar", e),
                n = likes.tools.g(".vote-button", e),
                i = o.length ? Number(o[0].title.match(/(\d+)/g)[1]) : 0,
                l = n.length && n[0].firstChild.href,
                r = "like" + (n.length ? "" : " novote"),
                a = 0 == i ? "" : likes.contexto(i, e, r);
            likes.tools.elem(e, {
                style: {
                    display: 'inline',
                    float: 'initial',
                    marginLeft: '0',
                    width: 'auto'
                }
            });
            likes.tools.move(s, e, likes.site, function (e, t) {
                likes.tools.removeClass(t, "gensmall"), likes.tools.replaceHtml(function (e, t, s, o, n) {
                    return likes.tools.create("div", {
                        childs: [{
                            tag: "span",
                            class: e,
                            attributes: {
                                alt: t,
                                onclick: s.length ? "likes.sendLike('" + n + "',this, event);return false" : ""
                            },
                            childs: [{
                                tag: "img",
                                class: "thumbs",
                                attributes: {
                                    src: likes.img
                                },
                                style: {
                                    opacity: likes.tools.contiene(e, "novote") ? ".5" : "",
                                    height: likes.heightImg,
                                    width: likes.widthImg,
                                    margin: likes.marginImg,
                                    cursor: likes.tools.contiene(e, "novote") ? "auto" : "pointer"
                                }
                            }]
                        }, {
                            tag: "span",
                            class: "likecount",
                            style: {
                                display: 'inline-block',
                                float: 'right',
                                marginTop: '5px',
                                marginLeft: '-12px',
                                fontSize: '8px',
                                fontFamily: likes.fontFamily
                            },
                            text: o
                        }]
                    })
                }(r, i, n, a, l), t)
            })
        })
    },
    contexto: function (e, t, s) {
        var o, n = likes.tools.me(t),
            i = " A un usuario le gusta mi post",
            l = " les gusta mi post",
            r = " usuarios les gusta este post",
            a = likes.tools.contiene(s, "novote");
        return n ? 1 == e ? o = i : e > 2 ? o = "A " + e + l : 2 == e && (o = "A " + e + l) : n || (e > 2 ? o = a ? "A mi y a " + e + r : "A " + e + r : 2 == e ? o = a ? " A mi y a otro usuario nos gusta este post" : "A " + e + r : 1 == e && (o = a ? "Me gusta este post" : i)), o
    }
};
$(function () {
    $(function () {
        likes.setup()
    });
});
añadir css
Código:

.vote{
display:none
}

la idea es seguir evolucionando el code, cualquier duda de su uso para eso es la sección
Chalo
Chalo

¿Que estoy pensando? :

jugando con un ping de 999 [table class=fecha_up][td]Se modifico:25/05/20 - 10:57 hrs. [/td][/table]


Banner en temas :

https://i.imgur.com/ikntDYIh.jpeg


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

7136


Puntos :

9268


Me gusta :

1063


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


https://www.opensourcephpbb3.com

Volver arriba Ir abajo

Re: [beta] Likes como opensource 
el Sáb Nov 28, 2015 12:54 pm
staff
buen aporte patron....
Dosh
Dosh

¿Que estoy pensando? :

Vuelve el hijo prodigo... [table class=fecha_up][td]Se modifico:1/010/18 - 15:59 hrs. [/td][/table]


Banner en temas :

https://i.imgur.com/JdnysKr.png


Color de titulos :

#fff


Sombra titulo :

1px 1px 1px #fff


Mensajes :

1700


Puntos :

2460


Me gusta :

468


ingreso :

07/12/2014


Sexo :

Masculino

Plataforma :

punbb


Navegador :

Chrome


http://www.telefoneros.com/

Volver arriba Ir abajo

Re: [beta] Likes como opensource 
el Lun Nov 30, 2015 8:46 pm
staff
[tag]Dosh[/tag] para eso estamos mi buen
Chalo
Chalo

¿Que estoy pensando? :

jugando con un ping de 999 [table class=fecha_up][td]Se modifico:25/05/20 - 10:57 hrs. [/td][/table]


Banner en temas :

https://i.imgur.com/ikntDYIh.jpeg


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

7136


Puntos :

9268


Me gusta :

1063


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


https://www.opensourcephpbb3.com

Volver arriba Ir abajo

Re: [beta] Likes como opensource 
el Sáb Ene 23, 2016 8:10 pm
Gracias por el aporte
fascicularia
fascicularia

¿Que estoy pensando? :

Escribe lo que tienes en mente [table class=fecha_up][td]Se modifico:10/7/15 - 15:25 hrs.[/td][/table]


Banner en temas :

http://davesgarden.com/guides/pf/thumbnail.php?image=2006/10/11/Calif_Sue/aad8bf.jpg


Color de titulos :

#576d00


Sombra titulo :

1px 1px 1px #fff


Mensajes :

237


Puntos :

282


Me gusta :

29


ingreso :

20/01/2016


Sexo :

Femenino

Plataforma :

PhpBB2


Navegador :

Opera


Volver arriba Ir abajo

Re: [beta] Likes como opensource 
el Lun Mayo 04, 2020 12:58 pm
Comento para ver, gracias
Andreii
Andreii

¿Que estoy pensando? :

Hay... ya sali :( [table class=fecha_up][td]Se modifico:22/02/20 - 16:09 hrs. [/td][/table]


Banner en temas :

http://static.tumblr.com/376a46baffe3444282f3b414a2fd0d46/jsyqb9t/qxbnm1bqy/tumblr_static_tumblr_static_4eo5pzujbwcg8gws0gcc8oc0s_focused_v3.jpg


Color de titulos :

#333


Sombra titulo :

1px 1px 1px #fff


Mensajes :

173


Puntos :

207


Me gusta :

24


ingreso :

21/01/2016


Sexo :

Femenino

Plataforma :

phpbb3


Navegador :

chrome


Volver arriba Ir abajo

Re: [beta] Likes como opensource 
el Jue Mayo 14, 2020 3:49 am
Voy a probarlo, muchas gracias Chalo por tu trabajo.
citrato
citrato

¿Que estoy pensando? :

Escribe lo que tienes en mente [table class=fecha_up][td]Se modifico:10/7/15 - 15:25 hrs.[/td][/table]


Banner en temas :

https://2img.net/h/oi64.tinypic.com/2i8tzma.jpg


Color de titulos :

#333


Sombra titulo :

1px 1px 1px #fff


Mensajes :

109


Puntos :

137


Me gusta :

8


ingreso :

13/05/2020


Sexo :

Masculino

Plataforma :

PhpBB3


Navegador :

Chrome


Volver arriba Ir abajo

 En la misma categoria

  Temas relacionados en otros foros de foroactivo

Permisos de este foro:
No puedes responder a temas en este foro.