protected function _process($sRecordName, $oRecord) { $aJsonReturn = array('system' => array('error' => null), 'netsuite' => array('error' => null)); $oSetRecord = new Netsuite_Job_SetRecord($sRecordName, $oRecord->getJSON()); if (!$oSetRecord->isOk()) { $aJsonReturn['success'] = false; $aJsonReturn['error'] = $oSetRecord->response; $aJsonReturn['netsuite']['success'] = false; $aJsonReturn['netsuite']['error'] = $oSetRecord->response; return $aJsonReturn; } $record = !is_numeric($oSetRecord->response) ? json_decode($oSetRecord->response) : $oSetRecord->response; switch (true) { case $record == null: $aJsonReturn['success'] = false; $aJsonReturn['netsuite']['success'] = false; $aJsonReturn['system']['error'] = is_array($oSetRecord->response) || is_object($oSetRecord->response) ? json_encode($oSetRecord->response) : $oSetRecord->response; break; case $record->status == 'failure': $aJsonReturn['success'] = false; $aJsonReturn['netsuite']['success'] = false; $aJsonReturn['netsuite']['error'] = $record->payload->code . ' - ' . $record->payload->details; $aJsonReturn['error'] = $record->payload->code . ' - ' . $record->payload->details; $aJsonReturn['json'] = $oRecord->getJSON(); break; case $record->status == 'warn': $aJsonReturn['netsuite']['record_id'] = $record->recordid; $aJsonReturn['success'] = true; $aJsonReturn['warn'] = $record->payload->details . ', ' . $oRecord->getWarnings(); $aJsonReturn['json'] = $oRecord->getJSON(); break; default: $aJsonReturn['netsuite']['record_id'] = $record->recordid; $aJsonReturn['success'] = true; $aJsonReturn['warn'] = $oRecord->getWarnings(); $aJsonReturn['json'] = $oRecord->getJSON(); break; } return $aJsonReturn; }
#!/usr/bin/php <?php require_once __DIR__ . DIRECTORY_SEPARATOR . 'Configure.php'; try { // See if Process is Already Running And Netsuite is Alive $pid = new Netsuite_Pid('/tmp', basename(__FILE__)); switch (true) { case $pid->already_running: break; case !Netsuite_Job_SetRecord::isAlive(): throw new Exception('Netsuite isAlive NOT Responding'); break; default: processOrders(); break; } } catch (Exception $e) { if (DEBUG) { echo $e->getMessage() . "\n"; } Netsuite_Db_Model::logError($e); } return 10; // MYSQL_UDF Trigger Expects 10 as a Success Return exit; function processOrders($bResetOrders = false) { try { $processOrder = new Thread_Server(); switch (true) { case $processOrder->hasOrders() === true: