/** * * checks if a currency exists, creates it and returns it. * @param String $code * @param String $name OPTIONAL * * @return NULL | EcommerceCurrency */ public static function create_new($code, $name = "") { $code = trim(strtoupper($code)); if (!$name) { $currencies = Config::inst()->get("EcommerceCurrency", "currencies"); if (isset($currencies[$code])) { $name = $currencies[$code]; } else { $name = $code; } } $name = ucwords($name); if ($currency = EcommerceCurrency::get()->filter(array("Code" => $code))->first()) { $currency->Name = $name; $currency->InUse = true; } else { $currency = EcommerceCurrency::create(array('Code' => $code, 'Name' => $name, 'InUse' => true)); } $valid = $currency->write(); if ($valid) { return $currency; } }