예제 #1
0
 function saveAll($data)
 {
     $config_data = array();
     if (is_array($data)) {
         foreach ($data as $key => &$value) {
             if (is_array($value)) {
                 $value = implode(",", $value);
             }
             $config_data[] = array('key' => $key, 'value' => $value);
         }
     }
     pr($config_data);
     parent::saveAll($config_data);
 }
예제 #2
0
 function saveAll_migration($data)
 {
     parent::saveAll($data);
 }
예제 #3
0
 function saveAll($data)
 {
     $fields = array();
     $field_ids = array();
     if (is_array($data)) {
         foreach ($data as $key => &$field) {
             $field['field_id'] = $key;
             if ($field['showed'] == -1) {
                 $this->TableField->load($key);
                 $field['group_behave'] = $this->TableField->group_behave;
                 $field['required'] = $this->TableField->required;
             }
         }
     }
     parent::saveAll($data);
     $fields = $this->getFeeField();
     //pr($fields);
     if (is_array($fields)) {
         foreach ($fields as $field) {
             $field_ids[] = $field->id;
         }
     }
     $data = $field_ids;
     $feeorders = array();
     $this->TableEventfeeorder->eventId = $this->event_id;
     $existing_fields = $this->TableEventfeeorder->getFields();
     $existing_field_ids = array();
     if (is_array($existing_fields)) {
         foreach ($existing_fields as $field) {
             $existing_field_ids[] = $field->reference_id;
         }
     }
     $not_inserting = array_intersect($data, $existing_field_ids);
     if ($existing_fields) {
         foreach ($existing_fields as $existing_field) {
             if (!in_array($existing_field->reference_id, $not_inserting)) {
                 // remove
                 $this->TableEventfeeorder->delete($existing_field->id);
             }
         }
     }
     $ordering = $this->TableEventfeeorder->getNextOrder("eventId = '" . $this->event_id . "' ");
     if (is_array($data)) {
         foreach ($data as $field) {
             if (!in_array($field, $not_inserting)) {
                 $feeorders[] = array('reference_id' => $field, 'type' => 'field', 'title' => '', 'eventId' => $this->event_id, 'ordering' => $ordering);
                 $ordering++;
             }
         }
     }
     if (count($feeorders) > 0) {
         $this->TableEventfeeorder->saveAll($feeorders);
     }
 }