!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/ecom1.picotech.app/public_html_ecom1/vendor/mpdf/mpdf/src/Barcode/   drwxr-xr-x
Free 25.22 GB of 117.98 GB (21.37%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     EanUpc.php (6.85 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace Mpdf\Barcode;

/**
 * EAN13 and UPC-A barcodes.
 * EAN13: European Article Numbering international retail product code
 * UPC-A: Universal product code seen on almost all retail products in the USA and Canada
 * UPC-E: Short version of UPC symbol
 */
class EanUpc extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\BarcodeInterface
{

    
/**
     * @param string $code
     * @param int $length
     * @param float $leftMargin
     * @param float $rightMargin
     * @param float $xDim
     * @param float $barHeight
     */
    
public function __construct($code$length$leftMargin$rightMargin$xDim$barHeight)
    {
        
$this->init($code$length);

        
$this->data['lightmL'] = $leftMargin// LEFT light margin =  x X-dim (http://www.gs1uk.org)
        
$this->data['lightmR'] = $rightMargin// RIGHT light margin =  x X-dim (http://www.gs1uk.org)
        
$this->data['nom-X'] = $xDim// Nominal value for X-dim in mm (http://www.gs1uk.org)
        
$this->data['nom-H'] = $barHeight// Nominal bar height in mm incl. numerals (http://www.gs1uk.org)
    
}

    
/**
     * @param string $code
     * @param int $length
     */
    
private function init($code$length)
    {
        if (
preg_match('/[\D]+/'$code)) {
            throw new 
\Mpdf\Barcode\BarcodeException(sprintf('Invalid EAN UPC barcode value "%s"'$code));
        }

        
$upce false;
        
$checkdigit false;

        if (
$length == 6) {
            
$length 12// UPC-A
            
$upce true// UPC-E mode
        
}
        
$dataLength $length 1;

        
// Padding
        
$code str_pad($code$dataLength'0'STR_PAD_LEFT);
        
$codeLength strlen($code);

        
// Calculate check digit
        
$sum_a 0;
        for (
$i 1$i $dataLength$i += 2) {
            
$sum_a += $code[$i];
        }

        if (
$length 12) {
            
$sum_a *= 3;
        }
        
$sum_b 0;
        for (
$i 0$i $dataLength$i += 2) {
            
$sum_b += ($code[$i]);
        }

        if (
$length 13) {
            
$sum_b *= 3;
        }

        
$r = ($sum_a $sum_b) % 10;
        if (
$r 0) {
            
$r = (10 $r);
        }

        if (
$codeLength == $dataLength) {
            
// Add check digit
            
$code .= $r;
            
$checkdigit $r;
        } elseif (
$r !== (int) $code[$dataLength]) {
            
// Wrong checkdigit
            
throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid EAN UPC barcode value "%s"'$code));
        }

        if (
$length == 12) {
            
// UPC-A
            
$code '0' $code;
            ++
$length;
        }

        if (
$upce) {
            
// Convert UPC-A to UPC-E
            
$tmp substr($code43);
            
$prodCode = (int) substr($code75); // product code
            
$invalidUpce false;
            if ((
$tmp == '000') or ($tmp == '100') or ($tmp == '200')) {
                
// Manufacturer code ends in 000, 100, or 200
                
$upceCode substr($code22) . substr($code93) . substr($code41);
                if (
$prodCode 999) {
                    
$invalidUpce true;
                }
            } else {
                
$tmp substr($code52);
                if (
$tmp == '00') {
                    
// Manufacturer code ends in 00
                    
$upceCode substr($code23) . substr($code102) . '3';
                    if (
$prodCode 99) {
                        
$invalidUpce true;
                    }
                } else {
                    
$tmp substr($code61);
                    if (
$tmp == '0') {
                        
// Manufacturer code ends in 0
                        
$upceCode substr($code24) . substr($code111) . '4';
                        if (
$prodCode 9) {
                            
$invalidUpce true;
                        }
                    } else {
                        
// Manufacturer code does not end in zero
                        
$upceCode substr($code25) . substr($code111);
                        if (
$prodCode 9) {
                            
$invalidUpce true;
                        }
                    }
                }
            }

            if (
$invalidUpce) {
                throw new 
\Mpdf\Barcode\BarcodeException('UPC-A cannot produce a valid UPC-E barcode');
            }
        }

        
// Convert digits to bars
        
$codes = [
            
'A' => [// left odd parity
                
'0' => '0001101',
                
'1' => '0011001',
                
'2' => '0010011',
                
'3' => '0111101',
                
'4' => '0100011',
                
'5' => '0110001',
                
'6' => '0101111',
                
'7' => '0111011',
                
'8' => '0110111',
                
'9' => '0001011'],
            
'B' => [// left even parity
                
'0' => '0100111',
                
'1' => '0110011',
                
'2' => '0011011',
                
'3' => '0100001',
                
'4' => '0011101',
                
'5' => '0111001',
                
'6' => '0000101',
                
'7' => '0010001',
                
'8' => '0001001',
                
'9' => '0010111'],
            
'C' => [// right
                
'0' => '1110010',
                
'1' => '1100110',
                
'2' => '1101100',
                
'3' => '1000010',
                
'4' => '1011100',
                
'5' => '1001110',
                
'6' => '1010000',
                
'7' => '1000100',
                
'8' => '1001000',
                
'9' => '1110100']
        ];

        
$parities = [
            
'0' => ['A''A''A''A''A''A'],
            
'1' => ['A''A''B''A''B''B'],
            
'2' => ['A''A''B''B''A''B'],
            
'3' => ['A''A''B''B''B''A'],
            
'4' => ['A''B''A''A''B''B'],
            
'5' => ['A''B''B''A''A''B'],
            
'6' => ['A''B''B''B''A''A'],
            
'7' => ['A''B''A''B''A''B'],
            
'8' => ['A''B''A''B''B''A'],
            
'9' => ['A''B''B''A''B''A']
        ];

        
$upceParities = [];
        
$upceParities[0] = [
            
'0' => ['B''B''B''A''A''A'],
            
'1' => ['B''B''A''B''A''A'],
            
'2' => ['B''B''A''A''B''A'],
            
'3' => ['B''B''A''A''A''B'],
            
'4' => ['B''A''B''B''A''A'],
            
'5' => ['B''A''A''B''B''A'],
            
'6' => ['B''A''A''A''B''B'],
            
'7' => ['B''A''B''A''B''A'],
            
'8' => ['B''A''B''A''A''B'],
            
'9' => ['B''A''A''B''A''B']
        ];

        
$upceParities[1] = [
            
'0' => ['A''A''A''B''B''B'],
            
'1' => ['A''A''B''A''B''B'],
            
'2' => ['A''A''B''B''A''B'],
            
'3' => ['A''A''B''B''B''A'],
            
'4' => ['A''B''A''A''B''B'],
            
'5' => ['A''B''B''A''A''B'],
            
'6' => ['A''B''B''B''A''A'],
            
'7' => ['A''B''A''B''A''B'],
            
'8' => ['A''B''A''B''B''A'],
            
'9' => ['A''B''B''A''B''A']
        ];

        
$k 0;
        
$seq '101'// left guard bar

        
if ($upce && isset($upceCode)) {
            
$bararray = ['code' => $upceCode'maxw' => 0'maxh' => 1'bcode' => []];
            
$p $upceParities[$code[1]][$r];
            for (
$i 0$i 6; ++$i) {
                
$seq .= $codes[$p[$i]][$upceCode[$i]];
            }
            
$seq .= '010101'// right guard bar
        
} else {
            
$bararray = ['code' => $code'maxw' => 0'maxh' => 1'bcode' => []];
            
$halfLen ceil($length 2);
            if (
$length == 8) {
                for (
$i 0$i $halfLen; ++$i) {
                    
$seq .= $codes['A'][$code[$i]];
                }
            } else {
                
$p $parities[$code[0]];
                for (
$i 1$i $halfLen; ++$i) {
                    
$seq .= $codes[$p[$i 1]][$code[$i]];
                }
            }
            
$seq .= '01010'// center guard bar
            
for ($i $halfLen$i $length; ++$i) {
                
$seq .= $codes['C'][$code[(int) $i]];
            }
            
$seq .= '101'// right guard bar
        
}

        
$clen strlen($seq);
        
$w 0;
        for (
$i 0$i $clen; ++$i) {
            
$w += 1;
            if ((
$i == ($clen 1)) or (($i < ($clen 1)) and ($seq[$i] != $seq[($i 1)]))) {
                if (
$seq[$i] == '1') {
                    
$t true// bar
                
} else {
                    
$t false// space
                
}
                
$bararray['bcode'][$k] = ['t' => $t'w' => $w'h' => 1'p' => 0];
                
$bararray['maxw'] += $w;
                ++
$k;
                
$w 0;
            }
        }
        
$bararray['checkdigit'] = $checkdigit;

        
$this->data $bararray;
    }

    
/**
     * @inheritdoc
     */
    
public function getType()
    {
        return 
'EANUPC';
    }

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0047 ]--