plugin:countdown
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
plugin:countdown [2011-05-31 23:10] – 79.254.105.114 | plugin:countdown [2022-05-31 17:08] (current) – [Fix for "DateInterval::format() expects exactly 1 parameter, 0 given”] kkue | ||
---|---|---|---|
Line 2: | Line 2: | ||
---- plugin ---- | ---- plugin ---- | ||
- | description: | + | description: |
author | author | ||
email : luis.machuca [at] gulix.cl | email : luis.machuca [at] gulix.cl | ||
type : syntax | type : syntax | ||
- | lastupdate : 2011-03-11 | + | lastupdate : 2020-11-01 |
- | compatible : 2010-11-07 | + | compatible : Lemming, Anteater, Weatherwax, Binky, Frusterick Manners, Greebo |
depends | depends | ||
conflicts | conflicts | ||
similar | similar | ||
tags : counter, date | tags : counter, date | ||
+ | version | ||
- | downloadurl: | + | downloadurl: |
+ | sourceurl | ||
+ | bugtracker : https:// | ||
+ | donationurl: | ||
---- | ---- | ||
Line 19: | Line 23: | ||
The **Countdown Plugin** shows a countdown to a specific (target) date. | The **Countdown Plugin** shows a countdown to a specific (target) date. | ||
- | **Under new management since June 11, 2009**. | + | **Under new management since June 11, 2009**.\\ |
+ | -Previously maintained by [[ekkart@ekkart.de|Ekkart Kleinod]] (since version 2.x).\\ | ||
+ | -Based on even earlier work by [[rbpeters@peterro.com|Ron Peters]] (version 1.0).\\ | ||
+ | -Which was itself a modified version of the [[http:// | ||
- | Previously maintained by [[ekkart@ekkart.de|Ekkart Kleinod]] (since version | + | **Important: |
- | + | ||
- | Based on even earlier work by [[rbpeters@peterro.com|Ron Peters]] (version 1.0). | + | |
- | + | ||
- | Which was itself a modified version of the [[http:// | + | |
**Important: | **Important: | ||
===== Download and Installation ===== | ===== Download and Installation ===== | ||
+ | Search and install the plugin using the [[plugin: | ||
- | Download and install the plugin via the [[plugin: | + | :!: It is recommended you upgrade the plugin if you are using PHP>=7.0 to avoid some warnings in the code, thanks to Stefan Huehner for the corrections. |
- | + | ||
- | Refer to [[: | + | |
- | + | ||
- | :!: If you are using a previous version of the plugin, it is recommended that you **uninstall** the previous version before installing | + | |
==== Previous Versions ==== | ==== Previous Versions ==== | ||
**Download links for previous version**: | **Download links for previous version**: | ||
- | * [[http://ryan.gulix.cl/dw/desarrollo/dokuwiki/inicio]] (archive of released 2.x versions) | + | * [[https://chiselapp.com/user/lmachucab/repository/dokuwiki-plugin-countdown/]] - source control. |
* [[http:// | * [[http:// | ||
- | ==== Demo ==== | ||
- | |||
- | :!: [[http:// | ||
- | |||
- | Examples of use and more information can be found on [[http:// | ||
- | |||
- | ^ {{http:// | ||
- | | The output of the '' | ||
===== Usage ===== | ===== Usage ===== | ||
Line 65: | Line 57: | ||
XX days [HH:MM] since description | XX days [HH:MM] since description | ||
- | (where the '' | + | (where the '' |
Possible formats of //date// are all [[http:// | Possible formats of //date// are all [[http:// | ||
Line 72: | Line 64: | ||
< | < | ||
< | < | ||
+ | | ||
+ | Disable Page Caching so the plugin text can remain dynamic, insert this into any page using this plugin: | ||
+ | |||
+ | ~~NOCACHE~~ | ||
Line 78: | Line 74: | ||
The plugin is configurable in some ways since version 2.0. | The plugin is configurable in some ways since version 2.0. | ||
- | There are six parameters that are configurable, | + | There are seven parameters that are configurable, |
- | + | ||
- | **Visibility of Countdown Date**: | + | |
- | The parameter | + | ^ Visibility of Target Date || |
+ | ^ Parameter | ||
Example: | Example: | ||
Line 90: | Line 85: | ||
XX days until description (mm/ | XX days until description (mm/ | ||
- | **Short form for Today**: | + | ^ Short form for today || |
- | + | | Parameter | |
- | The parameter | + | |
Example: | Example: | ||
Line 98: | Line 92: | ||
Today is description | Today is description | ||
- | **Display | + | ^ Display |
- | + | | Parameter | |
- | The parameter | + | |
Examples: | Examples: | ||
Line 106: | Line 99: | ||
XX days HH:MM until description (mm/ | XX days HH:MM until description (mm/ | ||
- | ==== Parameters in the Latest Release ==== | + | ^ Display All Days || |
+ | ^ Parameter '' | ||
- | **Display business | + | Examples: |
+ | (with option diabled) | ||
+ | BB months DD days HH:MM until description (mm/ | ||
+ | (with option enabled) | ||
+ | NNNNN days HH:MM until description (mm/ | ||
- | The parameter | + | ^ Display Business Days (estimate) |
+ | ^ Parameter | ||
Examples: | Examples: | ||
Line 116: | Line 115: | ||
XX (BB) days until description | XX (BB) days until description | ||
- | **Server Time Message** | + | ^ Announce |
- | + | ^ Parameter '' | |
- | This parameter is a Boolean that determines whether | + | |
Examples: | Examples: | ||
Line 147: | Line 145: | ||
===== Versions ===== | ===== Versions ===== | ||
+ | * :!: version 3.0 (2020-11-01): | ||
+ | * version 2.6 (2019-01-13): | ||
* version 2.5rc2 (2011-03-11) maintained by Luis Machuca Bezzaza: correction of a one-day-time bug and addition of the option to display business days and server time; minor overall improvements; | * version 2.5rc2 (2011-03-11) maintained by Luis Machuca Bezzaza: correction of a one-day-time bug and addition of the option to display business days and server time; minor overall improvements; | ||
* version 2.5rc (2009-12-19) maintained by Luis Machuca Bezzaza: Czech, Spanish and Br-Portuguese language files, ability to display hours, general code rewrite to use getLang(), [[xref> | * version 2.5rc (2009-12-19) maintained by Luis Machuca Bezzaza: Czech, Spanish and Br-Portuguese language files, ability to display hours, general code rewrite to use getLang(), [[xref> | ||
Line 158: | Line 158: | ||
===== Discussion ===== | ===== Discussion ===== | ||
+ | '' | ||
Does this plugin work properly with leap years? | Does this plugin work properly with leap years? | ||
Line 214: | Line 215: | ||
</ | </ | ||
>This was apparently a bug caused y leftover code, and seems to be fixed in the newest release. | >This was apparently a bug caused y leftover code, and seems to be fixed in the newest release. | ||
+ | |||
+ | ==== de-informal ==== | ||
+ | We set the global wiki language " | ||
+ | |||
==== Bug line 127 syntax.php : ==== | ==== Bug line 127 syntax.php : ==== | ||
Line 249: | Line 254: | ||
Regards, Mark W. | Regards, Mark W. | ||
+ | >Fixed in the latest update. Can't believe I just missed one or two lines of code. -- --- [[user> | ||
+ | >> updated and it works, thx --- [[user> | ||
+ | |||
+ | ==== ADDON select language ==== | ||
+ | |||
+ | created by --- [[user> | ||
+ | |||
+ | if your language for the countdown plugin is different from the prefered language | ||
+ | you need to modify the .../ | ||
+ | |||
+ | to select the language during the admin configuration | ||
+ | replace the original .../ | ||
+ | |||
+ | so we have now two ways to change the language | ||
+ | - per default in the config manager | ||
+ | - with the extented syntax: < | ||
+ | |||
+ | i have an example on http:// | ||
+ | |||
+ | === new .../ | ||
+ | |||
+ | |||
+ | <code php> | ||
+ | <?php | ||
+ | /** | ||
+ | * Metadata configuration for countdown plugin. | ||
+ | * | ||
+ | * @license GPL 2 (http:// | ||
+ | * @author | ||
+ | */ | ||
+ | |||
+ | $meta[' | ||
+ | $meta[' | ||
+ | $meta[' | ||
+ | |||
+ | /// The two following configurations are in a beta state | ||
+ | $meta[' | ||
+ | $meta[' | ||
+ | |||
+ | // | ||
+ | /** | ||
+ | * Addon for Metadata configuration for countdown plugin. | ||
+ | * | ||
+ | * @author Mark Wolfgruber | ||
+ | | ||
+ | */ | ||
+ | |||
+ | if(!defined(' | ||
+ | |||
+ | // Source: http:// | ||
+ | // if not exist PHP 5 a function named scandir | ||
+ | if (!function_exists(' | ||
+ | function scandir($directory, | ||
+ | if(!is_dir($directory)) { | ||
+ | return false; | ||
+ | } | ||
+ | $files = array(); | ||
+ | $handle = opendir($directory); | ||
+ | while (false !== ($filename = readdir($handle))) { | ||
+ | $files[] = $filename; | ||
+ | } | ||
+ | closedir($handle); | ||
+ | |||
+ | if($sorting_order == 1) { | ||
+ | rsort($files); | ||
+ | } else { | ||
+ | sort($files); | ||
+ | } | ||
+ | return $files; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // define countdown language directory | ||
+ | $countdown_lang_folder = DOKU_INC.' | ||
+ | |||
+ | // read countdown language directory | ||
+ | foreach(scandir($countdown_lang_folder) as $file) { | ||
+ | if($file[0] != ' | ||
+ | if(is_dir($countdown_lang_folder.'/' | ||
+ | $countdown_lang_folderArray[] = $file; | ||
+ | } else { // read files (not needed at the moment) | ||
+ | $countdown_lang_fileArray[] = $file; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | $meta[' | ||
+ | </ | ||
+ | |||
+ | === modification 1 of the .../ | ||
+ | |||
+ | |||
+ | <code php> | ||
+ | /** | ||
+ | * | ||
+ | * this function is a copy of .../ | ||
+ | * | ||
+ | * only two lines are added | ||
+ | * | ||
+ | */ | ||
+ | function setupLocale() { | ||
+ | if ($this-> | ||
+ | |||
+ | global $conf; | ||
+ | $path = DOKU_PLUGIN.$this-> | ||
+ | |||
+ | // don't include once, in case several plugin components require the same language file | ||
+ | @include($path.' | ||
+ | | ||
+ | if ($conf[' | ||
+ | // add following 2 lines | ||
+ | if ($this-> | ||
+ | if ($this-> | ||
+ | |||
+ | $this-> | ||
+ | $this-> | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | === modification 2 of the .../ | ||
+ | |||
+ | |||
+ | add in function render($mode, | ||
+ | '' | ||
+ | |||
+ | <code php> | ||
+ | // check for new language data | ||
+ | if ($data[2]) { | ||
+ | if ($this-> | ||
+ | $this-> | ||
+ | } else { | ||
+ | if ($this-> | ||
+ | $this-> | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Feature: Annual Timer ==== | ||
+ | Is it possible to have it so the countdown automatically rolls over once it has reached its target so it has a new target of next year. | ||
+ | |||
+ | The idea I have in mind is to have a countdown to someones birthday, and once it has reached the end of the birthday day, it increments the target year by 1 and starts the countdown all over again. | ||
+ | |||
+ | Cheers | ||
+ | |||
+ | --- [[user> | ||
+ | |||
+ | |||
+ | ==== 1250 days? ==== | ||
+ | >Is it a way to show up how many **Years, Month, Days, Hours** - till to the target in 2045? There are too many days to be able to figure out when will take actually place the event... | ||
+ | |||
+ | --- [[user> | ||
+ | |||
+ | > This one is in the plans, but is unfortunately not yet tested, as the strategy used for internationalization inherited from legacy versions of the plugin, makes it // | ||
+ | |||
+ | ==== 1 day miscount ==== | ||
+ | In the latest version there is still a problem with day count. | ||
+ | To fix that problem next code: | ||
+ | <code php> | ||
+ | $difference = $diffseconds / 86400; | ||
+ | </ | ||
+ | has to be replaced by the following: | ||
+ | <code php> | ||
+ | $difference = ceil($diffseconds / 86400); | ||
+ | </ | ||
+ | in plugin' | ||
+ | |||
+ | --- [[user> | ||
+ | |||
+ | > The plugin now uses PHP's '' | ||
+ | |||
+ | ==== Fix for " | ||
+ | Add quotes in format-brackets, | ||
+ | <code php> | ||
+ | $Text1= $dt_diff-> | ||
+ | </ | ||
+ | --- [[user> | ||
plugin/countdown.1306876231.txt.gz · Last modified: 2011-05-31 23:10 by 79.254.105.114