# Name: jcr_link_custom v0.1.1 # Type: Admin/Public plugin # Adds a custom field to the links panel # Author: jcr / txpbuilders # URL: http://txp.builders # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern CMS - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxNTp7czo0OiJuYW1lIjtzOjE1OiJqY3JfbGlua19jdXN0b20iO3M6NzoidmVyc2lvbiI7 czo1OiIwLjEuMSI7czo4OiJyZXZpc2lvbiI7czowOiIiO3M6NjoiYXV0aG9yIjtzOjE3OiJq Y3IgLyB0eHBidWlsZGVycyI7czoxMDoiYXV0aG9yX3VyaSI7czoxOToiaHR0cDovL3R4cC5i dWlsZGVycyI7czoxMToiZGVzY3JpcHRpb24iO3M6Mzg6IkFkZHMgYSBjdXN0b20gZmllbGQg dG8gdGhlIGxpbmtzIHBhbmVsIjtzOjU6Im9yZGVyIjtzOjE6IjUiO3M6NDoidHlwZSI7czox OiIxIjtzOjU6ImZsYWdzIjtzOjE6IjIiO3M6ODoidGV4dHBhY2siO3M6OTc6IiNAYWRtaW4K I0BsYW5ndWFnZSBlbi1nYgpqY3JfbGlua19jdXN0b20gPT4gSW1hZ2UgSUQKI0BsYW5ndWFn ZSBkZS1kZQpqY3JfbGlua19jdXN0b20gPT4gQmlsZCBJRAoiO3M6MTA6ImxvYWRfb3JkZXIi O3M6MToiNSI7czo0OiJoZWxwIjtzOjMwMTY6IjxoMT5qY3JfbGlua19jdXN0b208L2gxPgoK PHA+QWRkcyBhIHNpbmdsZSBleHRyYSBjdXN0b20gZmllbGQgb2YgdXAgdG8gMjU1IGNoYXJh Y3RlcnMgdG8gdGhlIDxhIGhyZWY9Imh0dHA6Ly9kb2NzLnRleHRwYXR0ZXJuLmlvL2FkbWlu aXN0cmF0aW9uL2xpbmtzLXBhbmVsIj5Db250ZW50IOKAuiBMaW5rczwvYT4gcGFuZWwgYW5k IHByb3ZpZGVzIGEgY29ycmVzcG9uZGluZyB0YWcgdG8gb3V0cHV0IHRoZSBjdXN0b20gZmll bGQuPC9wPgoKCjxoMj5Vc2UgY2FzZXM8L2gyPgoKPHA+VXNlIHdoZW5ldmVyIGV4dHJhIGlu Zm9ybWF0aW9uIG5lZWRzIHRvIGJlIHN0b3JlZCB3aXRoIGEgbGluay4gRm9yIGV4YW1wbGU6 PC9wPgoKPHVsPgoJPGxpPlN0b3JlIGEgdHhwIGltYWdlIElEIG51bWJlciBhbmQgdXNlIGl0 IHRvIGF0dGFjaCBhIGxvZ28gdG8gYSBsaW5rLjwvbGk+Cgk8bGk+U3RvcmUgYXNzb2NpYXRl ZCBkZXRhaWxzLCBmb3IgZXhhbXBsZSB0aGUgbG9jYXRpb24gb2YgYSBsaW5rZWQgb3JnYW5p c2F0aW9uLjwvbGk+Cgk8bGk+4oCmPC9saT4KPC91bD4KCgo8aDIgaWQ9Imluc3RhbGxhdGlv biI+SW5zdGFsbGF0aW9uPC9oMj4KCjxwPlBhc3RlIHRoZSBjb2RlIGludG8gdGhlICA8ZW0+ QWRtaW4g4oC6IFBsdWdpbnM8L2VtPiBwYW5lbCwgaW5zdGFsbCBhbmQgZW5hYmxlIHRoZSBw bHVnaW4uPC9wPgoKCjxoMiBpZD0idGFncyI+VGFnczwvaDI+Cgo8cHJlPjxjb2RlPiZsdDt0 eHA6amNyX2xpbmtfY3VzdG9tIC8mZ3Q7PC9jb2RlPjwvcHJlPgoKPHA+T3V0cHV0cyB0aGUg Y29udGVudCBvZiB0aGUgbGluayBjdXN0b20gZmllbGQuPC9wPgoKPGgzPlRhZyBhdHRyaWJ1 dGVzPC9oMz4KCjxwPjxzdHJvbmc+ZXNjYXBlPC9zdHJvbmc+PGJyIC8+CkVzY2FwZSA8c3Bh biBjbGFzcz0iY2FwcyI+SFRNTDwvc3Bhbj4gZW50aXRpZXMgc3VjaCBhcyA8Y29kZT4mbHQ7 PC9jb2RlPiwgPGNvZGU+Jmd0OzwvY29kZT4gYW5kIDxjb2RlPiZhbXA7PC9jb2RlPiBwcmlv ciB0byBlY2hvaW5nIHRoZSBmaWVsZCBjb250ZW50cy48YnIgLz4KRXhhbXBsZTogVXNlIDxj b2RlPmVzY2FwZT0mcXVvdDsmcXVvdDs8L2NvZGU+IHRvIHN1cHByZXNzIGNvbnZlcnNpb24u IERlZmF1bHQ6IDxjb2RlPmh0bWw8L2NvZGU+LjwvcD4KCgo8aDIgaWQ9ImV4YW1wbGVzIj5F eGFtcGxlPC9oMj4KCjxwPlByb2R1Y2UgYSBsaXN0IG9mIGxpbmtlZCBwYXJ0bmVyIGxvZ29z IChmcm9tIGxpbmsgYXNzaWduZWQgdG8gdGhlIGxpbmsgY2F0ZWdvcnkgJiM4MjIwO3BhcnRu ZXJzJiM4MjIxOyk6PC9wPgoKPHByZT48Y29kZT4mbHQ7dHhwOmxpbmtsaXN0IHdyYXB0YWc9 JnF1b3Q7dWwmcXVvdDsgYnJlYWs9JnF1b3Q7bGkmcXVvdDsgY2F0ZWdvcnk9JnF1b3Q7cGFy dG5lcnMmcXVvdDsmZ3Q7CiAgJmx0O2EgaHJlZj0mcXVvdDsmbHQ7dHhwOmxpbmtfdXJsIC8m Z3Q7JnF1b3Q7IHRpdGxlPSZxdW90OyZsdDt0eHA6bGlua19uYW1lIC8mZ3Q7JnF1b3Q7Jmd0 OyZsdDt0eHA6aW1hZ2UgaWQ9JiMzOTsmbHQ7dHhwOmpjcl9saW5rX2N1c3RvbSAvJmd0OyYj Mzk7IC8mZ3Q7Jmx0Oy9hJmd0OwombHQ7L3R4cDpsaW5rbGlzdCZndDs8L2NvZGU+PC9wcmU+ Cgo8cD53aGVuIHRoZSBsaW5rIGN1c3RvbSBmaWVsZCBpcyB1c2VkIHRvIHN0b3JlIHRoZSBJ bWFnZSBJRCMgb2YgdGhlIGxvZ28uPC9wPgoKCjxoMj5DaGFuZ2luZyB0aGUgbGFiZWwgb2Yg dGhlIGN1c3RvbSBmaWVsZDwvaDI+Cgo8cD5UaGUgbmFtZSBvZiBjdXN0b20gZmllbGQgY2Fu IGJlIGNoYW5nZWQgYnkgc3BlY2lmeWluZyBhIG5ldyBsYWJlbCB1c2luZyB0aGUgPGVtPklu c3RhbGwgZnJvbSBUZXh0cGFjazwvZW0+IGZpZWxkIGluIHRoZSA8YSBocmVmPSJodHRwOi8v ZG9jcy50ZXh0cGF0dGVybi5pby9hZG1pbmlzdHJhdGlvbi9sYW5ndWFnZXMtcGFuZWwiPkFk bWluIOKAuiBMYW5ndWFnZXM8L2E+IHBhbmVsLiBFbnRlciB5b3VyIG93biBpbmZvcm1hdGlv biBpbiB0aGUgZm9sbG93aW5nIHBhdHRlcm4gYW5kIGNsaWNrIDxzdHJvbmc+VXBsb2FkPC9z dHJvbmc+OjwvcD4KCjxwcmU+PGNvZGU+I0BhZG1pbgojQGxhbmd1YWdlIGVuLWdiCmpjcl9s aW5rX2N1c3RvbSA9Jmd0OyBZb3VyIGxhYmVsPC9jb2RlPjwvcHJlPgoKPHA+cmVwbGFjaW5n IDxjb2RlPmVuLWdiPC9jb2RlPiB3aXRoIHlvdXIgb3duIGxhbmd1YWdlIGFuZCA8Y29kZT5Z b3VyIGxhYmVsPC9jb2RlPiB3aXRoIHlvdXIgb3duIGRlc2lyZWQgbGFiZWwuPC9wPgoKCjxo MiBpZD0iZGVpbnN0YWxsYXRpb24iPkRlLWluc3RhbGxhdGlvbjwvaDI+Cgo8cD5UaGUgcGx1 Z2luIGNsZWFucyB1cCBhZnRlciBpdHNlbGY6IGRlaW5zdGFsbGluZyB0aGUgcGx1Z2luIHJl bW92ZXMgdGhlIGV4dHJhIGNvbHVtbiBmcm9tIHRoZSBkYXRhYmFzZS4gVG8gc3RvcCB1c2lu ZyB0aGUgcGx1Z2luIGJ1dCBrZWVwIHRoZSBkYXRhYmFzZSB0YWJsZXMsIGp1c3QgZGlzYWJs ZSAoZGVhY3RpdmF0ZSkgdGhlIHBsdWdpbiBidXQgZG9uJiM4MjE3O3QgZGVsZXRlIGl0Ljwv cD4KCgo8aDIgaWQ9ImNoYW5nZWxvZyI+Q2hhbmdlbG9nPC9oMj4KCjxoMz5WZXJzaW9uIDAu MS4xIOKAkyAyMDE2LzEyLzA1PC9oMz4KCjx1bD4KCTxsaT5SZW1lZHkgdGFibGUgbm90IGJl aW5nIGNyZWF0ZWQgb24gaW5zdGFsbDwvbGk+CjwvdWw+Cgo8aDM+VmVyc2lvbiAwLjEg4oCT IDIwMTYvMDMvMDQ8L2gzPgoKPHVsPgoJPGxpPkZpcnN0IHJlbGVhc2U8L2xpPgo8L3VsPgoK CjxoMiBpZD0iY3JlZGl0cyI+Q3JlZGl0czwvaDI+Cgo8cD5Sb2JlcnQgV2V0emxtYXly4oCZ cyA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcndldHpsbWF5ci93ZXRfcHJvZmlsZSI+ d2V0X3Byb2ZpbGU8L2E+IHBsdWdpbiBmb3IgdGhlIHN0YXJ0aW5nIHBvaW50LCBhbmQgZnVy dGhlciBleGFtcGxlcyBieSA8YSBocmVmPSJodHRwOi8vd3d3LnN0ZWZkYXdzb24uY29tIj5T dGVmIERhd3NvbjwvYT4gYW5kIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9nb2NvbSI+ SnVra2EgU3ZhaG48L2E+LjwvcD4iO3M6MzoiY3NzIjtzOjA6IiI7czo0OiJjb2RlIjtzOjI2 NzY6ImNsYXNzIGpjcl9saW5rX2N1c3RvbQp7CgkvKioKCSAqIEluaXRpYWxpc2UuCgkgKi8K CSBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCgl7CgkJcmVnaXN0ZXJfY2FsbGJhY2soYXJyYXko X19DTEFTU19fLCAnbGlmZWN5Y2xlJyksICdwbHVnaW5fbGlmZWN5Y2xlLmpjcl9saW5rX2N1 c3RvbScpOwoJCXJlZ2lzdGVyX2NhbGxiYWNrKGFycmF5KF9fQ0xBU1NfXywgJ3VpJyksICds aW5rX3VpJywgJ2V4dGVuZF9kZXRhaWxfZm9ybScpOwoJCXJlZ2lzdGVyX2NhbGxiYWNrKGFy cmF5KF9fQ0xBU1NfXywgJ3NhdmUnKSwgJ2xpbmsnLCAnbGlua19zYXZlJyk7Cgl9CgogIC8q KgogICAqIEFkZCBhbmQgcmVtb3ZlIGN1c3RvbSBmaWVsZCBmcm9tIHR4cF9saW5rIHRhYmxl LgogICAqCiAgICogQHBhcmFtICRldmVudCBzdHJpbmcKICAgKiBAcGFyYW0gJHN0ZXAgc3Ry aW5nICBUaGUgbGlmZWN5Y2xlIHBoYXNlIG9mIHRoaXMgcGx1Z2luCiAgICovCiAgcHVibGlj IHN0YXRpYyBmdW5jdGlvbiBsaWZlY3ljbGUoJGV2ZW50LCAkc3RlcCkKICB7CiAgICAgIHN3 aXRjaCAoJHN0ZXApIHsKICAgICAgICAgIGNhc2UgJ2VuYWJsZWQnOgogICAgICAgICAgICAg IGJyZWFrOwogICAgICAgICAgY2FzZSAnZGlzYWJsZWQnOgogICAgICAgICAgICAgIGJyZWFr OwogICAgICAgICAgY2FzZSAnaW5zdGFsbGVkJzoKICAgICAgICAgICAgICBzYWZlX2FsdGVy KAogICAgICAgICAgICAgICAgJ3R4cF9saW5rJywKICAgICAgICAgICAgICAgICdBREQgQ09M VU1OIGpjcl9saW5rX2N1c3RvbSBWQVJDSEFSKDI1NSkgTlVMTCBBRlRFUiBhdXRob3InCiAg ICAgICAgICAgICAgKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2Rl bGV0ZWQnOgogICAgICAgICAgICAgIHNhZmVfYWx0ZXIoCiAgICAgICAgICAgICAgICAndHhw X2xpbmsnLAogICAgICAgICAgICAgICAgJ0RST1AgQ09MVU1OIGpjcl9saW5rX2N1c3RvbScK ICAgICAgICAgICAgICApOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIHJl dHVybjsKICB9CgoJLyoqCgkgKiBQYWludCBhZGRpdGlvbmFsIGZpZWxkcyBmb3IgbGluayBj dXN0b20gZmllbGQKCSAqCgkgKiBAcGFyYW0gJGV2ZW50IHN0cmluZwoJICogQHBhcmFtICRz dGVwIHN0cmluZwoJICogQHBhcmFtICRkdW1teSBzdHJpbmcKCSAqIEBwYXJhbSAkcnMgYXJy YXkgVGhlIGN1cnJlbnQgbGluaydzIGRhdGEKCSAqIEByZXR1cm4gc3RyaW5nCgkgKi8KCXB1 YmxpYyBzdGF0aWMgZnVuY3Rpb24gdWkoJGV2ZW50LCAkc3RlcCwgJGR1bW15LCAkcnMpCgl7 CgkJZXh0cmFjdChsQXR0cyhhcnJheSgKCQkJJ2pjcl9saW5rX2N1c3RvbScgPT4gJycKCQkp LCAkcnMsIDApKTsKCgkJcmV0dXJuCgkJCWlucHV0TGFiZWwoJ2pjcl9saW5rX2N1c3RvbScs IGZJbnB1dCgndGV4dCcsICdqY3JfbGlua19jdXN0b20nLCAkamNyX2xpbmtfY3VzdG9tLCAn JywgJycsICcnLCBJTlBVVF9SRUdVTEFSLCAnJywgJ2pjcl9saW5rX2N1c3RvbScpLCAnamNy X2xpbmtfY3VzdG9tJykubjsKCX0KCgkvKioKCSAqIFNhdmUgYWRkaXRpb25hbCBsaW5rIGN1 c3RvbSBmaWVsZHMKCSAqCgkgKiBAcGFyYW0gJGV2ZW50IHN0cmluZwoJICogQHBhcmFtICRz dGVwIHN0cmluZwoJICovCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNhdmUoJGV2ZW50LCAk c3RlcCkKCXsKCQlleHRyYWN0KGRvU2xhc2gocHNhKGFycmF5KCdqY3JfbGlua19jdXN0b20n LCAnaWQnKSkpKTsKCQkkaWQgPSBhc3NlcnRfaW50KCRpZCk7CgkJc2FmZV91cGRhdGUoJ3R4 cF9saW5rJywKCQkgICJqY3JfbGlua19jdXN0b20gPSAnJGpjcl9saW5rX2N1c3RvbSciLAoJ CQkiaWQgPSAkaWQiCgkJKTsKCX0KfQoKaWYgKHR4cGludGVyZmFjZSA9PT0gJ2FkbWluJykg ewoKICAgIG5ldyBqY3JfbGlua19jdXN0b207Cgp9IGVsc2VpZiAodHhwaW50ZXJmYWNlID09 PSAncHVibGljJykgewoKICAgIGlmIChjbGFzc19leGlzdHMoJ1xUZXh0cGF0dGVyblxUYWdc UmVnaXN0cnknKSkgewogICAgICAgIFR4cDo6Z2V0KCdcVGV4dHBhdHRlcm5cVGFnXFJlZ2lz dHJ5JykKICAgICAgICAgICAgLT5yZWdpc3RlcignamNyX2xpbmtfY3VzdG9tJyk7CiAgICB9 Cgp9CgogIC8qKgogICAqIFB1YmxpYyB0YWc6IE91dHB1dCBjdXN0b20gbGluayBmaWVsZAog ICAqIEBwYXJhbSAgc3RyaW5nICRhdHRzW2VzY2FwZV0gQ29udmVydCBzcGVjaWFsIGNoYXJh Y3RlcnMgdG8gSFRNTCBlbnRpdGllcy4KICAgKiBAcmV0dXJuIHN0cmluZyAgY3VzdG9tIGZp ZWxkIG91dHB1dAogICAqIDxjb2RlPgogICAqICAgICAgICA8dHhwOmpjcl9saW5rX2N1c3Rv bSBlc2NhcGU9Imh0bWwiIC8+CiAgICogPC9jb2RlPgogICAqLwoKICAgIGZ1bmN0aW9uIGpj cl9saW5rX2N1c3RvbSgkYXR0cykKICAgIHsKICAgICAgICBnbG9iYWwgJHRoaXNsaW5rOwoK ICAgICAgICBhc3NlcnRfbGluaygpOwoKICAgICAgICBleHRyYWN0KGxBdHRzKGFycmF5KAog ICAgICAgICAgICAnZXNjYXBlJyA9PiAnaHRtbCcsCiAgICAgICAgKSwgJGF0dHMpKTsKCiAg ICAgICAgcmV0dXJuICgkZXNjYXBlID09ICdodG1sJykKICAgICAgICAgICAgPyB0eHBzcGVj aWFsY2hhcnMoJHRoaXNsaW5rWydqY3JfbGlua19jdXN0b20nXSkKICAgICAgICAgICAgOiAk dGhpc2xpbmtbJ2pjcl9saW5rX2N1c3RvbSddOwogICAgfSI7czozOiJtZDUiO3M6MzI6IjZh NDA4ZWQwYThmZTgwYTRiM2NmNWEyOGI5ZWQwOGI0Ijt9