# Name: rah_test_php v0.2 # Type: Admin only plugin # Test PHP scripts via backend # 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: # ..................................................................... YToxMjp7czo2OiJhdXRob3IiO3M6MTE6Ikp1a2thIFN2YWhuIjtzOjEwOiJhdXRob3JfdXJp IjtzOjE5OiJodHRwOi8vcmFoZm9ydW0uYml6IjtzOjExOiJkZXNjcmlwdGlvbiI7czoyODoi VGVzdCBQSFAgc2NyaXB0cyB2aWEgYmFja2VuZCI7czo0OiJoZWxwIjtzOjE5Mzg6Igk8aDE+ cmFoX3Rlc3RfcGhwPC9oMT4KCgk8cD5SYWhfdGVzdF9waHAgYWxsb3dzIHNpdGUgYXV0aG9y cyB0byBleGVjdXRlIDxzcGFuIGNsYXNzPSJjYXBzIj5QSFA8L3NwYW4+IGNvZGUgdmlhIGFk bWluLXNpZGUgaW50ZXJmYWNlLiBKdXN0IHNpbXBsZSBmaWVsZCB0byBwdXQgeW91ciBjb2Rl IGluLCBidXR0b24gdG8gcnVuIHRoZSBjb2RlLiBSZXBvcnRzIHJlc3VsdGluZyB2YWx1ZXMg YW5kIGVycm9yIG1lc3NhZ2VzIGlmIGFueS48L3A+CgoJPHVsPgoJCTxsaT5WZXJzaW9uOiAw LjI8L2xpPgoJCTxsaT5VcGRhdGVkOiAyMDExLzA2LzA1IDY6NDAgUE0gPHNwYW4gY2xhc3M9 ImNhcHMiPlVUQzwvc3Bhbj48L2xpPgoJPC91bD4KCgk8aDM+VGFibGUgb2YgQ29udGVudHM8 L2gzPgoKCTx1bD4KCQk8bGk+PGEgaHJlZj0iI2xpc3Qtb2YtZmVhdHVyZXMiPkxpc3Qgb2Yg ZmVhdHVyZXM8L2E+PC9saT4KCQk8bGk+PGEgaHJlZj0iI3JlcXVpcmVtZW50cyI+UmVxdWly ZW1lbnRzPC9hPjwvbGk+CgkJPGxpPjxhIGhyZWY9IiNpbnN0YWxsYXRpb24tYW5kLXVzYWdl Ij5JbnN0YWxsYXRpb24gYW5kIHVzYWdlPC9hPjwvbGk+Cgk8L3VsPgoKCTxoMyBpZD0ibGlz dC1vZi1mZWF0dXJlcyI+TGlzdCBvZiBmZWF0dXJlczwvaDM+CgoJPHVsPgoJCTxsaT5BbGxv d3MgeW91IHRvIHJ1biA8c3BhbiBjbGFzcz0iY2FwcyI+UEhQPC9zcGFuPiBzY3JpcHRzIGRp cmVjdGx5IGZyb20gVGV4dHBhdHRlcm4mIzgyMTc7cyBiYWNrZW5kLjwvbGk+CgkJPGxpPlNp bXBsZSBhbmQgY2xlYW4gYWRtaW4tc2lkZSBpbnRlcmZhY2UuPC9saT4KCTwvdWw+CgoJPGgz IGlkPSJyZXF1aXJlbWVudHMiPlJlcXVpcmVtZW50czwvaDM+CgoJPHVsPgoJCTxsaT5UZXh0 cGF0dGVybiA0LjAuNyBvciBuZXdlci48L2xpPgoJPC91bD4KCgk8aDMgaWQ9Imluc3RhbGxh dGlvbi1hbmQtdXNhZ2UiPkluc3RhbGxhdGlvbiBhbmQgdXNhZ2U8L2gzPgoKCTxwPlRoZSBn ZW5lcmFsIGJlaGF2aW9yIHN0YW5kczogcGFzdGUgcGx1Z2luIGNvZGUgdG8gdGhlIHBsdWdp biBpbnN0YWxsZXIgdGV4dGFyZWEgYW5kIHJ1biB0aGUgYXV0b21hdGljIHNldHVwLiBBY3Rp dmF0ZSB0aGUgcGx1Z2luLCBhbmQgdGhlIG5ldyByYWhfdGVzdF9waHAmIzgyMTc7cyA8ZW0+ RXhlY3V0ZSA8c3BhbiBjbGFzcz0iY2FwcyI+UEhQPC9zcGFuPjwvZW0+IHRhYiBpcyBjcmVh dGVkIHVuZGVyIDxlbT5FeHRlbnNpb25zPC9lbT4uPC9wPgoKCTxoMyBpZD0iY2hhbmdlbG9n Ij5DaGFuZ2Vsb2c8L2gzPgoKCTxwPjxzdHJvbmc+VmVyc2lvbiAwLjI8L3N0cm9uZz48L3A+ CgoJPHVsPgoJCTxsaT5BZGRlZDogY29uZmlybWF0aW9uIGRpYWxvZyBiZWZvcmUgZXhlY3V0 aW5nIHRoZSBwcm92aWRlZCBzY3JpcHQuPC9saT4KCQk8bGk+QWRkZWQ6IGxhbmd1YWdlIHN0 cmluZyBzdXBwb3J0LiBOb3cgVGV4dFBhY2tzIGNhbiBiZSB1c2VkIHRvIHRyYW5zbGF0ZSB0 aGUgYWRtaW4tc2lkZSBpbnRlcmZhY2UuPC9saT4KCQk8bGk+QWRkZWQ6IG9wdGlvbnMgbGlu ayB0byB0aGUgYWRtaW4tc2lkZSBpbnRlcmZhY2UuPC9saT4KCQk8bGk+QWRkZWQ6IE1hcmt1 cCBjaGFuZ2VzLCBhZGRlZCByYWhfdWkgY2xhc3Mgc2VsZWN0b3JzIHRvIHRoZSBlbGVtZW50 cyBmb3IgZWFzaWVyIHRoZW1pbmcuPC9saT4KCQk8bGk+Q2hhbmdlZDogbm8gbG9uZ2VyIHVz ZXMgPHNwYW4gY2xhc3M9ImNhcHMiPlRYUDwvc3Bhbj4mIzgyMTc7cyA8Y29kZT5waHAoKTwv Y29kZT4gZnVuY3Rpb24gbm9yIGluY2x1ZGVzIDxjb2RlPnB1Ymxpc2gucGhwPC9jb2RlPi48 L2xpPgoJCTxsaT5Ob3cgcmVxdWlyZXMgVGV4dHBhdHRlcm4gdmVyc2lvbiA0LjAuNyBvciBu ZXdlci48L2xpPgoJPC91bD4KCgk8cD48c3Ryb25nPlZlcnNpb24gMC4xPC9zdHJvbmc+PC9w PgoKCTx1bD4KCQk8bGk+SW5pdGlhbCByZWxlYXNlLjwvbGk+Cgk8L3VsPiI7czo0OiJjb2Rl IjtzOjI5MTg6IgkjIyMjIyMjIyMjIyMjIyMjIyMKCSMJUmFoX3Rlc3RfcGhwLXBsdWdpbiBm b3IgVGV4dHBhdHRlcm4KCSMJdmVyc2lvbiAwLjIKCSMJYnkgSnVra2EgU3ZhaG4KCSMJaHR0 cDovL3JhaGZvcnVtLmJpegoJIwoJIwlDb3B5cmlnaHQgKEMpIDIwMTEgSnVra2EgU3ZhaG4g PGh0dHA6Ly9yYWhmb3J1bS5iaXo+CgkjCUxpY2Vuc2VkIHVuZGVyIEdOVSBHZW5yYWwgUHVi bGljIExpY2Vuc2UgdmVyc2lvbiAyCgkjCWh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9n cGwtMi4wLmh0bWwKCSMKCSMjIyMjIyMjIyMjIyMjIyMjIwoKCWlmKEB0eHBpbnRlcmZhY2Ug PT0gJ2FkbWluJykgewoJCWFkZF9wcml2cygncmFoX3Rlc3RfcGhwJywnMSwyJyk7CgkJYWRk X3ByaXZzKCdwbHVnaW5fcHJlZnMucmFoX3Rlc3RfcGhwJywnMSwyJyk7CgkJcmVnaXN0ZXJf Y2FsbGJhY2soJ3JhaF90ZXN0X3BocF9wcmVmcycsJ3BsdWdpbl9wcmVmcy5yYWhfdGVzdF9w aHAnKTsKCQlyZWdpc3Rlcl90YWIoJ2V4dGVuc2lvbnMnLCdyYWhfdGVzdF9waHAnLGdUeHQo J3JhaF90ZXN0X3BocCcpID09ICdyYWhfdGVzdF9waHAnID8gJ0V4ZWN1dGUgUEhQJyA6IGdU eHQoJ3JhaF90ZXN0X3BocCcpKTsKCQlyZWdpc3Rlcl9jYWxsYmFjaygncmFoX3Rlc3RfcGhw JywncmFoX3Rlc3RfcGhwJyk7CgkJcmVnaXN0ZXJfY2FsbGJhY2soJ3JhaF90ZXN0X3BocF9o ZWFkJywnYWRtaW5fc2lkZScsJ2hlYWRfZW5kJyk7Cgl9CgovKioKCVRoZSBwYWluIGFuZCBt YWluIGZ1bmN0aW9uCiovCgoJZnVuY3Rpb24gcmFoX3Rlc3RfcGhwKCkgewoJCQoJCXJlcXVp cmVfcHJpdnMoJ3JhaF90ZXN0X3BocCcpOwoJCQoJCWdsb2JhbCAkZXZlbnQsICR0ZXh0YXJy YXk7CgoJCS8qCgkJCU1ha2Ugc3VyZSBsYW5ndWFnZSBzdHJpbmdzIGFyZSBzZXQKCQkqLwoJ CQoJCWZvcmVhY2goCgkJCWFycmF5KAoJCQkJJ3JhaF90ZXN0X3BocCcgPT4gJ0V4ZWN1dGUg UEhQJywKCQkJCSdyYWhfdGVzdF9waHBfY29kZScgPT4gJ1BIUCBjb2RlJywKCQkJCSdyYWhf dGVzdF9waHBfcnVuJyA9PiAnUnVuIHRoZSBQSFAnLAoJCQkJJ3JhaF90ZXN0X3BocF9yZXR1 cm5lZCcgPT4gJ1JldHVybmVkJwoJCQkpIGFzICRzdHJpbmcgPT4gJHRyYW5zbGF0aW9uCgkJ KQoJCQlpZighaXNzZXQoJHRleHRhcnJheVskc3RyaW5nXSkpCgkJCQkkdGV4dGFycmF5WyRz dHJpbmddID0gJHRyYW5zbGF0aW9uOwoJCQoJCXBhZ2V0b3AoZ1R4dCgncmFoX3Rlc3RfcGhw JykpOwoJCQoJCWVjaG8KCQkJJzxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSJpbmRleC5w aHAiIGlkPSJyYWhfdGVzdF9waHBfY29udGFpbmVyIiBjbGFzcz0icmFoX3VpX2NvbnRhaW5l ciI+Jy5uLgoJCQknCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImV2ZW50IiB2YWx1ZT0i Jy4kZXZlbnQuJyIgLz4nLm4uCgkJCScJPHA+Jy5uLgoJCQknCQk8bGFiZWw+Jy5uLgoJCQkn CQkJJy5nVHh0KCdyYWhfdGVzdF9waHBfY29kZScpLic8YnIgLz4nLm4uCgkJCScJCQk8dGV4 dGFyZWEgY2xhc3M9ImNvZGUiIG5hbWU9InBocCIgcm93cz0iMTAiIGNvbHM9IjUwIj4nLmh0 bWxzcGVjaWFsY2hhcnMocHMoJ3BocCcpKS4nPC90ZXh0YXJlYT4nLm4uCgkJCScJCTwvbGFi ZWw+Jy5uLgoJCQknCTwvcD4nLm4uCgkJCScJPHA+Jy5uLgoJCQknCQk8aW5wdXQgdHlwZT0i c3VibWl0IiB2YWx1ZT0iJy5nVHh0KCdyYWhfdGVzdF9waHBfcnVuJykuJyIgY2xhc3M9InB1 Ymxpc2giIC8+Jy5uLgoJCQknCTwvcD4nLm47CgoJCWlmKHBzKCdwaHAnKSkgewoJCQkKCQkJ b2Jfc3RhcnQoKTsKCQkJZXZhbChwcygncGhwJykpOwoJCQkkcmV0dXJuZWQgPSBvYl9nZXRf Y2xlYW4oKTsKCQkJCgkJCWVjaG8KCQkJCScJPHA+PHN0cm9uZz4nLmdUeHQoJ3JhaF90ZXN0 X3BocF9yZXR1cm5lZCcpLic8L3N0cm9uZz48L3A+Jy5uLgoJCQkJJwk8cHJlIGlkPSJyYWhf dGVzdF9waHBfcHJlIj4nLmh0bWxzcGVjaWFsY2hhcnMoJHJldHVybmVkKS4nPC9wcmU+Jy5u OwoJCX0KCQkKCQllY2hvCgkJCSc8L2Zvcm0+JzsKCQkKCX0KCi8qKgoJQWRkcyBzdHlsZXMg YW5kIEphdmFTY3JpcHQgdG8gdGhlIDxoZWFkPgoqLwoKCWZ1bmN0aW9uIHJhaF90ZXN0X3Bo cF9oZWFkKCkgewoJCQoJCWdsb2JhbCAkZXZlbnQ7CgkJCgkJaWYoJGV2ZW50ICE9ICdyYWhf dGVzdF9waHAnKQoJCQlyZXR1cm47CgkJCgkJJHN0cmluZyA9IGdUeHQoJ2FyZV95b3Vfc3Vy ZScpOwoJCQoJCWVjaG8gPDw8RU9GCgkJCTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkJCQkj cmFoX3Rlc3RfcGhwX2NvbnRhaW5lciB7CgkJCQkJd2lkdGg6IDY1MHB4OwoJCQkJCW1hcmdp bjogMCBhdXRvOwoJCQkJfQoJCQkJI3JhaF90ZXN0X3BocF9jb250YWluZXIgdGV4dGFyZWEg ewoJCQkJCXdpZHRoOiAxMDAlOwoJCQkJfQoJCQkJI3JhaF90ZXN0X3BocF9wcmUgewoJCQkJ CXdoaXRlLXNwYWNlOiBwcmU7CgkJCQkJb3ZlcmZsb3c6IGF1dG87CgkJCQl9CgkJCTwvc3R5 bGU+CgkJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQkJCTwhLS0KCQkJCSQo ZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CgkJCQkJJCgnZm9ybSNyYWhfdGVzdF9waHBf Y29udGFpbmVyJykuc3VibWl0KAoJCQkJCQlmdW5jdGlvbigpIHsKCQkJCQkJCXJldHVybiB2 ZXJpZnkoJ3skc3RyaW5nfScpOwoJCQkJCQl9CgkJCQkJKQoJCQkJfSk7CgkJCQktLT4KCQkJ PC9zY3JpcHQ+CkVPRjsKCX0KCi8qKgoJUmVkaXJlY3QgdG8gdGhlIHByZWZzIHBhbmUKKi8K CglmdW5jdGlvbiByYWhfdGVzdF9waHBfcHJlZnMoKSB7CgkJaGVhZGVyKCdMb2NhdGlvbjog P2V2ZW50PXJhaF90ZXN0X3BocCcpOwoJCWVjaG8gCgkJCSc8cD4nLm4uCgkJCScJPGEgaHJl Zj0iP2V2ZW50PXJhaF90ZXN0X3BocCI+Jy5nVHh0KCdjb250aW51ZScpLic8L2E+Jy5uLgoJ CQknPC9wPic7Cgl9IjtzOjQ6InR5cGUiO3M6MToiMyI7czo1OiJvcmRlciI7czoxOiI1Ijtz OjU6ImZsYWdzIjtzOjE6IjEiO3M6ODoidGV4dHBhY2siO3M6MTMxOiIjQGFkbWluCnJhaF90 ZXN0X3BocCA9PiBFeGVjdXRlIFBIUApyYWhfdGVzdF9waHBfY29kZSA9PiBQSFAgY29kZQpy YWhfdGVzdF9waHBfcnVuID0+IFJ1biB0aGUgUEhQCnJhaF90ZXN0X3BocF9yZXR1cm5lZCA9 PiBSZXR1cm5lZCI7czozOiJtZDUiO3M6MzI6ImM5ZGVlMjk0ZjYyMzk2N2UwZDVjZWY1Yjkx YWY0ZDk4IjtzOjQ6Im5hbWUiO3M6MTI6InJhaF90ZXN0X3BocCI7czo3OiJ2ZXJzaW9uIjtz OjM6IjAuMiI7fQ==