Beispiel #1
0
 public function testTranslateInput()
 {
     // prepare
     $api = $this->createRenderApi(array('interfaceLocale' => 'de'));
     $moduleInfo = $this->createModuleInfo();
     $translator = new Translator($api, $moduleInfo);
     // execute/verify
     // fallback to en
     $this->assertEquals('this is en', $translator->translateInput('{"en": "this is en", "ch": "test"}'));
     // current lang
     $this->assertEquals('test', $translator->translateInput('{"en": "this is en", "de": "test"}'));
     // fallback to string (malformed json)
     $this->assertEquals('{"en": "this is en", "de": "test}', $translator->translateInput('{"en": "this is en", "de": "test}'));
     // first key (if not current lang and not en) - NOTE: there is no order so we just check that the json is unwrapped
     $this->assertEquals('this', $translator->translateInput('{"pl": "this", "ch": "this"}'));
 }
Beispiel #2
0
 /**
  * Creates an assoc array from countryList textarea value
  * <code>
  * LOCALE: en
  * SRC: 'DE:{"de":"Deutschland","en":"Germany"}\nAT:Austria\nCH:Switzerland';
  * RETURN: array(
  *     'DE' => 'Germany',
  *     'AT' => 'Austria',
  *     'CH' => 'Switzerland',
  * )
  * </code>
  *
  * @return array
  */
 public function getShippingCountries()
 {
     $countries = array();
     $rows = explode("\n", $this->getShopSetting('countryList'));
     foreach ($rows as $rowCount => $row) {
         $data = explode(':', $row, 2);
         if (count($data) > 1 && strlen($data[0]) == 2) {
             $countries[strtoupper($data[0])] = $this->i18n->translateInput($data[1]);
         }
     }
     return $countries;
 }
 /**
  * @param \Render\APIs\APIv1\RenderAPI $renderApi
  * @param Unit $unit
  * @param $moduleInfo
  * @param \Render\APIs\APIv1\Page $productPage
  * @param Translator $i18n
  *
  * @return HtmlTagBuilder|void
  */
 private function getAddCartTag($renderApi, $unit, $moduleInfo, $productPage, $i18n)
 {
     $shopSettings = $renderApi->getWebsiteSettings('rz_shop');
     $cartPageId = $shopSettings['cartPage'];
     if (!$cartPageId) {
         return HtmlTagBuilder::div(HtmlTagBuilder::button($i18n->translate('msg.noCartPage'))->set(array('style' => 'cursor: default;')))->set(array('class' => 'RUKZUKmissingInputHint'));
     }
     $cartText = $i18n->translateInput($renderApi->getFormValue($unit, 'cartText'));
     $cartUrl = $renderApi->getNavigation()->getPage($cartPageId)->getUrl();
     return $this->displayCartButton($cartText, $productPage, $cartUrl, $renderApi->isEditMode() || $renderApi->isTemplate(), $i18n);
 }