/**
  * Create the values for the placeholders defined in the type
  * Each placeholder value inherits the default value defined in the type, per language
  *
  */
 protected function createPlaceholderValues()
 {
     $placeholders = $this->type->getPlaceholders();
     /** @var $placeholder srCertificatePlaceholder */
     foreach ($placeholders as $placeholder) {
         $placeholder_value = new srCertificatePlaceholderValue();
         $placeholder_value->setPlaceholderId($placeholder->getId());
         $placeholder_value->setDefinitionId($this->getId());
         $placeholder_value->setValue($placeholder->getDefaultValues());
         $placeholder_value->create();
         $this->placeholder_values[] = $placeholder_value;
     }
 }
 /**
  * Get settings
  */
 protected function buildData()
 {
     $data = array();
     /** @var $placeholder srCertificatePlaceholder */
     foreach ($this->type->getPlaceholders() as $placeholder) {
         $row = array();
         $row['id'] = $placeholder->getId();
         $row['identifier'] = $placeholder->getIdentifier();
         $row['max_characters'] = $placeholder->getMaxCharactersValue();
         $row['mandatory'] = (int) $placeholder->getIsMandatory();
         $row['editable_in'] = implode(',', $placeholder->getEditableIn());
         foreach ($this->type->getLanguages() as $lang_code) {
             $row["default_value_{$lang_code}"] = $placeholder->getDefaultValue($lang_code);
             $row["label_{$lang_code}"] = $placeholder->getLabel($lang_code);
         }
         $data[] = $row;
     }
     $this->setData($data);
 }