# 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 ImhlbHAiO3M6Mjc0MDoiIDxzdHlsZT4KICAgbGkgY29kZSB7Zm9udC13ZWlnaHQ6IGJvbGQ7 fQogICBwcmUge3BhZGRpbmc6IDAuNWVtIDFlbTsgYmFja2dyb3VuZDogI2VlZTsgYm9yZGVy OiAxcHggZGFzaGVkICNjY2M7fQogICBoMSwgaDIsIGgzLCBoMyBjb2RlIHtmb250LWZhbWls eTogc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IGJvbGQ7fQogICBoMSwgaDIsIGgzIHttYXJn aW4tbGVmdDogLTFlbTt9CiAgIGgyLCBoMyB7bWFyZ2luLXRvcDogMmVtO30KICAgaDEge2Zv bnQtc2l6ZTogM2VtO30KICAgaDIge2ZvbnQtc2l6ZTogMmVtO30KICAgaDMge2ZvbnQtc2l6 ZTogMS41ZW07fQogICBsaSBhIGNvZGUge2ZvbnQtd2VpZ2h0OiBub3JtYWw7fQogICAucmVx dWlyZWQsIC53YXJuaW5nIHtjb2xvcjpyZWQ7fQogPC9zdHlsZT4KCjxoMT5ydm1fY291bnRl cjwvaDE+CgpUaGlzIHBsdWdpbiBwcm92aWRlcyB0aGUgZm9sbG93aW5nIHRhZyhzKToKPHVs PgoJPGxpPjxhIGhyZWY9IiNydm1fY291bnRlciI+IDxjb2RlPiZsdDt0eHA6cnZtX2NvdW50 ZXIgLyZndDs8L2NvZGU+IDwvYT48L2xpPgo8L3VsPgoKCjxoMyBpZD0icnZtX2NvdW50ZXIi Pjxjb2RlPiZsdDt0eHA6cnZtX2NvdW50ZXIgLyZndDs8L2NvZGU+PC9oMz4KCjxwPlJldHVy bnMgYSBudW1iZXIgdGhhdCBpcyBpbmNyZW1lbnRlZCBlYWNoIHRpbWUgdGhpcyB0YWcgaXMg Y2FsbGVkLiBDb3VudGVyIHZhbHVlcyBhcmUgc3RvcmVkIGluIHRoZSB0eHBfZGlzY3Vzc19u b25jZSB0YWJsZSB3aXRob3V0IGNvbmZsaWN0aW5nIHdpdGggY29tbWVudCBub25jZXMuPC9w PgoKPGg0PkF0dHJpYnV0ZXM8L2g0PgoKPHVsPgoJPGxpPjxjb2RlPm5hbWU9JnF1b3Q7dGV4 dCZxdW90OzwvY29kZT4gPGJyIC8+CkV4cGxpY2l0IG5hbWUgKG1heCAyMCBjaGFycykgZm9y IHRoaXMgY291bnRlciB0byBkaWZmZXJlbnRpYXRlIGl0IGZyb20gYW5vdGhlciBjb3VudGVy LiBEZWZhdWx0IGlzIGFuIGVtcHR5IHN0cmluZy48L2xpPgoJPGxpPjxjb2RlPm9mZnNldD0m cXVvdDtpbnRlZ2VyJnF1b3Q7PC9jb2RlPiA8YnIgLz4KUG9zaXRpdmUgb3IgbmVnYXRpdmUg b2Zmc2V0IGZvciB0aGUgY291bnRlci4gVGhpcyBpcyBhZGRlZCB0byB0aGUgYWN0dWFsIGNv dW50ZXIgdmFsdWUgYmVmb3JlIHJldHVybmluZyBpdC4gRGVmYXVsdCBpcyAwLjwvbGk+Cgk8 bGk+PGNvZGU+cmVzZXQ9JnF1b3Q7aW50ZWdlciZxdW90OzwvY29kZT4gPGJyIC8+ClJlc2V0 IHRoZSBjb3VudGVyIHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUgdXBvbiB0aGUgbmV4dCBjYWxs IG9mIHRoaXMgY291bnRlciB0YWcuIEluIG1vc3QgY2FzZXMgdXNpbmcgdGhlICYjODIxNjtv ZmZzZXQmIzgyMTc7IGF0dHJpYnV0ZSBpcyBlYXNpZXIuPC9saT4KCTxsaT48Y29kZT5zdGVw PSZxdW90O2ludGVnZXImcXVvdDs8L2NvZGU+IDxiciAvPgpQb3NpdGl2ZSBvciBuZWdhdGl2 ZSBjb3VudGVyIHN0ZXAgc2l6ZS4gRGVmYXVsdCBpcyBzZXQgdG8gJiM4MjE2OzEmIzgyMTc7 LCBtZWFuaW5nIHRoZSBjb3VudGVyIGlzIGluY3JlYXNlZCBieSAxIGVhY2ggdGltZSBpdCBp cyBjYWxsZWQuPC9saT4KCTxsaT48Y29kZT53aWR0aD0mcXVvdDtpbnRlZ2VyJnF1b3Q7PC9j b2RlPiA8YnIgLz4KTWluaW11bSB3aWR0aCBvZiB0aGUgY291bnRlciB3aGVuIGRpc3BsYXll ZC4gU21hbGwgY291bnRlciB2YWx1ZXMgYXJlIHplcm8tcGFkZGVkIChsZWZ0IHNpZGUpIHRv IHJlYWNoIHRoZSBzcGVjaWZpZWQgbWluaW11bSB3aWR0aC4gRGVmYXVsdCBpcyB1bnNldC48 L2xpPgo8L3VsPgoKPGg0PkV4YW1wbGVzPC9oND4KCjxwPkRlZmF1bHQsIG5hbWVsZXNzIGNv dW50ZXI6PC9wPgoKPHByZT48Y29kZT4mbHQ7dHhwOnJ2bV9jb3VudGVyIC8mZ3Q7PC9jb2Rl PjwvcHJlPgoKPHA+QSBjb3VudGVyIG5hbWVkICYjODIxNjtleGFtcGxlJiM4MjE3Ozo8L3A+ Cgo8cHJlPjxjb2RlPiZsdDt0eHA6cnZtX2NvdW50ZXIgbmFtZT0mcXVvdDtleGFtcGxlJnF1 b3Q7IC8mZ3Q7PC9jb2RlPjwvcHJlPgoKPHA+UmVzZXQgdGhlICYjODIxNjtleGFtcGxlJiM4 MjE3OyBjb3VudGVyIHRvIDEwLiBOb3RlIHRoYXQgeW91IGhhdmUgdG8gcmVtb3ZlIHRoZSBy ZXNldCBhdHRyaWJ1dGUgYWZ0ZXIgdGhlIGNvdW50ZXIgaXMgcmVzZXQ6PC9wPgoKPHByZT48 Y29kZT4mbHQ7dHhwOnJ2bV9jb3VudGVyIG5hbWU9JnF1b3Q7ZXhhbXBsZSZxdW90OyByZXNl dD0mcXVvdDsxMCZxdW90OyAvJmd0OzwvY29kZT48L3ByZT4KCjxwPlVzZSBhbiBvZmZzZXQg b2YgLTEwLiBTdXBwb3NlIHRoZSBjb3VudGVyIGlzIGN1cnJlbnRseSBhdCAyNSwgdGhlbiBp dCB3b3VsZCBkaXNwbGF5IDE1OjwvcD4KCjxwcmU+PGNvZGU+Jmx0O3R4cDpydm1fY291bnRl ciBvZmZzZXQ9JnF1b3Q7LTEwJnF1b3Q7IC8mZ3Q7PC9jb2RlPjwvcHJlPgoKPHA+QWRkIGxl ZnQgc2lkZSB6ZXJvLXBhZGRpbmcgdG8gbWFrZSB0aGUgY291bnRlciB2YWx1ZSA1IGRpZ2l0 cyB3aWRlLiBJZiB0aGUgY291bnRlciBpcyBzZXQgdG8gMjUsIHRoaXMgd291bGQgZGlzcGxh eSAwMDAyNTo8L3A+Cgo8cHJlPjxjb2RlPiZsdDt0eHA6cnZtX2NvdW50ZXIgd2lkdGg9JnF1 b3Q7NSZxdW90OyAvJmd0OzwvY29kZT48L3ByZT4KCjxwPkRpc3BsYXkgdGhlIGN1cnJlbnQg Y291bnRlciB2YWx1ZSwgd2l0aG91dCBjaGFuZ2luZyBpdDo8L3A+Cgo8cHJlPjxjb2RlPiZs dDt0eHA6cnZtX2NvdW50ZXIgc3RlcD0mcXVvdDswJnF1b3Q7IC8mZ3Q7PC9jb2RlPjwvcHJl PiI7czo0OiJjb2RlIjtzOjg3NjoiCmlmIChjbGFzc19leGlzdHMoJ1xUZXh0cGF0dGVyblxU YWdcUmVnaXN0cnknKSkgewogIFR4cDo6Z2V0KCdcVGV4dHBhdHRlcm5cVGFnXFJlZ2lzdHJ5 JyktPnJlZ2lzdGVyKCdydm1fY291bnRlcicpOwp9CgoKZnVuY3Rpb24gcnZtX2NvdW50ZXIo JGF0dHMpCnsKICBleHRyYWN0KGxBdHRzKGFycmF5KAogICAgJ25hbWUnICAgPT4gJycsCiAg ICAnb2Zmc2V0JyA9PiAnMCcsCiAgICAncmVzZXQnICA9PiAnJywKICAgICdzdGVwJyAgID0+ ICcxJywKICAgICd3aWR0aCcgID0+ICcxJwogICksICRhdHRzKSk7CgogICRuYW1lICA9IGRv U2xhc2goc3Vic3RyKCdydm1fY291bnRlcl8nLiRuYW1lLCAwLCAzMikpOwogICRjb3VudCA9 IHNhZmVfZmllbGQoJ3NlY3JldCcsICd0eHBfZGlzY3Vzc19ub25jZScsICJub25jZSA9ICci LiRuYW1lLiInIik7CgogIGlmICgkY291bnQgPT09IEZBTFNFKQogIHsKICAgICRjb3VudCA9 ICgkcmVzZXQgIT09ICcnKSA/IGludHZhbCgkcmVzZXQpIDogaW50dmFsKCRzdGVwKTsKICAg IHNhZmVfaW5zZXJ0KCd0eHBfZGlzY3Vzc19ub25jZScsICJub25jZSA9ICciLiRuYW1lLiIn LCBpc3N1ZV90aW1lID0gJzk5OTktMTItMzEnLCBzZWNyZXQgPSAnIi4kY291bnQuIiciKTsK ICB9CiAgZWxzZQogIHsKICAgICRjb3VudCA9ICgkcmVzZXQgIT09ICcnKSA/IGludHZhbCgk cmVzZXQpIDogJGNvdW50ICsgaW50dmFsKCRzdGVwKTsKICAgIHNhZmVfdXBkYXRlKCd0eHBf ZGlzY3Vzc19ub25jZScsICJzZWNyZXQgPSAnIi4kY291bnQuIiciLCAibm9uY2UgPSAnIi4k bmFtZS4iJyIpOwogIH0KCiAgcmV0dXJuIHNwcmludGYoJyUwJy5pbnR2YWwoJHdpZHRoKS4n ZCcsICRjb3VudCArIGludHZhbCgkb2Zmc2V0KSk7Cn0KIjtzOjM6Im1kNSI7czozMjoiOTg0 MDgwZmNhMDg4N2Q1MjEyNWNlMjRhOTBkYWQ5ZTUiO30=