# an7_flickr 0.4.0 # Loads Flickr photos in the Write tab for easy photo blogging # Elihu Ihms, John Einselen # http://iaian7.com/txp/an7_flickr # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YTo5OntzOjQ6Im5hbWUiO3M6MTA6ImFuN19mbGlja3IiO3M6NjoiYXV0aG9yIjtzOjI1OiJFbGlodSBJaG1zLCBKb2huIEVpbnNlbGVuIjtzOjEwOiJhdXRob3JfdXJpIjtzOjMyOiJodHRwOi8vaWFpYW43LmNvbS90eHAvYW43X2ZsaWNrciI7czo3OiJ2ZXJzaW9uIjtzOjU6IjAuNC4wIjtzOjExOiJkZXNjcmlwdGlvbiI7czo2MDoiTG9hZHMgRmxpY2tyIHBob3RvcyBpbiB0aGUgV3JpdGUgdGFiIGZvciBlYXN5IHBob3RvIGJsb2dnaW5nIjtzOjQ6ImhlbHAiO3M6NzI4OiJoMS4gYW43X2ZsaWNrcg0KDQpHaXZlbiB5b3VyIEZsaWNrciB1c2VybmFtZSBhbmQgc29tZSBiYXNpYyBzZXR0aW5ncywgYW43X2ZsaWNrciB3aWxsIGxvYWQgdGhlIGxhdGVzdCBwaG90b3MgZnJvbSB5b3VyIHBob3Rvc3RyZWFtIGludG8gdGhlIFRleHRwYXR0ZXJuIFdyaXRlIHRhYiwgYW5kIGluY2x1ZGVzIGEgZmllbGQgZm9yIHNwZWNpZnlpbmcgY3VzdG9tIGltYWdlIElEcyBhcyB3ZWxsLg0KDQpTZXR1cCByZXF1aXJlcyAianNfZmxpY2tyLnBocCI6aHR0cDovL3d3dy5zdGVlbHNub3dmbGFrZS5jb20vZG9jdW1lbnRzL29wZW5zb3VyY2UucGhwIHRvIGJlIHVwbG9hZGVkIHRvIHlvdXIgc2VydmVyLCBhbmQgdGhlIGFuN19mbGlja3IgcGx1Z2luIHVwZGF0ZWQgd2l0aCB0aGUgY29ycmVjdCBwYXRoIGFuZCB5b3VyIEZsaWNrciB1c2VybmFtZS4NCg0KaDIuIFN1cHBvcnQNCg0KRm9yIG1vcmUgaW5mb3JtYXRpb24sIHBsZWFzZSB2aXNpdCAiaWFpYW43LmNvbSI6aHR0cDovL2lhaWFuNy5jb20vdHhwL2FuN19mbGlja3Igb3IgInN0ZWVsc25vd2ZsYWtlLmNvbSI6aHR0cDovL3d3dy5zdGVlbHNub3dmbGFrZS5jb20NCg0KaDIuIENyZWRpdHM6DQoNCkZsaWNrciBBUEkgYW5kIFBIUC9KUyBDb2RpbmcgLSAiRWxpaHUgSWhtcyI6aHR0cDovL3d3dy5zdGVlbHNub3dmbGFrZS5jb20NClRleHRwYXR0ZXJuIHBsdWdpbiAtICJKb2huIEVpbnNlbGVuIjpodHRwOi8vaWFpYW43LmNvbSI7czo0OiJjb2RlIjtzOjU3MjY6ImlmIChAdHhwaW50ZXJmYWNlID09ICdhZG1pbicpIHsNCglyZWdpc3Rlcl9jYWxsYmFjaygiYW43X2ZsaWNrcl9pbnNlcnQiLCAiYXJ0aWNsZSIpOw0KfSBmdW5jdGlvbiBhbjdfZmxpY2tyX2luc2VydCgpIHsNCg0KLy8gQmVnaW4gb3B0aW9ucyAtIGVudGVyIHRoZSBwYXRoIHRvIGpzX2ZsaWNrci5waHAsIHlvdXIgRmxpY2tyIHVzZXJuYW1lLCBhbmQgcHJlZmVyZW5jZXMgYmVsb3cgLy8NCg0KJHBhdGgJPSAiLi4vanMvanNfZmxpY2tyLnBocCI7CS8vIFBhdGggdG8gdGhlICJqc19mbGlja3IucGhwIiBmaWxlDQoJCQkJCQkvLyBkb3dubG9hZGVkIGZyb20gc3RlZWxzbm93Zmxha2UuY29tDQokdXNlcgk9ICJpYWlhbjciOwkJCS8vIFlvdXIgRmxpY2tyIHVzZXJuYW1lDQokcGFnZQk9ICIxIjsJCQkvLyAodW51c2VkIGZsaWNrciBvcHRpb24pDQokcGVyX3BhZ2UJPSAiMjAiOwkJCS8vIE51bWJlciBvZiByZWNlbnQgcGhvdG9zIHRvIGRpc3BsYXkNCiRpZAkJPSAiMjU2MjUwODEyMCI7CS8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgY3VzdG9tIHBob3RvIElEDQokdGh1bWIJPSAic3F1YXJlX3VybCI7CQkvLyBJbWFnZSBmb3JtYXQgdG8gYmUgZW1iZWRkZWQNCiRmdWxsCQk9ICJtZWRfdXJsIjsJCS8vIEltYWdlIGZvcm1hdCB0byBsaW5rIHRvDQokdGh1bWJfc3R5bGUJPSAiYW43X2ZsaWNrcl90aHVtYiI7CS8vIGNsYXNzIHVzZWQgZm9yIHRoZSBsaW5rIHRoYXQgc3Vycm91bmRzIHRoZSBpbWFnZQ0KJGZ1bGxfc3R5bGUJCT0gImFuN19mbGlja3JfZnVsbCI7CS8vIHlvdSBjYW4gc3R5bGUgYm90aCB0aGUgbGluaywgYW5kIHRoZSBpbWFnZSB0aGF0IHdheQ0KCQkJCQkJLy8gc3F1YXJlX3VybCwgdGh1bWJfdXJsLCBzbWFsbF91cmwsIG1lZF91cmwsIG9yaWdfdXJsDQovLyBFbmQgb3B0aW9ucyAvLw0KDQokb3BlbiA9ICc8ZGl2IGlkPSJhbjdfZmxpY2tyIiBzdHlsZT0id2lkdGg6IDgwMHB4OyBoZWlnaHQ6IGF1dG87IG1hcmdpbjogYXV0bzsgb3ZlcmZsb3c6IGF1dG87IiA+JzsNCiRzcGxpdCA9ICc8L2Rpdj48Y2VudGVyPjxkaXYgaWQ9ImFuN19mbGlja3IyIiBzdHlsZT0id2lkdGg6IDgwMHB4OyBoZWlnaHQ6IGF1dG87IiA+JzsNCiRjbG9zZSA9ICc8L2Rpdj48L2NlbnRlcj4nOw0KDQoNCiRmbGlja3J1dGlscyA9IDw8PEVPRg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KZnVuY3Rpb24gU2VsZWN0QWxsKGlkKXsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuZm9jdXMoKTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuc2VsZWN0KCk7DQp9DQoNCmZ1bmN0aW9uIGFwcGVuZCh0aHVtYiwgZnVsbCwgdGl0bGUsIHBhZ2V1cmwpew0KdmFyIGZsaWNrcnR5cGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmxpY2tydHlwZSIpLnZhbHVlOw0KCWlmIChmbGlja3J0eXBlID09ICdvdmVybGF5Jykgew0KCQl2YXIgdGV4dCA9ICI8YSBocmVmPVwiIiArIGZ1bGwgKyIgXCIgcmVsPVwibGlnaHRib3hbZmxpY2tyXVwiIHRpdGxlPVwiIiArIHRpdGxlICsgIlwiIGNsYXNzPVwiJHRodW1iX3N0eWxlXCI+PGltZyBzcmM9XCIiICsgdGh1bWIgKyAiXCIgXC8+PFwvYT4iOw0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9keSIpLnZhbHVlICs9IHRleHQ7DQoJfSBlbHNlIGlmIChmbGlja3J0eXBlID09ICdsaW5rJykgew0KCQl2YXIgdGV4dCA9ICI8YSBocmVmPVwiIiArIHBhZ2V1cmwgKyIgXCIgdGl0bGU9XCIiICsgdGl0bGUgKyAiXCIgdGFyZ2V0PVwiX25ld1wiIGNsYXNzPVwiJHRodW1iX3N0eWxlXCI+PGltZyBzcmM9XCIiICsgdGh1bWIgKyAiXCIgXC8+PFwvYT4iOw0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9keSIpLnZhbHVlICs9IHRleHQ7DQoJfSBlbHNlIGlmIChmbGlja3J0eXBlID09ICdmdWxsJykgew0KCQl2YXIgdGV4dCA9ICI8YSBocmVmPVwiIiArIHBhZ2V1cmwgKyIgXCIgdGl0bGU9XCIiICsgdGl0bGUgKyAiXCIgdGFyZ2V0PVwiX25ld1wiIGNsYXNzPVwiJGZ1bGxfc3R5bGVcIj48aW1nIHNyYz1cIiIgKyBmdWxsICsgIlwiIFwvPjxcL2E+IjsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvZHkiKS52YWx1ZSArPSB0ZXh0Ow0KCX0NCn0NCjwvc2NyaXB0Pg0KRU9GOw0KDQoNCiRmbGlja3J0eXBlID0gPDw8RU9GDQo8YnIgLz4NCmNsaWNrIGFueSB0aHVtYm5haWwgdG8gYWRkIHRoZSBpbWFnZSBjb2RlLCBvciBjaG9vc2UgYSBkaWZmZXJlbnQgZW1iZWQgc3R5bGUgJm5ic3A7DQo8c2VsZWN0IG5hbWU9ImZsaWNrcnR5cGUiIGlkPSJmbGlja3J0eXBlIj4NCgk8b3B0aW9uIHZhbHVlPSJvdmVybGF5Ij50aHVtYm5haWwrb3ZlcmxheTwvb3B0aW9uPg0KCTxvcHRpb24gdmFsdWU9ImxpbmsiPnRodW1ibmFpbCtsaW5rPC9vcHRpb24+DQoJPG9wdGlvbiB2YWx1ZT0iZnVsbCI+ZnVsbCtsaW5rPC9vcHRpb24+DQo8L3NlbGVjdD4NCkVPRjsNCg0KDQokZmxpY2tyc2V0ID0gPDw8RU9GDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIkcGF0aD91c2VyPSR1c2VyJnBhZ2U9JHBhZ2UmcGVyX3BhZ2U9JHBlcl9wYWdlIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCglmb3IgKGtleSBpbiBqc19mbGlja3JbJyR1c2VyJ10pDQoJew0KLy8JCWRvY3VtZW50LndyaXRlKCI8aW1nIHNyYz1cIiIgKyBqc19mbGlja3JbJyR1c2VyJ11ba2V5XVsnJHRodW1iJ10gKyAiXCIgb25DbGljaz1cImFwcGVuZCgnIiArIGpzX2ZsaWNrclsnJHVzZXInXVtrZXldWyckdGh1bWInXSArICInLCAnIiArIGpzX2ZsaWNrclsnJHVzZXInXVtrZXldWyckZnVsbCddICsgIicpXCIgc3R5bGU9XCJtYXJnaW46IDVweCA1cHggMCAwO1wiIFwvPiIpOw0KCQlkb2N1bWVudC53cml0ZSgiPGEgaHJlZj1cIiNib2R5XCIgPjxpbWcgc3JjPVwiIiArIGpzX2ZsaWNrclsnJHVzZXInXVtrZXldWyckdGh1bWInXSArICJcIiBvbkNsaWNrPVwiYXBwZW5kKCciICsganNfZmxpY2tyWyckdXNlciddW2tleV1bJyR0aHVtYiddICsgIicsICciICsganNfZmxpY2tyWyckdXNlciddW2tleV1bJyRmdWxsJ10gKyAiJywgJyIgKyBqc19mbGlja3JbJyR1c2VyJ11ba2V5XVsndGl0bGUnXSArICInLCAnIiArIGpzX2ZsaWNrclsnJHVzZXInXVtrZXldWydwYWdlX3VybCddICsgIicpXCIgc3R5bGU9XCJtYXJnaW46IDVweCA1cHggMCAwO1wiIFwvPjwvYT4iKTsNCgl9DQo8L3NjcmlwdD4NCkVPRjsNCg0KDQokZmxpY2tyaWQgPSA8PDxFT0YNCjxiciAvPg0KPGZvcm0gc3R5bGU9Im1hcmdpbjoxMHB4OyIgPg0KbG9hZCBhIHNwZWNpZmljIGltYWdlIGJ5IGVudGVyaW5nIHRoZSB0ZW4tZGlnaXQgSUQgbnVtYmVyIGZvdW5kIGluIHRoZSBGbGlja3IgVVJMICZuYnNwOw0KPGlucHV0IHR5cGU9InRleHQiIGlkPSJmbGlja3JJRCIgdmFsdWU9InBob3RvIElEIiBzaXplPSIxMCIgb25DbGljaz0iU2VsZWN0QWxsKCdmbGlja3JJRCcpIiAvPg0KPGlucHV0IHR5cGU9ImJ1dHRvbiIgaWQ9ImZsaWNrckJ1dHRvbiIgdmFsdWU9IkxvYWQiIG9uY2xpY2s9ImxvYWRGbGlja3JEYXRhKCkiIC8+DQo8L2Zvcm0+DQoNCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IiRwYXRoP2lkPSRpZCI+PC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQovLwlkb2N1bWVudC53cml0ZSgiPGltZyBzcmM9XCIiICsganNfZmxpY2tyWyckaWQnXVsnJHRodW1iJ10gKyAiXCIgaWQ9XCJmbGlja3JUaHVtYlwiIG9uQ2xpY2s9XCJhcHBlbmQoJyIgKyBqc19mbGlja3JbJyRpZCddWyckdGh1bWInXSArICInLCAnIiArIGpzX2ZsaWNrclsnJGlkJ11bJyRmdWxsJ10gKyAiJylcIiBzdHlsZT1cIm1hcmdpbjogNXB4O1wiIFwvPiIpOw0KCWRvY3VtZW50LndyaXRlKCI8YSBocmVmPVwiI2JvZHlcIiA+PGltZyBzcmM9XCIiICsganNfZmxpY2tyWyckaWQnXVsnJHRodW1iJ10gKyAiXCIgaWQ9XCJmbGlja3JUaHVtYlwiIG9uQ2xpY2s9XCJhcHBlbmQoJyIgKyBqc19mbGlja3JbJyRpZCddWyckdGh1bWInXSArICInLCAnIiArIGpzX2ZsaWNrclsnJGlkJ11bJyRmdWxsJ10gKyAiJywgJyIgKyBqc19mbGlja3JbJyRpZCddWyd0aXRsZSddICsgIicsICciICsganNfZmxpY2tyWyckaWQnXVsncGFnZV91cmwnXSArICInKVwiIHN0eWxlPVwibWFyZ2luOiA1cHg7XCIgXC8+PC9hPiIpOw0KPC9zY3JpcHQ+DQoNCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCglmdW5jdGlvbiBsb2FkRmxpY2tyRGF0YSgpDQoJew0KCQl2YXIgZm9ybU9iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmbGlja3JJRCcpOw0KCQl2YXIgc3RhcnRUaW1lID0gbmV3IERhdGUoKTsNCgkJc3RhcnRUaW1lID0gc3RhcnRUaW1lLmdldFNlY29uZHMoKTsNCg0KCQlESFRNTExvYWRTY3JpcHQoJyRwYXRoP2lkPScgKyBmb3JtT2JqLnZhbHVlKTsNCgkJc2V0VGltZW91dCgnU2V0RmxpY2tySW1nKCcgKyBmb3JtT2JqLnZhbHVlICsgJywnICsgc3RhcnRUaW1lICsgJyknLCA1MDApOw0KCQkNCgkJcmV0dXJuIHRydWU7DQoJfQ0KCQ0KCWZ1bmN0aW9uIERIVE1MTG9hZFNjcmlwdCh1cmwpDQoJew0KCQl2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOw0KCQllbGVtZW50LnNyYyA9IHVybDsNCgkJZWxlbWVudC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7DQoJCWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoZWxlbWVudCk7DQoJCQ0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoJDQoJZnVuY3Rpb24gU2V0RmxpY2tySW1nKGlkLHN0YXJ0KQ0KCXsNCgkJY3VycmVudFRpbWUgPSBuZXcgRGF0ZSgpOw0KCQljdXJyZW50VGltZSA9IGN1cnJlbnRUaW1lLmdldFNlY29uZHMoKTsNCgkJaWYgKChjdXJyZW50VGltZSAtIHN0YXJ0KSA+IDUpIC8qIGRvbid0IGV2ZXIgd2FpdCBsb25nZXIgdGhhbiA1IHNlY29uZHMgKi8NCgkJCXJldHVybiBmYWxzZTsNCgkJCQ0KCQlpZiAodHlwZW9mKGpzX2ZsaWNrcltpZF0pID09ICd1bmRlZmluZWQnKQ0KCQkJc2V0VGltZW91dCgnU2V0RmxpY2tySW1nKCcgKyBpZCArICcsJyArIHN0YXJ0ICsgJyknLCA1MDApOw0KCQllbHNlDQoJCXsNCgkJCXZhciBpbWdPYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmxpY2tyVGh1bWInKTsNCgkJCWltZ09iai5zcmMgPSBqc19mbGlja3JbaWRdWyckdGh1bWInXTsNCgkJCWltZ09iai5vbkNsaWNrID0gImFwcGVuZCgnIiArIGpzX2ZsaWNrcltpZF1bJyR0aHVtYiddICsgIicsICciICsganNfZmxpY2tyW2lkXVsnJGZ1bGwnXSArICInLCAnIiArIGpzX2ZsaWNrcltpZF1bJ3RpdGxlJ10gKyAiJywgJyIgKyBqc19mbGlja3JbaWRdWydwYWdlX3VybCddICsgIicpIjsNCgkJCWltZ09iai5zZXRBdHRyaWJ1dGUoJ29uQ2xpY2snLCAiYXBwZW5kKCciICsganNfZmxpY2tyW2lkXVsnJHRodW1iJ10gKyAiJywgJyIgKyBqc19mbGlja3JbaWRdWyckZnVsbCddICsgIicsICciICsganNfZmxpY2tyW2lkXVsndGl0bGUnXSArICInLCAnIiArIGpzX2ZsaWNrcltpZF1bJ3BhZ2VfdXJsJ10gKyAiJykiKTsNCgkJCQ0KCQkJcmV0dXJuIHRydWU7DQoJCX0NCgl9DQo8L3NjcmlwdD4NCkVPRjsNCg0KCWVjaG8gJG9wZW47DQoJZWNobyAkZmxpY2tydXRpbHM7DQoJZWNobyAkZmxpY2tyc2V0Ow0KCWVjaG8gJHNwbGl0Ow0KCWVjaG8gJGZsaWNrcnR5cGU7DQoJZWNobyAkZmxpY2tyaWQ7DQoJZWNobyAkY2xvc2U7DQp9IjtzOjQ6InR5cGUiO3M6MToiMSI7czozOiJtZDUiO3M6MzI6IjQwOGE4MjIwODMwMzM5OWFiN2M3ZjNmMGYwNGE5MjZhIjt9