# upm_restrict_comment_size v.0.1 # Restrict comment size. # Mary Fredborg # http://utterplush.com/txp-plugins/upm-restrict-comment-size # .......................................................................... # A plugin for Textpattern # http://textpattern.com/ # # Adding Plugins to Your Textpattern Installation # http://textpattern.net/wiki/index.php?title=Intermediate_Weblog_Model#Adding_Plugins_to_Your_Textpattern_Installation # .......................................................................... YToxMTp7czo0OiJuYW1lIjtzOjI1OiJ1cG1fcmVzdHJpY3RfY29tbWVudF9zaXplIjtzOjEx OiJkZXNjcmlwdGlvbiI7czoyMjoiUmVzdHJpY3QgY29tbWVudCBzaXplLiI7czo3OiJ2ZXJz aW9uIjtzOjM6IjAuMSI7czo0OiJ0eXBlIjtpOjA7czo2OiJhdXRob3IiO3M6MTM6Ik1hcnkg RnJlZGJvcmciO3M6MTA6ImF1dGhvcl91cmkiO3M6NTk6Imh0dHA6Ly91dHRlcnBsdXNoLmNv bS90eHAtcGx1Z2lucy91cG0tcmVzdHJpY3QtY29tbWVudC1zaXplIjtzOjQ6ImNvZGUiO3M6 MjE0MjoiaWYgKHR4cGludGVyZmFjZSA9PSAncHVibGljJykKCXsKCQl1cG1fcmVzdHJpY3Rf Y29tbWVudF9zaXplX2Vycm9yKCk7Cgl9CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vIGhhdmUgdG8gZG8gYSBi dWZmZXIgd29ya2Fyb3VuZAovLyBiZWNhdXNlIG9mIGN1cnJlbnQgVHhwIHBsdWdpbiBsaW1p dGF0aW9ucwoKCglmdW5jdGlvbiB1cG1fcmVzdHJpY3RfY29tbWVudF9zaXplX2Vycm9yKCkK CXsKCQlvYl9zdGFydCgndXBtX3Jlc3RyaWN0X2NvbW1lbnRfc2l6ZV9idWZmZXInKTsKCX0K Ci8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KLy8gbWFrZSBzdXJlIHRoZSB0ZXh0YXJlYSBpcyBtYXJrZWQgYXMgaGF2 aW5nIGFuIGVycm9yIChmb3Igc3R5bGluZykKCglmdW5jdGlvbiB1cG1fcmVzdHJpY3RfY29t bWVudF9zaXplX2J1ZmZlcigkYnVmZmVyKQoJewoJCWdsb2JhbCAkdXBtX3Jlc3RyaWN0X2Nv bW1lbnRfc2l6ZV9lcnJvcjsKCgkJaWYgKCFlbXB0eSgkdXBtX3Jlc3RyaWN0X2NvbW1lbnRf c2l6ZV9lcnJvcikpCgkJewoJCQkkZmluZCA9ICd0eHBDb21tZW50SW5wdXRNZXNzYWdlJzsK CQkJJHJlcGxhY2UgPSAndHhwQ29tbWVudElucHV0TWVzc2FnZSBjb21tZW50c19lcnJvcic7 CgoJCQkkYnVmZmVyID0gc3RyX3JlcGxhY2UoJGZpbmQsICRyZXBsYWNlLCAkYnVmZmVyKTsK CQl9CgoJCXJldHVybiAkYnVmZmVyOwoJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCWZ1bmN0aW9uIHVwbV9y ZXN0cmljdF9jb21tZW50X3NpemUoJGF0dHMgPSBhcnJheSgpKQoJewoJCWV4dHJhY3QobEF0 dHMoYXJyYXkoCgkJCSdlcnJvcl9tZXNzYWdlJyA9PiAnUGxlYXNlIGVudGVyIGJldHdlZW4g e21pbn0gYW5kIHttYXh9IHt0eXBlfSBpbiB5b3VyIG1lc3NhZ2UuJywKCQkJJ21heCcgICAg ICAgICAgID0+IDE1MDAsCgkJCSdtaW4nICAgICAgICAgICA9PiAxNSwKCQkJJ3R5cGUnICAg ICAgICAgID0+ICdjaGFycycsCgkJKSwgJGF0dHMpKTsKCgkJJEdMT0JBTFNbJ3VwbV9yZXN0 cmljdF9jb21tZW50X3NpemVfZXJyb3InXSA9IGZhbHNlOwoKCQkkcHJldmlldyA9IHBzKCdw cmV2aWV3Jyk7CgoJCWlmICgkcHJldmlldykKCQl7CgkJCSRtZXNzYWdlID0gcHMoJ21lc3Nh Z2UnKTsKCgkJCWlmICgkbWVzc2FnZSA9PSAnJykKCQkJewoJCQkJJGluID0gZ2V0Q29tbWVu dCgpOwoJCQkJJG1lc3NhZ2UgPSAkaW5bJ21lc3NhZ2UnXTsKCQkJfQoKCQkJJG1lc3NhZ2Ug PSBkb1N0cmlwVGFncyhkb0RlRW50KCRtZXNzYWdlKSk7CgoJCQkvLyBpZiB0aGUgbWVzc2Fn ZSBpcyBjb21wbGV0ZWx5IGVtcHR5CgkJCS8vIHRoZSBlcnJvciBjb25kaXRpb24gaXMgYWxy ZWFkeSBoYW5kbGVkIGJ5IFR4cAoJCQlpZiAoIWVtcHR5KCRtZXNzYWdlKSkKCQkJewoJCQkJ c3dpdGNoICgkdHlwZSkKCQkJCXsKCQkJCQljYXNlICd3b3Jkcyc6CgkJCQkJCSRzaXplID0g Y291bnQoZXhwbG9kZShjaHIoMzIpLCAkbWVzc2FnZSkpOwoJCQkJCWJyZWFrOwoKCQkJCQlj YXNlICdjaGFycyc6CgkJCQkJY2FzZSAnY2hhcmFjdGVycyc6CgkJCQkJZGVmYXVsdDoKCQkJ CQkJJHNpemUgPSBzdHJsZW4oJG1lc3NhZ2UpOwoJCQkJCWJyZWFrOwoJCQkJfQoKCQkJCSRj b25kaXRpb25fbG93ID0gKCRtaW4gPiAxIGFuZCAkc2l6ZSA8ICRtaW4pOwoJCQkJJGNvbmRp dGlvbl9oaWdoID0gKCRzaXplID4gJG1heCk7CgoJCQkJaWYgKCRjb25kaXRpb25fbG93IG9y ICRjb25kaXRpb25faGlnaCkKCQkJCXsKCQkJCQkkZXZhbHVhdG9yID0mIGdldF9jb21tZW50 X2V2YWx1YXRvcigpOwoKCQkJCQkkZXZhbHVhdG9yLT5hZGRfZXN0aW1hdGUoUkVMT0FELCAx LAoJCQkJCQlzdHJ0cigkZXJyb3JfbWVzc2FnZSwgYXJyYXkoCgkJCQkJCQkne21pbn0nICA9 PiAkbWluLAoJCQkJCQkJJ3ttYXh9JyAgPT4gJG1heCwKCQkJCQkJCSd7dHlwZX0nID0+ICR0 eXBlCgkJCQkJCSkpCgkJCQkJKTsKCgkJCQkJJEdMT0JBTFNbJ3VwbV9yZXN0cmljdF9jb21t ZW50X3NpemVfZXJyb3InXSA9IHRydWU7CgkJCQl9CgkJCX0KCQl9Cgl9IjtzOjQ6ImhlbHAi O3M6MTY0MjoiPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuLHByb2plY3Rp b24iPgo8IS0tCmR0IHsKCWZvbnQtd2VpZ2h0OiBib2xkOwp9Cgp2YXIgewoJcGFkZGluZzog MC4xZW07Cglmb250LXN0eWxlOiBub3JtYWw7Cglmb250LXdlaWdodDogYm9sZDsKCWZvbnQt ZmFtaWx5OiBtb25vc3BhY2U7CgliYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOwp9CgotLT4KPC9z dHlsZT4KCjxoMT51cG1fcmVzdHJpY3RfY29tbWVudF9zaXplPC9oMT4KCjxoMiBpZD0iaW50 cm8tc2VjdGlvbiI+SW50cm88L2gyPgoKPHA+UXVpdGUgc2ltcGx5LCB0aGlzIHBsdWdpbiBh bGxvd3MgeW91IHRvIG1vcmUgZmluZWx5IGNvbnRyb2wgdGhlIGFtb3VudCBvZiB0ZXh0IGVu dGVyZWQgaW4gYW55IGdpdmVuIGNvbW1lbnQuPC9wPgoKCjxoMiBpZD0idGFnLXNlY3Rpb24i Pk5ldyBUYWc8L2gyPgoKPHA+VGhpcyBwbHVnaW4gcHJvdmlkZXMgeW91IHdpdGggYSBzaW5n bGUgbmV3IGNvbW1lbnQgZm9ybSAoPHZhcj5jb21tZW50X2Zvcm08L3Zhcj4pIHRhZy4gSXQg aXMgcmVjb21tZW5kZWQgdGhhdCB0aGlzIHRhZyBiZSBwbGFjZWQgPGVtPmJlZm9yZTwvZW0+ IHRoZSA8dmFyPmNvbW1lbnRzX2Vycm9yPC92YXI+IHRhZyBpbiB0aGUgZm9ybS48L3A+Cgo8 aDM+dXBtX3Jlc3RyaWN0X2NvbW1lbnRfc2l6ZTwvaDM+Cgo8ZGw+Cgk8ZHQ+ZXJyb3JfbWVz c2FnZTwvZHQ+Cgk8ZGQ+VGhlIGVycm9yIG1lc3NhZ2UgZGlzcGxheWVkIHdoZW4gc2l6ZSBy ZXN0cmljdGlvbnMgYXJlIG5vdCBtZXQuIG1heCwgbWluIGFuZCB0eXBlIGFyZSB0aGUgYXZh aWxhYmxlIHZhcmlhYmxlcyAoc3Vycm91bmRlZCB3aXRoIDx2YXI+ezwvdmFyPiBhbmQgPHZh cj59PC92YXI+KSB3aGljaCBtYXkgYmUgdXNlZC48L2RkPgoJPGRkPlJlcXVpcmVkOiBubzwv ZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IGRlc2lyZWQgdGV4dDwvZGQ+Cgk8ZGQ+ RGVmYXVsdCB2YWx1ZTogPHZhcj5QbGVhc2UgZW50ZXIgYmV0d2VlbiB7bWlufSBhbmQge21h eH0ge3R5cGV9IGluIHlvdXIgbWVzc2FnZS48L3Zhcj48L2RkPgoKCTxkdD5tYXg8L2R0PgoJ PGRkPlRoZSBtYXhpbXVtIGFtb3VudCBvZiA8dmFyPnR5cGU8L3Zhcj4gYWxsb3dlZC48L2Rk PgoJPGRkPlJlcXVpcmVkOiBubzwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IGRl c2lyZWQgbnVtYmVyPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiA8dmFyPjE1MDA8L3Zhcj48 L2RkPgoKCTxkdD5taW48L2R0PgoJPGRkPlRoZSBtaW5pbXVtIG9mIGFtb3VudCBvZiA8dmFy PnR5cGU8L3Zhcj4gcmVxdWlyZWQuPC9kZD4KCTxkZD5SZXF1aXJlZDogbm88L2RkPgoJPGRk PkF2YWlsYWJsZSB2YWx1ZXM6IGFueSBkZXNpcmVkIG51bWJlcjwvZGQ+Cgk8ZGQ+RGVmYXVs dCB2YWx1ZTogPHZhcj4xNTwvdmFyPjwvZGQ+CgoJPGR0PnR5cGU8L2R0PgoJPGRkPldoZXRo ZXIgdG8gcmVzdHJpY3QgYnkgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIG9yIHdvcmRzLjwv ZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IG5vPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiA8dmFy PmNoYXJzPC92YXI+IG9yIDx2YXI+d29yZHM8L3Zhcj48L2RkPgoJPGRkPkRlZmF1bHQgdmFs dWU6IDx2YXI+Y2hhcnM8L3Zhcj48L2RkPgo8L2RsPiI7czo4OiJoZWxwX3JhdyI7czoxNjQy OiI8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4scHJvamVjdGlvbiI+Cjwh LS0KZHQgewoJZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCnZhciB7CglwYWRkaW5nOiAwLjFlbTsK CWZvbnQtc3R5bGU6IG5vcm1hbDsKCWZvbnQtd2VpZ2h0OiBib2xkOwoJZm9udC1mYW1pbHk6 IG1vbm9zcGFjZTsKCWJhY2tncm91bmQtY29sb3I6ICNlZWU7Cn0KCi0tPgo8L3N0eWxlPgoK PGgxPnVwbV9yZXN0cmljdF9jb21tZW50X3NpemU8L2gxPgoKPGgyIGlkPSJpbnRyby1zZWN0 aW9uIj5JbnRybzwvaDI+Cgo8cD5RdWl0ZSBzaW1wbHksIHRoaXMgcGx1Z2luIGFsbG93cyB5 b3UgdG8gbW9yZSBmaW5lbHkgY29udHJvbCB0aGUgYW1vdW50IG9mIHRleHQgZW50ZXJlZCBp biBhbnkgZ2l2ZW4gY29tbWVudC48L3A+CgoKPGgyIGlkPSJ0YWctc2VjdGlvbiI+TmV3IFRh ZzwvaDI+Cgo8cD5UaGlzIHBsdWdpbiBwcm92aWRlcyB5b3Ugd2l0aCBhIHNpbmdsZSBuZXcg Y29tbWVudCBmb3JtICg8dmFyPmNvbW1lbnRfZm9ybTwvdmFyPikgdGFnLiBJdCBpcyByZWNv bW1lbmRlZCB0aGF0IHRoaXMgdGFnIGJlIHBsYWNlZCA8ZW0+YmVmb3JlPC9lbT4gdGhlIDx2 YXI+Y29tbWVudHNfZXJyb3I8L3Zhcj4gdGFnIGluIHRoZSBmb3JtLjwvcD4KCjxoMz51cG1f cmVzdHJpY3RfY29tbWVudF9zaXplPC9oMz4KCjxkbD4KCTxkdD5lcnJvcl9tZXNzYWdlPC9k dD4KCTxkZD5UaGUgZXJyb3IgbWVzc2FnZSBkaXNwbGF5ZWQgd2hlbiBzaXplIHJlc3RyaWN0 aW9ucyBhcmUgbm90IG1ldC4gbWF4LCBtaW4gYW5kIHR5cGUgYXJlIHRoZSBhdmFpbGFibGUg dmFyaWFibGVzIChzdXJyb3VuZGVkIHdpdGggPHZhcj57PC92YXI+IGFuZCA8dmFyPn08L3Zh cj4pIHdoaWNoIG1heSBiZSB1c2VkLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IG5vPC9kZD4KCTxk ZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgZGVzaXJlZCB0ZXh0PC9kZD4KCTxkZD5EZWZhdWx0 IHZhbHVlOiA8dmFyPlBsZWFzZSBlbnRlciBiZXR3ZWVuIHttaW59IGFuZCB7bWF4fSB7dHlw ZX0gaW4geW91ciBtZXNzYWdlLjwvdmFyPjwvZGQ+CgoJPGR0Pm1heDwvZHQ+Cgk8ZGQ+VGhl IG1heGltdW0gYW1vdW50IG9mIDx2YXI+dHlwZTwvdmFyPiBhbGxvd2VkLjwvZGQ+Cgk8ZGQ+ UmVxdWlyZWQ6IG5vPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgZGVzaXJlZCBu dW1iZXI8L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IDx2YXI+MTUwMDwvdmFyPjwvZGQ+CgoJ PGR0Pm1pbjwvZHQ+Cgk8ZGQ+VGhlIG1pbmltdW0gb2YgYW1vdW50IG9mIDx2YXI+dHlwZTwv dmFyPiByZXF1aXJlZC48L2RkPgoJPGRkPlJlcXVpcmVkOiBubzwvZGQ+Cgk8ZGQ+QXZhaWxh YmxlIHZhbHVlczogYW55IGRlc2lyZWQgbnVtYmVyPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVl OiA8dmFyPjE1PC92YXI+PC9kZD4KCgk8ZHQ+dHlwZTwvZHQ+Cgk8ZGQ+V2hldGhlciB0byBy ZXN0cmljdCBieSB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgb3Igd29yZHMuPC9kZD4KCTxk ZD5SZXF1aXJlZDogbm88L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IDx2YXI+Y2hhcnM8 L3Zhcj4gb3IgPHZhcj53b3JkczwvdmFyPjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogPHZh cj5jaGFyczwvdmFyPjwvZGQ+CjwvZGw+IjtzOjE1OiJhbGxvd19odG1sX2hlbHAiO2k6MTtz OjM6Im1kNSI7czozMjoiOWRjNzgzM2U0M2FmYjFlNDY2YWEyM2YwYTg2ODBjZTIiO30=