Example #1
0
	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;
	}