• Willkommen, Gast!
  • Mittwoch, 03. Juni 2020, 23:50:23
Position: Home » Boardsolution » Boardsolution v1.3x » Terminübersicht
Antworten
Thema: Terminübersicht [Seite 1 ]

Kein neuer Beitrag Nico , 13.07.2010, 23:56
Beitrag #1   

IP: n/a
Rang: * * * * * * *
Registrierung: 11.02.2006, 11:44
Homepage: http://forum.asb-luebeck.de
Wohnort: Lübeck
 

Forum-Gott mit 198 Punkte, 140 Beiträge
Hallo Nils,

gibt es irgendwie die Möglichkeit die Termine, zu denen man sich angemeldet hat, als Liste abzurufen.
Eine Standalone Lösung wäre am schönsten, dann kann ich sie am leichtesten ins Portal einbauen.

Beste Grüße,
Nico

 
Kein neuer Beitrag Nils , 14.07.2010, 09:13
Beitrag #2   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

ja. Bei 1.3x jedoch nicht ganz so einfach, da die angemeldeten User etwas ungünstig gespeichert
werden. Aber du kannst das etwa folgendermaßen machen:
PHP:
1
2
3
4
5
6
7
8
9
10
echo 'Du bist bei folgenden Terminen angemeldet:<br />';
$qry = $this->db->sql_query(
  'SELECT * FROM '.BS_TB_EVENTS.' WHERE max_announcements >= 0 AND event_begin > '.time()
);
while($row = $this->db->sql_fetch_assoc($qry)) {
  $announced_user = BS_advanced_explode(',',$row['announced_user']);
  if(in_array($this->sess->user_id,$announced_user)) {
    echo $row['event_title'].', '.$this->sess->get_date($row['event_begin']).'<br />';
  }
}


mfg Nils

 
Kein neuer Beitrag Nico , 14.07.2010, 15:58
Beitrag #3   

IP: n/a
Rang: * * * * * * *
Registrierung: 11.02.2006, 11:44
Homepage: http://forum.asb-luebeck.de
Wohnort: Lübeck
 

Forum-Gott mit 198 Punkte, 140 Beiträge
Hallo Nils,

ich bekomme leider folgende Fehlermeldung :-( :

Code:
1
Fatal error: Using $this when not in object context in /homepages/termine.php  on line 54


Wobei line 54 Deiner zweiten Zeile entspricht.

Ich habe das ganze in eine externe PHP gelegt und aufgerufen.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
/**
 * An example to demonstrate the features and usage of the BS-extern-API
 * 
 * @package         Boardsolution
 * @subpackage   extern
 * @author         Nils Asmussen <nils@script-solution.de>
 * @copyright      2003-2007 Nils Asmussen
 * @link            http://www.script-solution.de
 */

// define the path to the root of boardsolution (relative)
// this is required for the bs_api.php
define('BS_PATH','../');

// include bs_api.php, which initializes all required stuff
// After this call you can use $BS_base which contains all objects of BS
$BS_base = include_once('bs_api.php');
$target = 'target="_parent"';

// we have to set the charset here to force the browser to use the selected charset
header('Content-Type: text/html; charset='.BS_HTML_CHARSET);

// now add the html-header
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Events</title>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo BS_HTML_CHARSET; ?>" />
<style type="text/css">
p {font-family:verdana, tahoma, arial, helvetica, sans-serif; font-weight:small; font-size:11px; color:#444444;}
a:link    {font-family:verdana, tahoma, arial, helvetica, sans-serif; text-decoration:none; font-weight:bold; color:#0000ff; font-size:11px; }
a:visited {font-family:verdana, tahoma, arial, helvetica, sans-serif; text-decoration:none; font-weight:bold; color:#0000ff; font-size:11px;}
a:hover   {font-family:verdana, tahoma, arial, helvetica, sans-serif; text-decoration:none; font-weight:bold; color:#ff0000; font-size:11px;}
a:active  {font-family:verdana, tahoma, arial, helvetica, sans-serif; text-decoration:none; font-weight:bold;  font-size:11px;}
a:focus   {font-family:verdana, tahoma, arial, helvetica, sans-serif; text-decoration:none; font-weight:bold; font-size:11px;}
</style>
</head>
<body bgcolor="#EBEBEB">

<?php


// check if the user is logged in?
if($BS_base->sess->is_loggedin());


else
   die("Nicht eingeloggt.");


echo 'Du bist bei folgenden Terminen angemeldet:<br />';
$qry = $this->db->sql_query(
  'SELECT * FROM '.BS_TB_EVENTS.' WHERE max_announcements >= 0 AND event_begin > '.time()
);
while($row = $this->db->sql_fetch_assoc($qry)) {
  $announced_user = BS_advanced_explode(',',$row['announced_user']);
  if(in_array($this->sess->user_id,$announced_user)) {
    echo $row['event_title'].', '.$this->sess->get_date($row['event_begin']).'<br />';
  }
}
?>
</body>
</html>


Hoffe Du kannst mir nochmal weiterhelfen.
Schon mal danke im Voraus.

Gruß,
Nico
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 14.07.2010, 15:59 von Nico.

 
Kein neuer Beitrag Nils , 14.07.2010, 23:59
Beitrag #4   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

achso, ich dachte du wolltest ein BS-Modul dafür bauen. Mit der extern-API musst du (in deinem
Fall) $BS_base für $this benutzen. Wobei ich den Code nicht getestet hatte. Das sollte nur als
Orientierung dienen ;) Wäre also denkbar, dass noch etwas nicht stimmt.

mfg Nils

 
Kein neuer Beitrag Nico , 15.07.2010, 20:48
Beitrag #5   

IP: n/a
Rang: * * * * * * *
Registrierung: 11.02.2006, 11:44
Homepage: http://forum.asb-luebeck.de
Wohnort: Lübeck
 

Forum-Gott mit 198 Punkte, 140 Beiträge
Hallo Nils,

du hattest Recht, es stimmt wirklich noch nicht wirklich und ich finde den Fehler nicht selbst.
Ich erhalte jetzt die Meldung

Code:
1
Fatal error: Call to undefined method BS_MySQL::sql_query() in /homepages/termine.php  on line 54


Also habe ich es als Modul versucht und selbst dort kommt ein Fehler:

Code:
1
Fatal error: Call to undefined method BS_MySQL::sql_query()


Ich stehe mal wieder direkt vorm Wald.... :confused:

Gruß, Nico

 
Kein neuer Beitrag Nils , 15.07.2010, 23:30
Beitrag #6   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

ah, stimmt, bei 1.3x heißt es "sql_qry" :)

mfg Nils

 
Kein neuer Beitrag Nico , 16.07.2010, 17:56
Beitrag #7   

IP: n/a
Rang: * * * * * * *
Registrierung: 11.02.2006, 11:44
Homepage: http://forum.asb-luebeck.de
Wohnort: Lübeck
 

Forum-Gott mit 198 Punkte, 140 Beiträge
Das war natürlich der Fehler.
Vielen Dank =)

Ich habe es sogar geschafft, das alles Sortiert und Verlinkt ausgegeben wird.
Gibt es die Möglichkeit, den Beitrag anzuzeigen und nicht nur den Kalendereintrag?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php

echo 'Du bist bei folgenden Terminen angemeldet:<br />';

$qry = $BS_base->db->sql_qry(
'SELECT * FROM '.BS_TB_EVENTS.' WHERE max_announcements >= 0 AND event_begin > '.time().' ORDER BY event_begin'
);

while($row = $BS_base->db->sql_fetch_assoc($qry)) {
  $announced_user = BS_advanced_explode(',',$row['announced_user']);
  if(in_array($BS_base->sess->user_id,$announced_user)) {
   
 $url = $BS_base->url->get_frontend_url(
        '&amp;'.BS_URL_ACTION.'=calendar&amp;'.BS_URL_MODE.'=event_detail&amp;'.BS_URL_ID.'='.$row['id']
      );
  
    echo '<p>('.$BS_base->sess->get_date($row['event_begin'],false).') - <a href="'.$url.'"'.$target.'>'.$row['event_title'].'</a> </p>';
  }
}
?>


Gruß, Nico

 
Kein neuer Beitrag Rafioso , 16.07.2010, 19:59
Beitrag #8   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Hi,

meinst du die Beschreibung des Termins? Das wäre in der Spalte "description" der selben Tabelle.

Also:
PHP:
1
$row['description']


MfG
Rafioso

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

 
Kein neuer Beitrag Nico , 16.07.2010, 20:09
Beitrag #9   

IP: n/a
Rang: * * * * * * *
Registrierung: 11.02.2006, 11:44
Homepage: http://forum.asb-luebeck.de
Wohnort: Lübeck
 

Forum-Gott mit 198 Punkte, 140 Beiträge
Hi,

die Beschreibung habe ich schon gefunden, aber das meinte ich nicht. ich meinte die Erzeugung des
Links.

Bei meiner Methode generiert er
Code:
1
index.php?action=calendar&mode=event_detail&id=331


ich möchte jedoch folgende Version
Code:
1
index.php?action=posts&fid=20&tid=1101


Der tid ist in der Tabelle vorhanden, ich habe aber keine Ahnung, wie ich den fid in Verbindung mit
dem tid bringen kann. der fid ist in der bs_posts Tabelle.

 
Kein neuer Beitrag Rafioso , 16.07.2010, 20:37
Beitrag #10   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Hi,

versuche es mal mit dem Query:

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SELECT 
      a.id, 
      a.announced_user, 
      a.event_title, 
      a.event_begin, 
      b.rubrikid 
FROM 
      '.BS_TB_EVENTS.' as a
LEFT OUTER JOIN
      '.BS_TB_THREADS.' as b ON (b.id = a.id)
WHERE 
      a.max_announcements >= 0 
  AND
      b.rubrikid <> 0 
  AND 
      a.event_begin > '.time().' 
ORDER BY 
      a.event_begin


Dann steht in 'rubrikid' die Foren-ID drinn.

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

 
Kein neuer Beitrag Nico , 16.07.2010, 21:41
Beitrag #11   

IP: n/a
Rang: * * * * * * *
Registrierung: 11.02.2006, 11:44
Homepage: http://forum.asb-luebeck.de
Wohnort: Lübeck
 

Forum-Gott mit 198 Punkte, 140 Beiträge
Hi,

nach einer kleinen Anpassung der Tabellenbezeichnung und der Felder habe ich es jetzt schon mal so
am laufen, wie ich es mir dachte, ABER:

Jetzt werden die Termine doppelt und dreifach angezeigt. Bei jeder Anwort, die gemacht worden ist
zeigt er den Termin nochmal an.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php


// check if the user is logged in?
if($BS_base->sess->is_loggedin());


else
  die("Nicht eingeloggt.");

$qry = $BS_base->db->sql_qry(
'SELECT 
      a.id,
      a.tid,
      a.announced_user, 
      a.event_title, 
      a.event_begin, 
      b.rubrikid,
      b.threadid
FROM 
      '
.BS_TB_EVENTS.' as a
LEFT OUTER JOIN
      '
.BS_TB_POSTS.' as b ON (b.threadid = a.tid)
WHERE 
      a.max_announcements >= 0 
  AND
      b.rubrikid <> 0 
  AND 
      a.event_begin > '
.time().
ORDER BY 
      a.event_begin'

);



while($row = $BS_base->db->sql_fetch_assoc($qry)) {
  $announced_user = BS_advanced_explode(',',$row['announced_user']);
  if(in_array($BS_base->sess->user_id,$announced_user)) {
  
  
       $url = $BS_base->url->get_frontend_url(
        '&amp;'.BS_URL_ACTION.'=posts&amp;'.BS_URL_FID.'='.$row['rubrikid']
        .'&amp;'.BS_URL_TID.'='.$row['threadid']
      );
  
    echo '<p>('.$BS_base->sess->get_date($row['event_begin'],false).') - <a href="'.$url.'"'.$target.'>'.$row['event_title'].'</a> </p>';

  }
}
?>


Gruß und schon mal vielen Dank bis jetzt,
Nico

 
Kein neuer Beitrag Rafioso , 16.07.2010, 22:12
Beitrag #12   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Hi,

habe das falsche kopiert gehabt... das meinte ich:

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT 
      a.id,
      a.tid,
      a.announced_user, 
      a.event_title, 
      a.event_begin, 
      b.rubrikid 
FROM 
      '.BS_TB_EVENTS.' as a
LEFT OUTER JOIN
      '.BS_TB_THREADS.' as b ON (b.id = a.tid)
WHERE 
      a.max_announcements >= 0 
  AND
      b.rubrikid <> 0
  AND 
      a.event_begin > '.time().' 
ORDER BY 
      a.event_begin


Und die Tabellen haben schon gepasst ;) Keine Ahnung warum du auf die Beitragstabelle gewechselt bist.
Denn um die URL
Code:
1
index.php?action=posts&fid=20&tid=1101

herzustellen, brauchst du die Beitragstabelle nicht.
PHP:
1
echo 'index.php?action=posts&fid='.$row['rubrikid'].'&tid='.$row['tid'];

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 16.07.2010, 22:13 von Rafioso.

 
Kein neuer Beitrag Nico , 16.07.2010, 22:33
Beitrag #13   

IP: n/a
Rang: * * * * * * *
Registrierung: 11.02.2006, 11:44
Homepage: http://forum.asb-luebeck.de
Wohnort: Lübeck
 

Forum-Gott mit 198 Punkte, 140 Beiträge
Hi Rafioso ,

endlich hat es funktioniert.

Ich kann zwar die Tabelle bs_threads mit MySQL nicht finden, aber auch egal. Hauptsache es klappt
jetzt.

Vielen Dank.

Für alle die auch eine Terminanzeige gebrauchen können, hier der komplette PHP-Code. Einfach eine
Datei im Verzeichnis extern mit folgendem Inhalt anlegen:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
// define the path to the root of boardsolution (relative)
// this is required for the bs_api.php
define('BS_PATH','../');

// include bs_api.php, which initializes all required stuff
// After this call you can use $BS_base which contains all objects of BS
$BS_base = include_once('bs_api.php');
$target = 'target="_parent"';

// we have to set the charset here to force the browser to use the selected charset
header('Content-Type: text/html; charset='.BS_HTML_CHARSET);

// now add the html-header
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Eigene Termine</title>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo BS_HTML_CHARSET; ?>" />
<style type="text/css">
p {font-family:verdana, tahoma, arial, helvetica, sans-serif; font-weight:small; font-size:11px; color:#444444;}
a:link    {font-family:verdana, tahoma, arial, helvetica, sans-serif; text-decoration:none; font-weight:bold; color:#0000ff; font-size:11px; }
a:visited {font-family:verdana, tahoma, arial, helvetica, sans-serif; text-decoration:none; font-weight:bold; color:#0000ff; font-size:11px;}
a:hover   {font-family:verdana, tahoma, arial, helvetica, sans-serif; text-decoration:none; font-weight:bold; color:#ff0000; font-size:11px;}
a:active  {font-family:verdana, tahoma, arial, helvetica, sans-serif; text-decoration:none; font-weight:bold;  font-size:11px;}
a:focus   {font-family:verdana, tahoma, arial, helvetica, sans-serif; text-decoration:none; font-weight:bold; font-size:11px;}
</style>
</head>
<body bgcolor="#EBEBEB">

<?php
// check if the user is logged in?
if($BS_base->sess->is_loggedin());

else
   die("Nicht eingeloggt.");

$qry = $BS_base->db->sql_qry('
SELECT 
      a.id,
      a.tid,
      a.announced_user, 
      a.event_title, 
      a.event_begin, 
      b.rubrikid 
FROM 
      '.BS_TB_EVENTS.' as a
LEFT OUTER JOIN
      '.BS_TB_THREADS.' as b ON (b.id = a.tid)
WHERE 
      a.max_announcements >= 0 
  AND
      b.rubrikid <> 0
  AND 
      a.event_begin > '.time().' 
ORDER BY 
      a.event_begin
');


while($row = $BS_base->db->sql_fetch_assoc($qry)) {
  $announced_user = BS_advanced_explode(',',$row['announced_user']);
  
  if(in_array($BS_base->sess->user_id,$announced_user)) {
  
  
          $url = $BS_base->url->get_frontend_url(
            '&amp;'.BS_URL_ACTION.'=posts&amp;'.BS_URL_FID.'='.$row['rubrikid']
            .'&amp;'.BS_URL_TID.'='.$row['tid']
         );
  
    echo '<p>('.$BS_base->sess->get_date($row['event_begin'],false).') - <a href="'.$url.'"'.$target.'>'.$row['event_title'].'</a> </p>';

  }
}
?>
</body>
</html>


Vielen Dank nochmals an Nils und Rafioso für die Hilfen und Gedankenanstöße.

Beste Grüße und noch ein sonniges Wochenende,
Nico

 
Kein neuer Beitrag Rafioso , 16.07.2010, 23:14
Beitrag #14   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Hi,

Nico hat folgendes geschrieben:
Ich kann zwar die Tabelle bs_threads mit MySQL nicht finden, aber auch egal. Hauptsache es klappt jetzt.


das liegt daran, dass es ja auch nur eine Konstante mit dem Wert 'bs_topics' (Standardinstallation)
ist. Nachzulesen in der config/mysql.php.

Bitte bitte.

MfG
Rafioso

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 16.07.2010, 23:15 von Rafioso.

 
Kein neuer Beitrag Nico , 17.07.2010, 21:06
Beitrag #15   

IP: n/a
Rang: * * * * * * *
Registrierung: 11.02.2006, 11:44
Homepage: http://forum.asb-luebeck.de
Wohnort: Lübeck
 

Forum-Gott mit 198 Punkte, 140 Beiträge
Auf die Idee mit der config/mysql.php bin ich natürlich auch nicht gekommen. :confused: Wieder etwas dazu
gelernt.

MfG, Nico

Abonnieren Druckansicht
Antworten

n/a n/a 1     (Anzeige: 1 – 15; insgesamt: 15) n/a n/a
User in diesem Thema: 0 Registrierte, 0 Versteckte, 1 Gast, 0 Bots
Keine
Legende: Administratoren, User, Moderatoren
Themenaktionen:
Beiträge verschieben

Toggle Ähnliche Themen zu „Terminübersicht“
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Es wurden keine Themen gefunden.
  • 0.186971 Sek., 10 DB-Zugriffe, 1.769 MiB
  • Powered by Boardsolution v1.46