public function saveGroup($group, $prefix, $originGroup) { if (craft()->fields->saveGroup($group)) { $errors = array(); foreach (craft()->fields->getFieldsByGroupId($originGroup->id) as $originField) { $field = new FieldModel(); $field->groupId = $group->id; $field->name = $originField->name; $field->handle = $prefix . $originField->handle; $field->required = $originField->required; $field->instructions = $originField->instructions; $field->translatable = $originField->translatable; $field->type = $originField->type; $field->settings = $originField->settings; if (!craft()->fieldManager->saveField($field, $originField)) { $errors[] = $field; } } if ($errors) { foreach ($errors as $error) { FieldManagerPlugin::log('Could not clone ' . $error->name . ' in ' . $originGroup->name . ' group - ' . print_r($group->getErrors(), true), LogLevel::Error); } return false; } else { FieldManagerPlugin::log($originGroup->name . ' group cloned successfully.'); return true; } } else { FieldManagerPlugin::log('Could not clone ' . $originGroup->name . ' group - ' . print_r($group->getErrors(), true), LogLevel::Error); return false; } }
public function getData($json) { $data = json_decode($json, true); if ($data !== null) { // Check for pre v1.5 export format - fix it up and log deprecation. $keys = array_keys($data); if (is_string($keys[0])) { $data = $this->_importFromPre15($data); } return $data; } else { FieldManagerPlugin::log('Could not parse JSON data - ' . $this->_getJsonError(), LogLevel::Error); } }