# msv_if_custom_article_date v1.0 # Conditional tag that compares a date set in custom field with a date set in the tag (default is today). Applicable in article form. # Martin Svihla # http://www.svihla.net/ # ...................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ...................................................................... YTo5OntzOjc6InZlcnNpb24iO3M6MzoiMS4wIjtzOjY6ImF1dGhvciI7czoxMzoiTWFydGlu IFN2aWhsYSI7czoxMDoiYXV0aG9yX3VyaSI7czoyMjoiaHR0cDovL3d3dy5zdmlobGEubmV0 LyI7czoxMToiZGVzY3JpcHRpb24iO3M6MTMxOiJDb25kaXRpb25hbCB0YWcgdGhhdCBjb21w YXJlcyBhIGRhdGUgc2V0IGluIGN1c3RvbSBmaWVsZCB3aXRoIGEgZGF0ZSBzZXQgaW4gdGhl IHRhZyAoZGVmYXVsdCBpcyB0b2RheSkuIEFwcGxpY2FibGUgaW4gYXJ0aWNsZSBmb3JtLiI7 czo0OiJ0eXBlIjtpOjA7czo0OiJuYW1lIjtzOjI2OiJtc3ZfaWZfY3VzdG9tX2FydGljbGVf ZGF0ZSI7czo0OiJoZWxwIjtzOjE2Mzc6IgpoMS4gSGVscCBmb3IgKm1zdl9pZl9jdXN0b21f YXJ0aWNsZV9kYXRlKiB0YWcKCmgyIENsYXNzaWZpY2F0aW9uClRoZSBfbXN2X2lmX2N1c3Rv bV9hcnRpY2xlX2RhdGVfIHRhZyBpcyBhIENvbmRpdGlvbmFsIFRhZywgYW5kIHRoZXJlZm9y ZSBhIENvbnRhaW5lciBUYWcsIGFzIGFsbCBjb25kaXRpb25hbCB0YWdzIGFyZSBjb250YWlu ZXIgdGFncy4gVGhlIHRhZyB3aWxsIGV4ZWN1dGUgdGhlIGNvbnRhaW5lZCBzdGF0ZW1lbnQg aWYgYSBkYXRlIHNldCBpbiBhIHNwZWNpZmllZCBjdXN0b20gZmllbGQgaXMgZ3JlYXRlci9s ZXNzL2dyZWF0ZXJlcXVhbC9sZXNzZXF1YWwvZXF1YWwvbm90ZXF1YWwgY29tcGFyZWQgdG8g YSBkYXRlIHNldCBpbiB0aGUgdGFnLgoKaDIgU3ludGF4ClRoZSB0YWcgaGFzIHRoZSBmb2xs b3dpbmcgc3ludGFjdGljIHN0cnVjdHVyZS4uLgo8dHhwOm1zdl9pZl9jdXN0b21fYXJ0aWNs ZV9kYXRlPiAuLi55b3VyIGNvbnRlbnQgaGVyZS4uLgo8L3R4cDptc3ZfaWZfY3VzdG9tX2Fy dGljbGVfZGF0ZT4KCmgyIEF0dHJpYnV0ZXMKKiBpcz0iZ3JlYXRlci9sZXNzL2dyZWF0ZXJl cXVhbC9sZXNzZXF1YWwvZXF1YWwvbm90ZXF1YWwiIChkZWZhdWx0ICdlcXVhbCcpCiogZGF0 ZT0iZGF0ZSBpbiBmb3JtYXQgZGQubW0ueXl5eSIgKGRlZmF1bHQgaXMgdG9kYXkpCiogY3Vz dG9tZmllbGQ9Im51bWJlciBvZiBhIGN1c3RvbSBmaWVsZCB3aXRoIGEgZGF0ZSBhc3NvY2lh dGVkIHRvIGFydGljbGUiIChkZWZhdWx0ICcxJykKKiBkYXRlc2VwYXJhdG9yPSJhIGNoYXJh Y3RlciB0aGF0IHNlcGFyYXRlcyBkYXksIG1vbnRoIGFuZCB5ZWFyIGluIGEgZGF0ZSBzdHJp bmciIChkZWZhdWx0ICcuJykKCmgyIE90aGVyIG5vdGVzCiogSW4gY2FzZSB0aGUgc3BlY2lm aWVkIGN1c3RvbSBmaWVsZCBpcyBlbXB0eSwgdGhlIGNvbnRhaW5lZCBzdGF0ZW1lbnQgd2ls bCBiZSBleGVjdXRlZC4KKiBEYXRlIGluIGEgY3VzdG9tIGZpZWxkIHNob3VsZCBiZSBpbiBm b3JtYXQgZGQubW0ueXl5eQoKaDIgRXhhbXBsZXMKaDMgQ2xhc3NpY2FsICdwdWJsaXNoIHVu dGlsIGRhdGUnIGNvbmRpdGlvbi4KVGhlIGFydGljbGUgd2lsbCBiZSBwdWJsaXNoZWQgdW50 aWwgZGF0ZSBzcGVjaWZpZWQgaW4gdGhlIGN1c3RvbSBmaWVsZCBudW1iZXIgNCAoZGF0ZSBp biBmb3JtYXQgJ2RkLm1tLnl5eXknKS4KPHR4cDptc3ZfaWZfY3VzdG9tX2FydGljbGVfZGF0 ZSBpcz0iZ3JlYXRlcmVxdWFsIiBjdXN0b21maWVsZD0iNCI+QXJ0aWNsZUNvbnRlbnQ8L3R4 cDptc3ZfaWZfY3VzdG9tX2FydGljbGVfZGF0ZT4KCmgzIE1vcmUgY29tcGxpY2F0ZWQgZXhh bXBsZQpUaGUgX0NvbnRlbnRfIHdpbGwgYmUgcHVibGlzaGVkIGlmIGRhdGUgc3BlY2lmaWVk IGluIHRoZSBjdXN0b20gZmllbGQgbnVtYmVyIDEgKGRhdGUgaW4gZm9ybWF0ICdkZC1tbS15 eXl5JykgaXMgbGVzcyB0aGFuIDExdGggTm92ZW1iZXIgMjAwNiAoZGF0ZSBpbiBmb3JtYXQg J2RkLW1tLXl5eXknKS4KPHR4cDptc3ZfaWZfY3VzdG9tX2FydGljbGVfZGF0ZSBpcz0ibGVz cyIgY3VzdG9tZmllbGQ9IjEiIGRhdGVzZXBhcmF0b3I9Ii0iIGRhdGU9IjExLTExLTIwMDYi PkNvbnRlbnQ8L3R4cDptc3ZfaWZfY3VzdG9tX2FydGljbGVfZGF0ZT4KIjtzOjQ6ImNvZGUi O3M6MjA5NToiCmZ1bmN0aW9uIG1zdl9pZl9jdXN0b21fYXJ0aWNsZV9kYXRlKCRhdHRzLCAk ZW5jbG9zZWQpIHsKICAgIGdsb2JhbCAkdGhpc2FydGljbGU7CiAgICAkaWQgPSAkdGhpc2Fy dGljbGVbInRoaXNpZCJdOwoKICAgIGlmIChpc19hcnJheSgkYXR0cykpIGV4dHJhY3QoJGF0 dHMpOwoKICAgICRjdXN0b21maWVsZCA9IChlbXB0eSgkY3VzdG9tZmllbGQpKSA/ICIxIiA6 ICRjdXN0b21maWVsZDsKCSRpcyA9IChlbXB0eSgkaXMpKSA/ICJlcXVhbCIgOiAkaXM7Cgkk ZGF0ZXNlcGFyYXRvciA9IChlbXB0eSgkZGF0ZXNlcGFyYXRvcikpID8gJy4nIDogJGRhdGVz ZXBhcmF0b3I7CgkkdGFnRGF0ZSA9IChlbXB0eSgkZGF0ZSkpID8gZGF0ZSgiZCIuJGRhdGVz ZXBhcmF0b3IuIm4iLiRkYXRlc2VwYXJhdG9yLiJZIikgOiAkZGF0ZTsKCgkvLyBnZXQgYXJ0 aWNsZSBjdXN0b20gZGF0ZQoJJHJlcyA9IHNhZmVfcm93cygnY3VzdG9tXycuJGN1c3RvbWZp ZWxkLCAidGV4dHBhdHRlcm4iLCJpZD0nJGlkJyIpOwogICAgJGFydGljbGVEYXRlID0gJHJl c1swXVsnY3VzdG9tXycuJGN1c3RvbWZpZWxkXTsKCglpZiAoc3RybGVuKHRyaW0oJGFydGlj bGVEYXRlKSk+MCkgewoJCSRyZXN1bHQgPSBjb21wYXJlRGF0ZSAoJGFydGljbGVEYXRlLCAk dGFnRGF0ZSwgJGRhdGVzZXBhcmF0b3IpOwoJCWlmIChzdHJ0b2xvd2VyKCRpcyk9PSJncmVh dGVyIiAmJiAkcmVzdWx0ID4gMCkgewoJCSAgICByZXR1cm4gcGFyc2UoJGVuY2xvc2VkKTsK CQl9IGVsc2VpZiAoc3RydG9sb3dlcigkaXMpPT0ibGVzcyIgJiYgJHJlc3VsdCA8IDApIHsK CQkgICAgcmV0dXJuIHBhcnNlKCRlbmNsb3NlZCk7CgkJfSBlbHNlaWYgKHN0cnRvbG93ZXIo JGlzKT09ImdyZWF0ZXJlcXVhbCIgJiYgKCRyZXN1bHQgPiAwIHx8ICRyZXN1bHQgPT0gMCkp IHsKCQkgICAgcmV0dXJuIHBhcnNlKCRlbmNsb3NlZCk7CgkJfSBlbHNlaWYgKHN0cnRvbG93 ZXIoJGlzKT09Imxlc3NlcXVhbCIgJiYgKCRyZXN1bHQgPCAwIHx8ICRyZXN1bHQgPT0gMCkp IHsKCQkgICAgcmV0dXJuIHBhcnNlKCRlbmNsb3NlZCk7CgkJfSBlbHNlaWYgKHN0cnRvbG93 ZXIoJGlzKT09ImVxdWFsIiAmJiAkcmVzdWx0ID09IDApIHsKCQkgICAgcmV0dXJuIHBhcnNl KCRlbmNsb3NlZCk7CgkJfSBlbHNlaWYgKHN0cnRvbG93ZXIoJGlzKT09Im5vdGVxdWFsIiAm JiAkcmVzdWx0ICE9IDApIHsKCQkgICAgcmV0dXJuIHBhcnNlKCRlbmNsb3NlZCk7CgkJfQoJ CXJldHVybiAiIjsKCX0gZWxzZSB7CgkJcmV0dXJuIHBhcnNlKCRlbmNsb3NlZCk7Cgl9Cgp9 CgovLyByZXR1cm5zIDwwLCAwLCA+MCBpZiBkYXRlIGE8IGRhdGUgYixkYXRlIGE9PSBkYXRl IGIsZGF0ZSBhID4gZGF0ZSBiIHJlc3BlY3RpdmVseS4KZnVuY3Rpb24gY29tcGFyZURhdGUg KCRpX3NGaXJzdERhdGUsICRpX3NTZWNvbmREYXRlLCAkZGF0ZVNlcGFyYXRvcikgewovL0Jy ZWFrIHRoZSBEYXRlIHN0cmluZ3MgaW50byBzZXBlcmF0ZSBjb21wb25lbnRzCgokYXJyRmly c3REYXRlID0gZXhwbG9kZSAoJGRhdGVTZXBhcmF0b3IsICRpX3NGaXJzdERhdGUpOwokYXJy U2Vjb25kRGF0ZSA9IGV4cGxvZGUgKCRkYXRlU2VwYXJhdG9yLCAkaV9zU2Vjb25kRGF0ZSk7 CgokaW50Rmlyc3REYXkgPSAkYXJyRmlyc3REYXRlWzBdOwokaW50Rmlyc3RNb250aCA9ICRh cnJGaXJzdERhdGVbMV07CiRpbnRGaXJzdFllYXIgPSAkYXJyRmlyc3REYXRlWzJdOwoKJGlu dFNlY29uZERheSA9ICRhcnJTZWNvbmREYXRlWzBdOwokaW50U2Vjb25kTW9udGggPSAkYXJy U2Vjb25kRGF0ZVsxXTsKJGludFNlY29uZFllYXIgPSAkYXJyU2Vjb25kRGF0ZVsyXTsKCgoK Ly8gQ2FsY3VsYXRlIHRoZSBkaWZlcmVuY2Ugb2YgdGhlIHR3byBkYXRlcyBhbmQgcmV0dXJu IHRoZSBudW1iZXIgb2YgZGF5cy4KJGludERhdGUxSnVsID0gZ3JlZ29yaWFudG9qZCgkaW50 Rmlyc3RNb250aCwgJGludEZpcnN0RGF5LCAkaW50Rmlyc3RZZWFyKTsKJGludERhdGUySnVs ID0gZ3JlZ29yaWFudG9qZCgkaW50U2Vjb25kTW9udGgsICRpbnRTZWNvbmREYXksICRpbnRT ZWNvbmRZZWFyKTsKCnJldHVybiAkaW50RGF0ZTFKdWwgLSAkaW50RGF0ZTJKdWw7Cgp9CiI7 czozOiJtZDUiO3M6MzI6IjM1YmNiMjMwODUzM2NhZmU1YTA4MTQwYzk3ZjRlMWRkIjt9