Application->RecallVar('saved_curr_ids'); // when saving currency(-ies) $check_all = $this->Application->RecallVar('check_unused_currencies'); // when saving payment type $config = $this->getUnitConfig(); if ( $saved_ids || $check_all ) { $sql = 'SELECT DISTINCT CurrencyId FROM ' . $this->Application->getUnitConfig('ptc')->getTableName(); $used_ids = $this->Conn->GetCol($sql); if ( $check_all ) { $sql = 'SELECT DISTINCT CurrencyId FROM ' . $config->getTableName(); $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 ' . $config->getTableName() . ' 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->getUnitConfig()->getTableName() . ' WHERE IsPrimary = 1'; return $this->Conn->GetOne($sql); } function PrimaryCurrencyName($params) { $sql = 'SELECT Name FROM ' . $this->getUnitConfig()->getTableName() . ' WHERE IsPrimary = 1'; return $this->Application->Phrase( $this->Conn->GetOne($sql) ); } }