# cab_social v0.2 # Social bookmarking plugin for Textpattern. # Dejan Čabrilo # http://www.anegdote.com/ # ...................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ...................................................................... YTo5OntzOjQ6Im5hbWUiO3M6MTA6ImNhYl9zb2NpYWwiO3M6NzoidmVyc2lvbiI7czozOiIw LjIiO3M6NjoiYXV0aG9yIjtzOjE0OiJEZWphbiDEjGFicmlsbyI7czoxMDoiYXV0aG9yX3Vy aSI7czoyNDoiaHR0cDovL3d3dy5hbmVnZG90ZS5jb20vIjtzOjExOiJkZXNjcmlwdGlvbiI7 czo0MjoiU29jaWFsIGJvb2ttYXJraW5nIHBsdWdpbiBmb3IgVGV4dHBhdHRlcm4uIjtzOjQ6 InR5cGUiO2k6MDtzOjQ6ImhlbHAiO3M6MTI5OToiCmgxLiBjYWJfc29jaWFsIC0tIFNvY2lh bCBib29rbWFya2luZyBwbHVnaW4gZm9yIHRleHRwYXR0ZXJuCgpoMi4gU3VwcG9ydGVkIHNp dGVzCgpDdXJyZW50bHkgc3VwcG9ydGVkIGFyZTogZGVsLmljaW8udXMsIGRpZ2cuY29tLCBz dHVtYmxldXBvbi5jb20sIGZhY2Vib29rLmNvbSwgcmVkZGl0LmNvbQpNb3JlIHdpbGwgY29t ZSBpbiB0aGUgbmV4dCB2ZXJzaW9uIGFuZCBwZXIgcmVxdWVzdCAoeW91IGNhbiBmaW5kIG15 IGVtYWlsIGF0IGh0dHA6Ly93d3cuYW5lZ2RvdGUuY29tKS4KCmgyLiBJbnN0YWxsYXRpb24K CiogSW5zdGFsbCBwbHVnaW4gcGVyIHVzdWFsLgoqIEFjdGl2YXRlIHBsdWdpbiBwZXIgdXN1 YWwuCiogVXBsb2FkIGljb25zIChmcm9tIGljb25zLnppcCkgdG8geW91ciB3ZWJzaXRlIChl LmcuIGh0dHA6Ly91cmwvaW1hZ2VzL3NvY2lhbCkKCmgyLiBVc2FnZQoKKiBJbmNsdWRlIDx0 eHA6Y2FiX3NvY2lhbCAvPiBpbiB0aGUgYXJ0aWNsZSBmb3JtLgoqIFVzZSBhbnkgb2YgdGhl IGZvbGxvd2luZyBhdHRyaWJ1dGVzOgoqKiAqc2l0ZXMqIChkZWZhdWx0OiBkZWxpY2lvdXMs ZGlmZixyZWRkaXQsZmFjZWJvb2ssc3R1bWJsZXVwb24pLgoqKiogQSBsaXN0IG9mIHNvY2lh bCBib29rbWFya2luZyBzaXRlcyB5b3Ugd291bGQgbGlrZSB0byB1c2UsIHNlcGFyYXRlZCBi eSBjb21tYXMuIE5PIFNQQUNFUy4KKiogKnRhZyogKGRlZmF1bHQ6IHApCioqKiB0YWcgdGhh dCB3aWxsIGVuY2xvc2UgZWFjaCBzb2NpYWwgYm9va21hcmtpbmcgbGluayAoZS5nLiBwLCBs aSwgZGl2LCBzcGFuLCBldGMuKQoqKiAqY2xhc3MqIChkZWZhdWx0OiBzb2NpYWwpCioqKiBj bGFzcyBmb3IgdGhlIHRhZyBhYm92ZQoqKiAqaW1nZGlyKiAoZGlzYWJsZWQgYnkgZGVmYXVs dCkKKioqIEFuIFVSTCB0byBkaXJlY3Rvcnkgd2hlcmUgeW91IHN0b3JlZCBpY29ucyAoZS5n LiBodHRwOi8vdXJsL2ltYWdlcy9zb2NpYWwgb3IgL2ltYWdlcy9zb2NpYWwpCioqICppbWdj bGFzcyogKGRlZmF1bHQ6IHNvY2lhbGltYWdlKQoqKiogY2xhc3MgZm9yIHRoZSBpY29uIGlt YWdlCioqICpiYWNrZ3JvdW5kKiAoZGVmYXVsdDogMSkKKioqIFdoZXRoZXIgdG8gdXNlIHRo ZSBpY29uIGltYWdlIGFzIGNzcyBiYWNrZ3JvdW5kIChyZWNvbW1lbmRlZCkgb3IgYXMgSFRN TCBpbWcuCgpoMi4gSWNvbnMKCllvdSBjYW4gZG93bmxvYWQgdGhlIGljb25zIGZyb206ICJo dHRwOi8vd3d3LmFuZWdkb3RlLmNvbS9mYWpsb3ZpL3NvY2lhbC56aXAiOmh0dHA6Ly93d3cu YW5lZ2RvdGUuY29tL2Zhamxvdmkvc29jaWFsLnppcAoKIjtzOjQ6ImNvZGUiO3M6MTg5OToi CmZ1bmN0aW9uIGNhYl9zb2NpYWwoJGF0dHMpIHsKCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJ J3NpdGVzJyAgPT4gJ2RlbGljaW91cyxkaWdnLHJlZGRpdCxmYWNlYm9vayxzdHVtYmxldXBv bicsCgkJJ3RhZycgPT4gJ3AnLAoJCSdjbGFzcycgPT4gJ3NvY2lhbCcsCgkJJ2ltZ2NsYXNz JyA9PiAnc29jaWFsaW1hZ2UnLAoJCSdpbWdkaXInID0+ICcnLAoJCSdiYWNrZ3JvdW5kJyA9 PiAxCgkpLCRhdHRzKSk7CgoJIyBXZSBuZWVkICR0aXRsZSBhbmQgJHBlcm1saW5rIHRvIGZl ZWQgdG8gc29jaWFsIGJvb2ttYXJraW5nIHNpdGVzLgoJZ2xvYmFsICR0aGlzYXJ0aWNsZTsK CSR0aXRsZSA9IHVybGVuY29kZSgkdGhpc2FydGljbGVbJ3RpdGxlJ10pOwoJJHBlcm1saW5r ID0gdXJsZW5jb2RlKHBlcm1saW5rdXJsKCR0aGlzYXJ0aWNsZSkpOwoKCSMgYWhwID0gYSBo cmVmIHByZWZpeCwgYWhzID0gYSBocmVmIHN1ZmZpeCwgYWhjID0gYSBocmVmIGNsb3NpbmcK CSRvdXRwdXQgPSAiIjsKCSRhaHAgPSAnPGEgaHJlZj0iJzsKCSRhaHMgPSAnIj4nOwoJJGFo YyA9ICc8L2E+JzsKCgoJJHByZWYgPSAnPCcgLiAkdGFnIC4gJyBjbGFzcz0iJyAuICRjbGFz cyAuICciPic7Cgkkc3VmID0gJzwvJyAuICR0YWcgLiAnPic7CgoJIyBMb29wIHRocm91Z2gg dGhlIHByb3ZpZGVkIHNvY2lhbCBib29rbWFya2luZyBzaXRlcyBhcnJheQoJJHMgPSBzcGxp dCgnLCcsICRzaXRlcyk7Cglmb3JlYWNoICgkcyBhcyAkeCkgewoJCSR1cmwgPSAkaW1nID0g Jyc7CgkJaWYgKCFzdHJjYXNlY21wKCR4LCAiZGVsaWNpb3VzIikpIHsKCQkJJHVybCA9ICJo dHRwOi8vZGVsLmljaW8udXMvcG9zdD91cmw9JHBlcm1saW5rJnRpdGxlPSR0aXRsZSI7CgkJ CSRuYW1lID0gIkRlbGljaW91cyI7CgkJfQoKCQllbHNlaWYgKCFzdHJjYXNlY21wKCR4LCAi ZGlnZyIpKSB7CgkJCSR1cmwgPSAiaHR0cDovL2RpZ2cuY29tL3N1Ym1pdD91cmw9JHBlcm1s aW5rJnRpdGxlPSR0aXRsZSI7CgkJCSRuYW1lID0gIkRpZ2ciOwoJCX0KCgkJZWxzZWlmICgh c3RyY2FzZWNtcCgkeCwgInJlZGRpdCIpKSB7CgkJCSR1cmwgPSAiaHR0cDovL3JlZGRpdC5j b20vc3VibWl0P3VybD0kcGVybWxpbmsmdGl0bGU9JHRpdGxlIjsKCQkJJG5hbWUgPSAiUmVk ZGl0IjsKCQl9CgoJCWVsc2VpZiAoIXN0cmNhc2VjbXAoJHgsICJmYWNlYm9vayIpKSB7CgkJ CSR1cmwgPSAiaHR0cDovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyLnBocD91PSRwZXJtbGlu ayI7CgkJCSRuYW1lID0gIkZhY2Vib29rIjsKCQl9CgoJCWVsc2VpZiAoIXN0cmNhc2VjbXAo JHgsICJzdHVtYmxldXBvbiIpKSB7CgkJCSR1cmwgPSAiaHR0cDovL3d3dy5zdHVtYmxldXBv bi5jb20vc3VibWl0P3VybD0kcGVybWxpbmsmdGl0bGU9JHRpdGxlIjsKCQkJJG5hbWUgPSAi U3R1bWJsZXVwb24iOwoJCX0KCQkkaW1nbmFtZSA9IHN0cnRvbG93ZXIoJG5hbWUpOwoKCQlp ZiAoJGJhY2tncm91bmQgJiYgJGltZ2RpcikKCQkJJHByZWYgPSAnPCcgLiAkdGFnIC4gIiBz dHlsZT1cImJhY2tncm91bmQ6IHVybCgnJGltZ2Rpci8kaW1nbmFtZS5wbmcnKSBuby1yZXBl YXQ7IHBhZGRpbmctbGVmdDogMjBweDsgbGluZS1oZWlnaHQ6IDIwcHg7IGRpc3BsYXk6dGFi bGUtY2VsbDtcIiAiIC4gJyBjbGFzcz0iJyAuICRjbGFzcyAuICciPic7CgkJZWxzZWlmICgh JGJhY2tncm91bmQgJiYgJGltZ2RpcikKCQkJJGltZyA9ICI8aW1nIHNyYz1cIiRpbWdkaXIv JGltZ25hbWUucG5nXCIgYWx0PVwiJG5hbWVcIiBjbGFzcz1cIiRpbWdjbGFzc1wiLz4gIjsK CgkJaWYgKCR1cmwpIHsgJG91dHB1dCAuPSAkcHJlZiAuICRhaHAgLiAkdXJsIC4gJGFocyAu ICRpbWcgLiAgJG5hbWUgLiAkYWhjIC4gJHN1ZiAuICJcbiI7IH0KCX0KCglyZXR1cm4gJG91 dHB1dDsKfQoKIjtzOjM6Im1kNSI7czozMjoiYTkxOWJjNDliYWJlNGY0NWY4NmJmODUzZjZj YTBlYzkiO30=