TCPDF : html content and href link empty

If you get an issue with TCPDF and link inside html content, here is a little patch (apply it in tcpdf.php file) :

// get attributes
// patch
if ($dom[$key][‘value’]==’a’)
{
$element = str_replace(‘\\\”‘, ‘”‘, $element);
}

// en patch
preg_match_all(‘/([^=\s]*)=[“]?([^”]*)[“]?/’, $element, $attr_array, PREG_PATTERN_ORDER);
$dom[$key][‘attribute’] = array(); // reset attribute array
while (list($id, $name) = each($attr_array[1])) {
$dom[$key][‘attribute’][strtolower($name)] = $attr_array[2][$id];
}

Posted in Dev

PHP Imagick black background gif transparency

If you want to put a white background instead of black background, add this piece of code :

$path_parts = pathinfo($file);
if ($path_parts[‘extension’]==’gif’)
{
$img = imagecreatefromgif($file);
$imgr = imagecreatetruecolor($neww, $newh);
$bgc = imagecolorallocate ($imgr, 255, 255, 255);
imagefilledrectangle ($imgr, 0, 0, $neww, $newh, $bgc);

imagecopyresampled($imgr, $img, 0, 0, 0, 0, $neww, $newh, $pixw, $pixh);
}

Posted in Dev

PHPMailer : inline image seen as attachment

There is an issue with PHPMailer and AddEmbeddedImage method.

In some email client, you will get image as an attachment and not inline as expected.

To fix that, patch the class.phpmailer.php with following :

$disposition = $this->attachment[$i][6];
$cid         = $this->attachment[$i][7];

// patch
$path_parts = pathinfo($filename);
$extension = $path_parts[‘extension’];
// end patch

$mime[] = sprintf(“–%s%s”, $this->boundary[1], $this->LE);

// patch
//$mime[] = sprintf(“Content-Type: %s; name=\”%s\”%s”, $type, $name, $this->LE);
$mime[] = sprintf(“Content-Type: image/”.$extension.”;\n”);
// end patch
$mime[] = sprintf(“Content-Transfer-Encoding: %s%s”, $encoding, $this->LE);

if($disposition == “inline”)
$mime[] = sprintf(“Content-ID: <%s>%s”, $cid, $this->LE);

Posted in Dev