Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name roksahidden
- // @namespace roksahdn
- // @description filtr ukrywający nieinteresujące nas ogłoszenia z listy ulubionych
- // @version 1
- // @include http://*.roksa.pl/*/logowanie*
- // ==/UserScript==
- (function (){
- var frazyDoUkrycia = [
- 'nie, nie, nie',
- 'nie!',
- 'omijać',
- 'leniwa',
- 'naciągara',
- 'nie polecana',
- 'szału ni ma',
- 'dupy nie urywa',
- 'roksahidden'
- ];
- var tylkoWybraneMiasta = [
- ];
- var cssUkryj = '.roksahidden { display: none; } ';
- var cssWyszarz =
- '.roksahidden .favourites_box_content p, .roksahidden .favourites_box_date, .roksahidden .favourites_box_date h4 , .roksahidden .favourites_box_date > span { color:#999; } ' +
- '.roksahidden img { opacity:0.2; filter:alpha(opacity=20); }' +
- '.roksahidden .favourites_box_content h5, .roksahidden .favourites_box_date .favourites_prices span { opacity:0.2; filter:alpha(opacity=20); }';
- var doDebug = false;
- //-----------------------------------------------------------
- function createElem(tag, attr, text) {
- var el = document.createElement(tag);
- if (typeof text != 'undefined')
- el.textContent = text;
- for (k in attr)
- el.setAttribute(k, attr[k]);
- return el;
- }
- function getCssMode()
- {
- var mode = parseInt(localStorage.getItem('roksahiddencss_mode'));
- if (mode == null) {
- mode = 1;
- }
- return mode;
- }
- function setCssUi(ev)
- {
- event = event || ev;
- setCss(event.target.value);
- }
- function setCss(mode)
- {
- if (typeof mode == 'undefined'){
- mode = getCssMode();
- }
- mode = parseInt(mode);
- if (doDebug) console.log('Set CSS: ' + mode);
- var elem = document.getElementById('roksahiddencss');
- if (elem == null){
- var head = document.getElementsByTagName('head')[0];
- elem = createElem('style', { 'type':'text/css', 'id':'roksahiddencss' } );
- head.appendChild(elem);
- }
- var cssContent = '';
- switch(mode){
- case 0:
- cssContent = cssUkryj;
- break;
- case 1:
- cssContent = cssWyszarz;
- break;
- }
- elem.textContent = cssContent;
- if (getCssMode() != mode){
- localStorage.setItem('roksahiddencss_mode',mode);
- if (doDebug) console.log('Save CSS: ' + mode);
- }
- }
- function createSwitcher()
- {
- var elem = document.getElementById('roksahiddenswitcher');
- if (elem == null){
- var head = document.getElementById('favourites_content_header');
- if (head == null){
- return;
- }
- elem = createElem('select', {'id':'roksahiddenswitcher', 'style':'margin-left: 0.7em'});
- elem.addEventListener('change', setCssUi);
- var mode = getCssMode();
- var opts = ['Ukryj niechciane', 'Wyszarz niechciane', 'Pokaż wszystkie'];
- for (var i=0; i<opts.length; i++){
- var item = createElem('option', {'value':i}, opts[i]);
- if (i === mode)
- item.setAttribute('selected', 'selected');
- elem.appendChild(item);
- }
- head.appendChild(elem);
- }
- }
- function doIt(){
- if (!String.prototype.trim) {
- String.prototype.trim = function () {
- return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
- };
- }
- setCss();
- createSwitcher();
- var xp = document.evaluate("//div[@id='user_content']/div", document, null,
- XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
- if (doDebug) console.log('roksafilter, start: ' + xp.snapshotLength);
- for (var k=0; k<tylkoWybraneMiasta.length; k++)
- tylkoWybraneMiasta[k] = tylkoWybraneMiasta[k].toLowerCase();
- for (var k=0; k<frazyDoUkrycia.length; k++)
- frazyDoUkrycia[k] = frazyDoUkrycia[k].toLowerCase();
- for (var i=0; i<xp.snapshotLength; i++){
- var elem = xp.snapshotItem(i);
- if (doDebug) console.log('przetwarzam ' + elem.getAttribute('id') + ' ' +
- document.evaluate(".//div[@class='favourites_box_date']/a/h4", elem, null,
- XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.textContent);
- var doHide = false;
- if (tylkoWybraneMiasta.length > 0){
- doHide = true;
- var xp2 = document.evaluate(".//div[@class='favourites_box_date']", elem, null,
- XPathResult.FIRST_ORDERED_NODE_TYPE, null);
- if (xp2.singleNodeValue != null){
- var elem2 = xp2.singleNodeValue;
- var txt = '';
- for (var l = 0; l < elem2.childNodes.length; ++l)
- if (elem2.childNodes[l].nodeType === Node.TEXT_NODE)
- txt += elem2.childNodes[l].textContent + ' ';
- txt = txt.trim().toLowerCase();
- if (doDebug) console.log('miasto: ' + txt);
- for (var k=0; k<tylkoWybraneMiasta.length; k++){
- if (txt.indexOf(tylkoWybraneMiasta[k]) > -1){
- doHide = false;
- break;
- }
- }
- }
- }
- if (doHide == false && frazyDoUkrycia.length > 0){
- var xp2 = document.evaluate(".//div[@class='favourites_box_content']/p", elem, null,
- XPathResult.FIRST_ORDERED_NODE_TYPE, null);
- if (xp2.singleNodeValue != null){
- var elem2 = xp2.singleNodeValue;
- var txt = elem2.textContent.trim().toLowerCase();
- if (doDebug) console.log('opis: ' + txt);
- for (var k=0; k<frazyDoUkrycia.length; k++){
- if (txt.indexOf(frazyDoUkrycia[k]) > -1){
- doHide = true;
- break;
- }
- }
- }
- }
- if (doDebug) console.log(elem.getAttribute('id') + ' --> ' + doHide);
- if (doHide){
- elem.setAttribute('class', elem.getAttribute('class') + ' roksahidden');
- } else {
- //elem.setAttribute('class', elem.getAttribute('class').replace('roksahidden', ''));
- }
- }
- }
- doIt();
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement