View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000056 | WackoWiki | core | public | 2007-08-31 15:56 | 2022-01-11 16:37 |
Reporter | EoNy | Assigned To | administrator | ||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | resolved | Resolution | fixed | ||
Product Version | 4.2 | ||||
Target Version | 5.0.beta | Fixed in Version | 5.0.beta | ||
Summary | 0000056: Configurable date and time formats | ||||
Description | The default formatting for dates and times in WackoWiki is pretty much hard coded thru out the PHP code. The day.month.year and year-month-day formats aren't natural for us westerners to read. I suggest adding some config options in $wackoLanguage By adding some config options which allow the user to set the string passed into the date() function. It probably would be helpful for localization to other languages too. I put up a patch on the wiki which worked with R4 RC1, but it could be implemented better than that. updated link:http://www.sickheadgames.com/stuff/datetime.patch http://wackowiki.org/doc/Dev/PatchesHacks/DateFormat | ||||
Tags | No tags attached. | ||||
Attached Files | datetime.patch (10,880 bytes)
Index: wakka.php =================================================================== --- wakka.php (revision 383) +++ wakka.php (working copy) @@ -130,6 +130,12 @@ "db_collation" => 0, "rename_globalacl" => "Admins", + "date_format" => "Y-m-d", + "time_format" => "H:i:s", + "time_format_seconds" => "H:i", + + "name_date_macro" => "%s /%s/", + "date_macro_format" => "d.m.Y H:i", ); $wakkaDefaultConfig['aliases'] = array('Admins' => "",); Index: themes/default/appearance/footer.php =================================================================== --- themes/default/appearance/footer.php (revision 383) +++ themes/default/appearance/footer.php (working copy) @@ -16,7 +16,7 @@ echo $this->HasAccess("write") ? "<a href=\"".$this->href("edit")."\" accesskey=\"E\" title=\"".$this->GetResourceValue("EditTip")."\">".$this->GetResourceValue("EditText")."</a> |\n" : ""; // Revisions link -echo $this->GetPageTime() ? "<a href=\"".$this->href("revisions")."\" title=\"".$this->GetResourceValue("RevisionTip")."\">".$this->GetPageTime()."</a> |\n" : ""; +echo $this->GetPageTime() ? "<a href=\"".$this->href("revisions")."\" title=\"".$this->GetResourceValue("RevisionTip")."\">".$this->GetPageTimeFormatted()."</a> |\n" : ""; // If this page exists if ($this->page) Index: themes/coffee/appearance/footer.php =================================================================== --- themes/coffee/appearance/footer.php (revision 383) +++ themes/coffee/appearance/footer.php (working copy) @@ -2,7 +2,7 @@ <div class="footer"> <?php echo $this->HasAccess("write") ? "<a href=\"".$this->href("edit")."\" accesskey=\"E\" title=\"".$this->GetResourceValue("EditTip")."\">".$this->GetResourceValue("EditText")."</a> |\n" : ""; -echo $this->GetPageTime() ? "<a href=\"".$this->href("revisions")."\" title=\"".$this->GetResourceValue("RevisionTip")."\">".$this->GetPageTime()."</a> |\n" : ""; +echo $this->GetPageTime() ? "<a href=\"".$this->href("revisions")."\" title=\"".$this->GetResourceValue("RevisionTip")."\">".$this->GetPageTimeFormatted()."</a> |\n" : ""; // if this page exists if ($this->page) Index: themes/tabs/appearance/footer.php =================================================================== --- themes/tabs/appearance/footer.php (revision 383) +++ themes/tabs/appearance/footer.php (working copy) @@ -8,7 +8,7 @@ $this->method != "edit" ) ?> <?php $this->EchoTab( $this->href("revisions"), $this->GetResourceValue("RevisionTip"), - $this->GetPageTime() ? $this->GetPageTime() : "", + $this->GetPageTime() ? $this->GetPageTimeFormatted() : "", $this->method != "revisions" ) ?> Index: formatters/preformat.php =================================================================== --- formatters/preformat.php (revision 383) +++ formatters/preformat.php (working copy) @@ -40,11 +40,11 @@ } else if ($thing=="::@::") { - return "((/".$wacko->GetUserName()." ".$wacko->GetUserName()."))"." ".date("/d.m.Y H:i/"); + return sprintf($wacko->config["name_date_macro"],"((/".$wacko->GetUserName()." ".$wacko->GetUserName()."))",date($wacko->config["date_macro_format"])); } else if ($thing=="::+::") { - return date("d.m.Y H:i"); + return date($wacko->config["date_macro_format"]); } else if ((preg_match("/^(\[\[)(.+)(\]\])$/", $thing, $matches)) || (preg_match("/^(\(\()(.+)(\)\))$/", $thing, $matches)) ) Index: classes/wacko.php =================================================================== --- classes/wacko.php (revision 383) +++ classes/wacko.php (working copy) @@ -117,6 +117,8 @@ function GetPageTag() { return $this->tag; } function GetPageSuperTag() { return $this->supertag; } function GetPageTime() { return $this->page["time"]; } + function GetTimeStringFormatted($time) { return date( $this->config["date_format"] ." ". $this->config["time_format_seconds"], strtotime( $time ) ); } + function GetPageTimeFormatted() { return $this->GetTimeStringFormatted( $this->page["time"] ); } function GetMethod() { return $this->method; } function GetConfigValue($name) { return isset( $this->config[$name] ) ? $this->config[$name] : ''; } function SetResource($lang) {$this->resource=&$this->resources[$lang];} @@ -1952,7 +1954,7 @@ $xml .= "<item>\n"; $xml .= "<title>".$page["tag"]."</title>\n"; $xml .= "<link>".$this->href("show", $page["tag"], "time=".urlencode($page["time"]))."</link>\n"; - $xml .= "<description>".$page["time"]." by ".$page["user"]."</description>\n"; + $xml .= "<description>".$this->GetTimeStringFormatted($page["time"])." by ".$page["user"]."</description>\n"; $xml .= "</item>\n"; } } Index: actions/changes.php =================================================================== --- actions/changes.php (revision 383) +++ actions/changes.php (working copy) @@ -30,12 +30,12 @@ if ($day != $curday) { if ($curday) print("<br />\n"); - print("<b>$day:</b><br />\n"); + print("<b>".date($this->config["date_format"],strtotime($day)).":</b><br />\n"); $curday = $day; } // print entry - print(" <span class=\"dt\">".$time."</span> — (". + print(" <span class=\"dt\">".date($this->config["time_format_seconds"], strtotime( $time ))."</span> — (". $this->ComposeLinkToPage($page["tag"], "revisions", $this->GetResourceValue("history"), 0).") ". $this->Link( "/".$page["tag"], "", $page["tag"] )." . . . . . . . . . . . . . . . . <small>". ($this->IsWikiName($page["user"])?$this->Link("/".$page["user"],"",$page["user"]):$page["user"])."</small><br />\n"); Index: handlers/page/diff.php =================================================================== --- handlers/page/diff.php (revision 383) +++ handlers/page/diff.php (working copy) @@ -25,8 +25,8 @@ $deleted = array_diff($bodyB, $bodyA); $output .= - str_replace("%1", "<a href=\"".$this->href("", "", ($b!=-1?"time=".urlencode($pageA["time"]):""))."\">".$pageA["time"]."</a>", - str_replace("%2", "<a href=\"".$this->href("", "", ($a!=-1?"time=".urlencode($pageB["time"]):""))."\">".$pageB["time"]."</a>", + str_replace("%1", "<a href=\"".$this->href("", "", ($b!=-1?"time=".urlencode($pageA["time"]):""))."\">".$this->GetTimeStringFormatted($pageA["time"])."</a>", + str_replace("%2", "<a href=\"".$this->href("", "", ($a!=-1?"time=".urlencode($pageB["time"]):""))."\">".$this->GetTimeStringFormatted($pageB["time"])."</a>", str_replace("%3", $this->Link("/".$this->tag), $this->GetResourceValue("Comparison"))))."<br />\n"; @@ -136,8 +136,8 @@ $sideB->copy_until_ordinal($count_total_right,$output); $sideB->copy_whitespace($output); $out=$this->Format($output); - $out = str_replace("%1", "<a href=\"".$this->href("", "", "time=".urlencode($pageB["time"]))."\">".$pageB["time"]."</a>", - str_replace("%2", "<a href=\"".$this->href("", "", "time=".urlencode($pageA["time"]))."\">".$pageA["time"]."</a>", + $out = str_replace("%1", "<a href=\"".$this->href("", "", "time=".urlencode($pageB["time"]))."\">".$this->GetTimeStringFormatted($pageB["time"])."</a>", + str_replace("%2", "<a href=\"".$this->href("", "", "time=".urlencode($pageA["time"]))."\">".$this->GetTimeStringFormatted($pageA["time"])."</a>", str_replace("%3", $this->Link("/".$this->tag), $this->GetResourceValue("Comparison"))))."<br />\n<br />\n".$out; print $out; Index: handlers/page/revisions.xml.php =================================================================== --- handlers/page/revisions.xml.php (revision 383) +++ handlers/page/revisions.xml.php (working copy) @@ -25,7 +25,7 @@ if (($c <= $max) && $c>1) { $xml .= "<item>\n"; - $xml .= "<title>".$page["time"]."</title>\n"; + $xml .= "<title>".$this->GetTimeStringFormatted($page["time"])."</title>\n"; $xml .= "<link>".$this->href("show").($this->GetConfigValue("rewrite_mode")?"?":"&")."time=".urlencode($page["time"])."</link>\n"; $_GET["a"] = $_GET["b"]; $_GET["b"] = $page["id"]; Index: handlers/page/show.php =================================================================== --- handlers/page/show.php (revision 383) +++ handlers/page/show.php (working copy) @@ -12,7 +12,7 @@ // comment header? if ($this->page["comment_on"]) { - print("<div class=\"commentinfo\">This is a comment on ".$this->ComposeLinkToPage($this->page["comment_on"], "", "", 0).", posted by ".($this->IsWikiName($this->page["user"])?$this->Link($this->page["user"]):$this->page["user"])." at ".$this->page["time"]."</div>"); + print("<div class=\"commentinfo\">This is a comment on ".$this->ComposeLinkToPage($this->page["comment_on"], "", "", 0).", posted by ".($this->IsWikiName($this->page["user"])?$this->Link($this->page["user"]):$this->page["user"])." at ".$this->GetPageTimeFormatted()."</div>"); } if ($this->page["latest"] == "N") @@ -20,7 +20,7 @@ print("<div class=\"revisioninfo\">". str_replace("%1",$this->href(), str_replace("%2",$this->GetPageTag(), - str_replace("%3",$this->page["time"], + str_replace("%3",$this->GetPageTimeFormatted(), $this->GetResourceValue("Revision")))).".</div>"); } Index: handlers/page/revisions.php =================================================================== --- handlers/page/revisions.php (revision 383) +++ handlers/page/revisions.php (working copy) @@ -32,7 +32,7 @@ $output .= "<tr>"; $output .= "<td><input type=\"radio\" name=\"a\" value=\"".($c==1?"-1":$page["id"])."\" ".($c == 1 ? "checked" : "")." /></td>"; $output .= "<td><input type=\"radio\" name=\"b\" value=\"".($c==1?"-1":$page["id"])."\" ".($c == 2 ? "checked" : "")." /></td>"; - $output .= "<td> <a href=\"".$this->href("show").($this->GetConfigValue("rewrite_mode")?"?":"&")."time=".urlencode($page["time"])."\">".$page["time"]."</a></td>"; + $output .= "<td> <a href=\"".$this->href("show").($this->GetConfigValue("rewrite_mode")?"?":"&")."time=".urlencode($page["time"])."\">".$this->GetTimeStringFormatted($page["time"])."</a></td>"; $output .= "<td> ".$this->GetResourceValue("By")." ".($this->IsWikiName($page["user"])?$this->Link($page["user"]):$page["user"])."</td>"; $output .= "</tr>\n"; } | ||||
related to | 0000149 | resolved | administrator | Timezone different than server |
related to | 0000341 | assigned | administrator | date and time formats dependent on user language |
child of | 0000230 | resolved | administrator | Administrative Interface |
|
tomspilman 11-02-2005 11:29 If i submitted a new patch could it be considered for inclusion in R5? tomspilman 07-07-2005 22:56 I edited my wiki page and added a patch to this report which should work with SVN HEAD (aka r4.2). See http://wackowiki.org/doc/Dev/PatchesHacks/DateFormat for details. |
|
another feature: user dependent time zone -> 0000149 |
|
Finally with rev781 - thanks Tom |
Date Modified | Username | Field | Change |
---|---|---|---|
2007-08-31 15:56 | EoNy | New Issue | |
2007-08-31 15:56 | EoNy | File Added: datetimepatch.php | |
2007-08-31 15:56 | EoNy | Legacy | => NEW |
2007-08-31 15:57 | EoNy | Note Added: 0000059 | |
2007-08-31 15:58 | EoNy | Description Updated | |
2007-08-31 21:02 | administrator | Legacy | NEW => NPJ |
2007-10-03 20:16 | administrator | Note Edited: 0000059 | |
2007-10-03 20:18 | administrator | Note Edited: 0000059 | |
2007-10-03 20:19 | administrator | Note Edited: 0000059 | |
2007-10-08 18:10 | administrator | Description Updated | |
2007-10-08 18:11 | administrator | Description Updated | |
2007-10-08 18:12 | administrator | Note Edited: 0000059 | |
2007-10-08 19:08 | administrator | Category | Actions => Core |
2007-10-08 22:12 | administrator | Note Added: 0000134 | |
2007-10-25 04:34 | administrator | Assigned To | => Tann San |
2007-10-25 04:34 | administrator | Status | new => assigned |
2007-10-25 04:34 | administrator | Target Version | => 5.0.0 |
2007-11-28 20:42 | Tann San | Assigned To | Tann San => |
2007-12-24 17:24 | administrator | Status | assigned => acknowledged |
2007-12-24 17:24 | administrator | Target Version | 5.0.0 => 7.0.x |
2008-01-10 16:45 | administrator | Relationship added | related to 0000149 |
2008-01-10 16:46 | administrator | Note Edited: 0000134 | |
2008-04-10 18:32 | administrator | Description Updated | |
2008-04-10 18:33 | administrator | Note Edited: 0000059 | |
2008-08-23 14:34 | administrator | Description Updated | |
2008-08-23 14:35 | administrator | Note Edited: 0000059 | |
2008-09-21 16:08 | Tann San | Relationship added | child of 0000230 |
2009-01-06 17:03 | administrator | Description Updated | |
2009-01-06 17:03 | administrator | Note Edited: 0000059 | |
2009-03-15 22:06 | administrator | File Added: datetime.patch | |
2009-03-15 22:06 | administrator | File Deleted: datetimepatch.php | |
2009-10-24 08:43 | administrator | Assigned To | => administrator |
2009-10-24 08:43 | administrator | Target Version | 7.0.x => 5.0.beta |
2009-10-24 09:47 | administrator | Note Added: 0000720 | |
2009-10-24 09:47 | administrator | Status | acknowledged => resolved |
2009-10-24 09:47 | administrator | Resolution | open => fixed |
2009-10-24 09:47 | administrator | Fixed in Version | => 5.0.beta |
2009-10-24 09:52 | administrator | Issue cloned: 0000341 | |
2009-10-24 09:52 | administrator | Relationship added | related to 0000341 |
2010-03-08 10:12 | administrator | Category | Core => core |
2011-05-31 21:24 | administrator | Build | => R5.0.beta |
2022-01-11 16:37 | administrator | Description Updated | |
2022-01-11 16:37 | administrator | Note Edited: 0000059 |