# rvm_counter v0.2 # Auto-incrementing counter(s) # # License: GNU GPLv2 or later # # Ruud van Melick # http://vanmelick.com/ # ...................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ...................................................................... YTo5OntzOjc6InZlcnNpb24iO3M6MzoiMC4yIjtzOjY6ImF1dGhvciI7czoxNToiUnV1ZCB2 YW4gTWVsaWNrIjtzOjEwOiJhdXRob3JfdXJpIjtzOjIxOiJodHRwOi8vdmFubWVsaWNrLmNv bS8iO3M6MTE6ImRlc2NyaXB0aW9uIjtzOjI4OiJBdXRvLWluY3JlbWVudGluZyBjb3VudGVy KHMpIjtzOjQ6InR5cGUiO2k6MDtzOjQ6Im5hbWUiO3M6MTE6InJ2bV9jb3VudGVyIjtzOjQ6 ImhlbHAiO3M6Mjc3NDoiIDxzdHlsZT4KICAgbGkgY29kZSB7Zm9udC13ZWlnaHQ6IGJvbGQ7 fQogICBwcmUge3BhZGRpbmc6IDAuNWVtIDFlbTsgYmFja2dyb3VuZDogI2VlZTsgYm9yZGVy OiAxcHggZGFzaGVkICNjY2M7fQogICBoMSwgaDIsIGgzLCBoMyBjb2RlIHtmb250LWZhbWls eTogc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IGJvbGQ7fQogICBoMSwgaDIsIGgzIHttYXJn aW4tbGVmdDogLTFlbTt9CiAgIGgyLCBoMyB7bWFyZ2luLXRvcDogMmVtO30KICAgaDEge2Zv bnQtc2l6ZTogM2VtO30KICAgaDIge2ZvbnQtc2l6ZTogMmVtO30KICAgaDMge2ZvbnQtc2l6 ZTogMS41ZW07fQogICBsaSBhIGNvZGUge2ZvbnQtd2VpZ2h0OiBub3JtYWw7fQogICAucmVx dWlyZWQsIC53YXJuaW5nIHtjb2xvcjpyZWQ7fQogPC9zdHlsZT4KCgk8aDE+cnZtX2NvdW50 ZXI8L2gxPgoKCTxwPlRoaXMgcGx1Z2luIHByb3ZpZGVzIHRoZSBmb2xsb3dpbmcgdGFnKHMp OgoJPHVsPgoJCTxsaT48YSBocmVmPSIjcnZtX2NvdW50ZXIiPiA8Y29kZT4mbHQ7dHhwOnJ2 bV9jb3VudGVyIC8mZ3Q7PC9jb2RlPiA8L2E+PC9saT4KCTwvdWw+PC9wPgoKCTxoMyBpZD0i cnZtX2NvdW50ZXIiPjxjb2RlPiZsdDt0eHA6cnZtX2NvdW50ZXIgLyZndDs8L2NvZGU+PC9o Mz4KCgk8cD5SZXR1cm5zIGEgbnVtYmVyIHRoYXQgaXMgaW5jcmVtZW50ZWQgZWFjaCB0aW1l IHRoaXMgdGFnIGlzIGNhbGxlZC4gQ291bnRlciB2YWx1ZXMgYXJlIHN0b3JlZCBpbiB0aGUg dHhwX2Rpc2N1c3Nfbm9uY2UgdGFibGUgd2l0aG91dCBjb25mbGljdGluZyB3aXRoIGNvbW1l bnQgbm9uY2VzLjwvcD4KCgk8aDQ+QXR0cmlidXRlczwvaDQ+CgoJPHVsPgoJCTxsaT48Y29k ZT5uYW1lPSZxdW90O3RleHQmcXVvdDs8L2NvZGU+IDxiciAvPgpFeHBsaWNpdCBuYW1lICht YXggMjAgY2hhcnMpIGZvciB0aGlzIGNvdW50ZXIgdG8gZGlmZmVyZW50aWF0ZSBpdCBmcm9t IGFub3RoZXIgY291bnRlci4gRGVmYXVsdCBpcyBhbiBlbXB0eSBzdHJpbmcuPC9saT4KCQk8 bGk+PGNvZGU+b2Zmc2V0PSZxdW90O2ludGVnZXImcXVvdDs8L2NvZGU+IDxiciAvPgpQb3Np dGl2ZSBvciBuZWdhdGl2ZSBvZmZzZXQgZm9yIHRoZSBjb3VudGVyLiBUaGlzIGlzIGFkZGVk IHRvIHRoZSBhY3R1YWwgY291bnRlciB2YWx1ZSBiZWZvcmUgcmV0dXJuaW5nIGl0LiBEZWZh dWx0IGlzIDAuPC9saT4KCQk8bGk+PGNvZGU+cmVzZXQ9JnF1b3Q7aW50ZWdlciZxdW90Ozwv Y29kZT4gPGJyIC8+ClJlc2V0IHRoZSBjb3VudGVyIHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUg dXBvbiB0aGUgbmV4dCBjYWxsIG9mIHRoaXMgY291bnRlciB0YWcuIEluIG1vc3QgY2FzZXMg dXNpbmcgdGhlICYjODIxNjtvZmZzZXQmIzgyMTc7IGF0dHJpYnV0ZSBpcyBlYXNpZXIuPC9s aT4KCQk8bGk+PGNvZGU+c3RlcD0mcXVvdDtpbnRlZ2VyJnF1b3Q7PC9jb2RlPiA8YnIgLz4K UG9zaXRpdmUgb3IgbmVnYXRpdmUgY291bnRlciBzdGVwIHNpemUuIERlZmF1bHQgaXMgc2V0 IHRvICYjODIxNjsxJiM4MjE3OywgbWVhbmluZyB0aGUgY291bnRlciBpcyBpbmNyZWFzZWQg YnkgMSBlYWNoIHRpbWUgaXQgaXMgY2FsbGVkLjwvbGk+CgkJPGxpPjxjb2RlPndpZHRoPSZx dW90O2ludGVnZXImcXVvdDs8L2NvZGU+IDxiciAvPgpNaW5pbXVtIHdpZHRoIG9mIHRoZSBj b3VudGVyIHdoZW4gZGlzcGxheWVkLiBTbWFsbCBjb3VudGVyIHZhbHVlcyBhcmUgemVyby1w YWRkZWQgKGxlZnQgc2lkZSkgdG8gcmVhY2ggdGhlIHNwZWNpZmllZCBtaW5pbXVtIHdpZHRo LiBEZWZhdWx0IGlzIHVuc2V0LjwvbGk+Cgk8L3VsPgoKCTxoND5FeGFtcGxlczwvaDQ+CgoJ PHA+RGVmYXVsdCwgbmFtZWxlc3MgY291bnRlcjo8L3A+Cgo8cHJlPjxjb2RlPiZsdDt0eHA6 cnZtX2NvdW50ZXIgLyZndDsKPC9jb2RlPjwvcHJlPgoKCTxwPkEgY291bnRlciBuYW1lZCAm IzgyMTY7ZXhhbXBsZSYjODIxNzs6PC9wPgoKPHByZT48Y29kZT4mbHQ7dHhwOnJ2bV9jb3Vu dGVyIG5hbWU9JnF1b3Q7ZXhhbXBsZSZxdW90OyAvJmd0Owo8L2NvZGU+PC9wcmU+CgoJPHA+ UmVzZXQgdGhlICYjODIxNjtleGFtcGxlJiM4MjE3OyBjb3VudGVyIHRvIDEwLiBOb3RlIHRo YXQgeW91IGhhdmUgdG8gcmVtb3ZlIHRoZSByZXNldCBhdHRyaWJ1dGUgYWZ0ZXIgdGhlIGNv dW50ZXIgaXMgcmVzZXQ6PC9wPgoKPHByZT48Y29kZT4mbHQ7dHhwOnJ2bV9jb3VudGVyIG5h bWU9JnF1b3Q7ZXhhbXBsZSZxdW90OyByZXNldD0mcXVvdDsxMCZxdW90OyAvJmd0Owo8L2Nv ZGU+PC9wcmU+CgoJPHA+VXNlIGFuIG9mZnNldCBvZiAtMTAuIFN1cHBvc2UgdGhlIGNvdW50 ZXIgaXMgY3VycmVudGx5IGF0IDI1LCB0aGVuIGl0IHdvdWxkIGRpc3BsYXkgMTU6PC9wPgoK PHByZT48Y29kZT4mbHQ7dHhwOnJ2bV9jb3VudGVyIG9mZnNldD0mcXVvdDstMTAmcXVvdDsg LyZndDsKPC9jb2RlPjwvcHJlPgoKCTxwPkFkZCBsZWZ0IHNpZGUgemVyby1wYWRkaW5nIHRv IG1ha2UgdGhlIGNvdW50ZXIgdmFsdWUgNSBkaWdpdHMgd2lkZS4gSWYgdGhlIGNvdW50ZXIg aXMgc2V0IHRvIDI1LCB0aGlzIHdvdWxkIGRpc3BsYXkgMDAwMjU6PC9wPgoKPHByZT48Y29k ZT4mbHQ7dHhwOnJ2bV9jb3VudGVyIHdpZHRoPSZxdW90OzUmcXVvdDsgLyZndDsKPC9jb2Rl PjwvcHJlPgoKCTxwPkRpc3BsYXkgdGhlIGN1cnJlbnQgY291bnRlciB2YWx1ZSwgd2l0aG91 dCBjaGFuZ2luZyBpdDo8L3A+Cgo8cHJlPjxjb2RlPiZsdDt0eHA6cnZtX2NvdW50ZXIgc3Rl cD0mcXVvdDswJnF1b3Q7IC8mZ3Q7CjwvY29kZT48L3ByZT4iO3M6NDoiY29kZSI7czo4NzY6 IgppZiAoY2xhc3NfZXhpc3RzKCdcVGV4dHBhdHRlcm5cVGFnXFJlZ2lzdHJ5JykpIHsKICBU eHA6OmdldCgnXFRleHRwYXR0ZXJuXFRhZ1xSZWdpc3RyeScpLT5yZWdpc3RlcigncnZtX2Nv dW50ZXInKTsKfQoKCmZ1bmN0aW9uIHJ2bV9jb3VudGVyKCRhdHRzKQp7CiAgZXh0cmFjdChs QXR0cyhhcnJheSgKICAgICduYW1lJyAgID0+ICcnLAogICAgJ29mZnNldCcgPT4gJzAnLAog ICAgJ3Jlc2V0JyAgPT4gJycsCiAgICAnc3RlcCcgICA9PiAnMScsCiAgICAnd2lkdGgnICA9 PiAnMScKICApLCAkYXR0cykpOwoKICAkbmFtZSAgPSBkb1NsYXNoKHN1YnN0cigncnZtX2Nv dW50ZXJfJy4kbmFtZSwgMCwgMzIpKTsKICAkY291bnQgPSBzYWZlX2ZpZWxkKCdzZWNyZXQn LCAndHhwX2Rpc2N1c3Nfbm9uY2UnLCAibm9uY2UgPSAnIi4kbmFtZS4iJyIpOwoKICBpZiAo JGNvdW50ID09PSBGQUxTRSkKICB7CiAgICAkY291bnQgPSAoJHJlc2V0ICE9PSAnJykgPyBp bnR2YWwoJHJlc2V0KSA6IGludHZhbCgkc3RlcCk7CiAgICBzYWZlX2luc2VydCgndHhwX2Rp c2N1c3Nfbm9uY2UnLCAibm9uY2UgPSAnIi4kbmFtZS4iJywgaXNzdWVfdGltZSA9ICc5OTk5 LTEyLTMxJywgc2VjcmV0ID0gJyIuJGNvdW50LiInIik7CiAgfQogIGVsc2UKICB7CiAgICAk Y291bnQgPSAoJHJlc2V0ICE9PSAnJykgPyBpbnR2YWwoJHJlc2V0KSA6ICRjb3VudCArIGlu dHZhbCgkc3RlcCk7CiAgICBzYWZlX3VwZGF0ZSgndHhwX2Rpc2N1c3Nfbm9uY2UnLCAic2Vj cmV0ID0gJyIuJGNvdW50LiInIiwgIm5vbmNlID0gJyIuJG5hbWUuIiciKTsKICB9CgogIHJl dHVybiBzcHJpbnRmKCclMCcuaW50dmFsKCR3aWR0aCkuJ2QnLCAkY291bnQgKyBpbnR2YWwo JG9mZnNldCkpOwp9CiI7czozOiJtZDUiO3M6MzI6Ijk4NDA4MGZjYTA4ODdkNTIxMjVjZTI0 YTkwZGFkOWU1Ijt9