# Name: smd_where_used v0.1 # Type: Admin/Client side plugin # Find what forms/pages/articles/plugins/text have been used where in your design # Author: Stef Dawson # URL: http://stefdawson.com/ # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YTo5OntzOjQ6Im5hbWUiO3M6MTQ6InNtZF93aGVyZV91c2VkIjtzOjY6ImF1dGhvciI7czox MToiU3RlZiBEYXdzb24iO3M6MTA6ImF1dGhvcl91cmkiO3M6MjI6Imh0dHA6Ly9zdGVmZGF3 c29uLmNvbS8iO3M6NzoidmVyc2lvbiI7czozOiIwLjEiO3M6MTE6ImRlc2NyaXB0aW9uIjtz Ojc5OiJGaW5kIHdoYXQgZm9ybXMvcGFnZXMvYXJ0aWNsZXMvcGx1Z2lucy90ZXh0IGhhdmUg YmVlbiB1c2VkIHdoZXJlIGluIHlvdXIgZGVzaWduIjtzOjQ6ImNvZGUiO3M6Mzg4ODoiLy8g LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KaWYgKEB0eHBpbnRlcmZhY2UgPT0gJ2FkbWluJykgew0KCWFkZF9wcml2cygn c21kX3d1JywnMSwyJyk7DQoNCgkvLyBFeHRlbnNpb25zIHRhYg0KCXJlZ2lzdGVyX3RhYign ZXh0ZW5zaW9ucycsICdzbWRfd3UnLCBzbWRfd3VfZ1R4dCgnc21kX3d1JykpOw0KCXJlZ2lz dGVyX2NhbGxiYWNrKCdzbWRfd3UnLCAnc21kX3d1Jyk7DQp9DQoNCi8vIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmZ1 bmN0aW9uIHNtZF93dSgkZXZlbnQsICRzdGVwKSB7DQoJaWYoISRzdGVwIG9yICFpbl9hcnJh eSgkc3RlcCwgYXJyYXkoDQoJCQknc21kX3d1X3NlYXJjaCcsDQoJCSkpKSB7DQoJCXNtZF93 dV9zaG93Zm9ybSgnJyk7DQoJfSBlbHNlICRzdGVwKCk7DQp9DQoNCi8vIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmZ1 bmN0aW9uIHNtZF93dV9zaG93Zm9ybSgkbWVzc2FnZSwgJHRlcm09JycsICRzZWw9YXJyYXko KSkgew0KCXBhZ2V0b3Aoc21kX3d1X2dUeHQoJ3NtZF93dScpLCRtZXNzYWdlKTsNCgkkYnRu U2VhcmNoID0gZklucHV0KCdzdWJtaXQnLCAnc21kX3d1X3NlYXJjaCcsIGdUeHQoJ3NlYXJj aCcpLCAnc21hbGxlcmJveCcpLnNJbnB1dCgnc21kX3d1X3NlYXJjaCcpOw0KCSRidG5TdHls ZSA9ICcgc3R5bGU9ImJvcmRlcjowO2hlaWdodDoyNXB4Iic7DQoJJHBsYWNlID0gYXJyYXko J3BhZ2VzJywnZm9ybXMnLCdhcnRpY2xlcycpOw0KCSRzZWwgPSAoZW1wdHkoJHNlbCkpID8g JHBsYWNlIDogJHNlbDsNCg0KCWVjaG8gJzxmb3JtIG1ldGhvZD0icG9zdCIgbmFtZT0ic21k X3d1X2Zvcm0iPic7DQoJZWNobyBzdGFydFRhYmxlKCdsaXN0Jyk7DQoJZWNobyB0cihmTGFi ZWxDZWxsKHNtZF93dV9nVHh0KCdzZWFyY2hfbGJsJykpIC4gdGRjcyhmSW5wdXQoJ3RleHQn LCAnc2VhcmNoX2ZvcicsIHN0cmlwc2xhc2hlcygkdGVybSksICcnLCAnJywgJycsIDMwKSwg MykgLiB0ZGEoJGJ0blNlYXJjaCwgJGJ0blN0eWxlKSk7DQoJJG91dCA9ICcnOw0KCWZvcmVh Y2ggKCRwbGFjZSBhcyAkaGVyZSkgew0KCQkkb3V0IC49IGZMYWJlbENlbGwoZ1R4dCgkaGVy ZSkgLiBjaGVja2JveCgncGxhY2VzW10nLCAkaGVyZSwgaW5fYXJyYXkoJGhlcmUsJHNlbCkp KTsNCgl9DQoJZWNobyB0cihmTGFiZWxDZWxsKHNtZF93dV9nVHh0KCdzZWFyY2hfd2hlcmVf bGJsJykpIC4gJG91dCk7DQoJZWNobyBlbmRUYWJsZSgpOw0KCWVjaG8gJzwvZm9ybT4nOw0K fQ0KDQoNCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCmZ1bmN0aW9uIHNtZF93dV9zZWFyY2goKSB7DQoJZXh0cmFj dChkb1NsYXNoKGdwc2EoYXJyYXkoJ3NlYXJjaF9mb3InKSkpKTsNCgkkcGxhY2VzID0gZ3Bz KCdwbGFjZXMnKTsNCgkkcGxhY2VzID0gaXNfYXJyYXkoJHBsYWNlcykgPyAkcGxhY2VzIDog YXJyYXkoKTsNCglzbWRfd3Vfc2hvd2Zvcm0oJycsICRzZWFyY2hfZm9yLCAkcGxhY2VzKTsN Cg0KCS8vIEVudHJpZXMgaW4gdGhpcyBhcnJheSBhcmU6DQoJLy8gIFRhYmxlIHRvIHNlYXJj aA0KCS8vICBDb2x1bW4gdG8gc2VhcmNoDQoJLy8gIENvbHVtbiB0byByZXR1cm4NCgkvLyAg SGVhZGluZyB0byBkaXNwbGF5IGlmIHJlc3VsdHMgZm91bmQNCgkvLyAgRXZlbnQgb2YgZGVz dGluYXRpb24gVVJMDQoJLy8gIFN0ZXAgb2YgZGVzdGluYXRpb24gVVJMDQoJLy8gIEFkZGl0 aW9uYWwgVVJMIHZhcg0KCS8vICBBZGRpdGlvbmFsIFVSTCB2YXIgcmVwbGFjZW1lbnQNCgkk cGxhY2VUYWJsZSA9IGFycmF5KA0KCQkncGFnZXMnID0+IGFycmF5KCd0eHBfcGFnZScsICd1 c2VyX2h0bWwnLCAnbmFtZScsIGdUeHQoJ3BhZ2VzJyksICdwYWdlJywgJycsICduYW1lJywg J3tuYW1lfScpLA0KCQknZm9ybXMnID0+IGFycmF5KCd0eHBfZm9ybScsICdmb3JtJywgJ25h bWUnLCBnVHh0KCdmb3JtcycpLCAnZm9ybScsICdmb3JtX2VkaXQnLCAnbmFtZScsICd7bmFt ZX0nKSwNCgkJJ2FydGljbGVzJyA9PiBhcnJheSgndGV4dHBhdHRlcm4nLCAnQm9keSxFeGNl cnB0JywgJ0lELHRpdGxlJywgZ1R4dCgnYXJ0aWNsZXMnKSwgJ2FydGljbGUnLCAnZWRpdCcs ICdJRCcsICd7SUR9JyksDQoJKTsNCg0KCSRycyA9IGFycmF5KCk7DQoJZWNobyBzdGFydFRh YmxlKCdsaXN0Jyk7DQoJZWNobyB0cih0ZGNzKHRhZyhnVHh0KCdzZWFyY2hfcmVzdWx0cycp LCAnaDMnKSwgMykpOw0KCSRjb2xIZWFkID0gYXJyYXkoKTsNCgkkY29sQm9keSA9IGFycmF5 KCk7DQoNCglpZiAoJHNlYXJjaF9mb3IpIHsNCgkJZm9yZWFjaCAoJHBsYWNlcyBhcyAkcGxh Y2UpIHsNCgkJCSRjcm93ID0gJHBsYWNlVGFibGVbJHBsYWNlXTsNCgkJCSR3aGVyZSA9IGFy cmF5KCk7DQoJCQkkd2l0ZW1zID0gZG9fbGlzdCgkY3Jvd1sxXSk7DQoJCQlmb3JlYWNoICgk d2l0ZW1zIGFzICRpdGVtKSB7DQoJCQkJJHdoZXJlW10gPSAkaXRlbS4iIGxpa2UgJyUkc2Vh cmNoX2ZvciUnIjsNCgkJCX0NCgkJCSRycyA9IHNhZmVfcm93cygkY3Jvd1syXSwgJGNyb3db MF0sICcoJy5qb2luKCIgT1IgIiwgJHdoZXJlKS4nKScpOw0KCQkJJGNvbEhlYWRbXSA9IHRk KHN0cm9uZygkY3Jvd1szXSkpOw0KCQkJaWYgKCRycykgew0KCQkJCSRvdXQgPSAnJzsNCgkJ CQkkb3V0IC49ICc8dWw+JzsNCgkJCQlmb3JlYWNoICgkcnMgYXMgJHJvdykgew0KCQkJCQkk b3AgPSAnJzsNCgkJCQkJJGxpc3QgPSBkb19saXN0KCRjcm93WzJdKTsNCgkJCQkJZm9yZWFj aCAoJGxpc3QgYXMgJGNvbCkgew0KCQkJCQkJJGZyb20gPSAneycuJGNvbC4nfSc7DQoJCQkJ CQlpZiAoc3RycG9zKCRjcm93WzddLCAkZnJvbSkgIT09IGZhbHNlKSB7DQoJCQkJCQkJJHZh cnMgPSBqb2luX3FzKGFycmF5KCJldmVudCIgPT4gJGNyb3dbNF0sICJzdGVwIiA9PiAkY3Jv d1s1XSwgJGNyb3dbNl0gPT4gc3RydHIoJGNyb3dbN10sIGFycmF5KCRmcm9tID0+ICRyb3db JGNvbF0pKSkpOw0KCQkJCQkJCSRvcCAuPSAnPGEgaHJlZj0iaW5kZXgucGhwJy4kdmFycy4n Ij4nLiRyb3dbJGNvbF0uJzwvYT4gJzsNCgkgICAgICAgICAgICAgICB9IGVsc2Ugew0KCQkJ CQkJCSRvcCAuPSAkcm93WyRjb2xdLiIgIjsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQkkb3V0 IC49ICc8bGk+Jy4kb3AuJzwvbGk+JzsNCgkJCQl9DQoJCQkJJG91dCAuPSAnPC91bD4nOw0K CQkJCSRjb2xCb2R5W10gPSB0ZCgkb3V0KTsNCgkJCX0gZWxzZSB7DQoJCQkJJGNvbEJvZHlb XSA9IHRkKGdUeHQoJ25vX3Jlc3VsdHNfZm91bmQnKSk7DQoJCQl9DQoJCX0NCgkJZWNobyB0 cihqb2luKCIgIiwgJGNvbEhlYWQpKTsNCgkJZWNobyB0cihqb2luKCIgIiwgJGNvbEJvZHkp KTsNCgl9DQoJZWNobyBlbmRUYWJsZSgpOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQovLyBQbHVnaW4t c3BlY2lmaWMgcmVwbGFjZW1lbnQgc3RyaW5ncyAtIGxvY2FsaXNlIGFzIHJlcXVpcmVkDQov LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQpmdW5jdGlvbiBzbWRfd3VfZ1R4dCgkd2hhdCwgJGF0dHMgPSBhcnJheSgp KSB7DQoJJGxhbmcgPSBhcnJheSgNCgkJJ3NtZF93dScgPT4gJ1doZXJlIHVzZWQnLA0KCQkn c2VhcmNoX2xibCcgPT4gJ0ZpbmQ6JywNCgkJJ3NlYXJjaF93aGVyZV9sYmwnID0+ICdMb29r IGluOicsDQoJKTsNCglyZXR1cm4gc3RydHIoJGxhbmdbJHdoYXRdLCAkYXR0cyk7DQp9Ijtz OjQ6InR5cGUiO3M6MToiMSI7czo0OiJoZWxwIjtzOjI4NDk6Igk8cD48ZGl2IGlkPSJzbWRf aGVscCI+PC9wPgoKCTxoMT5zbWRfd2hlcmVfdXNlZDwvaDE+CgoJPHA+UmVhbGx5IHNpbXBs ZSBhZG1pbi1zaWRlIHBsdWdpbiB0byBoZWxwIGZpbmQgd2hhdCB5b3UgbmVlZCB0byBlZGl0 L2RlbGV0ZS4gSWYgeW91IGhhdmUgYSB0b25uZSBvZiBmb3JtcyBvciBwYWdlcyBhbmQgd2Fu dCB0byB0aWR5IHN0dWZmIHVwIGl0IGNhbiBiZSBhIGJpdCBvZiBhIHBhaW4gdG8gZmluZCB3 aGF0JiM4MjE3O3MgYWN0dWFsbHkgaW4gdXNlLjwvcD4KCgk8cD5TbyB1c2UgdGhpcyBwbHVn aW4gdG8gc2VhcmNoIHlvdXIgcGFnZXMsIGZvcm1zIG9yIGFydGljbGVzIGZvciByZWZlcmVu Y2VzIHRvIHBsdWdpbnMsIG9yIG90aGVyIGZvcm1zIG9yIGV2ZW4ganVzdCBwbGFpbiB0ZXh0 LjwvcD4KCgk8aDIgY2xhc3M9ImF1dGhvciI+QXV0aG9yPC9oMj4KCgk8cD48YSBocmVmPSJo dHRwOi8vc3RlZmRhd3Nvbi5jb20vY29tbWVudEZvcm0iPlN0ZWYgRGF3c29uPC9hPjwvcD4K Cgk8aDIgY2xhc3M9Imluc3RhbGwiPkluc3RhbGxhdGlvbiAvIFVuaW5zdGFsbGF0aW9uPC9o Mj4KCgk8cD5Eb3dubG9hZCB0aGUgcGx1Z2luIGZyb20gZWl0aGVyIDxhIGhyZWY9Imh0dHA6 Ly90ZXh0cGF0dGVybi5vcmcvcGx1Z2lucy85ODQvc21kX3doZXJlX3VzZWQiPnRleHRwYXR0 ZXJuLm9yZzwvYT4sIG9yIHRoZSA8YSBocmVmPSJodHRwOi8vc3RlZmRhd3Nvbi5jb20vc3ci PnNvZnR3YXJlIHBhZ2U8L2E+LCBwYXN0ZSB0aGUgY29kZSBpbnRvIHRoZSA8c3BhbiBjbGFz cz0iY2FwcyI+VFhQPC9zcGFuPiBBZG1pbiAtJmd0OyBQbHVnaW5zIHBhbmUsIGluc3RhbGwg YW5kIGVuYWJsZSB0aGUgcGx1Z2luLjwvcD4KCgk8cD5Vbmluc3RhbGwgYnkgc2ltcGx5IGRl bGV0aW5nIHRoZSBwbHVnaW4gZnJvbSB0aGUgQWRtaW4tJmd0O1BsdWdpbnMgcGFuZS48L3A+ CgoJPGgyIGNsYXNzPSJ1c2FnZSI+VXNhZ2U8L2gyPgoKCTxwPlZpc2l0IHRoZSBFeHRlbnNp b25zIHRhYiBhbmQgQ2xpY2sgJiM4MjE2O1doZXJlIHVzZWQmIzgyMTc7IHRvIGFjY2VzcyB0 aGUgc2VhcmNoIGZvcm0uIFR5cGUgc29tZSBzdHVmZiB0byBmaW5kLCBzZWxlY3Qgd2hlcmUg eW91IHdhbnQgdG8gbG9vayBhbmQgaGl0ICYjODIxNjtTZWFyY2gmIzgyMTc7IG9yIHByZXNz IEVudGVyLiBZb3VyIHJlcXVlc3RlZCBsb2NhdGlvbnMgd2lsbCBiZSBzZWFyY2hlZCBmb3Ig dGhhdCB0ZXJtIGFuZCB0aGUgcmVzdWx0cyB0YWJ1bGF0ZWQsIHdpdGggaHlwZXJsaW5rcyB0 byB0aGUgb2ZmZW5kaW5nIGl0ZW1zIHNvIHlvdSBjYW4gcXVpY2tseSBlZGl0IHRoZW0uPC9w PgoKCTxwPiYjODIxNjtBcnRpY2xlJiM4MjE3OyBpbiB0aGlzIGNvbnRleHQgc2VhcmNoZXMg Ym90aCBib2R5IGFuZCBleGNlcnB0LjwvcD4KCgk8aDIgY2xhc3M9ImNoYW5nZWxvZyI+Q2hh bmdlbG9nPC9oMj4KCgk8dWw+CgkJPGxpPjE2IEp1biAwOCB8IHYwLjEgfCBJbml0aWFsIHJl bGVhc2U8L2xpPgoJPC91bD4KCgk8cD48L2Rpdj48L3A+CjwhLS0gLS0tIEJFR0lOIFBMVUdJ TiBDU1MgLS0tIC0tPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgojc21kX2hlbHAgeyBsaW5l LWhlaWdodDoxLjMgO30KI3NtZF9oZWxwIGNvZGUgeyBmb250LXdlaWdodDpib2xkOyBmb250 OiAxMDUlLzEzMCUgIkNvdXJpZXIgTmV3IiwgY291cmllciwgbW9ub3NwYWNlOyBiYWNrZ3Jv dW5kLWNvbG9yOiAjRkZGRkNDO30KI3NtZF9oZWxwIGNvZGUuYmxvY2sgeyBmb250LXdlaWdo dDpub3JtYWw7IGJvcmRlcjoxcHggZG90dGVkICM5OTk7IGJhY2tncm91bmQtY29sb3I6ICNm MGU2OGM7IGRpc3BsYXk6YmxvY2s7IG1hcmdpbjoxMHB4IDEwcHggMjBweDsgcGFkZGluZzox MHB4OyB9CiNzbWRfaGVscCBhOmxpbmssICNzbWRfaGVscCBhOnZpc2l0ZWQgeyBjb2xvcjog Ymx1ZTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXItYm90dG9tOiAxcHggc29saWQg Ymx1ZTsgcGFkZGluZy1ib3R0b206MXB4O30KI3NtZF9oZWxwIGE6aG92ZXIsICNzbWRfaGVs cCBhOmFjdGl2ZSB7IGNvbG9yOiBibHVlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRl ci1ib3R0b206IDJweCBzb2xpZCBibHVlOyBwYWRkaW5nLWJvdHRvbToxcHg7fQojc21kX2hl bHAgaDEgeyBjb2xvcjogIzM2OTsgZm9udDogMjBweCBHZW9yZ2lhLCBzYW5zLXNlcmlmOyBt YXJnaW46IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgfQojc21kX2hlbHAgaDIgeyBib3JkZXIt Ym90dG9tOiAxcHggc29saWQgYmxhY2s7IHBhZGRpbmc6MTBweCAwIDA7IGNvbG9yOiAjMzY5 OyBmb250OiAxN3B4IEdlb3JnaWEsIHNhbnMtc2VyaWY7IH0KI3NtZF9oZWxwIGgzIHsgY29s b3I6ICM2OTM7IGZvbnQ6IGJvbGQgMTJweCBBcmlhbCwgc2Fucy1zZXJpZjsgbGV0dGVyLXNw YWNpbmc6IDFweDsgbWFyZ2luOiAxMHB4IDAgMDt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNl O30KI3NtZF9oZWxwIGg0IHsgZm9udDogYm9sZCAxMXB4IEFyaWFsLCBzYW5zLXNlcmlmOyBs ZXR0ZXItc3BhY2luZzogMXB4OyBtYXJnaW46IDEwcHggMCAwIDt0ZXh0LXRyYW5zZm9ybTog dXBwZXJjYXNlOyB9CiNzbWRfaGVscCAuYXR0LW5hbWUgeyBmb250LXdlaWdodDpib2xkOyB9 CiNzbWRfaGVscCAubWFuZCB7IGJhY2tncm91bmQ6I2VlZTsgYm9yZGVyOjFweCBkb3R0ZWQg Izk5OTsgfQojc21kX2hlbHAgdGFibGUge3dpZHRoOjEwMCU7IHRleHQtYWxpZ246Y2VudGVy OyBwYWRkaW5nLWJvdHRvbToxZW07fQojc21kX2hlbHAgdGQsICNzbWRfaGVscCB0aCB7Ym9y ZGVyOjFweCBzb2xpZCAjOTk5OyBwYWRkaW5nOi41ZW0gMDt9Cjwvc3R5bGU+CjwhLS0gLS0t IEVORCBQTFVHSU4gQ1NTIC0tLSAtLT4KIjtzOjM6Im1kNSI7czozMjoiMDQzMmJkNGYxY2Ey M2ZkM2IzZjNmNDViZDE3OTk4NjkiO30=