Events on ezPortal - im Header anzeigen

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen

Moderator: Moderatoren

Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!

Events on ezPortal - im Header anzeigen

Beitragvon smarty » Sa 11.Aug, 2007 12:36 • Beitrag als PDF

Ich benötige nochmal Hilfe.

Die Events sollen horizontal im Header scrollen.
Dazu habe ich folgende Zeilen aus der portal.php in die page_header.php übernommen.

Code: Alles auswählen
$cal_config = array();

$sql = "SELECT * FROM ".$table_prefix."cal_config";
if(!$result = $db->sql_query($sql))
{
   message_die(GENERAL_ERROR, "Couldn't query calendar config table", "", __LINE__, __FILE__, $sql);
}
else
{
   while( $row = $db->sql_fetchrow($result) )
   {
      $cal_config[$row['config_name']] = $row['config_value'];
   }
}


und
Code: Alles auswählen
//
// Events
//
if ($cal_config['number_events'] <> 0)
{
   $day = create_date("j", time(), $userdata['user_timezone']);
   $month = create_date("m", time(), $userdata['user_timezone']);
   $year = create_date("Y", time(), $userdata['user_timezone']);

   if ($cal_config['day_number'] == 0)
   {
      $sql_limit = ' LIMIT 0, ' . $cal_config['number_events'];
      $event_span_date = '';
      $sql_span = '';
   }
else
        {
                $cal_days = $cal_config['number_events'];
                $sql_limit = '';
                $event_span_date = strtotime("$year-$month-$day 23:59:59 + $cal_days days");
                $event_span_date = create_date("Y", $event_span_date, $userdata['user_timezone']).'-'.create_date("m", $event_span_date, $userdata['user_timezone']).'-'.create_date("j", $event_span_date, $userdata['user_timezone']).' 23:59:59';
                $sql_span = " AND stamp <= '$event_span_date'";
        }

   $sql = "SELECT * FROM ".$table_prefix."calendar WHERE valid = 'yes'
         AND stamp >= '$year-$month-$day 00:00:00'
         $sql_span
         ORDER BY stamp" . $sql_limit;

   $check = 0;
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not select Event data', '', __LINE__, __FILE__, $sql);
   }
   else
   {
      while ($row = $db->sql_fetchrow($result))
      {
         $check++;
         $subject = stripslashes($row['subject']);
         if ( strlen($subject) > $cal_config['subject_length']) {
            if ((substr($subject,-3,1) == '(') && (substr($subject,-1,1) == ')')) {
               // store the number of permits and tack them on the end of the shortened subject
               $subjectnum = substr($subject,-2,1);
               $subject = substr($subject, 0, -3);
            }
            $subject = substr($subject, 0, $cal_config['subject_length']);
            $subject .= '..';
         }
         $start_date = substr($row['stamp'],8,2).".".substr($row['stamp'],5,2).".".substr($row['stamp'],0,4);
         $end_date = substr($row['eventspan'],8,2).".".substr($row['eventspan'],5,2).".".substr($row['eventspan'],0,4);

         if ( $start_date == $end_date )
         {
            $span = $start_date;
         }
         else
         {
            $span = $start_date . " - " . $end_date;
         }
         $subject = ( $userdata['session_logged_in'] ) ? '<a href="'. $phpbb_root_path .'calendar.'.$phpEx.'?id='. $row['id'] .'&mode=display&day='. substr($row['stamp'],8,2). '&month='.substr($row['stamp'],5,2).'&year='.substr($row['stamp'],0,4).'">'. $subject .'</a>' : $subject;
         $author = ( $userdata['session_logged_in'] ) ? '<a href="'. $phpbb_root_path .'profile.'.$phpEx.'?mode=viewprofile&'. POST_USERS_URL .'='. $row['user_id'] .'">('. stripslashes($row['username']) .')</a>' : '('. stripslashes($row['username']) .')';
         $template->assign_block_vars('event', array(
            'SUBJECT' => $subject,
            'SPAN' => $span,
            'AUTHOR' => $author));
      }
      if ( $check == 0 )
      {
         $template->assign_block_vars('event', array(
         'SUBJECT' => $lang["No_events"]));
      }
   }
}

Also die Zeilen, die im Portal die Events erzeugen.

Jetzt erhalte ich nach Login diese Fehlermeldung:
Critical Error!
message_die() was called multiple times.
Error #1
Du hast Dich erfolgreich eingeloggt.

Klick hier um zum Index zurückzukehren

Error #2
Couldn't query calendar config table

Line : 86
File : C:\Programme\xampp\htdocs\foren\aktuell-asia\orion\includes\page_header.php
SQL : SELECT * FROM cal_config

Klich ich F5, dann bin ich onboard und es scheint alles zu laufen :eek:

Um Line 86 herum schaut es so aus ..
Code: Alles auswählen
$cal_config = array();

$sql = "SELECT * FROM ".$table_prefix."cal_config";
if(!$result = $db->sql_query($sql))
{
   message_die(GENERAL_ERROR, "Couldn't query calendar config table", "", __LINE__, __FILE__, $sql);
}



Zusätzlich habe ich die MOD Mini_Cal verbaut.
Mit dem Include aus der Portal.php will es auch nicht laufen.
Aus der Portal.php ...
Code: Alles auswählen
// MOD MINI CAL BEGIN
include($phpbb_root_path . 'mods/netclectic/mini_cal/mini_cal.'.$phpEx);
// MOD MINI CAL END


Die Fehlermeldung ist mir nicht klar, weil es doch aus dem Portal heraus anstandslos läuft.
Ich nutze das ORION.
Benutzeravatar
smarty
User
User
 
Beiträge: 128
Registriert: So 17.Jul, 2005 15:13

Beitragvon oxpus » Sa 11.Aug, 2007 17:40 • Beitrag als PDF

Nun ja, beim ersten Start der page_header.php steht $table_prefix nunmal nicht sofort zur Verfügung, daher solltest Du es besser mit der Konstante für diese Tabelle versuchen, die in der includes/constants.php definiert wird.
Man kann eben manche Sachen nicht so ohne weiteres in den Board-Header packen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per ICQ, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per ICQ, Email or PM. Each unasked message will be ignored!
Benutzeravatar
oxpus
Administrator
Administrator
 
Beiträge: 28979
Registriert: Mo 27.Jan, 2003 23:13
Wohnort: Bad Wildungen

Beitragvon Markus Wandel » Sa 11.Aug, 2007 21:04 • Beitrag als PDF

N'Abend,

ich hatte mir da mal was für unsere alte Startseite gebastelt. Kannst Du gerne für deine Zwecke umschrieben:

in der entsprechenden php-Datei einbauen:
Code: Alles auswählen
// MEETINGS MARQUEE by MARKUS WANDEL
   $sql = "SELECT count(meeting_id) as total_meetings FROM " . MEETING_DATA_TABLE;

   if ( !$result = $db->sql_query($sql) )
   {
      message_die(GENERAL_ERROR, 'Could not get meeting data', '', __LINE__, __FILE__, $sql);
   }

   while ( $row = $db->sql_fetchrow($result) )
   {
      $meeting_active_ids = $row['total_meetings'];
   }

   $db->sql_freeresult($result);
   
   if ( $meeting_active_ids == 0 )
   {
      $meeting_active_string = "Aktuell sind keine Treffen geplant";
   }
   else if ( $meeting_active_ids == 1 )
   {
      $meeting_active_string = "Aktuell ist ein Treffen geplant";
   }
   else
   {
      $meeting_active_string = "Aktuell sind " . $meeting_active_ids . " Treffen geplant";
   }
   

$sql = "SELECT * FROM " . MEETING_DATA_TABLE . "
   ORDER BY meeting_time ASC";

   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, "Could not read meeting data", '', __LINE__, __FILE__, $sql);
   }
   
   while( $row = $db->sql_fetchrow($result) )
   {
      $meeting_id = $meetingrow[$i]['meeting_id'];
      $meeting_subject = $row['meeting_subject'];
      $meeting_location = $row['meeting_location'];
      $meeting_time = create_date($board_config['default_dateformat'], $row['meeting_time'], $board_config['board_timezone']);
      $meeting_until = create_date($board_config['default_dateformat'], $row['meeting_until'], $board_config['board_timezone']);
      $meetings .= " » " . $meeting_time. " Uhr: " . $meeting_subject . ", " . $meeting_location . " «&nbsp;&nbsp;&nbsp;&nbsp;";
   }
   $db->sql_freeresult($result);

   $meetings .= "";
   $template->assign_vars(array(
      'AKTIVE' => $meeting_active_string,
      'MEETINGS' => $meetings)
   );
// MEETINGS MARQUEE by MARKUS WANDEL


in der entsprechenden tpl-Datei einbauen:
Code: Alles auswählen
<a title="Details zu den Treffen" target="Hauptframe" href="http://www.rocofa.de/phpBB2/meeting.php">
<marquee scrollamount="3" scrolldelay="20" style="font-family: Georgia; font-weight: bold">{AKTIVE} : {MEETINGS}</marquee></a>


gruß,
Markus
www.RoCoFa.de - Wir sind die RollerCoasterFans
Die Seite f?r Achterbahn- und Freizeitparkfans
Kostenlose Mitgliedschaft, keine Verpflichtungen.
Markus Wandel
User
User
 
Beiträge: 244
Registriert: Mo 06.Sep, 2004 09:03
Wohnort: Wuppertal

Beitragvon smarty » Sa 11.Aug, 2007 21:23 • Beitrag als PDF

die beiden Konstanten hatte ich bereits in der includes/constants.php definiert - hmm, war wohl doch noch etwas müde.

warum muß man immer erst posten, bevor was klappt? :wall:

Danke dir, es klappt :)

Hab es so geändert:
$sql = "SELECT * FROM ". CALENDAR_TABLE . " ORDER BY subject";

if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't query calendar config table", "", __LINE__, __FILE__, $sql);
}
else
{
while( $row = $db->sql_fetchrow($result) )
{
$cal_config[$row['config_name']] = $row['config_value'];
}
}

Dazu die Konstante nochmals definiert.

Die Ausgabe erfolgt zwar nicht in jeder Datei, aber immerhin :)
Zuletzt geändert von smarty am Sa 11.Aug, 2007 21:27, insgesamt 1-mal geändert.
Benutzeravatar
smarty
User
User
 
Beiträge: 128
Registriert: So 17.Jul, 2005 15:13


Zurück zu phpBB 2 Support Board + Modifikationen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste