Application->RecallVar('saved_curr_ids'); // when saving currency(-ies) $check_all = $this->Application->RecallVar('check_unused_currencies'); // when saving payment type $ret = ''; if($saved_ids || $check_all) { $sql = 'SELECT DISTINCT CurrencyId FROM '.$this->Application->getUnitOption('ptc', 'TableName'); $used_ids = $this->Conn->GetCol($sql); if($check_all) { $sql = 'SELECT DISTINCT CurrencyId FROM '.$this->Application->getUnitOption('curr', 'TableName'); $all_ids = $this->Conn->GetCol($sql); $unused_ids = implode(',', array_diff($all_ids, $used_ids) ); $this->Application->RemoveVar('check_unused_currencies'); } else { $saved_ids = explode(',', $saved_ids); $unused_ids = implode(',', array_diff($saved_ids, $used_ids) ); $this->Application->RemoveVar('saved_curr_ids'); } if ( $unused_ids ) { $this->Application->SetVar('unused_ids', $unused_ids); $sql = 'SELECT ISO FROM '.$this->Application->getUnitOption($this->Prefix, 'TableName').' WHERE CurrencyId IN('.$unused_ids.') AND Status = 1'; $params['unused_iso'] = implode(', ', $this->Conn->GetCol($sql)); if ( $params['unused_iso'] ) { $params['unused_ids'] = $unused_ids; $params['name'] = $params['block']; $ret = $this->Application->ParseBlock($params); } } } return $ret; } function ListCurrencies($params) { return $this->PrintList2($params); } function CurrencyLink($params) { /** @var kDBItem $object */ $object = $this->getObject($params); $params['pass'] = 'm,curr'; $params['curr_event'] = 'OnChangeCurrency'; $params['curr_iso'] = $object->GetDBField('ISO'); return $this->Application->ProcessParsedTag('m', 'Link', $params); } function SelectedCurrency($params) { $object = $this->Application->recallObject($this->getPrefixSpecial()); return $object->GetDBField('ISO') == $this->Application->RecallVar('curr_iso'); } function PrimaryCurrencyISO($params) { $sql = 'SELECT ISO FROM ' . $this->Application->getUnitOption($this->Prefix, 'TableName') . ' WHERE IsPrimary = 1'; return $this->Conn->GetOne($sql); } function PrimaryCurrencyName($params) { $sql = 'SELECT Name FROM ' . $this->Application->getUnitOption($this->Prefix, 'TableName') . ' WHERE IsPrimary = 1'; return $this->Application->Phrase( $this->Conn->GetOne($sql) ); } }