<?php
// +-------------------------------------------------+
// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
// +-------------------------------------------------+
// $Id: mail_reader_demande_note.class.php,v 1.3.12.1 2026/08/05 08:24:00 dbellamy Exp $

if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");

class mail_reader_demande_note extends mail_reader {
	
	protected $demande_note;
	
	protected function _init_default_settings() {
		parent::_init_default_settings();
		$this->_init_setting_value('sender', 'user');
		$this->_init_setting_value('copy_bcc', '0');
	}

	/**
	 * Rendu du template de mail configure pour cet evenement
	 *
	 * @return array|null null si aucun template n'est configure
	 */
	protected function get_rendered_mailtpl() {
		return demandes_mail_tpl::get_rendered('nouvelle_note_lecteur', null, $this->demande_note);
	}

	protected function get_mail_object() {
		global $msg;

		$rendered = $this->get_rendered_mailtpl();
		if (!empty($rendered['objet'])) {
			return $rendered['objet'];
		}
		return $msg['demandes_note_mail_new_object'];
	}
	
	protected function get_permalink() {
		global $opac_url_base;
		
		return $opac_url_base.'empr.php?tab=request&lvl=list_dmde&sub=open_demande&iddemande='.$this->demande_note->num_demande.'&last_modified='.$this->demande_note->num_action.'#fin';
	}
	
	protected function get_mail_content() {
		global $msg, $PMBuserprenom, $PMBusernom;

		$rendered = $this->get_rendered_mailtpl();
		if (!empty($rendered['contenu'])) {
			return $rendered['contenu'];
		}
		$mail_content = sprintf($msg['demandes_note_mail_new'],$PMBuserprenom." ".$PMBusernom." ",$this->demande_note->libelle_action,$this->demande_note->libelle_demande).'<br />';
		$mail_content .= $this->demande_note->contenu.'<br />';
		$mail_content .= '<a href="'.$this->get_permalink().'">'.$msg['demandes_see_last_note'].'</a>';

		return $mail_content;
	}

	/**
	 * mail_reader applique nl2br a tout le contenu. Avec un template, les sauts de
	 * ligne des variables texte sont deja convertis par list_patterns_demandes_ui :
	 * un second nl2br doublerait les <br /> et en ajouterait dans le HTML du
	 * template. Le repli, lui, conserve le comportement historique.
	 *
	 * {@inheritDoc}
	 * @see mail_reader::get_mail_do_nl2br()
	 */
	protected function get_mail_do_nl2br() {

		$rendered = $this->get_rendered_mailtpl();
		if (!empty($rendered['contenu'])) {
			return 0;
		}
		return parent::get_mail_do_nl2br();
	}
	
	protected function get_mail_headers() {
		$headers  = "MIME-Version: 1.0\n";
		$headers .= "Content-type: text/html; charset=iso-8859-1";
		return $headers;
	}
	
	public function set_demande_note($demande_note) {
		$this->demande_note = $demande_note;
		return $this;
	}
}