<?php
// H:\dev_web\htdocs\t_oci8\ACXE2\logo_img_cre.php
// H:\dev_web\htdocs\t_oci8\ACXE2\suza2.JPG
/*
Create JPEG image of company logo
Don't have any text or white space before "<?php" tag because
it will be incorporated into image stream and corrupt picture.
Logo is displayed in Page::printHeader(). Every standard app page
will show logo.
To display uploaded logo in edit Session.php un-comment LOGO_ URL
definition:
define('LOGO_URL', 'http://localhost/logo_img_cre.php');
Displaying logo is similar in concept to how graph image was displayed in
previous chapter. Since BLOB is already in JPEG format,
GD extension is not required.
Queries most recent logo and sends it back as a JPEG stream. If the image
appears corrupted, comment out the header() and echo function calls
and check if any text or white space is being emitted by the script.
User name check differs from those used in previous sections. Logo is
displayed on all pages including the login page before the web user name is known.
Because Db accepts user name for end-to-end tracing, logo_img_cre.php uses a
bootstrap user name unknown-logo.
*/
session_start();
require('_02autoload.php');
//require('Db.php');
//require('Session.php');
//require('Page.php');
$sess = new \Equipment\Session;
$sess->getSession();
if (isset($sess->username) && !empty($sess->username)) {
$username = $sess->username;
} else { // index.php during normal execution, or other external caller
$username = "unknown-logo";
}
$db = new \Oracle\Db("Equipment", $username);
$sql = 'SELECT pic FROM pictures WHERE id = (SELECT MAX(id) FROM pictures)';
$img = $db->fetchOneLob($sql, "Get Logo", "pic");
header("Content-type: image/jpg");
echo $img;
?>
|