# ajw_notepad_public v0.1 # Adds public notepad to admin interface of textpattern. # http://compooter.org/ # ...................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ...................................................................... YToxMTp7czo0OiJuYW1lIjtzOjE4OiJhandfbm90ZXBhZF9wdWJsaWMiO3M6NzoidmVyc2lv biI7czozOiIwLjEiO3M6NjoiYXV0aG9yIjtzOjExOiJBbmRyZXcgV2FlciI7czoxMDoiYXV0 aG9yX3VyaSI7czoyMToiaHR0cDovL2NvbXBvb3Rlci5vcmcvIjtzOjExOiJkZXNjcmlwdGlv biI7czo1NDoiQWRkcyBwdWJsaWMgbm90ZXBhZCB0byBhZG1pbiBpbnRlcmZhY2Ugb2YgdGV4 dHBhdHRlcm4uIjtzOjQ6InR5cGUiO2k6MTtzOjQ6ImhlbHAiO3M6MTkyODoiCTxoMT5QdWJs aWMgbm90ZXBhZDwvaDE+Cgk8cD5UaGlzIGlzIHRoZSBmaXJzdCBhZG1pbi1wbHVnaW4gaW5j YXJuYXRpb24gb2YgdGhlIG5vdGVwYWQgaGFjay4gIEJlY2F1c2UgYWRtaW4gcGx1Z2lucyBj dXJyZW50bHkgbGFjayB0aGUgYWJpbGl0eSB0byBhbGxvdyBmb3IgYWRkaW5nIGN1c3RvbSB0 b3AtbGV2ZWwgdGFicyAoX2xpa2UgdGhlICYjODIxNjtleHRlbnNpb25zJiM4MjE3OyB0YWJf KSwgSSBoYXZlIG9wdGVkIHRvIHNpbXBseSBkcm9wIHRoZSAmIzgyMTY7cHJpdmF0ZSYjODIx Nzsgbm90ZXBhZCBmb3Igbm93IGFuZCBzdGljayB3aXRoIHRoZSAmIzgyMTY7cHVibGljJiM4 MjE3OyBub3RlcGFkIG9ubHkuPC9wPgoJPHA+VGhlIHB1YmxpYyBub3RlcGFkIGlzIHZpZXdh YmxlIHRvIGFsbCB1c2VycyB3aG8gc2hhcmUgcHJpdmlsZWdlcyB3aXRoIGl0cyB0b3AgbGV2 ZWwgdGFiLiAgQnkgZGVmYXVsdCwgdGhpcyBwbHVnaW4gY3JlYXRlcyB0aGUgbm90ZXBhZCBz dWJ0YWIgdW5kZXIgJiM4MjE2O2NvbnRlbnQmIzgyMTc7IHNvIHRoYXQgaXQgd2lsbCBiZSB2 aWV3YWJsZSB0byBhbGwgdXNlcnMuPC9wPgoJPHA+WW91IG1heSBkZWNpZGUgdGhhdCB5b3Um IzgyMTc7ZCBsaWtlIHRvIGhhdmUgdGhlIHRhYiBkaXNwbGF5IHVuZGVyIGEgZGlmZmVyZW50 IHRvcC1sZXZlbCB0YWIsIHN1Y2ggYXMgPGVtPkV4dGVuc2lvbnM8L2VtPiBvciA8ZW0+QWRt aW48L2VtPi4gIFRoaXMgaXMgZWFzaWx5IGFjY29tcGxpc2hlZDogc2ltcGx5IGVkaXQgdGhl IHdvcmQgJiM4MjE2OzxlbT5jb250ZW50PC9lbT4mIzgyMTc7IGluIHRoZSBsaW5lPC9wPgo8 Y29kZT5yZWdpc3Rlcl90YWIoImNvbnRlbnQiLCAibm90ZXB1YmxpYyIsICJub3RlcGFkIik7 PC9jb2RlPgoJPHA+dG8gcmVhZCAmIzgyMTY7PGVtPmFkbWluPC9lbT4mIzgyMTc7IG9yICYj ODIxNjs8ZW0+ZXh0ZW5zaW9uczwvZW0+JiM4MjE3Oy4gIEtlZXAgaW4gbWluZCB0aGF0IGl0 IHdpbGwgaW5oZXJpdCBhbnkgcHJpdmlsZWdlcyBhc3NpZ25lZCB0byBpdHMgcGFyZW50IHRh YiBmcm9tIHdpdGhpbiA8Y29kZT4vbGliL2FkbWluX2NvbmZpZy5waHA8L2NvZGU+LCBzbyB5 b3UgbWF5IGhhdmUgdG8gYWRqdXN0IHByaXZpbGVnZXMgaWYgeW91IHBsYW4gb24gbW92aW5n IGl0LjwvcD4KCTxoMj5JbnN0YWxsYXRpb248L2gyPgoJPHA+QXNpZGUgZnJvbSBpbnN0YWxs aW5nIHRoZSBwbHVnaW4gaXRzZWxmLCB5b3Ugd2lsbCBuZWVkIHRvIGNyZWF0ZSB0aGUgbmVj ZXNzYXJ5IG15c3FsIHRhYmxlIGluIG9yZGVyIHRvIHN0b3JlIHlvdXIgbm90ZXMuICBJZiB5 b3UmIzgyMTc7dmUgYWxyZWFkeSBnb3QgdGhlIHRhYmxlIGluIHlvdXIgZGF0YWJhc2UgZnJv bSBoYWNraW5nIGFuIGVhcmxpZXIgdmVyc2lvbiBvZiB0ZXh0cGF0dGVybiwgdGhlIGV4aXN0 aW5nIHRhYmxlIGluIHlvdXIgbXlzcWwgZGF0YWJhc2Ugc2hvdWxkIHN0aWxsIHdvcmsgZmlu ZS4gIElmIG5vdCwgcGxlYXNlIGRvd25sb2FkIHRoZSBhc3NvY2lhdGVkIHNxbCBkdW1wIHRo YXQgY2FuIGJlIGluc3RhbGxlZCB2aWEgcGhwbXlhZG1pbiwgb3IgeW91IGNhbiBvcHQgdG8g cnVuIHRoZSBpbnN0YWxsZXIgc2NyaXB0IEkmIzgyMTc7dmUgd2hpcHBlZCB1cCAoX3Zpc2l0 IHRoZSB1cmwgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcGx1Z2luIHRvIGRvd25sb2FkXykuPC9w PgoJPGgyPk1pc2NlbGxhbmVvdXM8L2gyPgoJPHA+SWYgeW91JiM4MjE3O2QgbGlrZSB0byBy ZXN0eWxlIG9yIGNoYW5nZSB0aGUgc2l6ZS9mb250L2V0YyBvZiB0aGUgbm90ZXBhZCB0ZXh0 YXJlYSwgeW91IG1heSBlZGl0IDxjb2RlPi90ZXh0cGF0dGVybi90ZXh0cGF0dGVybi5jc3M8 L2NvZGU+IGFuZCByZWRlZmluZSBzdHlsZXMgZm9yIHRoZSBlbGVtZW50IDxjb2RlPnRleHRh cmVhI25vdGVwdWJsaWM8L2NvZGU+LjwvcD4KCiAiO3M6NDoiY29kZSI7czozMjMwOiIKLy8g UGx1Z2luIGNvZGUgZ29lcyBoZXJlLiAgTm8gbmVlZCB0byBlc2NhcGUgcXVvdGVzLgoKCS8v IEFkZCBhIG5ldyB0YWIgdG8gdGhlIENvbnRlbnQgYXJlYS4KCS8vICJ0ZXN0IiBpcyB0aGUg bmFtZSBvZiB0aGUgYXNzb2NpYXRlZCBldmVudDsgInRlc3RpbmciIGlzIHRoZSBkaXNwbGF5 ZWQgdGl0bGUKCWlmIChAdHhwaW50ZXJmYWNlID09ICdhZG1pbicpIHsKCQkvLyBBZGQgYSBu ZXcgdGFiIHVuZGVyICdleHRlbnNpb25zJyBjYWxsZWQgJ3Rlc3RpbmcnLCBmb3IgdGhlICd0 ZXN0JyBldmVudAoJCXJlZ2lzdGVyX3RhYigiY29udGVudCIsICJub3RlcHVibGljIiwgIm5v dGVwYWQiKTsKCQkvLyAnemVtX2FkbWluX3Rlc3QnIHdpbGwgYmUgY2FsbGVkIHRvIGhhbmRs ZSB0aGUgJ3Rlc3QnIGV2ZW50CgkJcmVnaXN0ZXJfY2FsbGJhY2soImFqd19ub3RlcGFkX3B1 YmxpYyIsICJub3RlcHVibGljIik7Cgl9CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBhandfbm90 ZXBhZF9wdWJsaWMoJGV2ZW50LCAkc3RlcCkgewoJCWlmKCEkc3RlcCBvciAhZnVuY3Rpb25f ZXhpc3RzKCRzdGVwKSkgewoJCQlub3RlX2VkaXQoKTsKCQl9IGVsc2UgJHN0ZXAoKTsKCX0K Ci8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KCWZ1bmN0aW9uIG5vdGVfZWRpdCgkbWVzc2FnZT0nJykKCXsKCQlwYWdl dG9wKCdwdWJsaWMgbm90ZXBhZCcsJG1lc3NhZ2UpOwoKCQllY2hvCgkJCXN0YXJ0VGFibGUo J2VkaXQnKS4KCQkJdHIoCgkJCQl0ZGEoCgkJCQkJbm90ZV9lZGl0X2Zvcm0oKSwnIGNsYXNz PSJjb2x1bW4iJwoJCQkJKQoJCQkpLgoJCQllbmRUYWJsZSgpOwoJfQoKLy8gLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJ ZnVuY3Rpb24gbm90ZV9lZGl0X2Zvcm0oKQoJewoJCWdsb2JhbCAkdGltZW9mZnNldCwgJGNv bmZsaWN0OwoKCQkkcnMgPSBzYWZlX3JvdygiKiIsInR4cF9ub3RlIiwibmFtZT0ncHVibGlj JyIpOwkvLyBxdWVyeSBwdWJsaWMgbm90ZXBhZAoKCQlpZiAoJHJzKSB7CgkJCWV4dHJhY3Qo JHJzKTsKCQkJJG91dHN0ZXAgPSAnbm90ZV9jb25mbGljdCc7CgkJCSRub3RlID0gZW1wdHko JGNvbmZsaWN0KSA/ICRub3RlIDogZ3BzKCdub3RlJyk7CgkJCSRvdXRbXSA9CgkJCQlub3Rl X3RleHRhcmVhKCc1MDAnLCc2MDAnLCRub3RlLCdub3RlJykubi4KCQkJCWdyYWYoCgkJCQkJ ZklucHV0KCdzdWJtaXQnLCdzYXZlJyxnVHh0KCdzYXZlJyksJ3B1Ymxpc2gnKS5uLgoJCQkJ CShlbXB0eSgkY29uZmxpY3QpCgkJCQkJCT8gJycKCQkJCQkJOiBjaGVja2JveCgnZm9yY2Vf c2F2ZScsMSwwKS5zcC4nPHN0cm9uZyBzdHlsZT0iY29sb3I6I2ZmMDAwMCI+Rm9yY2UgU2F2 ZT88L3N0cm9uZz4nLm4KCQkJCQkpLgoJCQkJCWVJbnB1dCgnbm90ZXB1YmxpYycpLm4uCgkJ CQkJaElucHV0KCd0aW1lc3RhbXAnLCBlbXB0eSgkY29uZmxpY3QpID8gdGltZSgpIDogZ3Bz KCd0aW1lc3RhbXAnKSkubi4KCQkJCQlzSW5wdXQoJG91dHN0ZXApCgkJCQkpOwoJCQkkcmVh bG5hbWUgPSBmZXRjaCgnUmVhbE5hbWUnLCd0eHBfdXNlcnMnLCduYW1lJywiJGxhc3RfbW9k X0lEIik7CgkJCWlmKCRsYXN0X21vZF9JRCkgJG91dFtdID0gYnIuZ1R4dCgnbW9kaWZpZWRf YnknKS4iICRyZWFsbmFtZTogIi5kYXRlKCJIOmksIGQgTSBZIixzdHJ0b3RpbWUoJGxhc3Rf bW9kKSArICR0aW1lb2Zmc2V0KTsKCQkJcmV0dXJuIGZvcm0oam9pbignJywkb3V0KSk7CgkJ fQoJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gbm90ZV9jb25mbGljdCgpCgl7CgkJZ2xvYmFs ICR0eHBfdXNlciwgJGNvbmZsaWN0OwoKCQkkbGFzdF9ub3RlID0gc2FmZV9yb3coJ2xhc3Rf bW9kLGxhc3RfbW9kX0lEJywndHhwX25vdGUnLCJuYW1lPSdwdWJsaWMnIik7CgkJJGxhc3Rf bW9kID0gc3RydG90aW1lKCRsYXN0X25vdGVbJ2xhc3RfbW9kJ10pOwoJCSRsYXN0X21vZF9J RCA9ICRsYXN0X25vdGVbJ2xhc3RfbW9kX0lEJ107CgkJJHRpbWVzdGFtcCA9IGdwcygndGlt ZXN0YW1wJyk7CgkJJGZvcmNlX3NhdmUgPSBncHMoJ2ZvcmNlX3NhdmUnKTsKCQkkcmVhbG5h bWUgPSBmZXRjaCgnUmVhbE5hbWUnLCd0eHBfdXNlcnMnLCduYW1lJywiJGxhc3RfbW9kX0lE Iik7CgoJCWlmICgkbGFzdF9tb2QgPiAkdGltZXN0YW1wICYmICEkZm9yY2Vfc2F2ZSkgewoJ CQkkY29uZmxpY3QgPSBUUlVFOwoJCQkkbXNnICA9ICc8c3Ryb25nIHN0eWxlPSJjb2xvcjoj ZmYwMDAwIj5XQVJOSU5HITwvc3Ryb25nPicuc3A7CgkJCSRtc2cgLj0gJ05vdGVwYWQgZWRp dGVkIGJ5IDxzdHJvbmc+Jy4kcmVhbG5hbWUuJzwvc3Ryb25nPiBzaW5jZSBwYWdlIGxvYWQu JzsKCQkJbm90ZV9lZGl0KCRtc2cpOwoJCX0gZWxzZSB7CgkJCSRjb25mbGljdCA9IEZBTFNF OwoJCQlub3RlX3NhdmUoJHJlYWxuYW1lKTsKCQl9Cgl9CgovLyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlv biBub3RlX3NhdmUoKQoJewoJCWdsb2JhbCAkdHhwX3VzZXI7CgkJJG5vdGUgPSBkb1NsYXNo KGdwcygnbm90ZScpKTsKCQlzYWZlX3VwZGF0ZSgndHhwX25vdGUnLCJsYXN0X21vZD1ub3co KSxsYXN0X21vZF9JRD0nJHR4cF91c2VyJyxub3RlPSckbm90ZSciLCJuYW1lPSdwdWJsaWMn Iik7CS8vIHVwZGF0ZSBwdWJsaWMgbm90ZXBhZAoJCW5vdGVfZWRpdCgncHVibGljIG5vdGVw YWQgdXBkYXRlZCcpOwoJfQoKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIG5vdGVfdGV4dGFyZWEo JGgsJHcsJGNvbnRlbnQsJG5hbWUpCgl7CgkJcmV0dXJuICc8dGV4dGFyZWEgaWQ9Im5vdGVw dWJsaWMiIG5hbWU9IicuJG5hbWUuJyIgc3R5bGU9ImhlaWdodDonLiRoLidweDsgd2lkdGg6 Jy4kdy4ncHg7IGZvbnQtZmFtaWx5Om1vbmFjbyxjb3VyaWVyLGNvdXJpZXIgbmV3OyBmb250 LXNpemU6MTBweDsgbWFyZ2luLXRvcDo2cHgiIHJvd3M9IjEiIGNvbHM9IjUwIj4nLmh0bWxz cGVjaWFsY2hhcnMoJGNvbnRlbnQpLic8L3RleHRhcmVhPic7Cgl9CiI7czo4OiJoZWxwX3Jh dyI7czoxNjgxOiJoMS4gUHVibGljIG5vdGVwYWQKClRoaXMgaXMgdGhlIGZpcnN0IGFkbWlu LXBsdWdpbiBpbmNhcm5hdGlvbiBvZiB0aGUgbm90ZXBhZCBoYWNrLiAgQmVjYXVzZSBhZG1p biBwbHVnaW5zIGN1cnJlbnRseSBsYWNrIHRoZSBhYmlsaXR5IHRvIGFsbG93IGZvciBhZGRp bmcgY3VzdG9tIHRvcC1sZXZlbCB0YWJzIChfbGlrZSB0aGUgJ2V4dGVuc2lvbnMnIHRhYl8p LCBJIGhhdmUgb3B0ZWQgdG8gc2ltcGx5IGRyb3AgdGhlICdwcml2YXRlJyBub3RlcGFkIGZv ciBub3cgYW5kIHN0aWNrIHdpdGggdGhlICdwdWJsaWMnIG5vdGVwYWQgb25seS4KClRoZSBw dWJsaWMgbm90ZXBhZCBpcyB2aWV3YWJsZSB0byBhbGwgdXNlcnMgd2hvIHNoYXJlIHByaXZp bGVnZXMgd2l0aCBpdHMgdG9wIGxldmVsIHRhYi4gIEJ5IGRlZmF1bHQsIHRoaXMgcGx1Z2lu IGNyZWF0ZXMgdGhlIG5vdGVwYWQgc3VidGFiIHVuZGVyICdjb250ZW50JyBzbyB0aGF0IGl0 IHdpbGwgYmUgdmlld2FibGUgdG8gYWxsIHVzZXJzLgoKWW91IG1heSBkZWNpZGUgdGhhdCB5 b3UnZCBsaWtlIHRvIGhhdmUgdGhlIHRhYiBkaXNwbGF5IHVuZGVyIGEgZGlmZmVyZW50IHRv cC1sZXZlbCB0YWIsIHN1Y2ggYXMgX0V4dGVuc2lvbnNfIG9yIF9BZG1pbl8uICBUaGlzIGlz IGVhc2lseSBhY2NvbXBsaXNoZWQ6IHNpbXBseSBlZGl0IHRoZSB3b3JkICdfY29udGVudF8n IGluIHRoZSBsaW5lCgpAcmVnaXN0ZXJfdGFiKCJjb250ZW50IiwgIm5vdGVwdWJsaWMiLCAi bm90ZXBhZCIpO0AKCnRvIHJlYWQgJ19hZG1pbl8nIG9yICdfZXh0ZW5zaW9uc18nLiAgS2Vl cCBpbiBtaW5kIHRoYXQgaXQgd2lsbCBpbmhlcml0IGFueSBwcml2aWxlZ2VzIGFzc2lnbmVk IHRvIGl0cyBwYXJlbnQgdGFiIGZyb20gd2l0aGluIEAvbGliL2FkbWluX2NvbmZpZy5waHBA LCBzbyB5b3UgbWF5IGhhdmUgdG8gYWRqdXN0IHByaXZpbGVnZXMgaWYgeW91IHBsYW4gb24g bW92aW5nIGl0LgoKaDIuIEluc3RhbGxhdGlvbgoKQXNpZGUgZnJvbSBpbnN0YWxsaW5nIHRo ZSBwbHVnaW4gaXRzZWxmLCB5b3Ugd2lsbCBuZWVkIHRvIGNyZWF0ZSB0aGUgbmVjZXNzYXJ5 IG15c3FsIHRhYmxlIGluIG9yZGVyIHRvIHN0b3JlIHlvdXIgbm90ZXMuICBJZiB5b3UndmUg YWxyZWFkeSBnb3QgdGhlIHRhYmxlIGluIHlvdXIgZGF0YWJhc2UgZnJvbSBoYWNraW5nIGFu IGVhcmxpZXIgdmVyc2lvbiBvZiB0ZXh0cGF0dGVybiwgdGhlIGV4aXN0aW5nIHRhYmxlIGlu IHlvdXIgbXlzcWwgZGF0YWJhc2Ugc2hvdWxkIHN0aWxsIHdvcmsgZmluZS4gIElmIG5vdCwg cGxlYXNlIGRvd25sb2FkIHRoZSBhc3NvY2lhdGVkIHNxbCBkdW1wIHRoYXQgY2FuIGJlIGlu c3RhbGxlZCB2aWEgcGhwbXlhZG1pbiwgb3IgeW91IGNhbiBvcHQgdG8gcnVuIHRoZSBpbnN0 YWxsZXIgc2NyaXB0IEkndmUgd2hpcHBlZCB1cCAoX3Zpc2l0IHRoZSB1cmwgYXNzb2NpYXRl ZCB3aXRoIHRoaXMgcGx1Z2luIHRvIGRvd25sb2FkXykuCgpoMi4gTWlzY2VsbGFuZW91cwoK SWYgeW91J2QgbGlrZSB0byByZXN0eWxlIG9yIGNoYW5nZSB0aGUgc2l6ZS9mb250L2V0YyBv ZiB0aGUgbm90ZXBhZCB0ZXh0YXJlYSwgeW91IG1heSBlZGl0IEAvdGV4dHBhdHRlcm4vdGV4 dHBhdHRlcm4uY3NzQCBhbmQgcmVkZWZpbmUgc3R5bGVzIGZvciB0aGUgZWxlbWVudCBAdGV4 dGFyZWEjbm90ZXB1YmxpY0AuIjtzOjM6Im1kNSI7czozMjoiNTJhNzdjZTMxMmIxZTdiN2Jh N2RmMjU0YWVlNDgxNzgiO3M6ODoiY29tcHJlc3MiO2I6MDt9