Wednesday, January 24, 2018

Masalah style=page-break-before:always CMS SLIMS Akasia Cetak Katalog Buku

Saya menggunakan CMS SLIMS Akasia untuk mengelola perpustakaan di tempat kami dan mengintegrasikannya dengan JIBAS, kemarin dapat laporan bahwa katalog buku ngacak ketika akan dicetak.
Masalah style="page-break-before:always; CMS SLIMS Akasia Cetak Katalog Buku

Menurut saya masalah tersebut terjadi karena kompabilitas dari browser (karena browser sering update) sehingga membuat settingan yang dibuat tidak berjalan dengan baik. Solusinya, saya menambahkan beberapa baris di kode slims xxx/slims/admin/modules/bibliography/printed_card.php

Pertama, saya membuat script untuk mendeteksi browser. Sebetulnya di tempat kami hanya memakai 2 browser saja, yaitu Chrome dan Mozilla Firefox.

function getBrowser()
{
    $u_agent = $_SERVER['HTTP_USER_AGENT'];
    $bname = 'Emboh';
    $platform = 'Emboh';
    $version= "";
    if (preg_match('/linux/i', $u_agent)) {
        $platform = 'linux';
    }
    elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
        $platform = 'mac';
    }
    elseif (preg_match('/windows|win32/i', $u_agent)) {
        $platform = 'windows';
    }
 
    if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
    {
        $bname = 'Internet Explorer';
        $ub = "MSIE";
    }
    elseif(preg_match('/Firefox/i',$u_agent))
    {
        $bname = 'Mozilla Firefox';
        $ub = "Firefox";
    }
    elseif(preg_match('/Chrome/i',$u_agent))
    {
        $bname = 'Google Chrome';
        $ub = "Chrome";
    }
    elseif(preg_match('/Safari/i',$u_agent))
    {
        $bname = 'Apple Safari';
        $ub = "Safari";
    }
    elseif(preg_match('/Opera/i',$u_agent))
    {
        $bname = 'Opera';
        $ub = "Opera";
    }
    elseif(preg_match('/Netscape/i',$u_agent))
    {
        $bname = 'Netscape';
        $ub = "Netscape";
    }
 
    $known = array('Version', $ub, 'other');
    $pattern = '#(?' . join('|', $known) .
    ')[/ ]+(?[0-9.|a-zA-Z.]*)#';
    if (!preg_match_all($pattern, $u_agent, $matches)) {
    }
 
    $i = count($matches['browser']);
    if ($i != 1) {
        if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
            $version= $matches['version'][0];
        }
        else {
            $version= $matches['version'][1];
        }
    }
    else {
        $version= $matches['version'][0];
    }
 
    if ($version==null || $version=="") {$version="?";}
 
    return array(
        'userAgent' => $u_agent,
        'name'      => $bname,
        'version'   => $version,
        'platform'  => $platform,
        'pattern'    => $pattern
    );
} 
Kemudian ubah kode ini

$katalog .= "<tr ".$set_break."><td class=kotak>
<table border=0 width=470 height=270 cellpadding=0 cellspacing=0>
<tr><td class=data> </td><td align=center colspan=2 rowspan=2>"; 
Menjadi

$ua=getBrowser();
if ($ua['name'] == "Mozilla Firefox") {
$katalog .= "<tr ".$set_break."><td class=kotak>
<table border=0 width=470 height=270 cellpadding=0 cellspacing=0>
<tr><td class=data> </td><td align=center colspan=2 rowspan=2>";
} else {
$katalog .= "<tr><td><div></div><div ".$set_break."></div>
<table class=kotak border=0 width=470 height=270 cellpadding=0 cellspacing=0>
<tr><td class=data> </td><td align=center colspan=2 rowspan=2>";
}
Sekian dan terima kasih.

Post a Comment