# Name: rah_uninstaller v0.1 # Type: Admin/Client side plugin # Completely remove rah-plugins from db # Author: Jukka Svahn # URL: http://rahforum.biz # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMTp7czo0OiJuYW1lIjtzOjE1OiJyYWhfdW5pbnN0YWxsZXIiO3M6NjoiYXV0aG9yIjtz OjExOiJKdWtrYSBTdmFobiI7czoxMDoiYXV0aG9yX3VyaSI7czoxOToiaHR0cDovL3JhaGZv cnVtLmJpeiI7czo3OiJ2ZXJzaW9uIjtzOjM6IjAuMSI7czoxMToiZGVzY3JpcHRpb24iO3M6 Mzc6IkNvbXBsZXRlbHkgcmVtb3ZlIHJhaC1wbHVnaW5zIGZyb20gZGIiO3M6NDoiaGVscCI7 czoxODcxOiIJPGgxPnJhaF91bmluc3RhbGxlcjwvaDE+CgoJPHA+QW4gdW5pbnN0YWxsZXIg Zm9yIDxhIGhyZWY9Imh0dHA6Ly9yYWhmb3J1bS5iaXoiPnJhaDwvYT4gcGx1Z2lucy4gV2l0 aCB0aGlzIHRpbnkgPGEgaHJlZj0iaHR0cDovL3d3dy50ZXh0cGF0dGVybi5jb20iPlRleHRw YXR0ZXJuPC9hPiBwbHVnaW4geW91IGNhbiByZW1vdmUgYW55IHJhaCBwbHVnaW4gY29tcGxl dGVseSBmcm9tIHlvdXIgZGF0YWJhc2UuIFJhaF91bmluc3RhbGxlciYjODIxNztzIGpvYiBp cyB0byByZW1vdmUgYWxsIGV4dHJhIGRhdGEgbWFkZSBieSBhIHJhaCBwbHVnaW4sIGZvciBl eGFtcGxlIGV4dHJhIGRiIHRhYmxlcyB0aGF0IHdlcmUgbWFkZSBhbmQgdXNlZCBieSB0aGUg cGx1Z2luLiBUaGUgdW5pbnN0YWxsZXIgc3VwcG9ydHMgYWxsIHN0YWJsZSBhbmQgcHVibGlj IHJhaCBwbHVnaW5zLjwvcD4KCgk8dWw+CgkJPGxpPlZlcnNpb246IDAuMTwvbGk+CgkJPGxp PlVwZGF0ZWQ6IDIwMDkvMDQvMjQgOTo0MCBBTSA8c3BhbiBjbGFzcz0iY2FwcyI+R01UPC9z cGFuPiszPC9saT4KCTwvdWw+CgoJPGgzPlRhYmxlIG9mIENvbnRlbnRzPC9oMz4KCgk8dWw+ CgkJPGxpPjxhIGhyZWY9IiNpbnRyby1hbmQtZGVzY3JpcHRpb24iPkludHJvIGFuZCBkZXNj cmlwdGlvbjwvYT48L2xpPgoJCTxsaT48YSBocmVmPSIjbGlzdC1vZi1mZWF0dXJlcyI+TGlz dCBvZiBmZWF0dXJlczwvYT48L2xpPgoJCTxsaT48YSBocmVmPSIjcmVxdWlyZW1lbnRzIj5S ZXF1aXJlbWVudHM8L2E+PC9saT4KCQk8bGk+PGEgaHJlZj0iI2luc3RhbGxhdGlvbi1hbmQt dXNhZ2UiPkluc3RhbGxhdGlvbiBhbmQgdXNhZ2U8L2E+PC9saT4KCQk8bGk+PGEgaHJlZj0i I2NoYW5nZWxvZyI+Q2hhbmdlbG9nPC9hPjwvbGk+Cgk8L3VsPgoKCTxoMyBpZD0ibGlzdC1v Zi1mZWF0dXJlcyI+TGlzdCBvZiBmZWF0dXJlczwvaDM+CgoJPHVsPgoJCTxsaT5SZW1vdmVz IGFueSByYWggcGx1Z2luIGNvbXBsZXRlbHkgZnJvbSBkYi48L2xpPgoJCTxsaT5ObyBuZWVk IHRvIG5hdmlnYXRlIHNlcGVyYXRlZCB1bmluc3RhbGxlcnMgaW4gZXZlcnkgcGx1Z2luLCBq dXN0IGFuIG9uZSBpbnRlcmZhY2Ugd2hlcmUgeW91IGNhbiB1bmluc3RhbGwgYW55IHBsdWdp bi48L2xpPgoJPC91bD4KCgk8aDMgaWQ9InJlcXVpcmVtZW50cyI+UmVxdWlyZW1lbnRzPC9o Mz4KCgk8dWw+CgkJPGxpPlRleHRwYXR0ZXJuIDQueC54KzwvbGk+CgkJPGxpPjxzcGFuIGNs YXNzPSJjYXBzIj5QSFA8L3NwYW4+IDQuMy4wPC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImNh cHMiPlRYUDwvc3Bhbj4gZGImIzgyMTc7cyBNeVNRTCB1c2VyIHdpdGggPGNvZGU+RFJPUDwv Y29kZT4gcGVybWlzc2lvbnMuPC9saT4KCTwvdWw+CgoJPGgzIGlkPSJpbnN0YWxsYXRpb24t YW5kLXVzYWdlIj5JbnN0YWxsYXRpb24gYW5kIHVzYWdlPC9oMz4KCgk8cD5UaGUgZ2VuZXJh bCBiZWhhdmlvciBzdGFuZHM6IHBhc3RlIHBsdWdpbiBjb2RlIHRvIHRoZSBwbHVnaW4gaW5z dGFsbGVyIHRleHRhcmVhIGFuZCBydW4gdGhlIGF1dG9tYXRpYyBzZXR1cC4gVGhlbiBqdXN0 IGFjdGl2YXRlIHRoZSBwbHVnaW4gYW5kIHlvdSBhcmUgcmVhZHkgdG8gdXNlIHRoZSBmdW5j dGlvbmFsaXRpZXMuPC9wPgoKCTxwPllvdSBjYW4gdW5pbnN0YWxsIHJhaCBwbHVnaW5zIGZy b20gYW4gaW50ZXJmYWNlIGxvY2F0ZWQgdW5kZXIgVGV4dHBhdHRlcm4gJmd0OyBFeHRlbnNp b25zICZndDsgUmFoJiM4MjE3O3MgVW5pbnN0YWxsZXIuPC9wPgoKCTxoMyBpZD0iY2hhbmdl bG9nIj5DaGFuZ2Vsb2c8L2gzPgoKCTxwPjxzdHJvbmc+VmVyc2lvbiAwLjE8L3N0cm9uZz48 L3A+CgoJPHVsPgoJCTxsaT5GaXJzdCByZWxlYXNlLjwvbGk+Cgk8L3VsPiI7czo0OiJjb2Rl IjtzOjQ3MTY6IgkjIyMjIyMjIyMjIyMjIyMjIyMNCgkjDQoJIwlyYWhfdW5pbnN0YWxsZXIt cGx1Z2luIGZvciBUZXh0cGF0dGVybg0KCSMJdmVyc2lvbiAwLjENCgkjCWJ5IEp1a2thIFN2 YWhuDQoJIwlodHRwOi8vcmFoZm9ydW0uYml6DQoJIw0KCSMjIyMjIyMjIyMjIyMjIyMjIyMN Cg0KCWlmIChAdHhwaW50ZXJmYWNlID09ICdhZG1pbicpIHsNCgkJYWRkX3ByaXZzKCdyYWhf dW5pbnN0YWxsZXInLCAnMSwyJyk7DQoJCXJlZ2lzdGVyX3RhYigiZXh0ZW5zaW9ucyIsICJy YWhfdW5pbnN0YWxsZXIiLCAiUmFoJ3MgVW5pbnN0YWxsZXIiKTsNCgkJcmVnaXN0ZXJfY2Fs bGJhY2soInJhaF91bmluc3RhbGxlciIsICJyYWhfdW5pbnN0YWxsZXIiKTsNCgl9DQoNCglm dW5jdGlvbiByYWhfdW5pbnN0YWxsZXIoKSB7DQoJCWdsb2JhbCAkc3RlcDsNCgkJcmVxdWly ZV9wcml2cygncmFoX3VuaW5zdGFsbGVyJyk7DQoJCXJhaF9wbHVnaW5fZG93bmxvYWRfaW5z dGFsbCgpOw0KCQlpZihpbl9hcnJheSgkc3RlcCxhcnJheSgNCgkJCSdyYWhfdW5pbnN0YWxs ZXJfY29uZmlybScsDQoJCQkncmFoX3VuaW5zdGFsbGVyX3VuaW5zdGFsbCcNCgkJKSkpICRz dGVwKCk7DQoJCWVsc2UgcmFoX3VuaW5zdGFsbGVyX2xpc3QoKTsNCgl9DQoNCglmdW5jdGlv biByYWhfdW5pbnN0YWxsZXJfbGlzdCgkbWVzc2FnZT0nJykgew0KCQlwYWdldG9wKCdSYWhc J3MgVW5pbnN0YWxsZXInLCRtZXNzYWdlKTsJCQ0KCQkkcnMgPSBzYWZlX3Jvd3Nfc3RhcnQo DQoJCQknbmFtZScsDQoJCQkndHhwX3BsdWdpbicsDQoJCQkiU1VCU1RSSU5HKG5hbWUsMSw0 KSA9ICdyYWhfJyBvcmRlciBieSBuYW1lIGFzYyINCgkJKTsNCgkJaWYgKG51bVJvd3MoJHJz KSA+IDApew0KCQkJZWNobyANCgkJCQkJbi4nCTxmb3JtIG1ldGhvZD0iZ2V0IiBhY3Rpb249 ImluZGV4LnBocCIgc3R5bGU9IndpZHRoOjk1MHB4O21hcmdpbjowIGF1dG87Ij4nLm4uDQoJ CQkJCScJCTxoMT48c3Ryb25nPnJhaF91bmluc3RhbGxlcjwvc3Ryb25nPiB8IENsZWFyIGRi IGZyb20gcGx1Z2lucyBvZiByYWg8L2gxPicubi4NCgkJCQkJJwkJPHA+JiMxODc7IDxhIGhy ZWY9Ij9ldmVudD1wbHVnaW4mYW1wO3N0ZXA9cGx1Z2luX2hlbHAmYW1wO25hbWU9cmFoX3Vu aW5zdGFsbGVyIj5Eb2N1bWVudGF0aW9uPC9hPjwvcD4nLm4uDQoJCQkJCScJCTxmaWVsZHNl dCBzdHlsZT0icGFkZGluZzoyMHB4O21hcmdpbjoyMHB4IDA7Ij4nLm4uDQoJCQkJCScJCQk8 bGVnZW5kPlVuaW5zdGFsbCBzZWxlY3RlZCBwbHVnaW48L2xlZ2VuZD4nLm4uDQoJCQkJCScJ CQk8c2VsZWN0IG5hbWU9InJhaF91bmluc3RhbGxlcl9uYW1lIiBzdHlsZT0id2lkdGg6NDAw cHg7Ij4nLm4uDQoJCQkJCScJCQkJPG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3QuLi48L29wdGlv bj4nLm47DQoJCQl3aGlsZSAoJGEgPSBuZXh0Um93KCRycykpew0KCQkJCWV4dHJhY3QoJGEp Ow0KCQkJCWVjaG8gDQoJCQkJCScJCQkJPG9wdGlvbiB2YWx1ZT0iJy5odG1sc3BlY2lhbGNo YXJzKCRuYW1lKS4nIj4nLmh0bWxzcGVjaWFsY2hhcnMoJG5hbWUpLic8L29wdGlvbj4nLm47 DQoJCQl9DQoJCQllY2hvIA0KCQkJCQknCQkJPC9zZWxlY3Q+Jy5uLg0KCQkJCQknCQkJPGlu cHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9InNtYWxsZXJib3giIHZhbHVlPSJVbmluc3RhbGwi IC8+Jy5uLg0KCQkJCQknCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZXZlbnQiIHZh bHVlPSJyYWhfdW5pbnN0YWxsZXIiIC8+Jy5uLg0KCQkJCQknCQkJPGlucHV0IHR5cGU9Imhp ZGRlbiIgbmFtZT0ic3RlcCIgdmFsdWU9InJhaF91bmluc3RhbGxlcl9jb25maXJtIiAvPicu bi4NCgkJCQkJJwkJPC9maWVsZHNldD4nLm4uDQoJCQkJCScJPC9mb3JtPicubjsNCgkJfQ0K CX0NCgkNCglmdW5jdGlvbiByYWhfdW5pbnN0YWxsZXJfdGFibGVzKCRuYW1lPScnKSB7DQoJ CSR0YWJsZSA9IGFycmF5KCk7DQoJCSRuYW1lID0gc2FmZV9wZngoJG5hbWUpOw0KCQkkZ2V0 ID0gc3RybGVuKCRuYW1lKTsNCgkJJHJzID0gc2FmZV9xdWVyeSgic2hvdyB0YWJsZXMiKTsN CgkJaWYgKG51bVJvd3MoJHJzKSA+IDApew0KCQkJd2hpbGUgKCRhID0gbmV4dFJvdygkcnMp KXsNCgkJCQlpZihpc19hcnJheSgkYSkpIHsNCgkJCQkJJHJvdyA9IGltcGxvZGUoJycsJGEp Ow0KCQkJCQlpZihzdWJzdHIoJHJvdywwLCRnZXQpID09ICRuYW1lKQ0KCQkJCQkJJHRhYmxl W10gPSAkcm93Ow0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJHRhYmxlOw0KCX0NCg0K CWZ1bmN0aW9uIHJhaF91bmluc3RhbGxlcl9jaGVjaygkbmFtZT0nJykgew0KCQlpZigNCgkJ CXN1YnN0cigkbmFtZSwwLDQpICE9ICdyYWhfJw0KCQkpIA0KCQkJcmV0dXJuICdCYWQgc2Vs ZWN0aW9uLic7DQoJCQ0KCQlpZigNCgkJCXNhZmVfY291bnQoDQoJCQkJInR4cF9wbHVnaW4i LA0KCQkJCSJuYW1lPSciLmRvU2xhc2goJG5hbWUpLiInIg0KCQkJKSA9PSAwDQoJCSkgDQoJ CQlyZXR1cm4gJ1BsdWdpbiBkb2VzblwndCBleGlzdHMnOw0KCQlyZXR1cm4gJyc7DQoJfQ0K DQoJZnVuY3Rpb24gcmFoX3VuaW5zdGFsbGVyX2NvbmZpcm0oKSB7DQoJCSRuYW1lID0gdHJp bShncHMoJ3JhaF91bmluc3RhbGxlcl9uYW1lJykpOw0KCQkkY2hlY2sgPSByYWhfdW5pbnN0 YWxsZXJfY2hlY2soJG5hbWUpOw0KCQlpZigkY2hlY2spIHsNCgkJCXJhaF91bmluc3RhbGxl cl9saXN0KCRjaGVjayk7DQoJCQlyZXR1cm47DQoJCX0NCgkJcGFnZXRvcCgnUmFoXCdzIFVu aW5zdGFsbGVyJyk7DQoJCSRvdXQgPSBhcnJheSgpOw0KCQkkb3V0W10gPSANCgkJCQknCQkJ PHA+Jy4NCgkJCQknCQkJCVBsdWdpbjo8YnIgLz4nLm4uDQoJCQkJJwkJCQknLmh0bWxzcGVj aWFsY2hhcnMoJG5hbWUpLg0KCQkJCScJCQk8L3A+Jy5uOw0KCQkkdGFibGVzID0gcmFoX3Vu aW5zdGFsbGVyX3RhYmxlcygkbmFtZSk7DQoJCWlmKGNvdW50KCR0YWJsZXMpID4gMCkgew0K CQkJJHRhYmxlcyA9IGltcGxvZGUoJzxiciAvPicsJHRhYmxlcyk7DQoJCQkkb3V0W10gPSAN CgkJCQknCQkJPHA+Jy5uLg0KCQkJCScJCQkJRGF0YWJhc2UgdGFibGVzOjxiciAvPicubi4N CgkJCQknCQkJCScuaHRtbHNwZWNpYWxjaGFycygkdGFibGVzKS5uLg0KCQkJCScJCQk8L3A+ Jy5uOw0KCQl9DQoJCQ0KCQllY2hvIA0KCQkJCQluLicJPGZvcm0gbWV0aG9kPSJwb3N0IiBh Y3Rpb249ImluZGV4LnBocCIgc3R5bGU9IndpZHRoOjk1MHB4O21hcmdpbjowIGF1dG87Ij4n Lm4uDQoJCQkJCScJCTxoMT48c3Ryb25nPnJhaF91bmluc3RhbGxlcjwvc3Ryb25nPiB8IENs ZWFyIGRiIGZyb20gcGx1Z2lucyBvZiByYWg8L2gxPicubi4NCgkJCQkJJwkJPHA+JiMxODc7 IDxhIGhyZWY9Ij9ldmVudD1wbHVnaW4mYW1wO3N0ZXA9cGx1Z2luX2hlbHAmYW1wO25hbWU9 cmFoX3VuaW5zdGFsbGVyIj5Eb2N1bWVudGF0aW9uPC9hPjwvcD4nLm4uDQoJCQkJCScJCTxm aWVsZHNldCBzdHlsZT0icGFkZGluZzoyMHB4O21hcmdpbjoyMHB4IDA7Ij4nLm4uDQoJCQkJ CScJCQk8bGVnZW5kPkl0ZW1zIGluIHVuaW5zdGFsbCBxdWV1ZTwvbGVnZW5kPicubi4NCgkJ CQkJCQkJaW1wbG9kZSgnJywkb3V0KS4NCgkJCQkJJwkJCTxwPicubi4NCgkJCQkJJwkJCQk8 c3Ryb25nPkRvIHlvdSB3YW50IHRvIGNvbnRpbnVlIGFuZCByZW1vdmUgdGhlc2UgaXRlbXMg cGVybWFuZW50bHk/PC9zdHJvbmc+Jy5uLg0KCQkJCQknCQkJPC9wPicubi4NCgkJCQkJJwkJ CTxwPicubi4NCgkJCQkJJwkJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0ic21hbGxl cmJveCIgdmFsdWU9IkNvbmZpcm0iIC8+Jy5uLg0KCQkJCQknCQkJPC9wPicubi4NCgkJCQkJ JwkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImV2ZW50IiB2YWx1ZT0icmFoX3VuaW5z dGFsbGVyIiAvPicubi4NCgkJCQkJJwkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InN0 ZXAiIHZhbHVlPSJyYWhfdW5pbnN0YWxsZXJfdW5pbnN0YWxsIiAvPicubi4NCgkJCQkJJwkJ CTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJhaF91bmluc3RhbGxlcl9uYW1lIiB2YWx1 ZT0iJy5odG1sc3BlY2lhbGNoYXJzKCRuYW1lKS4nIiAvPicubi4NCgkJCQkJJwkJPC9maWVs ZHNldD4nLm4uDQoJCQkJCScJPC9mb3JtPicubjsNCgl9DQoNCglmdW5jdGlvbiByYWhfdW5p bnN0YWxsZXJfdW5pbnN0YWxsKCkgew0KCQkkbmFtZSA9IHRyaW0oZ3BzKCdyYWhfdW5pbnN0 YWxsZXJfbmFtZScpKTsNCgkJJGNoZWNrID0gcmFoX3VuaW5zdGFsbGVyX2NoZWNrKCRuYW1l KTsNCgkJaWYoJGNoZWNrKSB7DQoJCQlyYWhfdW5pbnN0YWxsZXJfbGlzdCgkY2hlY2spOw0K CQkJcmV0dXJuOw0KCQl9IGVsc2Ugew0KCQkJc2FmZV9kZWxldGUoDQoJCQkJJ3R4cF9wbHVn aW4nLA0KCQkJCSJuYW1lPSciLmRvU2xhc2goJG5hbWUpLiInIg0KCQkJKTsNCgkJCWlmKCRu YW1lID09ICdyYWhfdW5pbnN0YWxsZXInKSB7DQoJCQkJaGVhZGVyKCdMb2NhdGlvbjogJy5o dSk7DQoJCQkJZXhpdDsNCgkJCX0NCgkJCSR0YWJsZXMgPSByYWhfdW5pbnN0YWxsZXJfdGFi bGVzKCRuYW1lKTsNCgkJCWlmKGNvdW50KCR0YWJsZXMpID4gMCkgew0KCQkJCWZvcmVhY2go JHRhYmxlcyBhcyAkdGFibGUpIHsNCgkJCQkJc2FmZV9xdWVyeSgiRFJPUCBUQUJMRSBJRiBF WElTVFMgIi4kdGFibGUpOw0KCQkJCX0NCgkJCX0NCgkJCXJhaF91bmluc3RhbGxlcl9saXN0 KCRuYW1lLicgcmVtb3ZlZCcpOw0KCQl9DQoJfSI7czo0OiJ0eXBlIjtzOjE6IjEiO3M6NToi ZmxhZ3MiO3M6MToiMCI7czo1OiJvcmRlciI7czoxOiI1IjtzOjM6Im1kNSI7czozMjoiMDdh MDIxMTUzYjY5OGYwMDAyOWVjZDAyM2QyMjRiYTEiO30=