Extension talk:MW Calendar

From mediawiki.org
Latest comment: 11 years ago by Inops in topic Functions with 1.19.2

Please use my Google Issue tracker for new issues, its easier, really...

Issue Tracker
  • Use the (+) button above to add new comments, thanks!

Minor Modifications[edit]

Hi! I have added plaintext-email functionality

private static function sendIcalTextAndAttachement($from,$to,$event){
		
		$message = '';
		$body = $event['text'];
		$start = date('Ymd',$event['start']).'T'.date('His',$event['start']);
		$end = date('Ymd',$event['end']).'T'.date('His',$event['end']);
		$todaystamp = date('Ymd').'T'.date('His');
		$mime_boundary_mixed = "mwcalendar_mixed-".md5(time());
		$mime_boundary_alternative = "mwcalendar_alternative-".md5(time());
		$headers = "MIME-Version: 1.0\n";
		$headers .= "Content-class: urn:content-classes:message\n";		
		$headers .= "From:$from\n";
		$headers .= "Reply-To:$from\n";
		$headers .= "Content-Type: multipart/mixed; boundary=\"$mime_boundary_mixed\"\n";
		$headers .= "--$mime_boundary_mixed\n";	
		$headers .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary_alternative\"\n";
		$message .= "--$mime_boundary_alternative\n";
		$message .= "Content-Type: text/plain; charset=utf-8\n"; 
		$message .= "Content-Transfer-Encoding: 8bit\n\n"; 	
		$message .= self::buildTextBody($event);
		$message .= "--$mime_boundary_alternative--\n";
		$message .= "--$mime_boundary_mixed\n";		
		$message .= "Content-Type: text/plain; method=REQUEST;\n";
		$message .= "Content-Disposition: attachment; filename=\"event.ics\"\n";
		$message .= "Content-Transfer-Encoding:8bit\n\n";		
		$message .= self::build_ical($from, $event);
		$message .= "--$mime_boundary_mixed--\n";

		$subject = strip_tags($event['subject']);
		self::sendmail($to, $subject, $message, $headers);		
		
	}

private static function buildTextBody($event){	
		
		$start = helpers::date($event['start']) ." ". helpers::time($event['start']);
		$end = helpers::date($event['end']) ." ". helpers::time($event['end']);
		$location = $event['location'];
		$text = $event['text'];
                $cleanText = strip_tags($text);
		$cleanText = utf8_encode($cleanText);
		$plaintext = "Beginn: $start\n";		
		$plaintext .= "Ende: $end\n";
                $plaintext .= "Ort: $location\n";
		$plaintext .= "\n_________________________________________________\n\n";
		$plaintext .= "$cleanText\n";
		$plaintext .= "\n_________________________________________________\n\n";
		$plaintext .= "Kalender im CMS-Wiki: $url\n";	
	
		return $plaintext;
	}

including utf-8 encoding (not yet finished). What i am missing is the possibility to limit "ADD EVENTS" to sysops and bureaucrats only. Is there something planned in the near future?

old calendar[edit]

Dear Kenyu73, I have been using your "old" calendar extension Extension:Calendar (Kenyu73) for some while now. I was wondering why you now use direct database calls? What will be the advantage? Will we be able to "import" the old calenders? Thank you. --MartinK 10:23, 9 March 2010 (UTC) ===re:=== yes, you can import the old calendar, but the code isn't documented yet and only supports the original date format. The main purpose of direct db usage is speed and control. I create and store the calendar events in my own tables and plan to have all the options stored in tables via an option form. ===re:===Great. I'm looking forward to it ;-) --MartinK 14:08, 12 March 2010 (UTC)Reply

Calendar beta testing[edit]

  • Issue with Nav buttons not working, should be fixed in v0.2.1.... Please test and let me know if it's OK now. Thanks!

sorry[edit]

but I've got no google-account yet.. First: No changes - still same problem. Then I found out, that when changing skin (I'm using modern skin) database is updated.

validating database
checking tables...

running database update scripts...

VALIDATION COMPLETED (please refresh)

Now I see the addEvent-form. But after switching back to modern skin I still have an error.

Warning: Variable passed to each() is not an array or object in C:\Programme\WebServer\xampp\htdocs\mediawiki\extensions\mwcalendar\includes\main.php on line 67

Best regads, asomy.

re[edit]

asomy - I dont understand - does it now work? That message is only a warning and shouldn't cause any issues. I changed my wiki to modern skin and I'm still running fine.

OK, I try to explain better (sorry for my bad english..). First, I noticed, that I can see the form, when displaying the page printable (hm, in german this is Druckversion.. don't know what the english version is called). Adding events seems not working. You can fill out the form, but in the calendar nothing is shown. So I decided to change the skin. My standard skin was modern, so I switched to monobook. Then I saw the form on my page. Now I switched back to modern skin and it looks kind of strange... The letters are to big now and I get this warning on top of page - but only on this page using the calendar. - asomy

Thanks for fixing Issue Nr. 1[edit]

Thanks for fixning my reported issue.

The calendar is now usable for me!

I've added some usability bug reports from my first using experiences to the Issue Tracker.

--JohannesPonader 20:27, 17 March 2010 (UTC)Reply

Feature Request[edit]

This would be a great feature from our sight: Every time a user updates the calendar, an .ics-File (iCal) with fixed url is also updated, so by downloading this file one has always the recent dates. I know that WebDAV is much more powerful, but we need a lightweight solution fitting in our Wiki-only concept. --Waschl

This warning just came up on my system[edit]

Deprecated: Function split() is deprecated in /var/lib/mediawiki/extensions/Calendar/Calendar.php on line 939

Misc Issues[edit]

  • Version 0.3.1 (23-Mar-2010) reports error "Fatal error: Cannot redeclare class mwCalendar in /ankenyikes.org/public/extensions/mwcalendar/includes/main.php on line 12" after installation.
    • this would only occur if you had another extensions using the class mwcalendar (ie: another calendar?)
      • RESOLVED... I removed the extension 'Calendar' prior to enabling 'mwcalendar'. Thank you!
  • Received the errors...
 A database query syntax error has occurred. This may indicate a bug in the software. The last attempted database query was:
    CREATE TABLE `ankenyikescalendar_header` ( `id` integer NOT NULL auto_increment, `name` varchar(255) NOT NULL default '', `description` varchar(255) default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; 
 from within function "". MySQL returned error "1142: CREATE command denied to user 'ankenyikes'@'localhost' for table 'ankenyikescalendar_header' (localhost)
 A database query syntax error has occurred. This may indicate a bug in the software. The last attempted database query was:
    CREATE TABLE `ankenyikescalendar_version` ( `id` integer NOT NULL auto_increment, `version` varchar(255) default '', `date` double default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; 
 from within function "". MySQL returned error "1142: CREATE command denied to user 'ankenyikes'@'localhost' for table 'ankenyikescalendar_version' (localhost)".
 A database query syntax error has occurred. This may indicate a bug in the software. The last attempted database query was:
    CREATE TABLE `ankenyikescalendar_events` ( `id` integer NOT NULL auto_increment, `calendarid` integer NOT NULL default '0', `subject` varchar(255) default '', `location` varchar(255) default '', `start` double NOT NULL default '0', `end` double NOT NULL default '0', `allday` boolean NOT NULL default false, `text` longtext default '', `createdby` varchar(255) NOT NULL default '', `createddate` double NOT NULL default '0', `invites` mediumtext default '', `editedby` varchar(255) default '', `editeddate` double default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; 
 from within function "". MySQL returned error "1142: CREATE command denied to user 'ankenyikes'@'localhost' for table 'ankenyikescalendar_events' (localhost)".
    • RESOLVED... The above error was generated as my MySQL service account does not have access to create tables. Future I'd suggest temporarily granting such access for the first calendar build, then remove the access. In my case, I ran the three CREATE TABLE statements from 'root' to resolve the issue.
  • Receive two identical forms to fill for a new appointment (when the "+" is clicked), and receive two appointments when just one of the two forms is completed. Test calendar is at [1]
re: you need to add a custom key to the eventlist tag -- <mwcalendar eventlist=90 name="events" key="123xyz" />
RESOLVED... Had these two lines on the page when entering the event, removed the second and I started getting single entries. Thank you, I'm going to give it a try for my simple 'schedule of events', will have a text page as backup as this is still beta.
<mwcalendar name="Ankeny Ikes" key="Ankeny Ikes" />
<mwcalendar name="Ankeny Ikes" eventlist="30" key="Ankeny Ikes" />
  • In wiki's that do not allow non-logged in users to edit, mwcalendar should not allow editing. These are the commands added to LocalSettings.php to restrict editing of the wiki...
  // No anonymous editing allowed -
  $wgGroupPermissions['*']['edit'] = false;
I had a similar need and made a small hack. I recommend that the author incorporate something similar
  1. edit includes\main.php
  2. on or around line 519 look for the following:
    • $link = "<a href=\"$url\">".helpers::translate('mwc_new').'</a>';
  3. replace the one line with the following 4:
    • $link = "";
    • global $wgTitle, $wgUser; if( $wgUser->isAllowed('edit')) {
    • $link = "<a href=\"$url\">".helpers::translate('mwc_new').'</a>';
    • };
NOTE:  This removes the edit link on the calendar days [e.g. (+)], it does not protect someone from manually entering into the address bar of their browser.
  • The Batch Entry method ROCKS for entering a month's worth of events.

Database time[edit]

Can you please explain to me the time format that gets stored into the database that is a double? I'm looking to directly add events that were exported from a different program then im looking to inject them into the calendar table. I think this will work but I don't understand your field format. Thanks.

nevermind I found it out. Its a unix timestamp.

Creating a multi-day spanned event creates 2 events per day[edit]

I've installed this extension and it looks great so far. Unfortunately, I've found that creating an event that spans multiple days is causing the creation of 2 duplicate events per day and I can't explain why. Thorncrag 19:56, 8 September 2010 (UTC)Reply

Assistance needed[edit]

Can anyone assist me in the setting up of the mwcalendar?

I used the '<mwcalendar name="Events" />' to show the calendar but it does not seem to display properly.

Here is the link to our Calender Here RoverOne 09:07, 9 September 2010 (UTC)Reply

Fixed this, it was due to the permissions of the files in mwcalendar, they were all set at 0600 so changed to 0644, calendar now vews correctly.

However, the forward navigation buttons throw up a 404 Forbidden error, see issue tracker. RoverOne 10:41, 9 September 2010 (UTC)Reply

Configuration[edit]

Changed 'Sunaday' to read 'Sunday' RoverOne 10:40, 9 September 2010 (UTC)Reply

Documentation[edit]

Do you have a more in depth document on installation and usage? I followed all the steps in the install section but all it does is generate a blank page for my wiki.

Where to check to translate labels+months+days?[edit]

Hi, I'd like to know which files I should modify if I want to translate all labels, months and days. Also, is there a quick way to have cells showing properly for each day, with background color? I currently see only the day numbers with the '(+)', nothing 'dressing' the cells... Thanks for any info! --Goingbald 17:11, 7 October 2010 (UTC)Reply

Duplicate entries[edit]

After struggling all day with other calendars I'm so grateful to find one that's so easy to easy to install. If I can get this one issue resolved it will be exactly what I need.

When I click + to add an event it brings up a page with two boxes to add events. When I add an event using one of the boxes it posts the event twice. http://www.pa2013.net/w/index.php/Main_Page

Help would be greatly appreciated!

Resolved. Changed two lines of code <mwcalendar name="PA Class Calendar" /><mwcalendar name="PA Class Calendar" eventlist="30" /> to one <mwcalendar name="PA Class Calendar" key="PA Class Calendar" />

Highlights tomorrow's date[edit]

The calendar is highlighting tomorrow's date instead of today's. This might be a timezone issue. Is there any way to resolve it? --142.163.71.179 00:33, 22 December 2010 (UTC)Reply

Location[edit]

Is it possible to display the Location when you hover over an event?

24 hour clock, d/m/y format and[edit]

Is it possible to change the time format to the 24h notation and change the date format to d/m/y instead of m/d/y?


The event list shows the english day names (sunday, monday, etc) and i would like to use the dutch names. Is this possible?

kind regards,

Eduard

Update?[edit]

Will there be an update this year?

That is what I was asking myself, too. There is not much action at google code either. Some bug reports, but seldom responses. Maybe we need more help from developers here. --Kebap 12:42, 24 February 2011 (UTC)Reply

change position of "grey" weekdays[edit]

Hi all, I was wondering how to tell the calendar to color the 2 rightmost days gray, and not the 1 rightmost and the 1 leftmost as is default. Here is how to do it:

  • Open /extensions/mwcalendar/includes/main.php (or whereever you stored your mwcalendar files)
  • In line 427: (referring to Version 0.3.3 (beta). If you use another version, search "private function createCalendar")
FIND:
elseif( $i==0 || $i==6 ){

CHANGE TO:
elseif( $i==5 || $i==6 ){

This did the trick for me. There is more tweaking possible around that area, but that was all I cared about for now. Have fun! --Kebap 12:41, 24 February 2011 (UTC)Reply

Or, an even better fix (I think) is to have it be conditional on the mwc_week_start_monday configuration parameter, by changing the indicated line to this:

elseif( $i==6 || $i==(mwc_week_start_monday ? 5 : 0) ){

--Paul Lustgarten (talk) 20:54, 9 August 2012 (UTC)Reply

Display Problems[edit]

You must be on a case-insensitive file system (Windows?).

I could not get my calendar to display like your examples. So I looked at the generated source, and find that all css file references are to "extensions/mwcalendar", while the install wants it to be "extensions/MwCalendar."

--Bytesmiths 22:03, 1 April 2011 (UTC)Reply

More path issues...[edit]

It seems that there's a huge problem for those of us who have implemented short URLs and have case-sensitive file systems.

For some reason, when something like:

src="/wiki/extensions/MwCalendar/html/tabber.js"

our Apache server is translating that to "/wiki/Extensions/MwCalendar/html/tabber.js" which doesn't exist.

I've symbolically linked the html directory to the server root, which seems to be working, but there should be a better way...

--Bytesmiths 23:53, 1 April 2011 (UTC)Reply

Can Someone Add Functionality to Color Code Font on Calendar View?[edit]

I love this extension! Very easy to use. One small drawback for our usage . . . we need to be able to color code entries as our calendar is used as a departmental calendar.

At the moment, it appears to me that customizing the color of text is only available in the 'comments' portion of the event; however, the text of the 'subject' cannot be customized.

Any way someone could add this functionality?

It would be most useful and appreciated.

--M.Dailey 19:59, 6 July 2011 (UTC)Reply

Yearly events[edit]

Thanks for your great calendar! I have one question; is it possible to add yearly events like a birthday?

Thanks!

Venkicken 14:04, 12 July 2011 (UTC)Reply

No version update since early 2010[edit]

Is this extension still under development or have you abandoned it?

Small Hack: Only creator of event or admin can modify event[edit]

In $IP/extensions/mwcalendar/html/AddEvent.html, replace the line near the end of file:

--><input class='' type=submit name=save  value='[[SaveText]]' /> <input class='' type=submit name=cancel  value='[[CloseText]]' /></td>

by

--><input class='' type=submit name=save  value='[[SaveText]]' [[Disabled_Save]]/> <input class='' type=submit name=cancel  value='[[CloseText]]' /></td>

Then, in $IP/extensions/mwcalendar/includes/main.php, near line 354 find

$tranlated = helpers::translate('mwc_delete_title');
$html = str_replace('[[Disabled]]', "disabled title='$tranlated'", $html); 

Right after these two lines, add

$tranlated = helpers::translate('mwc_event_save');
$html = str_replace('[[Disabled_Save]]', "disabled title='$tranlated'", $html);

--128.227.80.206 17:34, 19 August 2011 (UTC)Reply

Calendar under a (Header)tab[edit]

Has anyone come up with a workaround for using the calendar with headertabs in a tab other than the first one? Displaying obviously works fine, but once you try to add an event the page reload takes it to the first tab. I'm still playing with it, but nothing so far. I even tried using an iframe, but that didn't quite work for a few reasons, including the re-inclusion of the sidebar.

Eventlist?[edit]

<mwcalendar name="工作日程安排" /> works very well (MW 1.18.2),but <mwcalendar name="工作日程安排" eventlist="30" /> can not list events. Why? does anybody have the same problem? --Simonlsw (talk) 02:03, 18 April 2012 (UTC)Reply

I have changed the chinese name to english name,so Eventlist is well. --Simonlsw (talk) 07:08, 18 April 2012 (UTC)Reply

Functions with 1.19.2[edit]

This a quick note to say that the extension functions perfectly with 1.19.2. --Inops (talk) 09:02, 19 October 2012 (UTC)Reply


I've had always problems with Calendar (old version 0.8.4) plugin with mediawiki version 1.19.1 and now with version 1.20.2, I've duplication entries... plugin seems to convert the date in the wrong way...using Centos 6.3,php 5.3.3,mysql 5.1. I can see deprecated errors for split functions but I don't if this is the root cause.Can someone help? - thanks Valentina - 11022013