# Name: rah_change_passwords v0.2 # Type: Admin/Client side plugin # Maintain and change user passwords # Author: Jukka Svahn # URL: http://rahforum.biz # Recommended load order: 1 # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMTp7czo0OiJuYW1lIjtzOjIwOiJyYWhfY2hhbmdlX3Bhc3N3b3JkcyI7czo2OiJhdXRo b3IiO3M6MTE6Ikp1a2thIFN2YWhuIjtzOjEwOiJhdXRob3JfdXJpIjtzOjE5OiJodHRwOi8v cmFoZm9ydW0uYml6IjtzOjc6InZlcnNpb24iO3M6MzoiMC4yIjtzOjExOiJkZXNjcmlwdGlv biI7czozNDoiTWFpbnRhaW4gYW5kIGNoYW5nZSB1c2VyIHBhc3N3b3JkcyI7czo0OiJoZWxw IjtzOjE4MTU6Igk8aDE+cmFoX2NoYW5nZV9wYXNzd29yZHM8L2gxPgoKCTxwPkEgdGlueSBU ZXh0cGF0dGVybiBwbHVnaW4gdG8gbWFudWFsbHkgcmVzZXQgYW5kIGNoYW5nZSBwYXNzd29y ZHMgZm9yIHlvdSBhbmQgZm9yIHlvdXIgbWF0ZXMgdmlhIGFkbWluIHBhbmVsLjwvcD4KCgk8 dWw+CgkJPGxpPlZlcnNpb246IDAuMjwvbGk+CgkJPGxpPlVwZGF0ZWQ6IDIwMTAvMDYvMDEg NTozMCBBTSA8c3BhbiBjbGFzcz0iY2FwcyI+VVRDPC9zcGFuPjwvbGk+Cgk8L3VsPgoKCTxo Mz5UYWJsZSBvZiBDb250ZW50czwvaDM+CgoJPHVsPgoJCTxsaT48YSBocmVmPSIjaW50cm8t YW5kLWRlc2NyaXB0aW9uIj5JbnRybyBhbmQgZGVzY3JpcHRpb248L2E+PC9saT4KCQk8bGk+ PGEgaHJlZj0iI2xpc3Qtb2YtZmVhdHVyZXMiPkxpc3Qgb2YgZmVhdHVyZXM8L2E+PC9saT4K CQk8bGk+PGEgaHJlZj0iI3JlcXVpcmVtZW50cyI+UmVxdWlyZW1lbnRzPC9hPjwvbGk+CgkJ PGxpPjxhIGhyZWY9IiNpbnN0YWxsYXRpb24tYW5kLXVzYWdlIj5JbnN0YWxsYXRpb24gYW5k IHVzYWdlPC9hPjwvbGk+CgkJPGxpPjxhIGhyZWY9IiNjaGFuZ2Vsb2ciPkNoYW5nZWxvZzwv YT48L2xpPgoJPC91bD4KCgk8aDMgaWQ9Imxpc3Qtb2YtZmVhdHVyZXMiPkxpc3Qgb2YgZmVh dHVyZXM8L2gzPgoKCTx1bD4KCQk8bGk+Q2hhbmdlIHlvdXIgYW5kIG90aGVyIHVzZXJzJiM4 MjE3OyBwYXNzd29yZHMgdG8gYW55dGhpbmcgeW91IGRlc2lyZS48L2xpPgoJCTxsaT5TaW1w bGUgYWRtaW4gcGFnZSB1bmRlciA8ZW0+PHNwYW4gY2xhc3M9ImNhcHMiPlRYUDwvc3Bhbj4g LyBFeHRlbnNpb25zIC8gQ2hhbmdlIHBhc3N3b3JkczwvZW0+LjwvbGk+Cgk8L3VsPgoKCTxo MyBpZD0icmVxdWlyZW1lbnRzIj5SZXF1aXJlbWVudHM8L2gzPgoKCTx1bD4KCQk8bGk+PHNw YW4gY2xhc3M9ImNhcHMiPlBIUDwvc3Bhbj4gNC4zLjArPC9saT4KCQk8bGk+VGV4dHBhdHRl cm4gNC54LngrPC9saT4KCTwvdWw+CgoJPGgzIGlkPSJpbnN0YWxsYXRpb24tYW5kLXVzYWdl Ij5JbnN0YWxsYXRpb24gYW5kIHVzYWdlPC9oMz4KCgk8cD5UaGUgZ2VuZXJhbCBiZWhhdmlv ciBzdGFuZHM6IHBhc3RlIHBsdWdpbiBjb2RlIHRvIHRoZSBwbHVnaW4gaW5zdGFsbGVyIHRl eHRhcmVhIGFuZCBydW4gdGhlIGF1dG9tYXRpYyBzZXR1cC4gVGhlbiBqdXN0IGFjdGl2YXRl IHRoZSBwbHVnaW4gYW5kIHlvdSBhcmUgcmVhZHkgdG8gY2hhbmdlIHBhc3N3b3JkcyB2aWEg YWRtaW4gcGFnZSB1bmRlciBFeHRlbnNpb25zLXRhYi48L3A+CgoJPGgzIGlkPSJjaGFuZ2Vs b2ciPkNoYW5nZWxvZzwvaDM+CgoJPHA+PHN0cm9uZz5WZXJzaW9uIDAuMjwvc3Ryb25nPjwv cD4KCgk8dWw+CgkJPGxpPkFkZGVkIGNoZWNrIGFnYWluc3QgaWYgcGFzc3dvcmQsIHVzZXIg b3IgY29uZmlybWF0aW9uIHBhc3N3b3JkIGlzIGVtcHR5LjwvbGk+CgkJPGxpPkFkZGVkIG9w dGlvbiB0byBub3QgZW1haWwgdGhlIHBhc3N3b3JkLjwvbGk+CgkJPGxpPk5vdyBjaGVja3Mg dGhhdCB0aGUgZGF0YWJhc2UgdXBkYXRlIHdhcyBzdWNjZXNmdWwgYmVmb3JlIHNlbmRpbmcg ZW1haWwuPC9saT4KCQk8bGk+Tm93IGJ5IGRlZmF1bHQgdGhlIHVzZXIgZHJvcGRvd24gaGFz IG5vIHVzZXIgc2VsZWN0ZWQuIFJlZHVjZXMgdGhlIGNoYW5nZSBvZiBhY2NpZGVudGFsbHkg cmVzZXR0aW5nIEpvZSBpbnN0ZWFkIG9mIEpvaG4uPC9saT4KCQk8bGk+VXBkYXRlZCB0aGUg c3R5bGluZy48L2xpPgoJPC91bD4KCgk8cD48c3Ryb25nPlZlcnNpb24gMC4xPC9zdHJvbmc+ PC9wPgoKCTx1bD4KCQk8bGk+Rmlyc3QgcmVsZWFzZTwvbGk+Cgk8L3VsPiI7czo0OiJjb2Rl IjtzOjM4MzE6IgkjIyMjIyMjIyMjIyMjIyMjIyMNCgkjDQoJIwlyYWhfY2hhbmdlX3Bhc3N3 b3Jkcy1wbHVnaW4gZm9yIFRleHRwYXR0ZXJuDQoJIwl2ZXJzaW9uIDAuMg0KCSMJYnkgSnVr a2EgU3ZhaG4NCgkjCWh0dHA6Ly9yYWhmb3J1bS5iaXoNCgkjDQoJIyMjIyMjIyMjIyMjIyMj IyMjIw0KDQoJaWYgKEB0eHBpbnRlcmZhY2UgPT0gJ2FkbWluJykgew0KCQlhZGRfcHJpdnMo J3JhaF9jaGFuZ2VfcGFzc3dvcmRzJywnMScpOw0KCQlyZWdpc3Rlcl90YWIoJ2V4dGVuc2lv bnMnLCdyYWhfY2hhbmdlX3Bhc3N3b3JkcycsJ0NoYW5nZSBwYXNzd29yZHMnKTsNCgkJcmVn aXN0ZXJfY2FsbGJhY2soJ3JhaF9jaGFuZ2VfcGFzc3dvcmRzJywncmFoX2NoYW5nZV9wYXNz d29yZHMnKTsNCgl9DQoNCglmdW5jdGlvbiByYWhfY2hhbmdlX3Bhc3N3b3JkcygpIHsNCgkJ Z2xvYmFsICRzdGVwOw0KCQlyZXF1aXJlX3ByaXZzKCdyYWhfY2hhbmdlX3Bhc3N3b3Jkcycp Ow0KCQlpZigkc3RlcCA9PSAncmFoX2NoYW5nZV9wYXNzd29yZHNfc2F2ZScpDQoJCQlyYWhf Y2hhbmdlX3Bhc3N3b3Jkc19zYXZlKCk7DQoJCWVsc2UNCgkJCXJhaF9jaGFuZ2VfcGFzc3dv cmRzX2VkaXQoKTsNCgl9DQoNCglmdW5jdGlvbiByYWhfY2hhbmdlX3Bhc3N3b3Jkc19lZGl0 KCRtZXNzYWdlPScnKSB7DQoJCQ0KCQlnbG9iYWwgJGV2ZW50Ow0KCQkNCgkJcGFnZXRvcCgn Q2hhbmdlIHBhc3N3b3JkcycsJG1lc3NhZ2UpOw0KDQoJCWVjaG8gDQoJCQknCTxmb3JtIG1l dGhvZD0icG9zdCIgYWN0aW9uPSJpbmRleC5waHAiIHN0eWxlPSJ3aWR0aDo5NTBweDttYXJn aW46MCBhdXRvOyI+Jy5uLg0KCQkJJwkJPGgxPjxzdHJvbmc+cmFoX2NoYW5nZV9wYXNzd29y ZHM8L3N0cm9uZz4gfCBSZXNldCB1c2VyIHBhc3N3b3JkczwvaDE+Jy5uLg0KCQkJJwkJPHA+ JiMxODc7IDxhIGhyZWY9Ij9ldmVudD1wbHVnaW4mYW1wO3N0ZXA9cGx1Z2luX2hlbHAmYW1w O25hbWU9cmFoX2NoYW5nZV9wYXNzd29yZHMiPkRvY3VtZW50YXRpb248L2E+PC9wPicubi4N CgkJCQ0KCQkJDQoJCQknCQk8cD4nLm4uDQoJCQknCQkJPGxhYmVsIGZvcj0icmFoX3VzZXJf aWQiPlVzZXI8L2xhYmVsPjxiciAvPicubi4NCgkJCScJCQk8c2VsZWN0IHN0eWxlPSJ3aWR0 aDo0NTBweDsiIG5hbWU9InVzZXJfaWQiIGlkPSJyYWhfdXNlcl9pZCI+Jy5uLg0KCQkJJwkJ CQk8b3B0aW9uIHZhbHVlPSIiPlNlbGVjdCBhIHVzZXIgdG8gbW9kaWZ5Li4uPC9vcHRpb24+ Jy5uOw0KCQkNCgkJJHJzID0gDQoJCQlzYWZlX3Jvd3MoDQoJCQkJJ3VzZXJfaWQsbmFtZScs DQoJCQkJJ3R4cF91c2VycycsDQoJCQkJIjE9MSBvcmRlciBieSBuYW1lIGFzYyINCgkJCSk7 DQoJCQ0KCQlmb3JlYWNoKCRycyBhcyAkYSkgDQoJCQllY2hvICcJCQkJPG9wdGlvbiB2YWx1 ZT0iJy5odG1sc3BlY2lhbGNoYXJzKCRhWyd1c2VyX2lkJ10pLiciPicuaHRtbHNwZWNpYWxj aGFycygkYVsnbmFtZSddKS4nPC9vcHRpb24+Jy5uOw0KCQkNCgkJZWNobyANCgkJCScJCQk8 L3NlbGVjdD4nLm4uDQoJCQknCQk8L3A+Jy5uLg0KCQkJJwkJPHA+Jy5uLg0KCQkJJwkJCTxs YWJlbCBmb3I9InJhaF9wYXNzd29yZCI+TmV3IHBhc3N3b3JkPC9sYWJlbD48YnIgLz4nLm4u DQoJCQknCQkJPGlucHV0IGNsYXNzPSJlZGl0IiB0eXBlPSJwYXNzd29yZCIgbmFtZT0icGFz cyIgaWQ9InJhaF9wYXNzd29yZCIgdmFsdWU9IiIgc3R5bGU9IndpZHRoOjk0MHB4OyIgLz4n Lm4uDQoJCQknCQk8L3A+Jy5uLg0KCQkJJwkJPHA+Jy5uLg0KCQkJJwkJCTxsYWJlbCBmb3I9 InJhaF9jb25maXJtIj5Db25maXJtIG5ldyBwYXNzd29yZDwvbGFiZWw+PGJyIC8+Jy5uLg0K CQkJJwkJCTxpbnB1dCBjbGFzcz0iZWRpdCIgdHlwZT0icGFzc3dvcmQiIG5hbWU9ImNvbmZp cm0iIGlkPSJyYWhfY29uZmlybSIgdmFsdWU9IiIgc3R5bGU9IndpZHRoOjk0MHB4OyIgLz4n Lm4uDQoJCQknCQk8L3A+Jy5uLg0KCQkJDQoJCQknCQk8cD4nLm4uDQoJCQknCQkJPGxhYmVs IGZvcj0icmFoX2VtYWlsX3Bhc3N3b3JkIj5FbWFpbCB0aGUgcGFzc3dvcmQgdG8gdGhlIHVz ZXI/PC9sYWJlbD48YnIgLz4nLm4uDQoJCQknCQkJPHNlbGVjdCBzdHlsZT0id2lkdGg6NDUw cHg7IiBuYW1lPSJlbWFpbF9wYXNzd29yZCIgaWQ9InJhaF9lbWFpbF9wYXNzd29yZCI+Jy5u Lg0KCQkJJwkJCQk8b3B0aW9uIHZhbHVlPSJ5ZXMiPlllczwvb3B0aW9uPicubi4NCgkJCScJ CQkJPG9wdGlvbiB2YWx1ZT0ibm8iPk5vPC9vcHRpb24+Jy5uLg0KCQkJJwkJCTwvc2VsZWN0 Picubi4NCgkJCScJCTwvcD4nLm4uDQoJCQkNCgkJCScJCTxpbnB1dCB0eXBlPSJzdWJtaXQi IHZhbHVlPSJDaGFuZ2UgdGhlIHBhc3N3b3JkIiBjbGFzcz0icHVibGlzaCIgLz4nLm4uDQoJ CQknCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJldmVudCIgdmFsdWU9IicuJGV2ZW50 LiciIC8+Jy5uLg0KCQkJJwkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic3RlcCIgdmFs dWU9InJhaF9jaGFuZ2VfcGFzc3dvcmRzX3NhdmUiIC8+Jy5uLg0KCQkJJwk8L2Zvcm0+Jy5u Ow0KCX0NCg0KCWZ1bmN0aW9uIHJhaF9jaGFuZ2VfcGFzc3dvcmRzX3NhdmUoKSB7DQoJCWV4 dHJhY3QoZ3BzYShhcnJheSgNCgkJCSdwYXNzJywNCgkJCSdjb25maXJtJywNCgkJCSd1c2Vy X2lkJywNCgkJCSdlbWFpbF9wYXNzd29yZCcNCgkJKSkpOw0KCQkNCgkJaWYoZW1wdHkoJHBh c3MpIG9yIGVtcHR5KCRjb25maXJtKSBvciBlbXB0eSgkdXNlcl9pZCkpIHsNCgkJCXJhaF9j aGFuZ2VfcGFzc3dvcmRzX2VkaXQoJ1Bhc3N3b3JkIG9yIHVzZXIgY2FuXCd0IGJlIGVtcHR5 LicpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCQ0KCQlpZigkcGFzcyAhPSAkY29uZmlybSkgew0K CQkJcmFoX2NoYW5nZV9wYXNzd29yZHNfZWRpdCgnUGFzc3dvcmQgZGlmZmVycyBmcm9tIGNv bmZpcm1hdGlvbi4nKTsNCgkJCXJldHVybjsNCgkJfQ0KCQkNCgkJJHJzID0gDQoJCQlzYWZl X3JvdygNCgkJCQknZW1haWwsbmFtZScsDQoJCQkJJ3R4cF91c2VycycsDQoJCQkJInVzZXJf aWQ9JyIuZG9TbGFzaCgkdXNlcl9pZCkuIiciDQoJCQkpOw0KCQkJDQoJCWlmKCEkcnMpIHsN CgkJCXJhaF9jaGFuZ2VfcGFzc3dvcmRzX2VkaXQoJ1VzZXIgbm90IGZvdW5kLicpOw0KCQkJ cmV0dXJuOw0KCQl9DQoJCQ0KCQkkdXBkYXRlID0NCgkJCXNhZmVfdXBkYXRlKA0KCQkJCSd0 eHBfdXNlcnMnLA0KCQkJCSJwYXNzID0gcGFzc3dvcmQoJyIuZG9TbGFzaCgkcGFzcykuIicp IiwNCgkJCQkidXNlcl9pZD0nIi5kb1NsYXNoKCR1c2VyX2lkKS4iJyINCgkJCSk7DQoJCQ0K CQlpZigkdXBkYXRlID09IGZhbHNlKSB7DQoJCQlyYWhfY2hhbmdlX3Bhc3N3b3Jkc19lZGl0 KCdVcGRhdGluZyBkYXRhYmFzZSBmYWlsZWQuJyk7DQoJCQlyZXR1cm47DQoJCX0NCgkJDQoJ CWlmKCRlbWFpbF9wYXNzd29yZCA9PSAnbm8nKSB7DQoJCQlyYWhfY2hhbmdlX3Bhc3N3b3Jk c19lZGl0KCdQYXNzd29yZCBjaGFuZ2VkLicpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCQ0KCQln bG9iYWwgJHNpdGVuYW1lOw0KCQkNCgkJZXh0cmFjdCgkcnMpOw0KCQkNCgkJJG1lc3NhZ2Ug PSANCgkJCWdUeHQoJ2dyZWV0aW5nJykuJyAnLiRuYW1lLicsJy5uLm4uDQoJCQlnVHh0KCd5 b3VyX3Bhc3N3b3JkX2lzJykuJzogJy4kcGFzcy5uLm4uDQoJCQlnVHh0KCdsb2dfaW5fYXQn KS4nOiAnLmh1Lid0ZXh0cGF0dGVybi9pbmRleC5waHAnDQoJCTsNCgkJDQoJCXR4cE1haWwo JGVtYWlsLCAiWyRzaXRlbmFtZV0gIi5nVHh0KCd5b3VyX25ld19wYXNzd29yZCcpLCAkbWVz c2FnZSk7DQoJCXJhaF9jaGFuZ2VfcGFzc3dvcmRzX2VkaXQoJ1Bhc3N3b3JkIGNoYW5nZWQu Jyk7DQoJfSI7czo0OiJ0eXBlIjtzOjE6IjEiO3M6NToiZmxhZ3MiO3M6MToiMCI7czo1OiJv cmRlciI7czoxOiIxIjtzOjM6Im1kNSI7czozMjoiMjYyODU4ZWM2ZTVmNDVhZjlkYjdhYmFl MTE0NzQyNjkiO30=