function importQB($data){ if(!isset($data['Item']) || count($data['Item']) == 0){ return TRUE; } foreach($data['Item'] as $qb_code){ $cur_codes = $this->retrieveSet("WHERE code = '".mysql_real_escape_string($qb_code['NAME'])."'"); if($cur_codes === FALSE){ $this->error = "SI_ItemCode::import(): Error looking for item code with code of {$qb_code['NAME']}"; return FALSE; } $code = NULL; if(count($cur_codes) != 1){ // Not found or more than one found so just add a new one $code = new SI_ItemCode(); }else{ $code =& $cur_codes[0]; } $code->code = $qb_code['NAME']; $code->description = $qb_code['DESC']; if(!empty($qb_code['COST'])) $code->cost = preg_replace('/["$,]/', '', $qb_code['COST']); if(!empty($qb_code['PRICE'])) $code->price = preg_replace('/["$,]/', '', $qb_code['PRICE']); $code->taxable = $qb_code['TAXABLE']; $code->income_account_id = SI_Account::getIDForName($qb_code['ACCNT']); $code->expense_account_id = SI_Account::getIDForName($qb_code['COGSACCNT']); $result = FALSE; if($code->id > 0){ $result = $code->update(); }else{ $result = $code->add(); } if($result === FALSE){ $this->error = "SI_ItemCode::importQB(): Error adding code: ".$code->getLastError(); return FALSE; } } return TRUE; }