![]()
| "); //remove all unsupported tags
< $html=str_replace("\n",'',$html); //replace carriage returns with spaces
< $html=str_replace("\t",'',$html); //replace carriage returns with spaces
< $a=preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE); //explode the string
< foreach($a as $i=>$e)
< {
< if($i%2==0)
< {
< //Text
< if($this->HREF)
< $this->PutLink($this->HREF,$e);
< elseif($this->tdbegin) {
< if(trim($e)!='' && $e!=" ") {
< $this->Cell($this->tdwidth,$this->tdheight,$e,$this->tableborder,'',$this->tdalign,$this->tdbgcolor);
< }
< elseif($e==" ") {
< $this->Cell($this->tdwidth,$this->tdheight,'',$this->tableborder,'',$this->tdalign,$this->tdbgcolor);
< }
< }
< else
< $this->Write(5,stripslashes(txtentities($e)));
< }
< else
< {
< //Tag
< if($e[0]=='/')
< $this->CloseTag(strtoupper(substr($e,1)));
< else
< {
< //Extract attributes
< $a2=explode(' ',$e);
< $tag=strtoupper(array_shift($a2));
< $attr=array();
< foreach($a2 as $v)
< {
< if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3))
< $attr[strtoupper($a3[1])]=$a3[2];
< }
< $this->OpenTag($tag,$attr);
< }
< }
< }
< }
<
< function OpenTag($tag, $attr) {
< //Opening tag
< switch($tag){
<
< case 'SUP':
< if( !empty($attr['SUP']) ) {
< //Set current font to 6pt
< $this->SetFont('','',6);
< //Start 125cm plus width of cell to the right of left margin
< //Superscript "1"
< $this->Cell(2,2,$attr['SUP'],0,0,'L');
< }
< break;
<
< case 'TABLE': // TABLE-BEGIN
< if( !empty($attr['BORDER']) ) $this->tableborder=$attr['BORDER'];
< else $this->tableborder=0;
< break;
< case 'TR': //TR-BEGIN
< break;
< case 'TD': // TD-BEGIN
< if( !empty($attr['WIDTH']) ) $this->tdwidth=($attr['WIDTH']/4);
< else $this->tdwidth=40; // Set to your own width if you need bigger fixed cells
< if( !empty($attr['HEIGHT']) ) $this->tdheight=($attr['HEIGHT']/6);
< else $this->tdheight=6; // Set to your own height if you need bigger fixed cells
< if( !empty($attr['ALIGN']) ) {
< $align=$attr['ALIGN'];
< if($align=='LEFT') $this->tdalign='L';
< if($align=='CENTER') $this->tdalign='C';
< if($align=='RIGHT') $this->tdalign='R';
< }
< else $this->tdalign='L'; // Set to your own
< if( !empty($attr['BGCOLOR']) ) {
< $coul=hex2dec($attr['BGCOLOR']);
< $this->SetFillColor($coul['R'],$coul['G'],$coul['B']);
< $this->tdbgcolor=true;
< }
< $this->tdbegin=true;
< break;
<
< case 'HR':
< if( !empty($attr['WIDTH']) )
< $Width = $attr['WIDTH'];
< else
< $Width = $this->w - $this->lMargin-$this->rMargin;
< $x = $this->GetX();
< $y = $this->GetY();
< $this->SetLineWidth(0.2);
< $this->Line($x,$y,$x+$Width,$y);
< $this->SetLineWidth(0.2);
< $this->Ln(1);
< break;
< case 'STRONG':
< $this->SetStyle('B',true);
< break;
< case 'EM':
< $this->SetStyle('I',true);
< break;
< case 'B':
< case 'I':
< case 'U':
< $this->SetStyle($tag,true);
< break;
< case 'A':
< $this->HREF=$attr['HREF'];
< break;
< case 'IMG':
< if(isset($attr['SRC']) && (isset($attr['WIDTH']) || isset($attr['HEIGHT']))) {
< if(!isset($attr['WIDTH']))
< $attr['WIDTH'] = 0;
< if(!isset($attr['HEIGHT']))
< $attr['HEIGHT'] = 0;
< $this->Image($attr['SRC'], $this->GetX(), $this->GetY(), px2mm($attr['WIDTH']), px2mm($attr['HEIGHT']));
< }
< break;
< case 'BLOCKQUOTE':
< case 'BR':
< $this->Ln(5);
< break;
< case 'P':
< $this->Ln(10);
< break;
< case 'FONT':
< if (isset($attr['COLOR']) && $attr['COLOR']!='') {
< $coul=hex2dec($attr['COLOR']);
< $this->SetTextColor($coul['R'],$coul['G'],$coul['B']);
< $this->issetcolor=true;
< }
< if (isset($attr['FACE']) && in_array(strtolower($attr['FACE']), $this->fontlist)) {
< $this->SetFont(strtolower($attr['FACE']));
< $this->issetfont=true;
< }
< if (isset($attr['FACE']) && in_array(strtolower($attr['FACE']), $this->fontlist) && isset($attr['SIZE']) && $attr['SIZE']!='') {
< $this->SetFont(strtolower($attr['FACE']),'',$attr['SIZE']);
< $this->issetfont=true;
< }
< break;
< }
< }
<
< function CloseTag($tag) {
< //Closing tag
< if($tag=='SUP') {
< }
<
< if($tag=='TD') { // TD-END
< $this->tdbegin=false;
< $this->tdwidth=0;
< $this->tdheight=0;
< $this->tdalign="L";
< $this->tdbgcolor=false;
< }
< if($tag=='TR') { // TR-END
< $this->Ln();
< }
< if($tag=='TABLE') { // TABLE-END
< $this->tableborder=0;
< }
<
< if($tag=='STRONG')
< $tag='B';
< if($tag=='EM')
< $tag='I';
< if($tag=='B' || $tag=='I' || $tag=='U')
< $this->SetStyle($tag,false);
< if($tag=='A')
< $this->HREF='';
< if($tag=='FONT'){
< if ($this->issetcolor==true) {
< $this->SetTextColor(0);
< }
< if ($this->issetfont) {
< $this->SetFont('arial');
< $this->issetfont=false;
< }
< }
< }
<
< function SetStyle($tag, $enable) {
< //Modify style and select corresponding font
< $this->$tag+=($enable ? 1 : -1);
< $style='';
< foreach(array('B','I','U') as $s) {
< if($this->$s>0)
< $style.=$s;
< }
< $this->SetFont('',$style);
< }
<
< function PutLink($URL, $txt) {
< //Put a hyperlink
< $this->SetTextColor(0,0,255);
< $this->SetStyle('U',true);
< $this->Write(5,$txt,$URL);
< $this->SetStyle('U',false);
< $this->SetTextColor(0);
< }
<
< } //end of class
<
< $conversers=[];
< $iconverser=0;
< $trow='| cell 1 | cell 2 |
';
< $thtml='';
< $phpcont='';
<
304d14
< $aspdf="";
311,323d20
< if (strpos($one, "<") !== false) {
< $inf=explode("<", $one)[0];
< $xinf=explode("<", $one)[1];
< if ($inf != '') {
< $conversers=explode(" ", trim($inf));
< }
< $one=explode(">", $xinf)[0];
< }
< if ($one != strtoupper($one) && $one != strtolower($one)) {
< $aspdf="y";
< $emailto=strtolower($one);
< } else if (sizeof($conversers) > 0) {
< $aspdf="Y";
325,327d21
< } else {
< $emailto=$one;
< }
339c33
< $gats.=" You can email to an entered email address what you have so far, and mixing the case here also outputs a PDF form of the conversation. A pseudo email address of a form like Leo Max would email rmetcalfe15@gmail.com HTML and PDF attachments, the PDF tabular look indicating that the conversation was between Leo and Max. ";
---
> $gats.=" You can email to an entered email address what you have so far.";
354,362c48
< }
< if ($aspdf != "") {
< if (sizeof($conversers) > 0) {
< $thtml=str_replace('
',str_replace('cell 2', $fields[$ii], str_replace('cell 1', $conversers[($iconverser % sizeof($conversers))] . ' says ...', $trow)) . '', $thtml);
< $iconverser++;
< } else {
< $thtml=str_replace('',str_replace('cell 2', $fields[$ii], str_replace('cell 1', $nextone, $trow)) . '', $thtml);
< }
< }
---
> }
367,376d52
<
< if ($aspdf != "") {
< $pdf=new PDF();
< $pdf->AddPage();
< $pdf->SetFont('Arial','',12);
< $pdf->WriteHTML($thtml);
< if (strpos($emailto, "@") !== false) {
< $phpcont=$pdf->Output('','S');
< }
< }
438d113
<
518d192
< var aspdf='" . $aspdf . "';
523,527c197
< if (aspdf == '') {
< alert('Emailed to " . $emailto . " this webpage contents as an HTML attachment.');
< } else {
< alert('Emailed to " . $emailto . " this webpage converted to PDF as attachment.');
< }
---
> alert('Emailed to " . $emailto . " this webpage contents as an HTML attachment.');
538c208
< gats+=' You can email to an entered email address what you have so far, and mixing the case here also outputs a PDF form of the conversation. A pseudo email address of a form like Leo Max would email rmetcalfe15@gmail.com HTML and PDF attachments, the PDF tabular look indicating that the conversation was between Leo and Max. ';
---
> gats+=' You can email to an entered email address what you have so far.';
569c239
< if (nextsb.indexOf('@') != -1 && (nextsb.indexOf(' ') == -1 || nextsb.indexOf('<') != -1) && document.title.indexOf('|') != -1) { emailto=nextsb; if (emailto.indexOf(' ') != -1 && emailto.indexOf('<') != -1 && 1 == 7) { emailto=emailto.replace(/\ /g, '_'); } level++; nextsb=''; }
---
> if (nextsb.indexOf('@') != -1 && nextsb.indexOf(' ') == -1 && document.title.indexOf('|') != -1) { emailto=nextsb; level++; nextsb=''; }
572c242
< emailto=prompt('Email to? A mixing of case here also outputs a PDF form of the conversation. A pseudo email address of a form like Leo Max would email rmetcalfe15@gmail.com HTML and PDF attachments, the PDF tabular look indicating that the conversation was between Leo and Max. ', '');
---
> emailto=prompt('Email to?', '');
575d244
< if (emailto.indexOf(' ') != -1 && emailto.indexOf('<') != -1 && 1 == 7) { emailto=emailto.replace(/\ /g, '_'); }
581c250
< if (emailto == '') { emailto=prompt('Email to? A mixing of case here also outputs a PDF form of the conversation. A pseudo email address of a form like Leo Max would email rmetcalfe15@gmail.com HTML and PDF attachments, the PDF tabular look indicating that the conversation was between Leo and Max. ', ''); }
---
> if (emailto == '') { emailto=prompt('Email to?', ''); }
599,666d267
<
< if ($aspdf != "" && $emailto != "") {
< if (strpos($emailto, "@") !== false) {
< $filename="htmlattachment.pdf";
< $fns=["htmlattachment.pdf", "htmlattachment.html"];
< //header('Content-type: application/pdf');
< $fnc=[chunk_split(base64_encode($phpcont)), chunk_split(base64_encode(explode(""))];
< //$phpcont=$pdf->Output('S');
< $body="";
<
< $subject = "Speech Bubbles";
< $eol = PHP_EOL;
< $headers = 'From: ' . 'rmetcalfe@rjmprogramming.com.au' . $eol;
< $headers .= 'Reply-To: ' . 'rmetcalfe@rjmprogramming.com.au' . $eol;
<
< //$uid = md5(uniqid(time()));
<
< // a random hash will be necessary to send mixed content
< $separator = md5(time());
<
< $headers .= "MIME-Version: 1.0" . $eol;
< $headers .= "Content-Type: multipart/mixed; boundary=\"" . $separator . "\"" . $eol . $eol;
< $headers .= "Content-Transfer-Encoding: 7bit" . $eol;
< $headers .= "This is a MIME encoded message." . $eol . $eol;
<
< // message
< $headers .= "--" . $separator . $eol;
< $headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"" . $eol;
< $headers .= "Content-Transfer-Encoding: 8bit" . $eol . $eol;
<
< if ($phpcont != "" || sizeof($fns) > 1) {
< if (sizeof($fns) > 1) {
< $headers .= "Please see attachments created via HTTP://www.rjmprogramming.com.au/PHP/no_body.php below:" . $eol . $eol;
< } else {
< $headers .= "Please see attachment created via HTTP://www.rjmprogramming.com.au/PHP/no_body.php below:" . $eol . $eol;
< }
<
< for ($ic=0; $ic","\n",$body)));
< $headers .= $body . $eol . $eol;
< }
<
< $headers .= "--" . $separator . "--";
<
< mail($emailto, $subject, "", $headers);
< $emailto="";
< //exit;
< if ($aspdf == "Y") {
< header('Content-type: application/pdf');
< echo $phpcont;
< exit;
< }
< }
<
< } else if ($aspdf != "") {
< header('Content-type: application/pdf');
< $pdf->Output();
< exit;
< }