IDField.') FROM '.$this->Application->getUnitOption($this->Prefix, 'TableName'); return $this->Conn->GetOne($sql) + 1; } function setPrimary($reset_primary = true, $admin_language = false) { $primary_field = $admin_language ? 'AdminInterfaceLang' : 'PrimaryLang'; if ($reset_primary) { $sql = 'UPDATE '.$this->TableName.' SET '.$primary_field.' = 0'; $this->Conn->Query($sql); } $sql = 'UPDATE '.$this->TableName.' SET '.$primary_field.' = 1, Enabled = 1 WHERE '.$this->IDField.' = '.$this->GetID(); $this->Conn->Query($sql); // in case, when Update method is called for this langauge object $this->SetDBField($primary_field, 1); $this->SetDBField('Enabled', 1); } /** * Allows to format number according to regional settings * * @param float $number * @param int $precision * @return float */ function formatNumber($number, $precision = null) { if (is_null($precision)) { $precision = preg_match('/[\.,]+/', $number) ? strlen(preg_replace('/^.*[\.,]+/', '', $number)) : 0; } return number_format($number, $precision, (string)$this->GetDBField('DecimalPoint'), (string)$this->GetDBField('ThousandSep')); } function Load($id, $id_field_name=null) { $default = false; if ($id == 'default') { $id = 1; $id_field_name = 'PrimaryLang'; $default = true; } $res = parent::Load($id, $id_field_name); if ($default) { if (!$res) { if ($this->Application->isAdmin) { $res = parent::Load(1); } else { if (defined('IS_INSTALL')) { // during first language import prevents sql errors $this->setID(1); $res = true; } else { $this->Application->ApplicationDie('No Primary Language Selected'); } } } $this->Application->SetVar('lang.current_id', $this->GetID() ); $this->Application->SetVar('m_lang', $this->GetID() ); } return $res; } }