Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2007-02-20 11:48:33

zem
Developer emeritus
From: Melbourne, Australia
Registered: 2004-04-08
Posts: 2,579
Website

[plugin] [ORPHAN] Redirect Pro v1

..being both a plugin, and a tentative first attempt at offering a plugin with commercial support:

Redirect Pro v1

A Textpattern plugin for redirecting outdated, incorrect and duplicate URLs. It can help ensure link continuity after a site move or a URL scheme change — an essential step for usability and search engine accessibility.

This is the first release in Threshold State’s Professional Series of Textpattern plugins. Intended for commercial sites and web professionals, the plugin is available by subscription only.

Subscriptions are $9 while I iron out the wrinkles in the IPN signup system.

Update: v1.1 is released, with some minor bugfixes.

Find below the code of this orphan plugin

YToxMDp7czo0OiJuYW1lIjtzOjEyOiJ6ZW1fcmVkaXJlY3QiO3M6NjoiYXV0aG9yIjtzOjExOiJBbGV4IFNoaWVscyI7czoxMDoiYXV0aG9yX3VyaSI7czoyNjoiaHR0cDovL3RocmVzaG9sZHN0YXRlLmNvbS8iO3M6NzoidmVyc2lvbiI7czo1OiIxLjIuMSI7czoxMToiZGVzY3JpcHRpb24iO3M6NTk6IlJlZGlyZWN0IFBybzogaGFuZGxlIGluY29ycmVjdCwgb3V0ZGF0ZWQgYW5kIGR1cGxpY2F0ZSBVUkxzIjtzOjQ6ImhlbHAiO3M6Mjk3OiI8cD5UaGlzIHBsdWctaW4ncyBoZWxwIGRvY3VtZW50cyBhcmUgYXZhaWxhYmxlIHRvIHBheWluZyBzdWJzY3JpYmVycyBvbmx5LiA8c3Ryb25nPk5ldyBzdWJzY3JpcHRpb25zIGFyZSBjdXJyZW50bHkgdW5hdmFpbGFibGUuPC9zdHJvbmc+IEN1cnJlbnQgc3Vic2NyaWJlcnMgY2FuIGFjY2VzcyB0aGUgaGVscCBkb2N1bWVudHMgYnkgdmlzaXRpbmc6IDxhIGhyZWY9Imh0dHA6Ly90aHJlc2hvbGRzdGF0ZS5jb20vc3Vic2NyaWJlcnMvICI+aHR0cDovL3RocmVzaG9sZHN0YXRlLmNvbS9zdWJzY3JpYmVycy8gPC9hPjwvcD4iO3M6NDoiY29kZSI7czo1NjcwOiIvKg0KDQpDb3B5cmlnaHQgMjAwNS0yMDA3IEFsZXggU2hpZWxzIGh0dHA6Ly90aHJlc2hvbGRzdGF0ZS5jb20vDQoNClRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCm1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQp2ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uDQoNClRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQoNCiovDQoNCmZ1bmN0aW9uIHplbV9yZWRpcmVjdF9maXhfdXJsKCR1cmwsICRkZWJ1Zz0wKSB7DQoJJHBhcnRzID0gcGFyc2VfdXJsKCR1cmwpOw0KCWV4dHJhY3QoJHBhcnRzKTsNCgkkcSA9IHByZWdfcmVwbGFjZSgnQCZhbXA7QCcsICcmJywgQCRxdWVyeSk7DQoJJHEgPSAkcSA/ICc/Jy4kcSA6ICcnOw0KDQoJJGhvc3QgPSBlbXB0eSgkc2NoZW1lKSA/IHNlcnZlclNldCgnSFRUUF9IT1NUJykgOiAkaG9zdDsNCgkkc2NoZW1lID0gZW1wdHkoJHNjaGVtZSkgPyAnaHR0cCcgOiAkc2NoZW1lOw0KCSRwb3J0ID0gZW1wdHkoJHBvcnQpID8gJycgOiAnOicuJHBvcnQ7DQoNCglyZXR1cm4gJHNjaGVtZS4nOi8vJy4kaG9zdC4kcG9ydC4nLycubHRyaW0oJHBhdGgsICcvJykuJHE7DQp9DQoNCmZ1bmN0aW9uIHplbV9yZWRpcmVjdF9zZW5kX2hlYWRlcnMoJGxvY2F0aW9uLCAkdHlwZT0nJywgJGRlYnVnPTApIHsNCglnbG9iYWwgJHByZWZzLCAkcHJldGV4dDsNCglleHRyYWN0KCRwcmVmcyk7DQoNCglpZiAoJHByb2R1Y3Rpb25fc3RhdHVzID09ICdkZWJ1Zycgb3IgJGRlYnVnKSB7DQoJCWVjaG8gJzxkaXYgc3R5bGU9ImNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZmVlOyI+Jw0KCQkJLid6ZW1fcmVkaXJlY3Q6IGZyb20gPGEgaHJlZj0iJy4kcHJldGV4dFsncmVxdWVzdF91cmknXS4nIj4nLiRwcmV0ZXh0WydyZXF1ZXN0X3VyaSddLic8L2E+IHRvIDxhIGhyZWY9IicuJGxvY2F0aW9uLiciPicuJGxvY2F0aW9uLic8L2E+PC9kaXY+Jy5uOw0KCQlyZXR1cm4gJGxvY2F0aW9uOw0KCX0NCgllbHNlIHsNCgkJaWYgKCRwcm9kdWN0aW9uX3N0YXR1cyA9PSAnbGl2ZScpIHsNCgkJCWlmICghJHR5cGUpDQoJCQkJJHR5cGUgPSAnMzAxIE1vdmVkIFBlcm1hbmVudGx5JzsNCgkJfQ0KCQllbHNlDQoJCQkkdHlwZSA9ICczMDIgRm91bmQnOw0KDQoJCXR4cF9zdGF0dXNfaGVhZGVyKCR0eXBlKTsNCgkJaGVhZGVyKCJMb2NhdGlvbjogJGxvY2F0aW9uIik7DQoJCW9iX2ZsdXNoKCk7DQoJCWV4aXQ7DQoJfQ0KDQp9DQoNCg0KCWZ1bmN0aW9uIHplbV9yZWRpcmVjdF91cmwoJHRlc3Q9MCkgew0KCQlnbG9iYWwgJHByZXRleHQsICRzaXRldXJsLCAkcGF0aF9mcm9tX3Jvb3QsICRwcmVmczsNCg0KCQlleHRyYWN0KCRwcmVmcyk7DQoNCiAJCWlmIChlbXB0eSgkcGVybWxpbmtfbW9kZSkNCiAJCQlvciAkcGVybWxpbmtfbW9kZSA9PSAnbWVzc3knDQoJCQlvciBzdHJjYXNlY21wKHNlcnZlclNldCgnUkVRVUVTVF9NRVRIT0QnKSwgJ1BPU1QnKSA9PSAwDQoJCQlvciBncHMoJ3R4cHJldmlldycpKQ0KIAkJCXJldHVybjsNCg0KDQoJCSRhY3R1YWxfaG9zdCA9IHNlcnZlclNldCgiSFRUUF9IT1NUIik7DQoJCSRhY3R1YWxfcGF0aCA9ICgkdGVzdCAhPT0gMCA/ICR0ZXN0IDogJHByZXRleHRbJ3JlcXVlc3RfdXJpJ10pOw0KCQkkYWN0dWFsX3VybCA9ICdodHRwOi8vJy4kYWN0dWFsX2hvc3QuJGFjdHVhbF9wYXRoOw0KCQkkY2Fub25pY2FsX3VybCA9ICcnOw0KDQoJCSMgb3RoZXIgdW5rbm93biBxdWVyeSBwYXJhbWV0ZXJzIG1pZ2h0IGJlIHVzZWQgYnkgcGx1Z2lucw0KCQkkZ2V0ID0gZ3BzYShhcnJheV9rZXlzKCRfR0VUKSk7DQoJCWlmICghJGdldCkgJGdldCA9IGFycmF5KCk7DQoJCXVuc2V0KCRnZXRbJ2lkJ10pOw0KCQl1bnNldCgkZ2V0WydzJ10pOw0KCQl1bnNldCgkZ2V0WydjJ10pOw0KDQoJCS8vIHJlbW92ZSBib2d1cyBHRVQgcGFyYW1hdGVycyBpbnNlcnRlZCBieSByc3NfdW5saW1pdGVkX2NhdGVnb3JpZXMNCgkJZ2xvYmFsICRwbHVnaW5zOw0KCQlpZiAoQGluX2FycmF5KCdyc3NfdW5saW1pdGVkX2NhdGVnb3JpZXMnLCAkcGx1Z2lucykpIHsNCgkJCXVuc2V0KCRnZXRbJ3JlcXVlc3RfdXJpJ10pOw0KCQkJdW5zZXQoJGdldFsncXMnXSk7DQoJCX0NCg0KCQlpZiAoZ3BzKCdhdG9tJykgb3IgZ3BzKCdyc3MnKSkgew0KCQkJJGNhbm9uaWNhbF91cmwgPSBwYWdlbGlua3VybCgkZ2V0KTsNCgkJfQ0KCQllbHNlaWYgKCRwcmV0ZXh0WydzdGF0dXMnXSA9PSA0MDQpIHsNCgkJCS8vIHVybCB3aXRoIHN1YmRpciBzdHJpcHBlZA0KCQkJJHVybCA9IEAkcHJldGV4dFsncmVxJ107DQoNCgkJCWlmIChwcmVnX21hdGNoKCdALyhcZHs0fSkvKFxkezJ9KS8oXGR7Mn0pLyhbXi8/XSopLz9AJywgJHVybCwgJG0pKSB7DQoJCQkJJHdoZW4gPSAkbVsxXS4nLScuJG1bMl0uJy0nLiRtWzNdOw0KCQkJCSRycyA9IGxvb2t1cEJ5RGF0ZVRpdGxlKCR3aGVuLCRtWzRdKTsNCgkJCQlpZiAoISRycykNCgkJCQkJJHJzID0gbG9va3VwQnlUaXRsZSgkbVs0XSk7DQoJCQl9DQoJCQllbHNlaWYgKHByZWdfbWF0Y2goJ0AvKFteL10rKS8oXGQrKS8oW14vP10rKS8/QCcsICR1cmwsICRtKSkgew0KCQkJCSRycyA9IGxvb2t1cEJ5SUQoJG1bMl0pOw0KCQkJfQ0KCQkJZWxzZWlmIChwcmVnX21hdGNoKCdALyhbXi8/XSspLyhbXi8/XSspLz9AJywgJHVybCwgJG0pKSB7DQoJCQkJaWYgKGlzX251bWVyaWMoJG1bMl0pKQ0KCQkJCQkkcnMgPSBsb29rdXBCeUlEKCRtWzJdKTsNCgkJCQllbHNlIHsNCgkJCQkJJHJzID0gbG9va3VwQnlUaXRsZVNlY3Rpb24oJG1bMl0sICRtWzFdKTsNCgkJCQkJaWYgKCEkcnMpDQoJCQkJCQkkcnMgPSBsb29rdXBCeVRpdGxlKCRtWzJdKTsNCgkJCQl9DQoJCQl9DQoJCQllbHNlaWYgKHByZWdfbWF0Y2goJ0AvKFteLz9dKykvP0AnLCAkdXJsLCAkbSkpIHsNCgkJCQkkcnMgPSBsb29rdXBCeVRpdGxlKCRtWzFdKTsNCgkJCX0NCg0KCQkJaWYgKCRycykgew0KCQkJCSRjYW5vbmljYWxfdXJsID0gcGVybWxpbmt1cmxfaWQoJHJzWydJRCddKSAuIGpvaW5fcXMoJGdldCk7DQoJCQl9DQoJCQllbHNlIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoJCX0NCgkJZWxzZWlmICgkcHJldGV4dFsncyddID09ICdmaWxlX2Rvd25sb2FkJykgew0KCQkJcmV0dXJuOw0KCQl9DQoJCWVsc2VpZiAoJHByZXRleHRbJ21vbnRoJ10gYW5kICRwZXJtbGlua19tb2RlID09ICd5ZWFyX21vbnRoX2RheV90aXRsZScpIHsNCgkJCXJldHVybjsNCgkJfQ0KCQllbHNlaWYgKCRwcmV0ZXh0WyJpZCJdKSB7DQoJCQkjIEFydGljbGUgcGFnZQ0KCQkJJHBhcnRzID0gcGFyc2VfdXJsKCRwcmV0ZXh0WydyZXEnXSk7DQoJCQlpZiAoaXNzZXQoJHBhcnRzWydwYXRoJ10pKSB7DQoJCQkJJHBhdGhpbmZvID0gcGF0aGluZm8oJHBhcnRzWydwYXRoJ10pOw0KCQkJCWlmICghZW1wdHkoJHBhdGhpbmZvWydleHRlbnNpb24nXSkgYW5kICRwYXRoaW5mb1snYmFzZW5hbWUnXSAhPSAnaW5kZXgucGhwJykgew0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJfQ0KCQkJJGlkID0gc2FmZV9maWVsZCgiSUQiLCJ0ZXh0cGF0dGVybiIsIklEPSciLmRvU2xhc2goJHByZXRleHRbImlkIl0pLiInIGFuZCBTdGF0dXMgSU4gKCc0JywgJzUnKSBsaW1pdCAxIik7DQoJCQlpZiAoJGlkKSB7DQoJCQkJJGNhbm9uaWNhbF91cmwgPSBwZXJtbGlua3VybF9pZCgkaWQpOw0KCQkJfQ0KDQoJCQkjIHJlYXR0YWNoIG1lc3N5IFVSTCBwYXJhbWV0ZXJzLCBpZiBhbnkNCgkJCSRjYW5vbmljYWxfdXJsIC49IGpvaW5fcXMoJGdldCk7DQoJCX0NCgkJZWxzZSB7DQoJCQkjIExpc3QgcGFnZQ0KCQkJJGNhbm9uaWNhbF91cmwgPSBwYWdlbGlua3VybCgkZ2V0LCBhcnJheSgncyc9PiRwcmV0ZXh0WydzJ10sICdjJz0+JHByZXRleHRbJ2MnXSkpOw0KCQl9DQoNCgkJaWYgKCRjYW5vbmljYWxfdXJsKSB7DQoNCgkJCSMgZml4IHVwIGFtcGVyc2FuZHMNCgkJCSRjYW5vbmljYWxfdXJsID0gemVtX3JlZGlyZWN0X2ZpeF91cmwoJGNhbm9uaWNhbF91cmwpOw0KCQkJaWYgKCRhY3R1YWxfdXJsICE9ICRjYW5vbmljYWxfdXJsKSB7DQoJCQkJcmV0dXJuIHplbV9yZWRpcmVjdF9zZW5kX2hlYWRlcnMoJGNhbm9uaWNhbF91cmwsICczMDEgTW92ZWQgUGVybWFuZW50bHknLCAkdGVzdCAhPT0gMCk7DQoJCQl9DQoJCX0NCg0KCX0NCg0KDQpmdW5jdGlvbiB6ZW1fcmVkaXJlY3RfaGFuZGxlcigkZXZlbnQsICRzdGVwKSB7DQoJaWYgKCRldmVudCA9PSAndGV4dHBhdHRlcm4nKQ0KCQl6ZW1fcmVkaXJlY3RfdXJsKCk7DQp9DQoNCnJlZ2lzdGVyX2NhbGxiYWNrKCd6ZW1fcmVkaXJlY3RfaGFuZGxlcicsICd0ZXh0cGF0dGVybicpOw0KDQppZiAodHhwaW50ZXJmYWNlID09ICdwdWJsaWMnIGFuZCAoZ3BzKCdhdG9tJykgb3IgZ3BzKCdyc3MnKSkpIHsNCgl6ZW1fcmVkaXJlY3RfdXJsKCk7DQp9DQoNCg0KZnVuY3Rpb24gemVtX3JlZGlyZWN0KCRhdHRzKSB7DQoJZ2xvYmFsICRwcmV0ZXh0Ow0KDQoJZXh0cmFjdChsQXR0cyhhcnJheSgNCgkJJ3RvJyA9PiAnJywNCgkJJ2Zyb20nID0+ICcnLA0KCQknZGVidWcnID0+IDAsDQoJCSd0eXBlJyA9PiAnMzAyJywNCgkpLCAkYXR0cykpOw0KDQoJJHRvID0gdHJpbSgkdG8pOw0KCSRmcm9tID0gdHJpbSgkZnJvbSk7DQoNCg0KCSRkZXN0ID0gJyc7DQoJaWYgKCRmcm9tIGFuZCAkdG8pIHsNCgkJJGZyb20gPSBhZGRjc2xhc2hlcygkZnJvbSwgJ0AnKTsNCgkJJHRvID0gYWRkY3NsYXNoZXMoJHRvLCAnQCcpOw0KCQlpZiAocHJlZ19tYXRjaCgnQCcuJGZyb20uJ0AnLCAkcHJldGV4dFsncmVxdWVzdF91cmknXSkpIHsNCgkJCSRvdXQgPSBwcmVnX3JlcGxhY2UoJ0AnLiRmcm9tLidAJywgJHRvLCAkcHJldGV4dFsncmVxdWVzdF91cmknXSk7DQoJCQkkZGVzdCA9IHplbV9yZWRpcmVjdF9maXhfdXJsKCRvdXQsICRkZWJ1Zyk7DQoJCX0NCgl9DQoJZWxzZWlmICgkdG8pIHsNCgkJJGRlc3QgPSB6ZW1fcmVkaXJlY3RfZml4X3VybCgkdG8sICRkZWJ1Zyk7DQoJfQ0KCWVsc2Ugew0KCQl0cmlnZ2VyX2Vycm9yKCdObyBkZXN0aW5hdGlvbiBzcGVjaWZpZWQnKTsNCgl9DQoNCgkkYWN0dWFsX2hvc3QgPSBzZXJ2ZXJTZXQoIkhUVFBfSE9TVCIpOw0KCSRhY3R1YWxfcGF0aCA9ICgkdGVzdCAhPT0gMCA/ICR0ZXN0IDogJHByZXRleHRbJ3JlcXVlc3RfdXJpJ10pOw0KCSRhY3R1YWxfdXJsID0gJ2h0dHA6Ly8nLiRhY3R1YWxfaG9zdC4kYWN0dWFsX3BhdGg7DQoNCglpZiAoJGRlc3QgYW5kICRkZXN0ICE9ICRhY3R1YWxfdXJsKSB7DQoJCSRzdGF0dXMgPSAoJHR5cGUgPT0gJzMwMScgPyAnMzAxIE1vdmVkIFBlcm1hbmVudGx5JyA6ICczMDIgRm91bmQnKTsNCgkJcmV0dXJuIHplbV9yZWRpcmVjdF9zZW5kX2hlYWRlcnMoJGRlc3QsICRzdGF0dXMsICRkZWJ1Zyk7DQoJfQ0KDQp9DQoiO3M6NDoidHlwZSI7czoxOiIwIjtzOjU6Im9yZGVyIjtzOjE6IjUiO3M6MzoibWQ1IjtzOjMyOiJkM2UzNjRiZTY2NWNkODNjNTIxZWFmODdiMjQ3NDMyZiI7fQ==

Last edited by zem (2007-02-25 21:44:44)


Alex
tstate

Offline

#2 2007-02-20 16:40:17

Jeremie
Member
From: Provence, France
Registered: 2004-08-11
Posts: 1,578
Website

Re: [plugin] [ORPHAN] Redirect Pro v1

Already signed up at noon :)

Offline

#3 2007-02-20 20:37:23

zem
Developer emeritus
From: Melbourne, Australia
Registered: 2004-04-08
Posts: 2,579
Website

Re: [plugin] [ORPHAN] Redirect Pro v1

Thanks Jeremie.

For the curious, here’s a screenshot of the subscriber account page.


Alex
tstate

Offline

#4 2007-02-20 20:52:54

jstubbs
Moderator
From: Hong Kong
Registered: 2004-12-13
Posts: 2,394
Website

Re: [plugin] [ORPHAN] Redirect Pro v1

That’s very exciting Alex. Look forward to the rest of your goodies ;-) Are these new plugins from Team Textpattern or purely your own? Could you give us a taste of what plugins we can expect to see?

Offline

#5 2007-02-20 20:56:19

sthmtc
Member
From: CGN, GER
Registered: 2005-01-17
Posts: 586
Website

Re: [plugin] [ORPHAN] Redirect Pro v1

“Automatically redirects old URLs to the correct pages when an article is moved to a different section after publication”

i guess this is wait i’ve waited for. so that means i can move some of my articles currently assigned to sectionX to sectionY without breaking anything? that would be soo sweet. thats the only functionality i’d need for now, do you think it’s worth giving it a try — even though i’m on lighttpd?

Offline

#6 2007-02-20 20:59:38

Pat64
Plugin Author
From: France
Registered: 2005-12-12
Posts: 1,273
Website

Re: [plugin] [ORPHAN] Redirect Pro v1

Done, Alex!


Patrick.

Github | CodePen | Simplr theme | Wait Me a maintenance theme

Offline

#7 2007-02-20 21:30:44

zem
Developer emeritus
From: Melbourne, Australia
Registered: 2004-04-08
Posts: 2,579
Website

Re: [plugin] [ORPHAN] Redirect Pro v1

Are these new plugins from Team Textpattern or purely your own? Could you give us a taste of what plugins we can expect to see?

For now these are just mine. Testing the waters, proving the concept, then we’ll see how it might expand.

The first plugins will be rewritten, thoroughly tested versions of older releases. Redirect Pro was based on zem_redirect.

I’m not sure which will be next yet. 90% of the work is in testing and writing documentation.


Alex
tstate

Offline

#8 2007-02-20 21:35:36

zem
Developer emeritus
From: Melbourne, Australia
Registered: 2004-04-08
Posts: 2,579
Website

Re: [plugin] [ORPHAN] Redirect Pro v1

i guess this is wait i’ve waited for. so that means i can move some of my articles currently assigned to sectionX to sectionY without breaking anything?

That’s the idea, yeah. You can even switch (most) URL schemes without breaking old link continuity.

that would be soo sweet. thats the only functionality i’d need for now, do you think it’s worth giving it a try — even though i’m on lighttpd?

If you have clean URLs working reliably (check your diagnostics in txp 4.0.4 for warnings) it will probably work, but I can’t guarantee or support that. Development and testing is on Apache+Unix, so that’s what I support; it’s never been tried on lighttpd, IIS or anything else. If it doesn’t work on platforms other than Apache+Unix, I have no way of diagnosing or fixing the problem.

Last edited by zem (2007-02-20 21:39:49)


Alex
tstate

Offline

#9 2007-02-20 22:01:28

sthmtc
Member
From: CGN, GER
Registered: 2005-01-17
Posts: 586
Website

Re: [plugin] [ORPHAN] Redirect Pro v1

well i guess i’ll just have to try it out then. i’ve also stumbled upon your warning regarding other custom clean URL plugins, i make heavy use of graemes permanent link plugin but oh well, i’ll give it try, it’s worth the 9$ in any case. :)

EDIT: it does exactly what i need and works like a charm on lighttpd and in combination with gbp_permanent_links! thank you so much for providing this.

Last edited by sthmtc (2007-02-20 22:12:15)

Offline

#10 2007-02-21 05:35:17

zem
Developer emeritus
From: Melbourne, Australia
Registered: 2004-04-08
Posts: 2,579
Website

Re: [plugin] [ORPHAN] Redirect Pro v1

Good to hear. I might see about a FAQ or knowledge base or similar for this kind of info.


Alex
tstate

Offline

Board footer

Powered by FluxBB