My problem: in a list view (month or week) every event shows twice. Interestingly enough, this is a multisite installation and on the other site (with slightly different modules) it works fine.

Any suggestions how to debug this cleverly?

Thanks

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

killes@www.drop.org’s picture

Not really. Check the queries that get run. Try to run them in mysql CLI or phpmyadmin and see if they come up with duplicates.

Johannes De Boeck’s picture

got the same prob

vthirteen’s picture

same problem, even though on a version 5.x-1.0 of the module. the event is repeated when more than one category in the same taxonomy is chosen as view filter. events that belong to more than one category in the same taxonomy are shown as many times as the number of categories they belong to.

btw, coincidentally it happened after a recent upgrade to drupal 5.16 but i'm not sure the two facts are actually related

selff’s picture

FileSize
13.31 KB
9.94 KB

I have this problem too.
But i noticed this:
this problem come when i make visible event-block with calendar in calendar page
see the pictures in attach

killes@www.drop.org’s picture

Status: Active » Postponed (maintainer needs more info)

Interesting.

I guess the data array in event_calendar_data gets populated twice, once from the block and then from the main calendar. But this does not make too much sense, since the second run would overwrite the first.

I need to see the queries run and it's results to debug this.

mokko’s picture

Status: Postponed (maintainer needs more info) » Active
FileSize
93.86 KB

Thanks sellff. With block settings, I can deactivate the calender block on month, week etc. pages and it works, i.e. no more double entries in month overview of calendar!

I also noticed that in one of the themes it works (nixer) see screenshot. Kind of at least, as you can see from the screenshot. (In the screenshot, every event appears only once although the calender block is active on the right. If I turn to my normal theme, month calender shows every event twice again).

Will look into queries now. Just a sec.

mokko’s picture

I don't know what to do. This is what seems relevant from the DEVEL output. Obviously not the complete query.

event_get_events_event:

SELECT DISTINCT(n.nid), n.uid, n.title, n.type, e.event_start, e.event_start AS event_start_orig, e.event_end, e.event_end AS event_end_orig, e.timezone, e.has_time, e.has_end_date, tz.offset AS offset, tz.offset_dst AS offset_dst, tz.dst_region, tz.is_dst, e.event_start - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND AS event_start_utc, e.event_end - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND AS event_end_utc, e.event_start - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND + INTERVAL 7200 SECOND AS event_start_user, e.event_end - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND + INTERVAL 7200 SECOND AS event_end_user, e.event_start - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND + INTERVAL 7200 SECOND AS event_start_site, e.event_end - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND + INTERVAL 7200 SECOND AS event_end_site, tz.name as timezone_name FROM ilkar_node n INNER JOIN ilkar_event e ON n.nid = e.nid INNER JOIN ilkar_event_timezones tz ON tz.timezone = e.timezone WHERE (n.language ='en' OR n.language ='' OR n.language IS NULL) AND ( n.status = 1 AND ((e.event_start >= '2009-06-30 00:00:00' AND e.event_start <= '2009-08-01 23:59:59') OR (e.event_end >= '2009-06-30 00:00:00' AND

event_get_event_load

SELECT e.event_start, e.event_end, e.timezone, e.has_time, e.has_end_date, tz.offset AS offset, tz.offset_dst AS offset_dst, tz.dst_region, tz.is_dst, e.event_start - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND AS event_start_utc, e.event_end - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND AS event_end_utc, e.event_start - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND + INTERVAL 7200 SECOND AS event_start_user, e.event_end - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND + INTERVAL 7200 SECOND AS event_end_user, e.event_start - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND + INTERVAL 7200 SECOND AS event_start_site, e.event_end - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND + INTERVAL 7200 SECOND AS event_end_site, tz.name as timezone_name FROM ilkar_event e INNER JOIN ilkar_event_timezones tz ON tz.timezone = e.timezone WHERE nid = 224

killes@www.drop.org’s picture

Can you use the complete query in e.g. phpmyadmin?

Also, I was unable to reproduce this in garland.

I am not quite sure how this could be theme dependend, though...

Please try to reproduce the problem in garland or point me to the theme you use.

mokko’s picture

FileSize
124.43 KB
226.09 KB
162.92 KB

Here it comes again. I have it reproducible in one theme only.

Error does not appear with Garland, does not appear with Nixer, __does__ appear with Nitobe (v3). As pointed out above, only when both blocks are there. If remove the 2nd event block from that page, it is gone.

I don't know how to get the full query? Through devel? That's how I tried the last time.

PS: There is new version of Nitobe (4-dev) which I have not tried yet. For me the matter is not urgent anymore since I can work around by excluding the block on event pages (event/*/*/*/month etc.).

It seems rather curious though, and obviously theme-related, so maybe you want to look into it.

mokko’s picture

Priority: Normal » Minor

since workaround available and since bug appears only with some possibly faulty themes

kejmil’s picture

Issue summary: View changes

hello. I have the same issue in Drupal 7!

I have views Block and month/week/day/year site calendar together in one view setting.

It brings problems as above. I have each event in calendar twice. Any solution?

japerry’s picture

Status: Active » Closed (outdated)

Event for Drupal 8 is unrelated to older versions. If an issue similar to this one exists, please open a new issue with the 8.x branch.