Seite 1 von 1

Wie bekomme ich die Geburtstage in den mycalendar?

Verfasst: 14.05.2003 02:25
von JumpinJack
Also ich hab da schon nen Script in petto. Leider gibt der nur einen Link "Geburtstag" aus und dieser Link ist fehlerhaft. Wenn ich über diesen mit der Mouse fahre sagt der IE unten links ein gelbes Dreieck und das auf der Seite fehler aufgetreten sind.

Der Code:

Code: Alles auswählen

            // For the Birthday Mod 
            $query = "select username, DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(date_add(\"1970-01-01\", interval(user_birthday) day))), '%Y')+1 as birthday 
                      from ".USERS_TABLE." u 
                      where month(date_add(\"1970-01-01\", interval(user_birthday) day)) = '".$monthView['month']."' and 
                            dayofmonth(date_add(\"1970-01-01\", interval(user_birthday) day)) = '$day';"; 

            if (!$result = $db->sql_query($query)) { 
                message_die(GENERAL_ERROR, 'Error querying dates for calendar.'); 
            } 

            while ($topic = $db->sql_fetchrow($result)) { 
                $topic_text = "Birthday"; 
                $username = $topic['username']; 
                $birthday = $topic['birthday']; 

                $template->assign_block_vars('date_row.date_cell.switch_date_cells.date_event', array( 
                     'U_EVENT' => "$first_date<a href=\"#\" onMouseOver=\"createTitle(this, '<b>Birthday:</b> $username<br>Congratulations on your <b>$birthday</b> birthday.', event.pageX, event.pageY);\" onMouseOut=\"destroyTitle();\" class=\"gensmall\">$topic_text</a>") 
                ); 
            }
Wenn mir hier einer helfen kann wo der Fehler is?!
Der code wird vor dem...

Code: Alles auswählen

            // Increment the day
            $day++;
...in der mycalendar.php eingefügt.
Und wenn natürlich einer nen besseren Weg weiß oder wie ich "Geburtstag Username" da rein bekomme wäre ich auch sehr dankbar.

Egal wie. Please help.

Verfasst: 14.05.2003 14:37
von Henne
Wahrscheinlich ne neuere Version vo der myCalendar Mod. Da hat sich der JavaScript Code geändert.
Tausche mal das hier:

Code: Alles auswählen

'U_EVENT' => "$first_date<a href=\"#\" onMouseOver=\"createTitle(this, '<b>Birthday:</b> $username<br>Congratulations on your <b>$birthday</b> birthday.', event.pageX, event.pageY);\" onMouseOut=\"destroyTitle();\" class=\"gensmall\">$topic_text</a>")
gegen das hier:

Code: Alles auswählen

'U_EVENT' => "$first_date<a href=\"$profillink\" onmouseover=\"domTT_activate(event, 'content', '<b>Geburtstag:</b> $username<br />Herzlichen Glückwunsch zum <b>$birthday.</b> Geburtstag.');\" class=\"gensmall\">$topic_text</a>")
aus.


EDIT:
Hier mal mein ganzer Part. Ich hab $profillink auch noch definiert usw.

Code: Alles auswählen

// For the Birthday Mod
		$query = "select user_id, username, DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(date_add(\"1970-01-01\", interval(user_birthday) day))), '%Y')+1 as birthday
		          from ".USERS_TABLE." u
		          WHERE month(date_add(\"1970-01-01\", interval(user_birthday) day)) = '".$monthView['month']."'
		          AND dayofmonth(date_add(\"1970-01-01\", interval(user_birthday) day)) = '$day'
		          AND user_birthday < '999999';";

		            if (!$result = $db->sql_query($query)) {
		                message_die(GENERAL_ERROR, 'Error querying dates for calendar.');
		            }

		            while ($topic = $db->sql_fetchrow($result)) {
		           	$user_id = $topic['user_id'];
		           	$username = $topic['username'];
		                $topic_text = $username ."'s&nbsp;Geburtstag";
                		$profillink = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id");
		                $birthday = $topic['birthday'];

		                if ($today['day']>$day)
		                $birthday = $birthday + ($monthView['year']-$today['year'])-1;
		                else
		                $birthday = $birthday + ($monthView['year']-$today['year']);

		                $template->assign_block_vars('date_row.date_cell.switch_date_cells.date_event', array(
		                    // 'U_EVENT' => "$first_date<a href=\"#\" onMouseOver=\"domTT_activate(this, '<b>Geburtstag:</b> $username<br>Herzlichen Glückwunsch zum <b>$birthday</b> Geburtstag.', event.pageX, event.pageY);\" onMouseOut=\"destroyTitle();\" class=\"gensmall\">$topic_text</a>")

		                    'U_EVENT' => "$first_date<a href=\"$profillink\" onmouseover=\"domTT_activate(event, 'content', '<b>Geburtstag:</b> $username<br />Herzlichen Glückwunsch zum <b>$birthday.</b> Geburtstag.');\" class=\"gensmall\">$topic_text</a>")
		                );
		}
		// Birthday Mod END 

Verfasst: 15.05.2003 08:13
von JumpinJack
Also das hat sauber gepast. Also klappt jetzt prima. Vielen dank.

Kannst du mir noch sagen wie ich die Geburtatage in den Mini_cal bekomme. Da is jedenfalls schon was in der mini_cal´_body.tpl vorgesehen:

Code: Alles auswählen

  <!-- BEGIN switch_mini_cal_birthdays -->
  <tr><td class="row2" align="left"><span class="gensmall">{L_WHOSBIRTHDAY_TODAY}</span></td></tr>
  <tr><td class="row2" align="left"><span class="gensmall">{L_WHOSBIRTHDAY_WEEK}</span></td></tr>
  <!-- END switch_mini_cal_birthdays -->
Aber bei mir erschient da leider nix.

Verfasst: 15.05.2003 09:52
von Henne
Weiß nicht.
Schon probiert den Part, der eigentlich in die index.php kommt in die mini_cal.php einzubauen?
Dann müsste er die Variablen doch eigentlich haben.

Verfasst: 15.05.2003 11:42
von JumpinJack
Muss ich nicht eher den part der in die mycalendar.php kommt in die des mini-cal einbinden?

Verfasst: 15.05.2003 12:32
von Henne
Denke nicht, da du ja nen Text angezeigt bekommst.
Das ist dann so wie mit den nächsten Terminen.