protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $resource = $this->getPayload('resource'); $thumbnail_activity = null; $preview_activity = null; if ($this->getOption('use_converjon', false)) { $thumbnail_activity = $this->activity_service->getActivity($this->getOption('thumbnail_activity_scope', 'converjon'), $this->getOption('thumbnail_activity_name', 'thumbnail')); $preview_activity = $this->activity_service->getActivity($this->getOption('preview_activity_scope', 'converjon'), $this->getOption('preview_activity_name', 'preview')); } $images = []; $root_doc = $resource->getRoot() ?: $resource; foreach ($params['attribute_value'] as $image) { $original_image_url = $this->url_generator->generateUrl('module.files.download', ['resource' => $root_doc, 'file' => $image->getLocation()]); $additional_file_info = ['id' => md5($image->getLocation()), 'thumb_url' => $original_image_url, 'preview_url' => $original_image_url, 'download_url' => $original_image_url]; if ($this->getOption('use_converjon', false)) { $url_params = ['file' => $image->getLocation()]; $additional_file_info['thumb_url'] = $this->url_generator->generateUrl($thumbnail_activity, $url_params); $additional_file_info['preview_url'] = $this->url_generator->generateUrl($preview_activity, $url_params); } $images[] = array_merge($image->toNative(), $additional_file_info); } $upload_input_name = $this->getOption('form-name', 'uploadform') . '[' . $this->attribute->getPath() . ']'; $params['images'] = $images; $params['resource_type_prefix'] = $this->attribute->getRootType()->getPrefix(); $params['resource_type_name'] = $root_doc->getType()->getName(); $params['resource_identifier'] = $root_doc->getIdentifier(); $params['upload_input_name'] = $upload_input_name; $params['upload_url'] = $this->url_generator->generateUrl('module.files.upload', ['resource' => $root_doc]); return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $params['min_value'] = $this->getOption('min_value', $this->attribute->getOption(TimestampAttribute::OPTION_MIN_TIMESTAMP)); $params['max_value'] = $this->getOption('max_value', $this->attribute->getOption(TimestampAttribute::OPTION_MAX_TIMESTAMP)); return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $open_in_blank = $this->getOption('open_in_blank', true); $params['open_in_blank'] = $open_in_blank; $params['maxlength'] = $this->getOption('maxlength', $this->attribute->getOption(UrlAttribute::OPTION_MAX_LENGTH)); return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $params['allowed_values'] = (array) $this->attribute->getOption('allowed_values', []); $params['add_empty_option'] = $this->getOption('add_empty_option', false); $params['empty_option_name'] = $this->getOption('empty_option_name', ''); $params['empty_option_value'] = $this->getOption('empty_option_value', $this->attribute->getNullValue()); return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $params['maxlength'] = $this->getOption('maxlength', $this->attribute->getOption(TextareaAttribute::OPTION_MAX_LENGTH)); if (is_numeric($params['maxlength'])) { $params['attribute_value'] = substr($params['attribute_value'], 0, $params['maxlength']); } $params['wrap'] = $this->getOption('wrap', ''); $params['cols'] = $this->getOption('cols', ''); $params['rows'] = $this->getOption('rows', 12); $params['syntax'] = $this->getSyntaxParameters(); return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $params['grouped_field_name'] = $params['grouped_field_name'] . '[]'; $value = $params['attribute_value']; $missing_allowed_values = []; foreach ($this->getAllowedValues() as $allowed_value) { if (!in_array($allowed_value, $value)) { $missing_allowed_values[] = $allowed_value; } } $params['unchecked_options'] = $missing_allowed_values; return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $params['maxlength'] = $this->getOption('maxlength', $this->attribute->getOption(TextareaAttribute::OPTION_MAX_LENGTH)); if (is_numeric($params['maxlength'])) { $params['attribute_value'] = substr($params['attribute_value'], 0, $params['maxlength']); } $params['wrap'] = $this->getOption('wrap', ''); $params['cols'] = $this->getOption('cols', ''); $params['rows'] = $this->getOption('rows', 9); // editor like the HtmlRichTextEditor $params['editor'] = $this->getEditorParameters($params); return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $params['grouped_field_name'] = $params['grouped_field_name'] . '[]'; $params['maxlength'] = $this->getOption('maxlength', $this->attribute->getOption(UrlListAttribute::OPTION_MAX_LENGTH)); $display_inputs = (int) $this->getOption('display_inputs', -1); $params['missing_inputs'] = 0; if ($display_inputs > -1) { $missing_inputs = $display_inputs - count($params['attribute_value']); if ($missing_inputs > 0) { $params['missing_inputs'] = $missing_inputs; } } return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $params['value_step'] = $this->getOption('value_step', self::DEFAULT_VALUE_STEP); // verify the parameters are valid with floats foreach (['value_step'] as $key) { if ($key === 'value_step' && $params[$key] === 'any') { continue; } if (is_numeric($params[$key])) { $params[$key] = floatval($params[$key]); } else { $params[$key] = ''; } } return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $params['translation_domain_roles'] = $this->getOption('translation_domain_roles', 'application.roles'); $wanted_roles = $this->getOption('allowed_values', $this->environment->getUser()->getAvailableRoles()); /* $allowed_roles = []; $user = $this->environment->getUser(); foreach ($wanted_roles as $role_id) { if ($user->isAllowed(null, 'assign-role:'.$role_id)) { $allowed_roles[] = $role_id; } } if ($user->isAllowed($this->attribute, 'read')) { $allowed_roles = $wanted_roles; } */ $params['allowed_roles'] = $wanted_roles; return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $resource = $this->getPayload('resource'); $assets = []; $root_doc = $resource->getRoot() ?: $resource; foreach ($params['attribute_value'] as $asset) { $original_asset_url = $this->url_generator->generateUrl('module.files.download', ['resource' => $root_doc, 'file' => $asset->getLocation()]); $additional_file_info = ['id' => md5($asset->getLocation()), 'download_url' => $original_asset_url]; $assets[] = array_merge($asset->toNative(), $additional_file_info); } $upload_input_name = $this->getOption('form-name', 'uploadform') . '[' . $this->attribute->getPath() . ']'; $params['assets'] = $assets; $params['resource_type_prefix'] = $this->attribute->getRootType()->getPrefix(); $params['resource_type_name'] = $root_doc->getType()->getName(); $params['resource_identifier'] = $root_doc->getIdentifier(); $params['upload_input_name'] = $upload_input_name; $params['upload_url'] = $this->url_generator->generateUrl('module.files.upload', ['resource' => $root_doc]); return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $embedded_entity_list = $this->determineAttributeValue($this->attribute->getName()); $rendered_entities = []; foreach ($embedded_entity_list as $pos => $embedded_entity) { $rendered_entities[] = $this->renderEmbeddedEntity($embedded_entity, $pos); } $params['is_empty'] = $embedded_entity_list->isEmpty(); $params['is_readonly'] = $this->isReadonly(); $params['rendered_entities'] = $rendered_entities; $params['embedded_type_names'] = $this->attribute->getEmbeddedEntityTypeMap()->getKeys(); $params['rendered_embed_selector'] = $this->renderEmbeddedEntityTypeSelectorMap(); $params['rendered_type_templates'] = $this->renderEmbeddedTypeTemplates($embedded_entity_list->getSize()); $params['as_panel'] = $this->getOption('as_panel', true); $params['inline_mode'] = $this->attribute->getOption('inline_mode', false); if ($this->attribute->getOption('inline_mode', false)) { $params['css'] .= ' hb-entity-list__inline-mode'; } return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); // load settings or fallback to default attribute's options $params['min_value'] = $this->getOption('min_value', $this->attribute->getOption(IntegerAttribute::OPTION_MIN_VALUE)); $params['max_value'] = $this->getOption('max_value', $this->attribute->getOption(IntegerAttribute::OPTION_MAX_VALUE)); $params['value_step'] = $this->getOption('value_step'); // verify the parameters are valid with integers $php_int_min = ~PHP_INT_MAX; foreach (['min_value', 'max_value', 'value_step'] as $key) { if (is_numeric($params[$key]) && $params[$key] <= PHP_INT_MAX && $params[$key] >= $php_int_min) { // truncate to integer eventual float values $params[$key] = intval(floor($params[$key])); } else { $params[$key] = ''; } } $params['maxlength'] = $this->getOption('maxlength', ''); if (!$this->hasOption('placeholder')) { $params['placeholder'] = sprintf('%s…%s', $params['min_value'], $params['max_value']); } return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $params['allowed_keys'] = $this->attribute->getOption(KeyValueListAttribute::OPTION_ALLOWED_KEYS, $this->getOption('allowed_keys', [])); $params['allowed_values'] = $this->attribute->getOption(KeyValueListAttribute::OPTION_ALLOWED_VALUES, $this->getOption('allowed_values', [])); if ($this->attribute->hasOption(KeyValueListAttribute::OPTION_ALLOWED_PAIRS) || $this->hasOption('allowed_pairs')) { $params['allowed_pairs'] = $this->getOption('allowed_pairs', $this->attribute->getOption(KeyValueListAttribute::OPTION_ALLOWED_PAIRS, [])); if ($params['allowed_pairs'] instanceof SettingsInterface) { $params['allowed_pairs'] = $params['allowed_pairs']->toArray(); } $params['allowed_keys'] = array_keys($params['allowed_pairs']); $params['allowed_values'] = array_values($params['allowed_pairs']); } $params['disabled'] = $this->isReadonly() || $this->isDisabled() ? 'disabled' : ''; $params['hide_pair_labels'] = $this->getOption('hide_pair_labels', false); $params['key_maxlength'] = $this->getOption('key_maxlength'); $params['value_maxlength'] = $this->getOption('value_maxlength', $this->attribute->getOption(KeyValueListAttribute::OPTION_MAX_LENGTH)); $params['value_type'] = $this->getOption('value_type', $this->attribute->getOption(KeyValueListAttribute::OPTION_VALUE_TYPE, 'text')); switch ($params['value_type']) { case 'integer': case 'float': $params['value_type'] = 'number'; $params['min'] = $this->getOption('min', $this->attribute->getOption(KeyValueListAttribute::OPTION_MIN_VALUE)); $params['max'] = $this->getOption('max', $this->attribute->getOption(KeyValueListAttribute::OPTION_MAX_VALUE)); break; case 'boolean': // @todo implement // break; // @todo implement // break; default: $params['value_type'] = 'text'; break; } $params['attribute_value'] = $this->normalizeAttributeValue($params['attribute_value'], ['key_maxlength' => $params['key_maxlength'], 'value_maxlength' => $params['value_maxlength']]); return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); // load settings or fallback to default attribute's options $params['min_value'] = $this->getOption('min_value', $this->attribute->getOption(FloatAttribute::OPTION_MIN_VALUE)); $params['max_value'] = $this->getOption('max_value', $this->attribute->getOption(FloatAttribute::OPTION_MAX_VALUE)); $params['value_step'] = $this->getOption('value_step', self::DEFAULT_VALUE_STEP); // verify the parameters are valid with floats foreach (['min_value', 'max_value', 'value_step'] as $key) { if ($key === 'value_step' && $params[$key] === 'any') { continue; } if (is_numeric($params[$key])) { $params[$key] = floatval($params[$key]); } else { $params[$key] = ''; } } $params['maxlength'] = $this->getOption('maxlength', ''); if (!$this->hasOption('placeholder')) { $params['placeholder'] = sprintf('%s…%s', $params['min_value'], $params['max_value']); } return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $params['maxlength'] = $this->getOption('maxlength', ''); return $params; }
protected function getTemplateParameters() { $params = parent::getTemplateParameters(); $params['maxlength'] = $this->getOption('maxlength', $this->attribute->getOption(TextAttribute::OPTION_MAX_LENGTH)); return $params; }