Danke! Morgen soll ich das ausprobieren!
Ich habe schön das Quellcode hier unter. In TeacherContentAccess#onPageVisibilityChanged mochte ich gerne die Seite Eigenschaft "veröffentlichen" wieder ausschalten. Ist es korrekt dass ich dann eine SQL UPDATE muss ausführen?
Code:
/**
* Invoked when the page details needs to be saved
*/
public function onPageVisibilityChanged($varValue, DataContainer $dc)
{
// retrieve the record details of the page
$pageRecord = $this->Database->prepare("SELECT title, active FROM tl_page WHERE id=?")
->limit(1)
->execute(CURRENT_ID)
->row();
$pageName = $pageRecord['title'];
// check if the property changed
$oldActive = $pageRecord['active'];
if ( $oldActive == $varValue ) {
// opt out early because the property value hasnt changed
return;
}
// send an e-mail to the administrators when the page visibility has changed and
// make sure to disable any input
$objEmail = new Email();
$objEmail->from = $GLOBALS['TL_ADMIN_EMAIL'];
$objEmail->fromName = $GLOBALS['TL_ADMIN_NAME'];
$objEmail->subject = sprintf( $GLOBALS['TL_LANG']['MOD']['wiki']['page_changed_email_subject'], $pageName, $this->Environment->host);
$objEmail->text = 'Een e-mail bericht na een verandering op de pagina';
$objEmail->sendTo( $GLOBALS['TL_ADMIN_EMAIL'] );
// change the published state of the page
$pageRecord = $this->Database->prepare("UPDATE tl_page SET published='0' WHERE id=?")
->limit(1)
->execute(CURRENT_ID);
}
Lesezeichen