User:Simsong/Calendar-BugsAndFeatureRequests

From MediaWiki.org

Jump to: navigation, search

Note:: This is the bug and feature request list for Hex2bit's calendar, which I have taken over.

[edit] Bugs

[edit] Share Calendar

Hey I tried to share the calendar over many pages (on one page I put <calendar noadd="1" name="test" /> and on another <calendar name="test" />. Didn't share :( Am I doing something wrong?

  • In function displayCalendar (around line 650) $calender->mday must be replaced by $calendar->day several times to get date="today" and date="tomorrow" working
  • In the latest Version (The last change in the ChangeLog.txt was 2007-11-10) there is a missing character ' in Calendar.php on the function articleLink($title,$text) that cause a bad rendering with Mediawiki 1.20.
    The wrong line is
(#526) return "<a href='" . $wgScript . "?title=" . htmlspecialchars($title) .">" . htmlspecialchars($text) . "</a>";


fixed with

return "<a href='" . $wgScript . "?title=" . htmlspecialchars($title->getText()) ."'>" . htmlspecialchars($text) . "</a>";
  • It is important to note the added tick before the close angle bracket, as well as the ->getText()
  • In the latest Version (The last change in the ChangeLog.txt was 2007-11-10) there is no readme.txt and I'm experiencing Problems with Installation. I followed the steps as described on the page, but the calendar doesn't show up when I embed the tag. No errors are shown. I'm not sure about my MW Version, but I think it's something like 1.3.x.


  • Months are incorrectly displayed - where is the 31st of August 2008???
  • I second this problem. November 30th is missing also. The problem seems to be when the month ends on a Sunday. --Barista 13:41, 30 June 2008 (UTC)
  • Playing around with Calendar.php some, I found that if I changed var $daysInMonth ... so August had 32 days, then August 31st and 32nd showed up. However, with 31 days listed, the last day shown in the calendar is August 30th. At first I thought it was a problem with showing more than five weeks, but it seems to be a problem with ending the month on Sunday instead. --Barista 14:16, 30 June 2008 (UTC)
Change line 430 to read:
$numWeeks = floor(($this->getDaysInMonth($this->year,$this->month) - $dayOffset + 7) / 7);
This will show August 31st and November 30th. Presumably it will work for other months as well. --Barista 15:04, 30 June 2008 (UTC)


  • Semanticwiki error when I choose 'Add Event'... Not sure why. It works if I don't include the SemanticWiki Extension.
    • Fatal error: Call to undefined function wfprofilein() in /home/livewel2/public_html/wiki/extensions/SemanticMediaWiki/includes/SMW_GlobalFunctions.php on line 343
    • I'm facing the same Semanticwiki error. Is there a way to work around this without excluding the SemanticWiki Extension? Thanks!--Albert Ke 00:32, 4 September 2008 (UTC)
    • Solved, found this on the web and it works (See http://tw.rpi.edu/wiki/index.php/Talk:Semantic_Portal_Wiki) --Albert Ke 15:16, 4 September 2008 (UTC)
Add the following:
"require_once("ProfilerStub.php"); require_once("Hooks.php");" in SMW_GlobalFunctions.php.


  • Doesn't work properly under some MediaWiki 1.11 installations (but works under others)
    • Works count:
    • Dooesn't work count: XXXXX
    • Line 430 of Calendar.php has a typo of the $this variable as $his
    • Partly works on a Win 2k3 server running Apache 2.2.* and MW 1.11.*. When I named the directory "cal" I got the error "The requested URL /wiki/extensions/Calendar/CalendarAdjust.php was not found on this server." It doesn't seem to like other directory names. Aside from that, it works for me. --Barista 15:55, 4 February 2008 (UTC)
      • Also, when I create an event, it appears on the calendar as a link, but the link goes to the Main Page, not the one for the calendar entry. It looks like the software is feeding an empty url. When I hover over the link, the browser's status bar reads http://www.example.com/wiki/index.php?title= --Barista 17:23, 4 February 2008 (UTC)
        • Getting the same thing, error log says it's not getting the title on line 529 of Calendar.php $title is giving an object reference rather than a string of the title. Probably a horrible fix as I am not a programmer and not very familiar with php, but after lots of playing around and dumping the object with var_dump I made it work with the following:
line 558 from:
$ret[count($ret)] = $this->articleLink($title,$head[1]);
to
$ret[count($ret)] = $this->articleLink($title->mUrlform,$head[1]);
line 564 from:
$ret[0] = $this->articleLink($title,$lines[0]);
to
$ret[0] = $this->articleLink($title->mUrlform,$lines[0]);
I think there is a problem with the getTitle returning the object reference rather than the correct uri title.
  • Thanks. I changed the code as you recommended and now it works. --Barista 14:42, 12 February 2008 (UTC)
  • I'm glad it worked, I know accessing the variable out of the object is bad practice and it should get a real fix. --Bill, 25 February 2008
Easier Fix
line 543 from:
$title = $article->getTitle();
to
$title = $article->getTitle()->getText();

ie... change the $title varaible to contain the article title rather then the article object id


  • Installs fine, looks normal. "Add Event" link takes me to a page that cannot be displayed.
      • I experienced this running on MW 1.11.0 on IIS. I was able to fix by removing the references to the $wikiRoot variable in the CalendarAdjust.php file. It appears $wikiRoot was not getting set correctly. So for example , instead of require_once( $wikiRoot . '/includes/Defines.php' ); use require_once( '../../includes/Defines.php' ); In addition, as noted by someone else, I also had to change the order to load LocalSettings.php BEFORE ProfileStub.php.
      • I am experiencing a different version of this running MW 1.12.0 on Apache, with Short URLs and the following extensions installed: Google Maps, EmbedVideo, ConfirmEdit, ArticleComments, createarticle, bookmark.php, BadBehavior, Bad Behavior 2 Extended, and SpamBlacklist. MediaWiki is installed at http://domain.tld/w/, and the short URLs directory is http://domain.tld/short-urls/ . The href for Add Event looks like this: http://domain.tld/short-urls/extensions/Calendar/CalendarAdjust.php?day=1&month=9&year=2008&title=Sandbox&name=Test_Calendar&path=%2Fw . When I click on it, it takes me to a page that looks identical to the one I was just on without ever giving me the option to add an event (and, in the case of the change month/year links, without changing the month or year). Except that now the href for Add Event is http://domain.tld/short-urls/extensions/Calendar/extensions/Calendar/CalendarAdjust.php?day=1&month=9&year=2008&title=Sandbox&name=Test_Calendar&path=%2Fw . Note the duplicated "/extensions/Calendar", which will be inserted a third time, etc., if I keep pressing the Add Event button, still with no option to add an event and still returning me to the same page. So far I have been unable to fix this. Any suggestions would be welcome.
  • Working well in 1.11.1 after the $his typo is fixed but may cause problems if using extensions using profiling functions because LocalSettings.php is included before includes/ProfilerStub.php ; loading them in the right order solves the problem. Using ISO-8601 dates formating in calendar pages titles would be appreciated. --Menelos 2008-03-12 CEST


Calendar extension not working:
MediaWiki: 1.11.2
PHP: 5.2.1 (cgi)
MySQL: 4.1.22
wfCalendar Extension
Calendar.php Fixed $his to be $this in line 430
Calendar.php Fixed $title = $article->getTitle()->getText(); from old line $title = $article->getTitle();
Receiving: Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/lucrosol/public_html/ltccwiki/extensions/Calendar/Calendar.php on line 545
Greg@ltcc.com 2008-05-10

  • Trying to share a Calendar between multiple pages. I'd like multiple differant pages to have differant views of the same source calendar.
    • i.e. One page has the noadd set on the other page it's off. Igor3d 2008-05-20


  • Running XAMPP for Windows Version 1.6.6a / Mediawiki 1.12
    • Working after making adjustments as described above. Problem: Very poor performance - Generating pages takes long. Solution?


  • There is a conflict between this calendar and Semantic MediaWiki. With both installed, I get the following error and a blank page when trying to create a calendar event:

PHP Fatal error: Call to undefined function wfProfileIn() in /var/www/html/sandbox/extensions/SemanticMediaWiki/includes/SMW_GlobalFunctions.php on line 367, referer: http://hulk/sandbox/index.php/Sample_Calendar

  • This is the only extension that I have installed that requires me to define $wikiRoot. That, in and of itself, will keep me from using it.


  • Hello, I have tried several times to install the extension Calendar, and it´s always produces the same error:
-Add attempt to introduce an Event, when you keep in my calendar appears around the left menu within a day which kept Add Event
-I am trying to introduce the ADD EVENT and when i saved it, all of it appears into the left menu inside the day where i have saved the ADD EVENT.
-I had modifed the lines CALENDAR.PHP and it appears to be the same.

Could you please give me some kind of help. My version is 12.0 wiki. I appeciate your help nd thank you very much.

- Same problem here. The wiki Version is: mediawiki 1.13
  • I am having the same issue with 1.13. Please I would like to get this working. Can anyone help?


  • Mouseover event descriptions do not work. I looked into the code, doesn't seem to be in there at all. But, there is the following comment in Calendar.php (line 78):
So when you create an article, you can do something like this:
== Event Title ==
Some informative text for the event to display on mouse-over.
blah blah blah...
I cannot find any evidence of this working, or even implemented in code. The closest, at line 540, sets the event HREF link "title" to the article page identifier, not the event description text. Am I missing something? --Kevin Aug 13, 2008

[edit] Feature Requests

  • Put calendar entries in their own namespace
  • Put all calendar entries for a single date in a single entry
  • Merge in calendar entries from an SQL database
  • Support for international languages
  • cancel event
Personal tools