Example #1
0
 /**
  * Load the custom fields
  */
 private function loadCustomFields()
 {
     // no groups or subscriptions at this point
     if (empty($this->group)) {
         return false;
     }
     // reserve counter
     $i = 0;
     // if no custom fields were set, we fetch the ones from the groups ourselves
     $this->group['custom_fields'] = BackendMailmotorModel::getCustomFields($this->id);
     // no custom fields for this group
     if (empty($this->group['custom_fields'])) {
         return false;
     }
     // loop the custom fields
     foreach ($this->group['custom_fields'] as $name) {
         // set value
         $value = isset($this->record['custom_fields'][$this->id][$name]) ? $this->record['custom_fields'][$this->id][$name] : '';
         // store textfield value
         $this->customFields[$i]['label'] = $name;
         $this->customFields[$i]['name'] = \SpoonFilter::toCamelCase($name, array('-', '_', ' '));
         $this->customFields[$i]['formElements']['txtField'] = $this->frm->addText($this->customFields[$i]['name'], $value);
         $i++;
         // unset this field
         unset($this->customFields[$name]);
     }
     // add textfields to form
     $this->tpl->assign('fields', $this->customFields);
 }
Example #2
0
 /**
  * Returns the custom fields by a given group ID
  *
  * @param int $groupId The id of the group.
  * @return array
  */
 public static function getCustomFields($groupId)
 {
     $listId = self::getCampaignMonitorID('list', $groupId);
     $cmFields = self::getCM()->getCustomFields($listId);
     if (!empty($cmFields)) {
         $fields = BackendMailmotorModel::getCustomFields($groupId);
         foreach ($cmFields as $field) {
             if (!in_array($field['name'], $fields)) {
                 $fields[] = $field['name'];
             }
         }
         BackendMailmotorModel::updateCustomFields($fields, $groupId);
     }
     return (array) $fields;
 }