Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name YOUR_SCRIPT_NAME
- // @include https://dochazka.lan.ufe.cz/*
- // @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
- // @grant GM_addStyle
- // ==/UserScript==
- //--- The @grant directive is used to restore the proper sandbox.
- var hrsNode = document.querySelector("body > div:nth-child(7) > table:nth-child(1) > tbody > tr:nth-child(2) > td:nth-child(1)");
- var minsNode = document.querySelector("body > div:nth-child(7) > table:nth-child(1) > tbody > tr:nth-child(2) > td:nth-child(2)");
- var secsNode = document.querySelector("body > div:nth-child(7) > table:nth-child(1) > tbody > tr:nth-child(2) > td:nth-child(3)");
- var workedDaysNode = document.querySelector("body > div:nth-child(7) > table:nth-child(3) > tbody > tr:nth-child(2) > td:nth-child(1)");
- var workDaysNode = document.querySelector("body > div:nth-child(7) > p > strong > i > font:nth-child(1)");
- var sickDaysNode = document.querySelector("body > div:nth-child(7) > table:nth-child(3) > tbody > tr:nth-child(2) > td:nth-child(3)");
- var vacaDaysNode = document.querySelector("body > div:nth-child(7) > table:nth-child(3) > tbody > tr:nth-child(2) > td:nth-child(4)");
- var appender = document.querySelector("body > div:nth-child(7)");
- // Parametry
- var UVAZEK = 0.4;
- var DNY_ZA_TYDEN = 3;
- // Ze stránky
- var workedHours = Number(hrsNode.innerHTML.replace(/\ /g, ''));
- var workedMinutes = Number(minsNode.innerHTML.replace(/\ /g, ''));
- var workedSeconds = Number(secsNode.innerHTML.replace(/\ /g, ''));
- var workedDays = Number(workedDaysNode.innerHTML.replace(/\ /g, ''));
- var sickDays = Number(sickDaysNode.innerHTML.replace(/\ /g, ''));
- var vacaDays = Number(vacaDaysNode.innerHTML.replace(/\ /g, ''));
- var workDays = Number(workDaysNode.innerHTML.replace(/\ /g, ''));
- // Výpočty
- var workedTime = workedHours+workedMinutes/60+workedSeconds/3600;
- var myWorkDays = workDays*UVAZEK;
- // Current
- var requiredHours = (myWorkDays-sickDays-vacaDays)*8+0.5*workedDays;
- var missingHours = requiredHours-workedTime;
- // Guessed
- var guessedLunchDays = Math.ceil((myWorkDays-sickDays-vacaDays)*DNY_ZA_TYDEN/(UVAZEK*5));
- var guessedRequiredHours = (myWorkDays-sickDays-vacaDays)*8+0.5*guessedLunchDays;
- var guessedMissingHours = guessedRequiredHours-workedTime;
- appender.insertAdjacentHTML( 'beforebegin', `
- <center>
- <table border="1" cellpadding="3" cellspacing="0" width="35%" style="margin-bottom:20px;">
- <tr><td bgcolor=#90ee90><strong>Zbývá odchodit</strong></td><td>${Math.round(missingHours*10, 2)/10} hodin</td></tr>
- <tr><td bgcolor=#90ee90><strong>Pracovních dní</strong></td><td>${Math.round(missingHours/24*10, 2)/10}</td></tr>
- <tr><td bgcolor=#90ee90><strong>Zbývá odch. <sup>odhad</sup></strong></td><td>${Math.round(guessedMissingHours*10, 2)/10} hodin</td></tr>
- <tr><td bgcolor=#90ee90><strong>Prac. dní <sup>odhad</sup></strong></td><td>${Math.round(guessedMissingHours/24*10, 2)/10}</td></tr>
- </table>
- </center>
- ` );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement