intro = $param['INTRO']; $this->notes = $param['NOTES'][0]['NOTE']; $this->generate_RTF(); } function generate_RTF(){ global $pmb_gestion_devise, $base_path, $msg, $biblio_logo; //Format des fonts $fontHead = new Font(12, 'Arial','#0E298A'); $fontHead->setBold(); $fontSmall = new Font(1); $fontComment = new Font(10,'Arial'); $fontComment->setItalic(); $fontChapter = new Font(10,'Arial'); $fontChapter->setBold(); $fontSubChapter = new Font(10,'Arial'); $fontSubChapter->setUnderline(); //Format des paragraphes $parPmb = new ParFormat(); $parPmb->setIndentRight(12.5); $parPmb->setBackColor('#0E298A'); $parPmb->setSpaceAfter(8); $parHead = new ParFormat(); $parHead->setSpaceBefore(5); //$parHead->setSpaceAfter(8); $parChapter = new ParFormat(); $parChapter->setSpaceBefore(2); $parChapter->setSpaceAfter(1); $parComment = new ParFormat(); $parComment->setIndentLeft(1); $parComment->setIndentRight(0.5); $parContenu = new ParFormat('justify'); $parContenu->setIndentLeft(1); $parSubChapter = new ParFormat(); $parSubChapter->setIndentLeft(0.5); $parInfo = new ParFormat(); $parInfo->setIndentLeft(0.5); $parInfo->setSpaceAfter(1.5); //Document $rtf = new Rtf(); $rtf->setMargins(1, 1, 1 ,1); $sect = &$rtf->addSection(); $table = &$sect->addTable(); $table->addRows(2, 2); $table->addColumnsList(array(5, 15)); $table->addImageToCell(1,1,$base_path."/images/".$biblio_logo,new ParFormat('center'),0,0); $cell = &$table->getCell(1,2); $titre_general = reg_diacrit($this->intro[0]['TITLE'][0]['value']); $cell->writeText($this->to_utf8(strtoupper($titre_general)), new Font(14,'Arial','#0E298A'), new ParFormat('left')); $table->setVerticalAlignmentOfCells('center', 1, 1, 2, 2); $table->writeToCell(2,1,$this->to_utf8("".$msg['demandes_rapport_abstract']." : "),new Font(12,'Arial','#0E298A'), new ParFormat('center')); $cell = &$table->getCell(2,2); $cell->writeText($this->to_utf8($this->intro[0]['ABSTRACT'][0]['value']),new Font(12,'Arial','#0E298A'), new ParFormat('left')); $sect->writeText($msg['demandes_rapport_intro'], $fontHead, $parHead); $sect->emptyParagraph($fontSmall, $parPmb); $date = "".$msg['demandes_rapport_date']." : ".$this->intro[0]['DATE'][0]['value']; $deadline = "".$msg['demandes_rapport_deadline']." : ".$this->intro[0]['DEADLINE'][0]['value']; //$resume = "".$msg['demandes_rapport_abstract']." : ".$this->intro[0]['ABSTRACT'][0]['value']; $doc = "".$msg['demandes_rapport_documentaliste']." : ".$this->intro[0]['DOCUMENTALISTE'][0]['value']; $dmde = "".$msg['demandes_rapport_demandeur']." : ".$this->intro[0]['DEMANDEUR'][0]['value']; $time = "".$msg['demandes_action_time_elapsed']." : ".$this->intro[0]['TIME'][0]['value'].$msg['demandes_action_time_unit']; $cout = "".$msg['demandes_action_cout'] ." : ".$this->intro[0]['COST'][0]['value']; $sect->writeText($this->to_utf8($doc), new Font(10,'Arial'), $parInfo); $sect->writeText($this->to_utf8($dmde), new Font(10,'Arial'), $parInfo); $sect->writeText($this->to_utf8($date), new Font(10,'Arial'), $parInfo); $sect->writeText($this->to_utf8($deadline), new Font(10,'Arial'), $parInfo); $sect->writeText($this->to_utf8($time), new Font(10,'Arial'), $parInfo); $sect->writeText($this->to_utf8($cout).(html_entity_decode($pmb_gestion_devise,ENT_QUOTES,'utf-8')), new Font(10,'Arial'), $parInfo); //$sect->writeText($this->to_utf8($resume), new Font(10,'Arial'), $parInfo); $sect->writeText($this->to_utf8($msg['demandes_rapport']), $fontHead, $parHead); $sect->emptyParagraph($fontSmall, $parPmb); $indice = 1; for($i=0;$inotes);$i++){ $chapter = ""; $comment = ""; if($this->notes[$i]['TITRE'] == 'yes'){ $chapter = $this->notes[$i]['CONTENT'][0]['value']; $sect->writeText("
".($indice)." - ".$this->to_utf8($chapter)."
",$fontChapter,$parChapter); $indice++; $sujet_old=""; } else if($this->notes[$i]['COMMENTAIRE'] == 'yes') { $comment = $this->notes[$i]['CONTENT'][0]['value']; $sect->writeText($this->to_utf8($comment),$fontComment,$parComment); } else { $sujet = $this->notes[$i]['SUJET'][0]['value']; $contenu = $this->notes[$i]['CONTENT'][0]['value']; if($sujet != $sujet_old) $sect->writeText($this->to_utf8($sujet),$fontSubChapter,$parSubChapter); if($contenu) $sect->writeText($this->to_utf8($contenu),new Font(10,'Arial'),$parContenu); $sujet_old = $sujet; } } $rtf->sendRtf("rapport"); } /* * Conversion en UTF-8 */ function to_utf8($string){ global $charset; if($charset != 'utf-8'){ return utf8_encode($string); } return utf8_decode($string); } } /* * Classe de génération du rapport PMI */ class report_to_rtf_pmi extends report_to_rtf { function report_to_pdf_pmi(){} function generate_RTF(){ global $msg, $base_path, $pmb_gestion_devise, $charset; //Format de la police $fontTitle = new Font(16,'Palatino Linotype','#0067B1'); $fontSubtitle = new Font(12,'Palatino Linotype','#0067B1'); $fontTabintro = new Font(12,'Arial','#000000'); $fontPart = new Font(11,'Palatino Linotype','#000000','#E6E6E6'); $fontSubPart = new Font(9,'Arial'); $fontSubPart->setBold(); $fontSubPart->setItalic(); $fontComment = new Font(10,'Arial'); $fontComment->setItalic(); $fontContenu = new Font(10,'Arial'); //Format des paragraphes $parTitle = new ParFormat('center'); $parTitle->setSpaceBefore(1.5); $parTitle->setSpaceAfter(20); $parChapter = new ParFormat('left'); $parChapter->setSpaceBefore(1); $parChapter->setSpaceAfter(1); $parSeparator = new ParFormat(); $parSeparator->setBackColor('#0067B1'); $parSeparator->setSpaceAfter(0.5); $parSeparator->setSpaceBefore(1); $parPart = new ParFormat(); $parPart->setSpaceBefore(2); $parPart->setSpaceAfter(1); $parComment = new ParFormat(); $parComment->setIndentLeft(1); $parComment->setIndentRight(0.5); $parContenu = new ParFormat('justify'); $parContenu->setIndentLeft(1); $parSubPart = new ParFormat(); $parSubPart->setIndentLeft(0.5); $rtf = new Rtf(); $rtf->setMargins(1, 1, 1 ,1); $header = &$rtf->addHeader('first'); $header->addImage($base_path.'/images/logo_pmi.png', new ParFormat(),19,2.5); $titre_general = $this->intro[0]['TITLE'][0]['value']; $header->writeText($this->to_utf8($titre_general),$fontTitle, $parTitle); $sect = &$rtf->addSection(); $sect->writeText('Search Strategy',$fontSubtitle,$parChapter); $sect->emptyParagraph(new Font(0.5),$parSeparator); $sect->emptyParagraph(new Font(0.5),new ParFormat()); $table = &$sect->addTable(); $table->addRows(10, 0.5); $table->addColumnsList(array(4, 15)); $table->setBordersOfCells(new BorderFormat(0.5, '#000000'), 1, 1, 10, 2); $table->setVerticalAlignmentOfCells('center', 1, 1, 10, 2); $doc = $this->intro[0]['DOCUMENTALISTE'][0]['value']; $dmde = $this->intro[0]['DEMANDEUR'][0]['value']; $time = $this->intro[0]['TIME'][0]['value'].$msg['demandes_action_time_unit']; $cout = $this->intro[0]['COST'][0]['value']; $date = $this->intro[0]['DATE'][0]['value']; $deadline = $this->intro[0]['DEADLINE'][0]['value']; $abstract = $this->intro[0]['ABSTRACT'][0]['value']; $table->writeToCell(1,1,'Requests',$fontTabintro,new ParFormat()); $cell = &$table->getCell(1,2); $cell->writeText($this->to_utf8($titre_general),$fontTabintro,new ParFormat()); $table->writeToCell(2,1,'Searcher(s)',$fontTabintro,new ParFormat()); $cell = &$table->getCell(2,2); $cell->writeText($this->to_utf8($doc),$fontTabintro,new ParFormat()); $table->writeToCell(3,1,'Patron',$fontTabintro,new ParFormat()); $cell = &$table->getCell(3,2); $cell->writeText($this->to_utf8($dmde),$fontTabintro,new ParFormat()); $table->writeToCell(4,1,'Request date',$fontTabintro,new ParFormat()); $cell = &$table->getCell(4,2); $cell->writeText($this->to_utf8($date),$fontTabintro,new ParFormat()); $table->writeToCell(5,1,'Deadline',$fontTabintro,new ParFormat()); $cell = &$table->getCell(5,2); $cell->writeText($this->to_utf8($deadline),$fontTabintro,new ParFormat()); $table->writeToCell(6,1,'Sources',$fontTabintro,new ParFormat()); $cell = &$table->getCell(6,2); $cell->writeText('',$fontTabintro,new ParFormat()); $table->writeToCell(7,1,'Keywords',$fontTabintro,new ParFormat()); $cell = &$table->getCell(7,2); $cell->writeText('',$fontTabintro,new ParFormat()); $table->writeToCell(8,1,'Estimated Time for search',$fontTabintro,new ParFormat()); $cell = &$table->getCell(8,2); $cell->writeText($this->to_utf8($time),$fontTabintro,new ParFormat()); $table->writeToCell(9,1,'Cost',$fontTabintro,new ParFormat()); $cell = &$table->getCell(9,2); $cell->writeText($this->to_utf8($cout).(html_entity_decode($pmb_gestion_devise,ENT_QUOTES,'utf-8')),$fontTabintro,new ParFormat()); $table->writeToCell(10,1,'Abstract',$fontTabintro,new ParFormat()); $cell = &$table->getCell(10,2); $cell->writeText($this->to_utf8($abstract),$fontTabintro,new ParFormat()); $sect->writeText('Comments',$fontSubtitle,$parChapter); $sect->emptyParagraph(new Font(0.5),$parSeparator); $sect->emptyParagraph(new Font(0.5),new ParFormat()); $indice = 1; for($i=0;$inotes);$i++){ $chapter = ""; $comment = ""; if($this->notes[$i]['TITRE'] == 'yes'){ $chapter = $this->notes[$i]['CONTENT'][0]['value']; $sect->writeText("
".($indice)." - ".$this->to_utf8($chapter)."
",$fontPart,$parPart); $indice++; $sujet_old=""; } else if($this->notes[$i]['COMMENTAIRE'] == 'yes') { $comment = $this->notes[$i]['CONTENT'][0]['value']; $sect->writeText($this->to_utf8($comment),$fontComment,$parComment); } else { $sujet = $this->notes[$i]['SUJET'][0]['value']; $contenu = $this->notes[$i]['CONTENT'][0]['value']; if($sujet != $sujet_old) $sect->writeText($this->to_utf8($sujet),$fontSubPart,$parSubPart); if($contenu) $sect->writeText($this->to_utf8($contenu),$fontContenu,$parContenu); $sujet_old = $sujet; } } $rtf->sendRtf("rapport"); } } ?>