Seite 4 von 16

Verfasst: 24.07.2003 01:36
von AWSW
Hallo,
ich hab zwar i.M. keine Ahnung, was du mit "Mod behägniss" meinst, aber es spricht nichts dagegen ein bereits gemodetes Board weiter zu modifizieren... Du musst halt eventuell mehr suchen und aufpassen, da manche Stellen im Code etwas anders aussehen könnten - Das gilt aber für alle MODs... ;)

Verfasst: 24.07.2003 14:41
von oxpus
Interessanter Mod!
Aber für meine Begriffe etwas zu einseitig (Admin teilt den Usern mit).
Wäre sicherlich in Kombination mit meinen "Personal Notes" unschlagbar :D 8) = User könnten die Notizen auch als solche Board-Zettel schreiben... Wäre doch mal ne Überlegung wert, oder?
Aber ich überlege schon, mit diesen Mod meine BoardMessages XL in den Ruhestand zu schicken :wink:

Verfasst: 24.07.2003 15:29
von AWSW
Hallo Oxpus,
ja hört sich gut an ;) Könnten wir ja mal angehen ?!? :roll:

Verfasst: 24.07.2003 19:24
von oxpus
Why not!
Nun ich will erst einmal Deinen Mod ausprobieren, auseinander nehmen und auswä(e)ndig lernen (sch... Rechtschreibung). Dann sehen wir weiter. Hätte aber grundsätzlich nix dagegen. Vielleicht habe ich beim Einbau und der Analyse auch schon die ersten Ideen. Wie wärs denn mit einem Add-On, das beide Mods nach belieben verbindet (so wie der Birthday Mod und Calendar). Könnte ja dann in diverse Richtungen "geschaltet" werden (ich merks, es arbeitet schon :D ).

8) Mein Mod ist nicht soooo neu/schwer. Ich habe hauptsächlich die posting.php vergewohltätigt ;) Eine Tabelle mehr und eine Anzeige der Notizen ist dann ja nur noch ein Klacks (naja, beinahe).
Dein Mod sieht auf den ersten Blick aber schon deutlich komplexer aus. Naja, wie werden sehen (bin ja noch nicht ganz so fit in php wie Ihr :cry: )

Verfasst: 24.07.2003 19:32
von AWSW
;) Das täuscht ;)

So aufwendig ist er gar nicht ;)

Meld Dich dann mal... :roll:

Verfasst: 24.07.2003 19:54
von oxpus
Klar. Werde morgen Abend - denke ich - mehr dazu sagen können...

EDIT: Hab mir den Mod nun mal angesehen *guck* und eingebaut *bastel*. Nach dem ersten Ausprobieren *tipptipp* war auch ein Erfolgserlebnis da: Keine Notiz zu sehen :-?
Browser zu, Browser auf (Avant Browser!), Seite geladen, nix. Keine Notiz.
Im ACP auf NUR Index gestellt (vorher auf ALLEN Seiten) und ebenfalls nichts zu sehen. Dann wieder zurück auf ALLE Seiten und siehe da, auf einigen war die Notiz da, auf anderen nicht.
Ist recht seltsam...
Ich habe mir dann den Einbau genau angesehen, konnte aber erst einmal keinen Fehler feststellen, so hab ich den Mod erstmal wieder deinstalliert.
Aber jetzt keine Angst, den baue ich morgen wieder ein und dann in aller Ruhe. Und ich finde den Bug (sofern es überhaupt einer ist) !!!

Verfasst: 26.07.2003 18:45
von oxpus
@Awsw
Eine Frage hab ich vorweg (bevor ich mich an den Neueinbau wage):
Kannst Du mit den Java-Teilen mehrere Fenster darstellen? Also soviele, wie der User erfasst hat? Nur so würde eine Kombination der Bord-Notiz mit den Personal-Notes Sinn machen, denke ich jedenfalls.
Ich hatte mir vorgestellt, das ein User entscheiden kann, ob er neben der Notizliste auch alle Beiträge als Board-Notiz sehen will. Diese sollten dann (wie die Admin-Board-Notiz auch) nicht, nur auf dem Index oder überall erscheinen.
Dazu wäre es sicherlich nicht verkehrt, die einzelnen Notizen als "Post-It" zu markieren, damit man nicht immer grundsätzlich alle Notizen auf dem Schirm hat (wäre dann ja auch reichlich voll).
Also: Geht das? Zumindest was den Java-Block anbelangt. Den Rest würde ich dann schon basteln.
Und dazu muss natürlich Dein Mod auch bei mir noch laufen. Hatte dazu heute keine Zeit mehr, aber morgen und dann bis zum Ausmerzen des letzten Problems *oder ich war gestern zu blind*.

Verfasst: 26.07.2003 18:50
von AWSW
Hallo oxpus,
hmmm kann ich nicht mit Sicherheit sagen ob man damit mehrere öffnen kann auf einmal... Dürfte auch eher nervig werden... IMHO besser wäre es, wenn man sie nacheinander öffnen würde: eins nach dem anderen ;)

Den Java Code hab ich mir vor einiger Zeit mal für meine alte HP runter geladen von einer Beispielseite...

Verfasst: 26.07.2003 18:56
von oxpus
Hm naja ich werd dann morgen mal was versuchen. Melde mich dann. So schwer sollte Java auch nicht sein.
<-- Java-noob!!!

EDIT
So erster neuer Stand: Der Mod funzt jetzt auch bei mir. Ich habe dazu lediglich die Java-Scripte (entgegen der Installationsanleitung) an anderen Stellen in der overall_header.tpl und index_body.tpl einfügen müssen, d.h. in der overall_header.tpl nach dem ersten <table...>-Tag und in der index_body_tpl ganz am Ende, also genau entgegengesetzt der Anleitung ;) .
Somit erscheint bei mir nun gemäß Einstellungen im ACP die gewünschte Nachricht.
Hat leider länger gedauert, wie ich gehofft hatte, aber jetzt kann ich mich an das Add-On machen:

Ich hatte ja weiter oben geschrieben, daß User ihre persönlichen Notizen als "Post-It" markieren sollten, damit diese auch auf alles Seiten, nur auf dem Index oder eben nicht angezeigt werden. Damit will ich halt dem User die gleiche Entscheidungsmöglichkeiten geben, wie sie der Admin hat. Die entsprechende Auswahl werde ich an den Notizen selber festmachen, so daß ein User eben die betreffende Notiz als Post-It angezeigt bekommt oder eben nicht (und dazu auf dem Index oder auch überall).
Es wäre kein Problem, meinen Mod zu erweitern (Halt das Add-On zu erstellen), aber ich habe bislang noch keine Idee, wie alle Nachrichten (gesamt oder nacheinander) angezeigt werden können.
Nun ich will mal sehen, was passiert, wenn ich die Board-Notiz und die Personal Notes gemeinsam in die Variablen für das Template packe und damit (soweit die Theorie) alle gemeinsam anzeigen lasse (Die Notiz-Positionen will ich dabei dann auch übergeben).

Ich melde mich dann wieder mit dem neuen Stand der Dinge.

Verfasst: 29.07.2003 21:10
von oxpus
So grosses Problem:
Ich habe es geschafft, die Notizen als Post-It zu erfassen/ändern, so das diese auf dem Index oder auch auf allen Seiten angezeigt werden können.
Jetzt bin ich aber an dem Punkt, an dem ich echt festhänge. Vielleicht kann da jemand helfen.
Hier erstmal der Code des unfertigen(!!!!!) Add-On:

Code: Alles auswählen

#####################################################################################
## MOD Title: Post-It Add-On for Personal Notes
## MOD Version: 1.0.0
## MOD Author:	OXPUS - http://www.oxpus.de
##		AWSW - http://www.awsw.de
##
## MOD Description:	This add-on displays the personal notes as post-its over the board.
##			Users can chooce which notes will be displayed on index or all pages.
##
## MOD Requires:	Personal Notes	(http://www.oxpus.de)
##			Board Note	(http://www.awsw.de)
##
## MOD Tested On: phpBB 2.0.4
##
## Installation Level: (easy)
## Installation Time: 10-15 minutes
##
## Files To Edit: (8+x)
##		- notes.php
##		- posting_notes.php
##		- includes/page_header.php
##		- language/lang_english/lang_main.php
##		- language/lang_german/lang_main.php
##		- templates/subSilver/notes_body.tpl
##		- templates/subSilver/overall_header.tpl
##		- templates/subSilver/posting_notes_body.tpl
##
## Included Files: (None)
##
##############################################################

############################################################## 
## Author Note:	1.0.0	First release (not finished yet!!!)
##
##############################################################

############################################################### 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
##############################################################

#
# ----- QUERY DATABASE ----------------------------------------
# // Change the table-prefix 'phpbb_' if your tables haves another one!!!
#
ALTER TABLE `phpbb_notes` ADD `postit` MEDIUMINT( 8 ) DEFAULT '0' NOT NULL ;

#
# ----- OPEN ----------------------------------------
#
notes.php

#
# ----- FIND ----------------------------------------
#
	'L_DELETE_TOPIC' => $lang['Delete_topic'])

#
# ----- REPLACE WITH ----------------------------------------
#
	'L_DELETE_TOPIC' => $lang['Delete_topic'],
	'L_POSTIT' => 'Post-It')

#
# ----- FIND ----------------------------------------
#
	$delpost = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';

#
# ----- AFTER ADD ----------------------------------------
#
	if ( $postrow[$i]['postit'] == 1 )
	{
		$postit = $lang['board_note_index'];
	}
	else if ( $postrow[$i]['postit'] == 2 )
	{
		$postit = $lang['board_note_all'];
	}
	else
	{
		$postit = $lang['board_note_none'];
	}

#
# ----- FIND ----------------------------------------
#
		'MESSAGE' => $message,
		'POSTIT' => $postit,

#
# ----- AFTER ADD ----------------------------------------
#
		'POSTIT' => $postit,

#
# ----- OPEN ----------------------------------------
#
templates/subSilver/notes_body.tpl

#
# ----- FIND ----------------------------------------
#
				<td valign="top" nowrap="nowrap">{postrow.EDIT_IMG} {postrow.DELETE_IMG}</td>

#
# ----- REPLACE WITH ----------------------------------------
#
				<td valign="top" nowrap="nowrap" class="postdetails" align="right">{postrow.EDIT_IMG} {postrow.DELETE_IMG}<br />{L_POSTIT}: {postrow.POSTIT}</td>

#
# ----- OPEN ----------------------------------------
#
language/lang_english/lang_main.php

#
# ----- FIND ----------------------------------------
#
$lang['board_note_close'] = "Close Note";

#
# ----- AFTER ADD ----------------------------------------
#
$lang['board_note_none'] = "No";
$lang['board_note_index'] = "Index";
$lang['board_note_all'] = "All";

#
# ----- OPEN ----------------------------------------
#
language/lang_german/lang_main.php

#
# ----- FIND ----------------------------------------
#
$lang['board_note_close'] = "Notiz schließen";

#
# ----- AFTER ADD ----------------------------------------
#
$lang['board_note_none'] = "Nein";
$lang['board_note_index'] = "Index";
$lang['board_note_all'] = "Überall";

#
# ----- OPEN ----------------------------------------
#
posting_notes.php

#
# ----- FIND ----------------------------------------
#
		$sql = "INSERT INTO " . NOTES_TABLE . "
				(post_subject, poster_id, post_time, post_text) VALUES ('$subject', " . $userdata['user_id'] . ", $current_time, '$message')";

#
# ----- REPLACE WITH ----------------------------------------
#
		if ( !$postit ) { $postit = 0; }
		$sql = "INSERT INTO " . NOTES_TABLE . "
				(post_subject, poster_id, post_time, post_text, postit) VALUES ('$subject', " . $userdata['user_id'] . ", $current_time, '$message', $postit)";

#
# ----- FIND ----------------------------------------
#
		$sql = "UPDATE " . NOTES_TABLE . "
				SET post_subject = '$subject', post_text = '$message'

#
# ----- REPLACE WITH ----------------------------------------
#
		$sql = "UPDATE " . NOTES_TABLE . "
				SET post_subject = '$subject', post_text = '$message', postit = $postit

#
# ----- FIND ----------------------------------------
#
if ( $mode == 'newtopic' )
{
	$subject = '';
	$message = '';

#
# ----- AFTER ADD ----------------------------------------
#
	$postit = 0;

#
# ----- FIND ----------------------------------------
#
				$message = $row['post_text'];

#
# ----- AFTER ADD ----------------------------------------
#
				$postit = $row['postit'];

#
# ----- FIND ----------------------------------------
#
	'L_POST_SUBJECT' => $lang['Post_subject'])
);

#
# ----- REPLACE WITH ----------------------------------------
#
	'L_POST_SUBJECT' => $lang['Post_subject'],
	'L_POSTIT' => 'Post-It')
);

$board_note_none = ( $postit == '0' ) ? "checked=\"checked\"" : "";
$board_note_index = ( $postit == '1') ? "checked=\"checked\"" : "";
$board_note_all = ( $postit == '2') ? "checked=\"checked\"" : "";

#
# ----- FIND ----------------------------------------
#
	'SUBJECT' => $subject,
	'MESSAGE' => $message,

#
# ----- AFTER ADD ----------------------------------------
#
	"L_board_note_NONE" => $lang['board_note_none'],
	"L_board_note_INDEX" => $lang['board_note_index'],
	"L_board_note_ALL" => $lang['board_note_all'],
	"board_note_NONE" => $board_note_none,
	"board_note_INDEX" => $board_note_index, 
	"board_note_ALL" => $board_note_all, 

#
# ----- OPEN ----------------------------------------
#
/templates/subSilver/posting_notes.tpl

#
# ----- FIND ----------------------------------------
#
		<th class="thHead" colspan="2" height="25"><b>{L_POST_A}</b></th>

#
# ----- REPLACE WITH ----------------------------------------
#
		<th class="thHead" colspan="3" height="25"><b>{L_POST_A}</b></th>

#
# ----- FIND ----------------------------------------
#
	  <td class="row2" width="80%"> <span class="gen"> 
		<input type="text" name="subject" size="45" maxlength="60" style="width:450px" tabindex="2" class="post" value="{SUBJECT}" />
		</span> </td>

#
# ----- REPLACE WITH ----------------------------------------
#
	  <td class="row2"><span class="gen"> 
		<input type="text" name="subject" size="45" maxlength="60" style="width:450px" tabindex="2" class="post" value="{SUBJECT}" />
		</span></td>
	  <td class="row2" align="center"><span class="gen"><b>{L_POSTIT}:&nbsp;</b>
		<input type="radio" name="postit" value="0" {board_note_NONE} />{L_board_note_NONE}&nbsp; &nbsp;<input type="radio" name="postit" value="1" {board_note_INDEX} />{L_board_note_INDEX}&nbsp; &nbsp;<input type="radio" name="postit" value="2" {board_note_ALL} />{L_board_note_ALL}</td>

#
# ----- FIND ----------------------------------------
#
	  </td>
	  <td class="row2" valign="top"><span class="gen"> <span class="genmed"> </span> 
		<table width="80%" border="0" cellspacing="0" cellpadding="2">

#
# ----- REPLACE WITH ----------------------------------------
#
	  </td>
	  <td class="row2" valign="top" colspan="2"><span class="gen"> <span class="genmed"> </span> 
		<table width="80%" border="0" cellspacing="0" cellpadding="2">

#
# ----- FIND ----------------------------------------
#
	  <td class="catBottom" colspan="2" align="center" height="28"> {S_HIDDEN_FORM_FIELDS}<input type="submit" accesskey="s" tabindex="6" name="post" class="mainoption" value="{L_SUBMIT}" /></td>

#
# ----- REPLACE WITH ----------------------------------------
#
	  <td class="catBottom" colspan="3" align="center" height="28"> {S_HIDDEN_FORM_FIELDS}<input type="submit" accesskey="s" tabindex="6" name="post" class="mainoption" value="{L_SUBMIT}" /></td>

#
# ----- OPEN ----------------------------------------
#
includes/page_header.php

#
# ----- FIND ----------------------------------------
#
if ( $board_config['board_note_enable'] <> 0 )

#
# ----- BEFORE ADD ----------------------------------------
#
$x = 250;
$y = 150;
$i = 0;

#
# ----- FIND ----------------------------------------
#
else
{
	$board_note ='';
}

#
# ----- AFTER ADD ----------------------------------------
#
if ($i <> 1)
{
	$sql = "SELECT * FROM " . NOTES_TABLE . "
		WHERE poster_id = " . $userdata['user_id'] . "
		AND postit = 2
		ORDER BY post_time";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, "Could not obtain notes/user information.", '', __LINE__, __FILE__, $sql);
	}

	while ($row = $db->sql_fetchrow($result))
	{
		$x = $x + 20;
		$y = $y + 10;
		$subject = $row['post_subject'];
		$message = $row['post_text'];
		$message = str_replace("\n", "\n<br />\n", $message);
		$board_note = '<b>'.$subject.'</b><br />'.$message;
		$template->assign_vars(array(
			'board_note' => $board_note,
			'x' => $x,
			'y' => $y)
		);
		$template->assign_block_vars('switch_enable_board_note', array());
		$i = 1;
	}
}


#
# ----- FIND ----------------------------------------
#
$template->assign_vars(array(
	'SITENAME' => $board_config['sitename'],
	'board_note' => $board_note,

#
# ----- REPLACE WITH ----------------------------------------
#
$template->assign_vars(array(
	'SITENAME' => $board_config['sitename'],

#
# ----- OPEN ----------------------------------------
#
templates/subSilver/overall_header.tpl

#
# ----- FIND ----------------------------------------
#
<div id="hano" style="left:600px;top:150px; background-color: #FFFF99;">

#
# ----- REPLACE WITH ----------------------------------------
#
<div id="hano" style="left:{x}px;top:{x}150px; background-color: #FFFF99;">

#
# That's all!!!
#
# No that's not all! The Mod isn't finish! On this point the last note ist displayed and can not closed. HELP!!!
#
# ----- EoM ----------------------------------------
Es kann mit diesem (unfertigen!) Mod halt jetzt eine persönliche Notiz als Post-It markiert werden. Fertig ist das für alle Seiten, so dachte ich. Und hier das Problem: Es erscheint die LETZTE Notiz und das auch auf dem Index. Und gerade da lässt sie sich nicht schliessen.
Jetzt bräuchte ich Eure Hilfe, denn hier geht es über meinen Wissenstand (gerade was Java anbelangt) hinaus.
Wäre Euch echt Dankbar.

OXPUS

PS @AWSW: Über den Titel des Add-Ons und die Beschreibung kann gerne noch verhandelt werden ;)
Und sofern das jetzt nicht mehr hier reinpasst: Einfach verschieben...