da_devfolder

folders for deviation notifications

当前为 2014-10-16 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name da_devfolder
  3. // @namespace da_devfolder
  4. // @description folders for deviation notifications
  5. // @match http://*.deviantart.com/messages/*
  6. // @require http://phi.pf-control.de/jquery_min.js
  7. // @version 0.5
  8.  
  9.  
  10. // @grant GM_getValue
  11. // @grant GM_setValue
  12. // @grant GM_addStyle
  13. // ==/UserScript==
  14.  
  15.  
  16.  
  17. var star="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QULDSUvNm%2FTzQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAABpElEQVQ4y8WTv07bUBTGf%2FF1HVnURjhAqiKZKMBQqe3awQMM8AAs2RgqdeheKWIIWya6FUa2SEh44R2qpC%2BQrWqjRpEqRSBDHIKTQggDdoQhCW5A4kznfuecT9%2F5c%2BFZzDJyWEbuyfheHxhNrcfvKLlSFHVCCKWv9FGElrEMZGOSJHwk62NjK9yYXulqwcP3N8YjtIw9IKO8F2cB1Mk3KkDGjw00MbBNU90CMtMrXU0kpX%2BSEC%2Fab1oNAL2ivDr%2FIy1hqguYaoOaV71dHrt3HpAF0IrOUQBPHSbnT9brVc02ZgPs7zd6vrtNycmHCS0jpxWdj8PacBfSaQD1S6U%2BLKe9b%2BxScvJyADTXZhIPnUS7nIoNj7qjW0YVVwAsTnQA%2BNWKh95lVx3UcngpNe87pvoDkLnsvdXnEnon3m0B4FzIALr8MtH5eXIF2MAmJacwfCkDzoZ3uhdS6HUlwKbkfPq%2FO7wpsHVX6W9Wn52aHEUW5acU3Opxsz%2F2G78wqkCMpKt5VUxVkIx%2FwLmQuex9vTuz8exzqs7qzGmUVDkSYdnd4bnsGhBng9S9bmKjAAAAAElFTkSuQmCC";
  18. var hstar="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QULDSUqRgUnQgAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAADPElEQVQ4y8WUS2icVRTHf%2Fd%2Br3kkmfmmyWQmM5NWqeKmokYounFRREUEFyoq%2BNp0I%2Bgi6koLFbsW60LtSlSQggsXQoq6EXEhPlBcaRCbycw0SSeZtJnH97r3usiXMJQEQRDP8p5zfvd%2FDucc%2BD%2FMvcc%2FI%2B%2F13%2FjXAAPCwKSBsoHGyXcL%2FRN%2FsmKgasA34B6WKw%2BA5YAqUAMaz9%2BSf73Rw52%2FjP30rfkz6fucgeI%2FAg3kgTJQAaqfzLgPRIJnqlvGqjexIyGeuzDrPZj6ywaO3Ai0x2AeUAJmgGnAb7ny4ePzKpvrCp00sYpHk2x7KB8BlvdyDSQCrh2kcArwU%2Bj0%2Bar3khbcfdQxcXVTiVobe%2F62YDsRnDxXz7ySxvlAwYCzB7HSX1x25c98dsS5b8l3n4qluGtuRrnl2JjCADmplMqECKlkbnMgZ7%2BZcuaXs9ZoYaBWgdFZCAFECpwC6i%2FflHt1KHmyFhlx%2FNQoLK9jlTaxMldtTxWTqKccu1sQesOX5vffpF71pHG0%2BfDiH4OzAtb3gccWCufm37%2F2bGMFu9HErq1i11pYlQ727Br2zX9JByn5cS6J1wqoto9uFVEtH71aQjVL6OVLpXf4buste6%2BROy8Wi%2F1Ai36g5TBUchRoqQIlCLXEGDAGa%2BCihSWUskkCS8R9m7hni2jDFjBkvOQC0Fg8ln1tKMXj9UjLmjJUQy0rAvKxEXFi6LrSrJWcpJOzdLOfWC1Palfz0cfLgzcFdMaBuXRg65%2BXnFNtV96vBHfMeq7rJ3GUUYYo0HLHFmarkHXaYRhahh%2FmIv3FCxvRJaAtoLsPTKE1YC7dksqFWe%2F0SHKiMGkrTyOiQSKHUtAT4Gl%2BXuwEbwNr7Crr7NU8PofXgW2gB3RPr4cfWIZfrniZbHPCUm1Pmo3pvGsbflrsBOfTuG3g%2Bn4DxzdFwE66LfauYOJ6pL9cGo5udysZHQdah4MgeCjQS%2ByOSA%2FYSqGHHodN4GqacOXRrfjrrObiyqStWp7UE8p8%2BsRm9FXqXwe6AqJxgDjkfE0Ak%2BweC%2FfOx6rf6tXA%2FfX73gIQAH1gW4A%2B9Djc8Esf6BvIAE738vC91NUGRgeB%2FjP7G%2FoiW%2F3Ii3KYAAAAAElFTkSuQmCC";
  19. var buchcl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QUKFTsiNhYFAgAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAABxUlEQVQ4y82UMWsUURSFv3tnskZRowZDEKysLCIIxsoioOAfMJ3%2BAEVTRyzUSisb7azEMv4DLSysREixYCeCxMhGNLgsmmR891jMRGaX3c0GU3jhNfPmfXPuOfeNSWIvy9nj%2Bv%2BBee8DuzDZ5tT%2BD6Mc1rOVs6MpLNIYRcoIMoSB%2BLtqKZrZ7R0VAhCe862YhtRf2onGxxr0mqTnw4EpOUfHWrgCVTodYRZA1N6cA%2B7srDCR4SEkw90JExGJzBxTEARuMVIopduW8yNNVP13fQmA4%2FnK7oC%2FwzmQtTGibFWBEZgLIwgyoBgdGGQQARgy4WYgwyVMhly7G2yRsaGDbOgQP%2BMwnXSEThyjnSbPf9qcfvzmi3UPrz3E7NwQhZaTawsz4SZQ1brH1ebX4mYLz159btyA14IrwHx18t0AYHLcSrfKiTZEYMHC7FSDt2tbt1YZb8Fl4CSwhLQ4LGUjZAhDEbgbjqMypIXZKc%2BX19ZjlRng6TZsMPBXqnubdY8OPHr%2FvXN9nfF70ATmMWMbav1%2BsLU7Ote7dxf2Bcw4NO%2FDpmC58nAJabGvQkkPrEztZe%2FeBJw%2BAxcvwRMAq0wGXgxU%2BC%2F1B0Xrwk3QpigrAAAAAElFTkSuQmCC";
  20. var disk="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QULDS01A9SgvwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAA0ElEQVQ4y2NgGOyAEZnD6yr3nxxDPu9%2BBDeHBcMGUQ6iDYrU8GRYdng9AwMDwzIGBoYorAYiK8YHlt%2FYzrD8xnZkoQwGBoYZLLgMYxfjwe86Bk90AxnwuvDnqy9kRQpOAwm5EJeFLLjCJ5KBcBiS5EJcGsjyMjcfN8OXu28JJ2IsSYwFn4Yo20CcctD0R5qBuAzAZxETSfmUiFzERMVywY5iA%2F%2B%2F%2FsHwefej5QwMDIdgeZmi0gbJsBlYiy9Y%2BJNgJophuAyEGXqIiDCLonmJDQCW%2FTng1KHaLAAAAABJRU5ErkJggg%3D%3D";
  21. var hdisk="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QULDS833%2ByjEQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAx0lEQVQ4y2NgGOyAEYVXIPOfLFMmPIGbw4IhqSdItDm7wucxuFUHMjAwMCxjYGCIwm4gkmJ8wG1lEoPbyiRkoQwGBoYZLLgM4%2BeSIuw6VAMZ8Lrw47dnZAUnTgMJuRCXhSy4woeYMCTJhbg0kOVlQTkJhvdbrhPWjSWJseCNydb1uL0MSX%2BkGYjLAHwWMZEUQETkIiYqlgt2lBt46T0Dw4QnyxkYGA7B8jJlpQ3CsBnYiy8IWEaCkSiG4TIQZughIsIsiuYlNgCW%2FjRKPBg%2BOgAAAABJRU5ErkJggg%3D%3D";
  22. var delim="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QAAAAAAAD5Q7t%2FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QULDgUQF8tkCwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAABwElEQVQ4y%2BWUQWsTQRTHf28mFhuDC9mKCh4iJZdSRPBgqfftJ%2FBk7MfoJ%2FCUr2HO3kSSqyAIRURylkJrE9oubUzZZHd2ZjxsIiGalNKT%2BC7D%2FHnzY97%2FvRn470L%2BJqpG7TWwB2xOpC7QdK2Dt9cGqkatDUT3XnkuXvQhVYQfH9N%2FlwB0XOtgZxlQz8OCbYn0mx%2BM6wPEarwVhieX8HBMUKmuZ%2Fcr2%2F7bRWsRUM2VGSWNHkZZUixpeQwoSk88BJ7zvAcQTXKXA4G9By9XwQjWOtzED1tOIRf0hkAIOjBM%2FL0SuBk%2FPYRUgSmhrUKGt%2BBnCXLAKMgFEybMNOuPKM1uXKbAe%2FTJaiF4cEZwRsFYCnC%2BvMuzN%2Bya90AikAguFRgJjBSMBPsdMHB7EEzH6EpgU%2B1XsV805quGS41LNH4k2ENY37dwCtmgyJ0e8lBfOIeqUWvf2ShHw7QHVVAVYAVcX%2BDU45vnfA5X4q04W%2FPQBiKZYywcbPcoLix2AplBnYV8%2BnAcP4%2BzEOgAEdAR2FlUctGY4iXsqqOwq44C1PFd1FnYBXa34mxtGeza4aHtwc%2BuNwX%2BhkyhN4E9W6DX%2F60P9heUILfbuquRlQAAAABJRU5ErkJggg%3D%3D";
  23. var hdelim="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QAAAAAAAD5Q7t%2FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QULDgYCz19GgAAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAACo0lEQVQ4y%2BWUy0vUURTHP%2Ff3dJzxMeM4Zg8KS7OaaiWZpAVBb4ikiJZtbRvUuug%2FqGW0aBf0WtgmLHtrRDC9CzIQZ9LReWrO4%2Fe4LX6TSGoYtOu7uXdxz%2Fd8zz3nfOEfQ0hQAAFIAe5ygqT3XlksRgH8wAog8BdCVKAJCFUEzUGrqNOBRgm1JXB2HWzuHQlofTlD2SyFwG%2B5H1pm7Muv%2BhO3NY%2FMqIixK%2FELStAk7JNw%2FUXYnLrSViPPnG2QoYQhzUmf7L24Vl6M1snBiDkhoV9Cn4TQYtI1vBS2hLq0oZzonCqZrW6Jgbjg3SedeIPLtk%2FfOZ6yaU%2B6EeAQ8BmYWZIQ4FK0rmP3RNHcmSrRkIbOZ5JMbZmcT2fPB4f1Se%2FvR6tV3gSNlUfiBf5IeGdN9TFzq04pYbH9nUskCXsHoGBarB4DS4f3zSrD9VUMBKs7D8QL8o%2BEsaCxYexcno63Oif7y3QOS5oToDqQrRHENqrcaDG4F1EZn6xeO%2BQ1ZAHmWu4ogqyhkPWpFISGLRSE6xG6AooaTOuQ0wSWKni61GD%2Fumw7vPJLd1W6tWfWZkfMIZyRpOoFZU0QzkhcINak8iLo50lt1be7DybazEVUzpV8dGz25q4k57vSNoESJIOCoahGJiDoeu2wZdShe8RmRc0s7XXWc%2BO3gV5AeCGWfZUylFKgjDmjw9AqjWtRk0SjwnS6TE1Gsi7vsilvsSlvjS%2B1QhrADy9buaHsPvoa0Lpeh4zA42aHIamSzao8rLfwN%2FnpEcXclpz1FUgCPqC8mDmEKnvpA3DAOdXduP9l2Dwd96ntriIIF52PO6dKV28NJu8r3upZng7yQGa%2BQQgJYSACZAUkluk2RsVQikBKgDOfUKuYgy28zMu1L927Ygvv%2FF%2FxE0fK%2F9%2BgIH1jAAAAAElFTkSuQmCC";
  24. var glass="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QULFSIhjKOaxQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAA7UlEQVQ4y%2B2ULQ7CMBSAv5IJwgLBoEhqCAmeC2A4xCSHwJJwEiQnQE3AAUDgMJglKBDLFgiuCNZQyjpGMAie6Wvfly%2F9eSn849sQrkJ9KJXO0zASrrVSwvpQKtGqoo7XB2jNXVJRRvaJ1LNltVECJABcZo0nkZbdGR1SmVLvVQbnIAbAz6TmrvIYU%2BrZxzoHMf68WfiSRUylTCukYbRMw2hZhvWeL1cq3yheZg0y0QrYp2G0Ajl1MG3gIN70n5YtLGZtMWNg4%2BrDCTAA1sAW2GkY6GdjD%2Bhk3Nio5wq7Rq6AGDhZTNvID%2F8P58fjBibFdCeHpD%2FbAAAAAElFTkSuQmCC";
  25. var hglass="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QULFSMfVNm2LwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAA30lEQVQ4y%2B2UsQqCUBRAz4uGGgSXpsBFgtboB1r8jBb%2FwTXoR%2FyLJgf7ACPaWloEpxoEh9psUZOLz5SWBu%2Fy7n33cOC9d3kwxK%2BhdA3DsfIyz4JY6fY6CQ3HytVsQn5%2FfUBR66Sqi6yPVEnZOZ5W9cp6NookU5eqJpnpugCkvl9JpUwypXQsj2W6Lqnvt75kGzPqMgpZEIdZEIe9x6bpDgvREbgBtuFYew2zBRL1Zf5K2UEwkWA84KSbwx2wASLgAlxLGFgX6xKwC86r9RuFi1qeAynwEMy8lifDh%2FPn8QZDcm2uPhtrsQAAAABJRU5ErkJggg%3D%3D";
  26. var buch="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QADgCSAK6JiudvAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QUMFBk32NCSIgAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAACWUlEQVQ4y52T30tTYRjHP0e2CxsrWDXr5M7KmSg5sxgDCwLNRR3wRq%2B92H3Xg%2F6CoH%2FCC6%2B1dHAoNnYhRSVLwR85Vmaeo9OlIbkEkWBd5Pv6nrUR9sCB877P83x4vt%2F3fTWU8CeMqrquZGztNHkAj1qcHBmVCaewRpbXVdGk5vfK3%2Fm5t%2B%2FKi3AVzy7kKe9%2B42ZnFG3%2FF%2BWvWywerAIgYG8%2BvKOw%2FJEH8X6ZV6FNApbOWcR7YgwNmBh6iMKXIgBRX0TCnmem8Xo9tJwPApBfmiPqi7isaBI%2FQwMmAOmcBUBnWwcrqwUpZeLVC4KBIM7WhtyLdd9W1d53Ae2SA8DgnX4AXs5k6Yp0yuorQZ3Do0OutV498Xl7o%2FZMToCGHiKds1gsLgPw8N6gq6G0s4UevEy7EeFurA%2BA0KXWxsB0zmJowCTeEwPg7fysq%2BFHZZ%2BwbnDW7wegvLtDfmmuMVB4aJcc0jmLvltxl4fJkVHONDez%2FGkFgJYLF2s9dANnF%2FJSuoCrHgKMTYxz43oXM%2B%2FbmCv2snn0iIYXW0gVd7FX78LZ3pCy7ZJDwPuYqWk4GDYlYHMSAl6okHID7ZKDoYck2CmsuTycz3dLUDLRfjI1f%2FbCkF23UppHPeWxiXHX%2BFFf5C9JyUQ7Y5nPDdce1R%2F1LYu9qC%2FC1PQ5OZ3arMbBsEkYqpp4NpWM%2FaReoT9hPA14H7t8azSdb9LCc%2FywO4BQPWAlYw8GTLL%2FgtVKLh5%2FdWPdSmlhqNabUp1u3UppTfxnNPJSOw0kbD6rigMQkn2TllRxamAtWAWJ%2BA2r3AJr3QFa6gAAAABJRU5ErkJggg%3D%3D";
  27.  
  28. // <object type="image/svg+xml" data="green-circle.svg" width="64" height="64" border="1"></object>
  29. // var $=unsafeWindow.jQuery,holder,query,offset,fPage,pPage,lPage;
  30.  
  31. var block='<div id="dA_devfolder_box"><div id="dA_devfolder_box_cols">Name:<img id="dA_devfolder_box_col_sav" class="diskimg" alt="save quicklist" title="save quicklist" src="'+disk+'" /><img id="dA_devfolder_box_col_del" alt="remove quicklist" title="remove quicklist" src="'+delim+'" /><input type="text" value="" id="dA_devfolder_box_collist"/></div><div id="dA_devfolder_box_header"><input type="text" value="" id="dA_devfolder_box_filter"/><img id="dA_devfolder_box_submit" class="starimg" alt="add to list" title="add to list" src="'+star+'" /></div><div id="dA_devfolder_box_scroll"><div id="dA_devfolder_box_wrap"></div></div></div>';
  32. var bar='<div id="dA_devfolder_bar"><div class="dA_devfolder_barel">'+
  33. '<img id="dA_devfolder_bar_add" alt="Add a quicklist" title="Add a quicklist" class="dA_devfolder_bar_add starimg" src="'+star+'" />'+
  34. '<img id="dA_devfolder_bar_run" alt="grab all pages" title="grab all pages" class="dA_devfolder_bar_run glassimg" src="'+glass+'" />'+
  35. '<img id="dA_devfolder_bar_help" alt="Show help file" title="Show help file" class="dA_devfolder_bar_help" src="'+buch+'" />'+
  36. '</div></div>';
  37. GM_addStyle( "#dA_devfolder_box{display:none;color:#3E4D49;width:200px;background-color:#B2C4AE;border-radius:5px;border:2px ridge #719169;position:fixed;z-index:99;top:50%;left:50%;margin-left:-100px;}"+
  38. ".dA_devfolder_box_row,#dA_devfolder_box_header,#dA_devfolder_box_cols{position:relative;padding:5px;}"+
  39. "#dA_devfolder_box *, #dA_devfolder_bar *{vertical-align:middle;}"+
  40. "#dA_devfolder_box_scroll{overflow-x:hidden;overflow-y:auto;}"+
  41. "img.filteradd{vertical-align:middle;cursor:pointer;}"+
  42. "#dA_devfolder_box_submit,#dA_devfolder_bar_run,#dA_devfolder_bar_help,#dA_devfolder_bar_add,#dA_devfolder_box_col_sav,#dA_devfolder_box_col_del{height:20px;width:20px;margin-left:10px;cursor:pointer;}"+
  43. "#dA_devfolder_box_col_sav{position:absolute;right:20px;}"+
  44. "div.collentr{border-radius:5px;cursor:pointer;padding:0 5px}"+
  45. "#dA_devfolder_box_col_del{position:absolute;right:0px;}"+
  46. "#dA_devfolder_box_collist{display:block;width:180px;margin:auto;}"+
  47. "#dA_devfolder_box_cols{border-bottom:3px ridge green;}"+
  48. "img.dA_devfolder_box_rem{cursor:pointer;position:absolute;right:0px;width:20px;height:20px;}"+
  49. " .dA_devfolder_box_checkwrap {width: 35px;height: 15px;background: #333;margin: auto;border-radius: 50px;position: relative;display:inline-block;margin-right:5px;border:2px inset black;}"+
  50. " .dA_devfolder_box_row>label {cursor:pointer;word-wrap: break-word;display:inline-block;width:110px;}"+
  51. " .dA_devfolder_box_checkwrap label {display: block;width: 20px;height: 14px;border-radius: 50px;-webkit-transition: all .5s ease;-moz-transition: all .5s ease;-o-transition: all .5s ease;-ms-transition: all .5s ease;transition: all .5s ease;cursor: pointer;position: absolute;top: 0px;z-index: 1;left: 2px;background-color: #B2C4AE;}"+
  52. ".dA_devfolder_box_checkwrap input[type=checkbox]{display:none;}"+
  53. ".dA_devfolder_box_checkwrap input[type=checkbox]:checked + label {left: 14px;background-color: #26ca28;}"+
  54. ".dA_devfolder_barel {display: inline-block;margin:10px;}"+
  55. "#dA_devfolder_bar_add {width:20px;height:20px;}"+
  56. "#dA_devfolder_bar * {vertical-align:middle;}"+
  57. "#dA_devfolder_bar {background-color: #B2C4AE;border: 2px inset #719169;border-radius: 10px 10px 10px 10px;color: #3E4D49;margin: 10px;}");
  58.  
  59. var filterlist={
  60. liste: new Array(),//id chr(5) name chr(5) aktiv chr(6)
  61. getbyid: function(id){
  62. for(var i=0;i<this.liste.length;i++){
  63. if(this.liste[i][0]==id)return new Array(i,this.liste[i]);
  64. }
  65. return null;
  66. },
  67. nextid: function(val){
  68. if(val=="")return -1;
  69. var nid=0;
  70. this.liste=this.sortbyid();
  71. for(var i=0;i<this.liste.length;i++){
  72. if(this.liste[i][1]==val)return -1;
  73. if(parseInt(this.liste[i][0])==nid)nid++
  74. }
  75. return nid;
  76. },
  77. set: function(val,aktiv){
  78. var nid=this.nextid(val);
  79. if(nid==-1)return false;
  80. var node=this.getbyid(nid);
  81. if(!node){
  82. this.liste.push(new Array(nid.toString(),val,aktiv));
  83. }else{
  84. this.liste[node[0]]=new Array(nid.toString(),val,aktiv);
  85. }
  86. this.liste=this.sortbyid();
  87. this.speichern();
  88. return true;
  89. },
  90. speichern: function(){
  91. setTimeout(function(tthis){GM_setValue("filterlist",tthis.tostring());},0,this);
  92. },
  93. laden: function(){
  94. var text="";
  95. if(typeof GM_getValue("filterlist")!="undefined"){text=GM_getValue("filterlist");}else{return;}
  96. if(text=="")return;
  97. this.liste=new Array();
  98. var satz=text.split(String.fromCharCode(6));
  99. for(var i=0;i<satz.length;i++){
  100. var werte=satz[i].split(String.fromCharCode(5));
  101. this.liste.push(new Array(werte[0],werte[1],werte[2]));
  102. }
  103. },
  104. sortbyid: function(){
  105. return this.liste.sort(function(a,b){return (parseInt(a[0])-parseInt(b[0]))?(parseInt(a[0])-parseInt(b[0]))<0?-1:1:0;});
  106. },
  107. sortbyname: function(){
  108. return this.liste.sort(function(a,b){return (a[1].toLowerCase()!=b[1].toLowerCase())?(a[1].toLowerCase()<b[1].toLowerCase())?-1:1:0;});
  109. },
  110. remove: function(id){
  111. for(var i=0;i<this.liste.length;i++){
  112. if(this.liste[i][0]==id){this.liste.splice(i,1);this.speichern();return;}
  113. }
  114. },
  115. tostring: function(){
  116. var ruck="";
  117. for(var i=0;i<this.liste.length;i++){
  118. ruck+=String.fromCharCode(6)+this.liste[i][0]+String.fromCharCode(5)+this.liste[i][1]+String.fromCharCode(5)+this.liste[i][2];
  119. }
  120. return ruck.substr(1);
  121. }
  122. }
  123. var collist={
  124. liste: new Array(),//id chr(5) name chr(5) filterlistid chr(6) ... chr(7)
  125. getbyname: function(name){
  126. for(var i=0;i<this.liste.length;i++){
  127. if(this.liste[i][1]==name)return i;
  128. }
  129. return -1;
  130. },
  131. getbyid: function(id){
  132. for(var i=0;i<this.liste.length;i++){
  133. if(parseInt(this.liste[i][0])==id)return i;
  134. }
  135. return -1;
  136. },
  137. getnextid: function(){
  138. var zwiid=0;
  139. this.liste=this.sortbyid();
  140. for(var i=0;i<this.liste.length;i++){
  141. if(zwiid==parseInt(this.liste[i][0]))zwiid++;
  142. }
  143. return zwiid;
  144. },
  145. sortbyid: function(){
  146. return this.liste.sort(function(a,b){return (parseInt(a[0])-parseInt(b[0]))?(parseInt(a[0])-parseInt(b[0]))<0?-1:1:0;});
  147. },
  148. sortbyname: function(){
  149. return this.liste.sort(function(a,b){return (a[1].toLowerCase()!=b[1].toLowerCase())?(a[1].toLowerCase()<b[1].toLowerCase())?-1:1:0;});
  150. },
  151. addnew: function(name){
  152. // if(this.getbyname(name)!=-1)return -1;
  153. var nextid=this.getnextid().toString();
  154. this.liste.push(new Array(nextid,name,new Array()));
  155. this.speichern();
  156. return nextid;
  157. },
  158. set: function(id,name,filter){ //id readonly, name/filter neu setzbar
  159. var curindex=this.getbyid(id);
  160. var curentr=this.liste[curindex];
  161. // console.log(id+"."+name+"."+filter+"."+curindex+"."+curentr);
  162. if(curentr[1]==name)
  163. this.liste[curindex][2]=filter;
  164. else{
  165. this.liste[curindex][1]=name;
  166. this.liste[curindex][2]=filter;
  167. }
  168. this.speichern();
  169. // console.log(this.liste);
  170. return true
  171. },
  172. remove: function(id){
  173. var curindex=this.getbyid(id);
  174. this.liste.splice(curindex,1);
  175. this.speichern();
  176. },
  177. removefilter: function(id){
  178. var fid=-1;
  179. for(var i=0;i<this.liste.length;i++){
  180. fid=this.liste[i][2].indexOf(id);
  181. if(fid!=-1)this.liste[i][2].splice(fid,1);
  182. }
  183. this.speichern();
  184. },
  185. speichern: function(){
  186. setTimeout(function(tthis){
  187. GM_setValue("collist",tthis.tostring());
  188. // console.log(GM_getValue("collist"));
  189. },0,this);
  190. },
  191. tostring: function(){
  192. var ruck="";
  193. this.liste=this.sortbyid();
  194. for(var i=0;i<this.liste.length;i++){
  195. ruck+=String.fromCharCode(7)+this.liste[i][0]+String.fromCharCode(5)+this.liste[i][1]+String.fromCharCode(5);
  196. var zwiruck="";
  197. for(var j=0;j<this.liste[i][2].length;j++){
  198. zwiruck+=String.fromCharCode(6)+this.liste[i][2][j];
  199. }
  200. ruck+=zwiruck.substr(1);
  201. }
  202. return ruck.substr(1);
  203. },
  204. laden: function(){
  205. var text="";
  206. if(typeof GM_getValue("collist")!="undefined"&&GM_getValue("collist")!=""){text=GM_getValue("collist");}else{return;}
  207. this.liste=new Array();
  208. var satz=text.split(String.fromCharCode(7));
  209. for(var i=0;i<satz.length;i++){
  210. var werte=satz[i].split(String.fromCharCode(5));
  211. this.liste.push(new Array(werte[0],werte[1],werte[2].split(String.fromCharCode(6))));
  212. }
  213. }
  214. }
  215.  
  216. function ladeinsert(){
  217. $("#dA_devfolder_box_wrap .dA_devfolder_box_row").remove();
  218. var namlist=filterlist.sortbyname();
  219. // console.log(namlist);
  220. for(var i=0;i<namlist.length;i++){
  221. $("#dA_devfolder_box_wrap").append('<div class="dA_devfolder_box_row"><div class="dA_devfolder_box_checkwrap"><input type="checkbox" '+(namlist[i][2]=="1"?"checked='checked'":"")+' id="dA_devfolder_box_check'+namlist[i][0]+'"/><label class="dA_devfolder_box_check" for="dA_devfolder_box_check'+namlist[i][0]+'"></label></div><label class="dA_devfolder_box_check" for="dA_devfolder_box_check'+namlist[i][0]+'">'+namlist[i][1]+'</label><img class="dA_devfolder_box_rem" id="dA_devfolder_box_rem'+namlist[i][0]+'" alt="remove from list" title="remove from list" src="'+buchcl+'"/></div>');
  222. }
  223. adaptboxheight();
  224. }
  225. function ladecoll(){
  226. $("#dA_devfolder_bar div.collentr").remove();
  227. var namlist=collist.sortbyname();
  228. for(var i=0;i<namlist.length;i++){
  229. $("div.dA_devfolder_barel").last().after('<div class="collentr dA_devfolder_barel" collentr='+namlist[i][0]+'><span>'+namlist[i][1]+'</span><img alt="Change quicklist" title="Change quicklist" class="dA_devfolder_barel_change diskimg" src="'+disk+'" /></div>');
  230. }
  231. }
  232.  
  233. function refreshcoll(id){
  234. // console.log(id+"."+collist.getbyid(id));
  235. var aktfilts=collist.liste[collist.getbyid(id)][2];
  236. for(var i=0;i<filterlist.liste.length;i++){
  237. filterlist.liste[i][2]=(aktfilts.indexOf(filterlist.liste[i][0])==-1)?"0":"1";
  238. }
  239. }
  240.  
  241. function refreshfilterview(){
  242. if($(".mcbox .mcb-who").length==0){setTimeout(refreshfilterview,500);return;}
  243. $(".mcbox").hide();
  244. var gefilt=false;
  245. for(var i=0;i<filterlist.liste.length;i++){
  246. if(filterlist.liste[i][2]=="1"){showblocks(filterlist.liste[i][1]);gefilt=true;}
  247. $("#dA_devfolder_box_check"+filterlist.liste[i][0]).prop("checked",(filterlist.liste[i][2]=="1"));
  248. // console.log(filterlist.liste[i][2]);
  249. }
  250. if(!gefilt)$(".mcbox").show();
  251. }
  252. function showblocks(wert){
  253. $(".mcbox").filter(function(){
  254. return (wert=="+g")?$(this).find(".mcb-who a.username").hasClass("group"):(wert=="-g")?!$(this).find(".mcb-who a.username").hasClass("group"):$(this).find(".mcb-who").text().search(new RegExp(wert,"ig"))!=-1;
  255.  
  256. }).show();
  257. }
  258.  
  259. function adaptboxheight(){
  260. var zwiheight=document.getElementById("dA_devfolder_box_wrap").clientHeight;
  261. if(zwiheight>window.innerHeight*0.8)zwiheight=window.innerHeight*0.8;
  262. $("#dA_devfolder_box").css("margin-top",(-zwiheight/2)+"px");
  263. $("#dA_devfolder_box_scroll").css("height",zwiheight+"px");
  264. }
  265. function ladviel(){
  266. // var userid=document.body.innerHTML.match(/preload: {"(\d+),oq:/)[1];
  267. // GM_xmlhttpRequest({
  268. // method: 'GET',
  269. // url: "http://www.deviantart.com/global/difi/?c[]=\"MessageCenter\",\"get_views\",[\""+userid+"\",\"oq:devwatch:"+offset+":48:f:tg=deviations\"]&t=json",
  270. // onload: function(xhr) {
  271. // var data = eval("(" + xhr.responseText + ")");
  272. // // console.log(data);
  273. // console.log(data.DiFi.response.calls[0].response.content[0].result.hits);
  274. // }
  275. // });
  276. if($("#gmi-ResourceStream div.mcbox").length==0||$("#gmi-ResourceStream div.mcbox.placeholder").length>0){setTimeout(ladviel,500);
  277. // console.log($("#gmi-ResourceStream div.mcbox"));console.log($("#gmi-ResourceStream div.mcbox.placeholder"));
  278. return;}
  279. if($("a.r.page").length>0){
  280. offset++;
  281. window.location.hash="view=deviations&page="+offset;
  282. $("#gmi-ResourceStream div.mcbox").clone(true,true).appendTo(huilist);
  283. setTimeout(ladviel,500);
  284. }else{
  285. offset=1;
  286. $("#gmi-ResourceStream div.mcbox").clone(true,true).appendTo(huilist);
  287. window.location.hash="view=deviations&page=1";
  288. setTimeout(inserthui,1000);
  289. }
  290. }
  291.  
  292. // function clearfilter(){
  293. // for(var i=0;i<filterlist.liste.length;i++){
  294. // filterlist.liste[i][2]="0";
  295. // }
  296. // setTimeout(refreshfilterview,200);
  297. // $("#dA_devfolder_bar div.collentr").css("background-color","");
  298. // $("#dA_devfolder_box").hide();
  299. // $("#dA_devfolder_bar div.collentr").attr("aktiv","");
  300. // $("#dA_devfolder_box").attr("curid","");
  301. // }
  302.  
  303.  
  304. function inserthui(){
  305. if($("#gmi-ResourceStream div.mcbox").length==0||$("#gmi-ResourceStream div.mcbox.placeholder").length>0){setTimeout(inserthui,500);}
  306. $("#gmi-ResourceStream div.mcbox").remove();
  307. huilist.find("div.mcbox").appendTo("#gmi-ResourceStream");
  308. $("div.alink.nav2").hide();
  309. $("img.dA_devfolder_bar_run").attr("src",glass);
  310. alert("Loading complete!");
  311. }
  312.  
  313. function inserthandler(){
  314. $("img.starimg").unbind("hover").hover(function(){this.src=hstar;},function(){this.src=star;});
  315. $("img.diskimg").unbind("hover").hover(function(){this.src=hdisk;},function(){this.src=disk;});
  316. $("img.glassimg").unbind("hover").hover(function(){this.src=hglass;},function(){this.src=glass;});
  317. $("#dA_devfolder_box_col_del").unbind("hover").hover(function(){this.src=hdelim;},function(){this.src=delim;});
  318. $("img.dA_devfolder_barel_change").unbind("click").click(function(e){
  319. $("#dA_devfolder_bar div.collentr").css("background-color","");
  320. $("#dA_devfolder_box").show();
  321. $("#dA_devfolder_box").attr("curid",parseInt($(this.parentNode).attr("collentr")));
  322. $("#dA_devfolder_box_collist").val($(this).siblings("span").text());
  323. refreshcoll(parseInt($(this.parentNode).attr("collentr")));
  324. setTimeout(refreshfilterview,200);
  325. adaptboxheight();
  326. $(this.parentNode).css("background-color","#696");
  327. });
  328. $("img.dA_devfolder_bar_help").unbind("click").click(function(){
  329. if($("#dA_devfolder_bar_helpbox").length==0)
  330. $(document.body).append("<div id='dA_devfolder_bar_helpbox' style='height: 560px; width: 740px; left: 50%; z-index: 999; position: fixed; top: 50%;margin-top:-280px;margin-left:-370px'><a style='position:absolute;top:0px;right:0px;color:red;' href='#' onclick='$(this.parentNode).remove();'>X</a><object type='image/svg+xml' data='http://phi.pf-control.de/userscripts/Zeichnung.svg' style='width:100%;height:100%;margin-top:20px;'></object></div>");
  331. });
  332. $("img.dA_devfolder_bar_run").unbind("click").click(function(){
  333. this.src=hglass;
  334. if(confirm("This function will load all your deviation-entries (stacks or pics depending on your current settings) into one page! Therefore it will now browse all your pages. Nothing will be changed or removed, but crawling may take a while. To abort, refresh the page or navigate somewhere else.\n\nDo you want to continue?")){
  335. // window.location.hash="view=deviations&page=2";
  336. ladviel();}
  337. });
  338. $("img.dA_devfolder_bar_add").unbind("click").click(function(){
  339. $("#dA_devfolder_box").show();
  340. var nid=collist.addnew("default"+$("#dA_devfolder_bar div.collentr").length);
  341. $("#dA_devfolder_box").attr("curid",nid);
  342. $("#dA_devfolder_box_collist").val("default"+$("#dA_devfolder_bar div.collentr").length);
  343. ladecoll();
  344. inserthandler();
  345. $("#dA_devfolder_bar div.collentr[collentr="+nid+"]").click();
  346. document.getElementById("dA_devfolder_box_scroll").scrollTop = 0;
  347. adaptboxheight();
  348. });
  349. $("#dA_devfolder_box_col_sav").unbind("click").click(function(){
  350. var newfilterlist=new Array();
  351. for(var i=0;i<filterlist.liste.length;i++){
  352. if(filterlist.liste[i][2]=="1")newfilterlist.push(filterlist.liste[i][0]);
  353. }
  354. collist.set($("#dA_devfolder_box").attr("curid"),$("#dA_devfolder_box_collist").val(),newfilterlist);
  355. ladecoll();
  356. inserthandler();
  357. $("#dA_devfolder_box").hide();
  358. $(".dA_devfolder_barel[collentr="+$("#dA_devfolder_box").attr("curid")+"]").css("background-color","#696");
  359. });
  360. $("#dA_devfolder_box_col_del").unbind("click").click(function(){
  361. collist.remove($("#dA_devfolder_box").attr("curid"));
  362. // clearfilter();
  363. for(var i=0;i<filterlist.liste.length;i++){
  364. filterlist.liste[i][2]="0";
  365. }
  366. ladecoll();
  367. inserthandler();
  368. $("#dA_devfolder_box").hide();
  369. setTimeout(refreshfilterview,200);
  370. });
  371. $("#dA_devfolder_bar div.collentr span").unbind("click").click(function(){
  372. $("#dA_devfolder_bar div.collentr").css("background-color","");
  373. $("#dA_devfolder_box").hide();
  374. if($(this.parentNode).attr("aktiv")=="true"){
  375. // clearfilter();
  376. for(var i=0;i<filterlist.liste.length;i++){
  377. filterlist.liste[i][2]="0";
  378. }
  379. $(this.parentNode).attr("aktiv","");
  380. setTimeout(function(){GM_setValue("aktcollist","");},0);
  381. }else{
  382. var curentr=parseInt($(this.parentNode).attr("collentr"));
  383. $(this.parentNode).css("background-color","#696");
  384. refreshcoll(curentr);
  385. $("#dA_devfolder_bar div.collentr").attr("aktiv","");
  386. $(this.parentNode).attr("aktiv","true");
  387. setTimeout(function(){GM_setValue("aktcollist",curentr);},0);
  388. }
  389. setTimeout(refreshfilterview,200);
  390. })
  391. $("#dA_devfolder_box_submit").click(function(){
  392. var wert=$("#dA_devfolder_box_filter").val();
  393. var id=filterlist.nextid(wert);
  394. if(!filterlist.set(wert,"1"))return;
  395. ladeinsert();
  396. $("#dA_devfolder_box_filter").val("");
  397. inserthandler();
  398. if(filterlist.set(wert,1)==null)console.log("Feher beim festsetzen von "+wert);
  399. setTimeout(refreshfilterview,200);
  400. });
  401. $("div.dA_devfolder_box_checkwrap>label.dA_devfolder_box_check").unbind("mouseup").mouseup(function(){
  402. var betrch=$(this).siblings("input");
  403. var nid=parseInt(betrch.attr("id").substr("dA_devfolder_box_check".length));
  404. filterlist.liste[filterlist.getbyid(nid)[0]][2]=(betrch.attr("checked")=="checked"?"0":"1");
  405. filterlist.speichern();
  406. setTimeout(refreshfilterview,200);
  407. });
  408. $("div.dA_devfolder_box_row>label.dA_devfolder_box_check").unbind("click").click(function(){
  409. var ich=$(this);
  410. for(var i=0;i<filterlist.liste.length;i++){
  411. filterlist.liste[i][2]="0";
  412. }
  413. var betrch=$(this).parent().find("input");
  414. var nid=parseInt(betrch.attr("id").substr("dA_devfolder_box_check".length));
  415. filterlist.liste[filterlist.getbyid(nid)[0]][2]="1";
  416. filterlist.speichern();
  417. setTimeout(refreshfilterview,200);
  418. });
  419. $("img.dA_devfolder_box_rem").unbind("click").click(function(){
  420. var betrch=$(this).parent().find("input");
  421. var nid=parseInt(betrch.attr("id").substr("dA_devfolder_box_check".length));
  422. filterlist.remove(nid);
  423. $(this).parent().remove();
  424. setTimeout(refreshfilterview,200);
  425. adaptboxheight();
  426. });
  427. }
  428. var huilist=$("<div style='display:none;'></div>").appendTo("div.messages-right");
  429. var offset=1;
  430. $("#output").append($(block));
  431. filterlist.laden();
  432. collist.laden();
  433. ladeinsert();
  434. inserthandler();
  435.  
  436. setInterval(function(){
  437. if(window.location.href.search(/messages\/.*?#view=deviations/i)==-1)return;
  438. var entrs2=$("div.messages-right h2.mczone-title:contains('Deviation'):not(h2[dA_devfolder])").attr("dA_devfolder","").after($(bar));
  439. var entrs1=$("span.mcb-who:not(span[dA_devfolder])");
  440. entrs1.attr("dA_devfolder","");
  441. // entrs1.parents("span.mcb-line").find("a.u").after("<img class='starimg filteradd' src='"+star+"'/>");
  442. entrs1.append("<img class='starimg filteradd' src='"+star+"'/>");
  443. if(entrs1.length>0){
  444. $("img.filteradd.starimg").unbind("click").click(function(){
  445. var wert=$(this.parentNode).text().replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
  446. var id=filterlist.nextid(wert);
  447. if(!filterlist.set(wert,"0"))return;
  448. ladeinsert();
  449. $("#dA_devfolder_box_filter").val("");
  450. inserthandler();
  451. if(filterlist.set(wert,1)==null)console.log("Feher beim festsetzen von "+wert);
  452. setTimeout(refreshfilterview,200);
  453. });
  454. inserthandler();
  455. }
  456. if(entrs2.length>0){
  457. ladecoll();
  458. inserthandler();
  459. if(typeof GM_getValue("aktcollist")!=="undefined" && GM_getValue("aktcollist")!==""){
  460. // setTimeout(function(){
  461. $("div.collentr[collentr='"+GM_getValue("aktcollist")+"'] span").click();
  462. // },1000);
  463. };
  464. }
  465. },1000);
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.