You are viewing this forum as a guest. Login to an existing account, or create a new account, to reply to topics and to create new topics.
I'm still trying to solve a php 5.3 for the short term while I update the site.
Can anyone help with what might not be 5.3 compliant with this code? I'm sure it must be this file that is stopping me from printing out invoices. Or have a method of running a check on the code?
// +------------------------------------------------------------------+
// | Class Definition [KHXC]|
// +------------------------------------------------------------------+
class GBU_Advorders_batchshipinvoice extends GBU_Advorders {
var $class = 'GBU_Advorders_batchshipinvoice';
var $version = '6.0.0';
var $cerror;
var $KHXC_DB;
var $KHXC_File;
var $KHXC_Display;
var $KHXC_Form;
var $app;
// +------------------------------------------------------------------+
// | Constructor Function [KHXC]|
// +------------------------------------------------------------------+
function GBU_Advorders_batchshipinvoice () {
// +--
// | This is the class constructor function.
// +--
if ($this->debug) {$this->debugger("constructor: Accessed.");}
// +--
// | Determine the application we're running under and set the $app
// | class var to that app.
// +--
$this->app = $this->app_id(__FILE__);
if ($this->debug) {$this->debugger("constructor: Determined application id as '{$this->app}'");}
// +--
// | Quick object load: KHXC_DB
// +--
$this->KHXC_DB =& $this->quick_object('KHXC_DB','khxc','KHXC_DB_1');
if ($this->IsError($this->KHXC_DB)) {$this->cerror = $this->KHXC_DB; return;}
// +--
// | Quick object load: KHXC_Display
// +--
$this->KHXC_Display =& $this->quick_object('KHXC_Display','khxc');
if ($this->IsError($this->KHXC_Display)) {$this->cerror = $this->KHXC_Display; return;}
// +--
// | Quick object load: KHXC_File
// +--
$this->KHXC_File =& $this->quick_object('KHXC_File','khxc');
if ($this->IsError($this->KHXC_File)) {$this->cerror = $this->KHXC_File; return;}
// +--
// | Quick object load: KHXC_Form
// +--
$this->KHXC_Form =& $this->quick_object('KHXC_Form','khxc');
if ($this->IsError($this->KHXC_Form)) {$this->cerror = $this->KHXC_Form; return;}
// +--
// | Quick object load: GBU_Order
// +--
$this->GBU_Order =& $this->quick_object('GBU_Order',$this->app);
if ($this->IsError($this->GBU_Order)) {$this->cerror = $this->GBU_Order; return;}
// +--
// | Return $this.
// +--
return;
} // End of function.
// +------------------------------------------------------------------+
// | Function: showform |
// +------------------------------------------------------------------+
function showform () {
// +--
// | We need to see which printable inovice we are using.
// +--
$table = 'khxc_namespaces';
$colstring = $this->KHXC_DB->table_column_string($table);
if (($this->IsError($colstring)) || (empty($colstring))) {return 1;}
$sql = "SELECT {$colstring} FROM $table WHERE (";
$sql .= 'namespace=' . $this->KHXC_DB->quote('printinvoice') . ') AND (' . 'app=' . $this->KHXC_DB->quote($this->app) . ')';
// +--
// | Execute the SQL.
// +--
$result = $this->KHXC_DB->sql_do(array('table' => $table,
'sql' => $sql,
'order' => array('id' => 'ASC')));
// +--
// | Return if there are no results or an error.
// +--
if (($this->IsError($result)) || (empty($result))) {
if ($this->debug) {$this->debugger("showform: Error or empty result set returned for .");}
return 1;
} // End of if statement.
// +--
// | Loop through the results and pick the printable invoice type.
// +--
$batchshipinvoice = 0;
foreach ($result as $num => $row) {
if ($row['pointer'] <> 'GBU_Order::printinvoice()') {$batchshipinvoice = 1;}
} // End of foreach statement.
// +--
// | Display the form to allow you to select the state prov drop down.
// +--
$def_form = $this->KHXC_Form->def_form(array('app' => $this->app,
'form' => $this->app . '.batchshipinvoice'));
if ($this->IsError($def_form)) {return $def_form;}
$spec_form = $this->KHXC_Form->spec_form($def_form);
if ($this->IsError($spec_form)) {return $spec_form;}
foreach ($spec_form['fields'] as $num => $field) {
if ($field['id'] == $this->app . '.batchshipinvoice.select') {
$spec_form['fields'][$num]['defaultvalue'] = $batchshipinvoice;
} // End of if statement.
} // End of foreach statement.
$result = $this->KHXC_Form->print_form($spec_form);
if ($this->IsError($result)) {return $result;}
// +--
// | Log that we were here.
// +--
if ($this->debug) {$this->debugger("showform: Displayed export form.");}
// +--
// | Return true.
// +--
return 1;
} // End of function.
// +------------------------------------------------------------------+
// | Function: doform |
// +------------------------------------------------------------------+
function doform () {
// +--
// | This function changes the state province box
// +--
$select = $this->globals('khxc_cgi.' . $this->app . '--batchshipinvoice--select');
// +--
// | Update all form feilds to show drop down if true else textbox
// +--
$table = 'khxc_namespaces';
if ($select){
$data = array('pointer' => 'GBU_Advorders::GBU_Advorders_batchshipinvoice::printinvoice()');
} else {
$data = array('pointer' => 'GBU_Order::printinvoice()');
}
// Update Form Fields
$where = '(namespace=' . $this->KHXC_DB->quote('printinvoice') . ') AND (' . 'app=' . $this->KHXC_DB->quote($this->app) . ')';
$update_clause = $this->KHXC_DB->clause_update(array('table' => $table,
'data' => $data));
if (!($this->IsError($update_clause))) {
$sql = $update_clause . ' WHERE ' . $where;
$this->KHXC_DB->sql_do(array('sql' => $sql,
'table' => $table));
} // End of if statement.
// +--
// | Print the confirm and return true.
// +--
$this->print_message($this->app,'batchshipinvoiceconf');
return $this->exec_namespace(array('app' => $this->app,
'namespace' => 'batchshipinvoice',
'type' => '*',
'params' => null));
// +--
// | Return true.
// +--
return 1;
} // End of function.
// +------------------------------------------------------------------+
// | Function: printinvoice |
// +------------------------------------------------------------------+
function printinvoice () {
// +--
// | This function looks up information for an order and returns it
// | to the calling function.
// +--
$order_number = $this->globals('khxc.ref');
// +--
// | Return an error if the order number is blank.
// +--
if (empty($order_number)) {
if ($this->debug) {$this->debugger("printinvoice: No order number made available to lookup order. Printing message.");}
$this->print_message($this->app,'orderlookuperr');
return 1;
} // End of if statement.
// +--
// | Look up the order. Return any errors encountered.
// +--
$result = $this->GBU_Order->orderlookup($order_number);
if ($this->IsError($result)) {
if ($this->debug) {$this->debugger("printinvoice: Error encountered while looking up order. Printing message.");}
$this->print_message($this->app,'orderlookuperr');
return 1;
} // End of if statement.
// +--
// | Set our global display flag up so KHXC_Display knows to
// | use the print only skin file.
// +--
$this->globals('khxc_display.printable',1);
// +--
// | Globalize our result and print the invoice header and
// | order summary include.
// +--
$eutax_text = $this->eutaxpricetext();
$this->globals('eutax_text',$eutax_text);
$this->globals('ecom.order_summary',$result);
$this->KHXC_Display->include_file($this->app,'batchordersummaryprint.php');
$this->KHXC_Display->include_file($this->app,'batchinvoicefooter.php');
if ($this->debug) {$this->debugger("printinvoice: Order summary printed for order '{$order_number}'.");}
// +--
// | Return true.
// +--
return 1;
} // End of function.
// +------------------------------------------------------------------+
// | Function: batchshipinvoiceprint |
// +------------------------------------------------------------------+
function batchshipinvoiceprint () {
// +--
// | Pull the orders.
// +--
$eol = $this->globals('khxc.eol');
$table = $this->app . '_orders';
$column_string = $this->KHXC_DB->table_column_string($table);
if ($this->IsError($column_string)) {return $column_string;}
$sql = "SELECT {$column_string} FROM {$table} WHERE ";
$sql .= "(status='NS' OR status='PS' OR status='C') AND (batchshipinvoiceprint<>" . $this->KHXC_DB->quote(1) . ')';
$result = $this->KHXC_DB->sql_do(array('sql' => $sql,
'table' => $table,
'order' => array('epochorder' => 'DESC')));
if (!($this->IsError($result)) && (!empty($result))) {
$count = 0;
foreach ($result as $num => $order) {
$count++;
}
$count1 = 0;
foreach ($result as $num => $order) {
$count1++;
// Print the invoice for this order.
$this->globals('khxc.ref',$order['id']);
$this->exec_namespace(array('app' => $this->app,
'namespace' => 'printinvoice',
'type' => '*',
'params' => array('ref' => $order['id'])));
print '</div>' . $eol;
print '</div>' . $eol;
if ($count <> $count1) {
print '<br style="page-break-after:always;" />' . $eol;
print '<div id="khxc_printable">' . $eol;
print '<div id="skin_content">' . $eol;
}
}
} else {
// +--
// | Set our global display flag up so KHXC_Display knows to
// | use the print only skin file.
// +--
$this->globals('khxc_display.printable',1);
print 'No invoices to batch print.' . $eol;
}
// +--
// | Update all of our orders that we process so they're marked and
// | we don't export them again.
// +--
$table = $this->app . '_orders';
$data = array('batchshipinvoiceprint' => 1);
$where = "(status='NS' OR status='PS' OR status='C') AND (batchshipinvoiceprint<>" . $this->KHXC_DB->quote(1) . ')';
$update_clause = $this->KHXC_DB->clause_update(array('table' => $table,
'data' => $data));
if (!($this->IsError($update_clause))) {
$sql = $update_clause . ' WHERE ' . $where;
$this->KHXC_DB->sql_do(array('sql' => $sql,
'table' => $table));
} // End of if statement.
// +--
// | Return true.
// +--
return 1;
} // End of function.
// +------------------------------------------------------------------+
// | Function: return_wmessage |
// +------------------------------------------------------------------+
function return_wmessage ($message = '') {
// +--
// | This function prints a generic error message and returns to
// | the doform() method.
// +--
if (!(empty($message))) {
$this->print_message($this->app,$message);
} // End of if statement.
return $this->showform();
} // End of function.
// +------------------------------------------------------------------+
// | Function: qbquote |
// +------------------------------------------------------------------+
function qbquote ($string = '') {
// +--
// | This function quotes a string for insertion into a Quickbooks
// | export file.
// +--
return preg_replace("/\t/",'',$string);
} // End of function.
// +------------------------------------------------------------------+
// | End of Class [KHXC]|
// +------------------------------------------------------------------+
} // End of class.
// +------------------------------------------------------------------+
// | End Of File [KHXC]|
// +------------------------------------------------------------------+
?>
Offline
It s just a blank sheet that I'm getting, not a script error. Everything else on the site is working okay after inplementing the changes on the doc, but this. I've looked for and slpit() canges, namespaces or =& news but non of those are in this script so I'm stumped.
Offline
Nothing in what you posted should be causing any problems and there are no syntax errors in what you posted either. I suspect your problem is elsewhere.
Offline
Okay, thank you. Any suggestions as to where this might be? This is an extention that was added by GBW.
Offline