Hallo,
hat von euch jemand mal in der Community das Gästebuch standartmäßig aktiviert? (Finde das für eine Communtiy etwas umständich, wenn User ein Gästebuch aktiveren / deaktiveren können. - Für was bin ich sonst in einer community?? - Vor allem, dass es Standartmäßig deaktiviert ist, find ich unglücklich!)
Wer also da schon mal "rumgeschraubt" hat, ist herzlich eingeladen, mir zu antworten! *g* (und wer noch nicht da rumgeschraubt hat, darf auch antworten! 😉 )
LG - Simon
Ach ja, meine Überlegung ist, dass ich einfach den Code finden muss, welcher in die DB schreibt, welchen zustand das Gästebuch hat und diesen dann gleich bei der Anmeldung einbinde. Was denkt ihr? - Oder ist es besser, den Code rauszustreichen, welcher aus der DB ausliest, ob das GB aktiv ist?
Ging schneller als erwartet... Wer ähnliches plant, hier die Stellen welche geändert werden müssen:
class.tx_cwtcommunity_pi1.php
function doGetGuestbookStatus($uid)
{
// Check if an entry for a guestbook exists
$res = $this->doDatabaseQuery("SELECT gb.status FROM tx_cwtcommunity_guestbook AS gb WHERE gb.fe_users_uid = $uid");
//Okay...let us check
//Guestbook OPEN
if ($res[0]['status'] == "0") {
return "0";
}
//Guestbook CLOSED
elseif ($res[0]['status'] == "1"){
return "0"; #retun "1";
}
//Guestbook CLOSED
else{
return "0"; #retun "1";
}
}
tx_cwtcommunity_pi1_guestbook.tmpl
<!--tr>
<td colspan="4">
<!-- ###DEACTIVATE### begin>
###ACTIVE_MSG###
<FORM action="###FORM_ACTION###" method="POST">
<INPUT type="submit" name="###LOCK_GUESTBOOK_BUTTON_NAME###" value="###LOCK_GUESTBOOK_BUTTON_VALUE###"/>
</FORM>
<!-- ###DEACTIVATE### end-->
<!-- ###ACTIVATE### begin>
###INACTIVE_MSG###
<FORM action="###FORM_ACTION###" method="POST">
<INPUT type="submit" name="###OPEN_GUESTBOOK_BUTTON_NAME###" value="###OPEN_GUESTBOOK_BUTTON_VALUE###"/>
</FORM>
<!-- ###ACTIVATE### end>
</td>
</tr-->
<tr>
<td colspan="4"><h3>Dein Gästebuch:</h3></td>
</tr>
LG - Simon
Wen es intressiert, eine Mail an den User über einen neuen GB - Eintrag:
einfügen in die gleiche Datei in die Funktiion: doInsertGuestbookData
#Benachrichtigung über einen Neuen GB - Eintrag (Add 24.10.):
$abfrage = "SELECT email, gender, first_name, last_name FROM fe_users WHERE uid = ".$uid;
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$emailempfaenger = $row->email;
$geschlecht = $row->gender;
$vorname = $row->first_name;
$nachname = $row->last_name;
if($geschlecht == "0")
{
$anrede = "Lieber ";
}
else
{
$anrede = "Liebe ";
}
mail($emailempfaenger, "Eine neuer Gästebucheintrag", $anrede.$vorname."\nDu hast eine neuen Gästebucheintrag erhalten.","From: Name <keineantwortadresse@name>");
}
Nachtrag:
function doInsertGuestbookData($cruser_id, $text, $uid)
{
// Get guestbook uid for uid
$res = $this->doDatabaseQuery("SELECT tx_cwtcommunity_guestbook.status FROM tx_cwtcommunity_guestbook, fe_users WHERE fe_users.uid = $uid AND fe_users.uid = tx_cwtcommunity_guestbook.fe_users_uid");
//NO ENTRY --> create one
if ($res[0]['status'] == null) {
//Execute the query
$res1 = $this->doDatabaseUpdateQuery("INSERT INTO tx_cwtcommunity_guestbook (pid, crdate, fe_users_uid, status) VALUES (".$this->sysfolderList.", ".time().", $uid, 0)");
}
//ENTRY EXISTS --> only doing an update
elseif ($res[0]['status'] == "1"){
//Execute the query
$res1 = $this->doDatabaseUpdateQuery("UPDATE tx_cwtcommunity_guestbook SET status = 0 WHERE fe_users_uid = $uid");
}
$guestbookUID = $this -> doDatabaseQuery("SELECT tx_cwtcommunity_guestbook.uid FROM tx_cwtcommunity_guestbook, fe_users WHERE fe_users.uid = $uid AND fe_users.uid = tx_cwtcommunity_guestbook.fe_users_uid");
Da das GB ja standartmäßig geschlossen ist, muss es vor dem ersten Eintrag geöffnet werden...