PHP Classes

File: libs/Barcode/html/image.php

Recommend this page to a friend!
  Classes of william amed   Raptor 2   libs/Barcode/html/image.php   Download  
File: libs/Barcode/html/image.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Raptor 2
Framework that takes routes from annotations
Author: By
Last change:
Date: 8 years ago
Size: 2,670 bytes
 

Contents

Class file image Download
<?php
define
('IN_CB', true);
include_once(
'include/function.php');

function
showError() {
   
header('Content-Type: image/png');
   
readfile('error.png');
    exit;
}

$requiredKeys = array('code', 'filetype', 'dpi', 'scale', 'rotation', 'font_family', 'font_size', 'text');

// Check if everything is present in the request
foreach ($requiredKeys as $key) {
    if (!isset(
$_GET[$key])) {
       
showError();
    }
}

if (!
preg_match('/^[A-Za-z0-9]+$/', $_GET['code'])) {
   
showError();
}

$code = $_GET['code'];

// Check if the code is valid
if (!file_exists('config' . DIRECTORY_SEPARATOR . $code . '.php')) {
   
showError();
}

include_once(
'config' . DIRECTORY_SEPARATOR . $code . '.php');

$class_dir = '..' . DIRECTORY_SEPARATOR . 'class';
require_once(
$class_dir . DIRECTORY_SEPARATOR . 'BCGColor.php');
require_once(
$class_dir . DIRECTORY_SEPARATOR . 'BCGBarcode.php');
require_once(
$class_dir . DIRECTORY_SEPARATOR . 'BCGDrawing.php');
require_once(
$class_dir . DIRECTORY_SEPARATOR . 'BCGFontFile.php');

if (!include_once(
$class_dir . DIRECTORY_SEPARATOR . $classFile)) {
   
showError();
}

include_once(
'config' . DIRECTORY_SEPARATOR . $baseClassFile);

$filetypes = array('PNG' => BCGDrawing::IMG_FORMAT_PNG, 'JPEG' => BCGDrawing::IMG_FORMAT_JPEG, 'GIF' => BCGDrawing::IMG_FORMAT_GIF);

$drawException = null;
try {
   
$color_black = new BCGColor(0, 0, 0);
   
$color_white = new BCGColor(255, 255, 255);

   
$code_generated = new $className();

    if (
function_exists('baseCustomSetup')) {
       
baseCustomSetup($code_generated, $_GET);
    }

    if (
function_exists('customSetup')) {
       
customSetup($code_generated, $_GET);
    }

   
$code_generated->setScale(max(1, min(4, $_GET['scale'])));
   
$code_generated->setBackgroundColor($color_white);
   
$code_generated->setForegroundColor($color_black);

    if (
$_GET['text'] !== '') {
       
$text = convertText($_GET['text']);
       
$code_generated->parse($text);
    }
} catch(
Exception $exception) {
   
$drawException = $exception;
}

$drawing = new BCGDrawing('', $color_white);
if(
$drawException) {
   
$drawing->drawException($drawException);
} else {
   
$drawing->setBarcode($code_generated);
   
$drawing->setRotationAngle($_GET['rotation']);
   
$drawing->setDPI($_GET['dpi'] === 'NULL' ? null : max(72, min(300, intval($_GET['dpi']))));
   
$drawing->draw();
}

switch (
$_GET['filetype']) {
    case
'PNG':
       
header('Content-Type: image/png');
        break;
    case
'JPEG':
       
header('Content-Type: image/jpeg');
        break;
    case
'GIF':
       
header('Content-Type: image/gif');
        break;
}

$drawing->finish($filetypes[$_GET['filetype']]);
?>