141 lines
5.4 KiB
PHP
141 lines
5.4 KiB
PHP
<?php
|
|
|
|
function copySuppliers($src_school, $dest_school) {
|
|
|
|
$school_num = $dest_school;
|
|
$GLOBALS['school_num'] = $dest_school;
|
|
|
|
$moduleName = "suppliers-copy.php";
|
|
// startLog($moduleName);
|
|
|
|
|
|
$dpath = sprintf("%08d",$school_num);
|
|
$imagedir = "$cdir/files/$dpath/product_images";
|
|
|
|
$suppliers = db_query("SELECT * FROM suppliers WHERE school_num = $src_school");
|
|
while ($row = db_fetch_array($suppliers)) {
|
|
|
|
$source_supplier = $row['record_num'];
|
|
$supplier = $row;
|
|
$source_school = $supplier['school_num'];
|
|
$GLOBALS['source_school'] = $supplier['school_num'];
|
|
$image_source = sprintf("%08d",$school_num);
|
|
$image_source = "$cdir/files/$image_source/product_images";
|
|
|
|
$supplier['school_num'] = $school_num;
|
|
extract($supplier, EXTR_OVERWRITE);
|
|
$source_supplier_num = $source_supplier;
|
|
$GLOBALS['source_supplier'] = $row['record_num'];
|
|
$GLOBALS['source_supplier_num'] = $source_supplier;
|
|
|
|
foreach ($row as $key => $value) {
|
|
$GLOBALS[$key] = $value;
|
|
}
|
|
|
|
unset($account_number);
|
|
unset($discount_rate);
|
|
unset($order_notes);
|
|
unset($notes);
|
|
unset($record_num);
|
|
|
|
unset($GLOBALS['account_number']);
|
|
unset($GLOBALS['discount_rate']);
|
|
unset($GLOBALS['order_notes']);
|
|
unset($GLOBALS['notes']);
|
|
unset($GLOBALS['record_num']);
|
|
|
|
$copy_flag = 'N';
|
|
$GLOBALS['copy_flag'] = 'N';
|
|
|
|
$supplier_table = new Table("suppliers");
|
|
|
|
// Check if supplier has already been copied
|
|
$results = db_query("SELECT * FROM suppliers WHERE school_num = $school_num AND source_supplier_num = $source_supplier");
|
|
if (db_num_rows($results) == 0) {
|
|
$query = $supplier_table->BuildInsert();
|
|
db_query($query);
|
|
$supplier_num = db_insert_id();
|
|
}
|
|
else {
|
|
$row = db_fetch_assoc($results);
|
|
$record_num = $row['record_num'];
|
|
$query = $supplier_table->BuildUpdate();
|
|
$supplier_num = $record_num;
|
|
}
|
|
|
|
$GLOBALS['supplier_num'] = $supplier_num;
|
|
|
|
// Get all the supplier products
|
|
$query = "SELECT * FROM supplier_products " .
|
|
"WHERE school_num = $supplier_school_num " .
|
|
"AND supplier_num = $source_supplier " .
|
|
"AND status = 'Active' " .
|
|
"ORDER BY product_type ASC,sequence,product_name";
|
|
// writeLog("query: $query\n");
|
|
$products = db_query($query);
|
|
exit();
|
|
if (db_num_rows($products)) {
|
|
$supplier_products = new Table("supplier_products");
|
|
$count = 0;
|
|
while ($row = db_fetch_assoc($products)) {
|
|
$row['school_num'] = $supplier_school_num;
|
|
$row['supplier_num'] = $supplier_num;
|
|
extract($row);
|
|
$entry = $row;
|
|
|
|
foreach ($row as $key => $value) {
|
|
$GLOBALS[$key] = $value;
|
|
$entry[$key] = $value;
|
|
}
|
|
|
|
$source_product_num = $record_num;
|
|
$GLOBALS['source_product_num'] = $record_num;
|
|
$entry['source_product_num'] = $record_num;
|
|
|
|
// Check if the product already exists
|
|
$results = db_query("SELECT * FROM supplier_products WHERE school_num = $supplier_school_num AND source_product_num = $record_num");
|
|
if (db_num_rows($results) == 0) {
|
|
$query = $supplier_products->BuildInsert($entry);
|
|
db_query($query);
|
|
$record_num = db_insert_id();
|
|
}
|
|
else {
|
|
$row = db_fetch_assoc($results);
|
|
$record_num = $row['record_num'];
|
|
$entry['record_num'] = $row['record_num'];
|
|
$query = $supplier_products->BuildUpdate($entry);
|
|
db_query($query);
|
|
db_query("UPDATE supplier_products SET status = 'Inactive' WHERE WHERE school_num = $supplier_school_num AND source_product_num = $record_num AND record_num != $record_num");
|
|
}
|
|
|
|
// Handle product images
|
|
if (strlen($image) && file_exists("$image_source/$image")) {
|
|
if (file_exists("$imagedir/$image")) unlink("$imagedir/$image");
|
|
copy("$image_source/$image","$imagedir/$image");
|
|
}
|
|
|
|
// Handle combo components
|
|
if ($product_type == 'Combo') {
|
|
$primary_product_num = $record_num;
|
|
db_query("DELETE FROM supplier_products_combos WHERE school_num = $supplier_school_num AND primary_product_num = $record_num");
|
|
|
|
// Get set of componenets from source school
|
|
$components = db_query("SELECT * FROM supplier_products_combos WHERE school_num = $supplier_school_num AND primary_product_num = $source_product_num");
|
|
|
|
while ($row = db_fetch_assoc($components)) {
|
|
$spnum = $row['component_product_num'];
|
|
$pnum = db_getVal("SELECT record_num FROM supplier_products WHERE school_num = $supplier_school_num AND status = 'Active' AND source_product_num = $spnum ORDER BY record_num DESC LIMIT 0,1");
|
|
if ($pnum && $pnum > 0) db_query("INSERT INTO supplier_products_combos VALUES($supplier_school_num, $primary_product_num, $pnum)");
|
|
}
|
|
}
|
|
|
|
$count++;
|
|
}
|
|
}
|
|
|
|
echo(" - " . $supplier['supplier_name'] . ": $count<br>\n");
|
|
}
|
|
}
|
|
|
|
?>
|