コード例 #1
0
 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;
     }
 }
コード例 #2
0
 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);
     }
 }