21 במרץ 2023, 0:38

סקריפט שכתבתי לעצמי, להרצה עם Tampermonkey, משתף כאן AS-IS לטובת הציבור 🙂

  • בלשונית רשימות צינתוקים:
    מסדר את רשימות הצינתוקים לפי כמות מנויים מגדול לקטן, מציג סיכום של מספר הרשימות וההרשמות
  • בצפיה בלוג אירועי רשימה:
    מסדר את לוג האירועים לפי תאריך מהחדש לישן, מציג את כמות האירועים וכמות מספרי טלפון שהיו מעורבים (כרגע אין טיפול בכתובות IP, כל כתובת פשוט נספרת כמספר)
    CleanShot 2023-03-21 at 02.33.15@2x.png

CleanShot 2023-03-21 at 02.33.03@2x.png

// ==UserScript==
// @name       שיפור תצוגת רשימות צינתוקים - ימות
// @version       0.1
// @author       ShlomoCode
// @match        https://www.call2all.co.il/ym/index.php?view=Tzintukim
// @match        https://private.call2all.co.il/ym/index.php?view=Tzintukim
// @match        https://www.call2all.co.il/ym/index.php?view=Tzintukim&action=getLogList&list=*
// @match        https://private.call2all.co.il/ym/index.php?view=Tzintukim&action=getLogList&list=*
// ==/UserScript==

(() => {
    if (location.search === '?view=Tzintukim') {
        const items = $('tr.listR')
            .detach()
            .sort((aList, bList) => {
                const aListValue = parseInt(aList.querySelector('td:nth-child(2)').innerText);
                const bListValue = parseInt(bList.querySelector('td:nth-child(2)').innerText);
                return bListValue - aListValue; // reverse order
            });

        const subscribersCount = items
            .map((i, el) => parseInt(el.querySelector('td:nth-child(2)').innerText))
            .toArray()
            .reduce((a, b) => a + b);

        $('.scrollContent').append(items);
        $('.admin-section').append(` (${items.length} רשימות, ${subscribersCount} הרשמות)`);
    } else if (location.search.startsWith('?view=Tzintukim&action=getLogList&list=')) {
        const items = $('tr.listR').detach().toArray();
        $('.scrollContent').append([...items.reverse()]);

        const phones = new Set();
        items.forEach((item) => {
            const phone = item.querySelector('td:nth-child(3)').innerText;
            phones.add(phone);
            const phoneEvent = item.querySelector('td:nth-child(6)').innerText;
            if (phoneEvent) phones.add(phoneEvent);
        });

        $('.admin-section').append(` (${items.length} פעולות שהתבצעו ע"י ${phones.size} מספרי טלפון)`);
    }
})();