| @@ 67-123 (lines=57) @@ | ||
| 64 | }  | 
                                |
| 65 | }  | 
                                |
| 66 | ||
| 67 |     public function parseFields($data, $cart) { | 
                                |
| 68 | $fields = \Ecommerce\UserAdds\Field::getList();  | 
                                |
| 69 | $name = '';  | 
                                |
| 70 |         foreach ($fields as $field) { | 
                                |
| 71 |             if ($field->save && !empty($data[$field->id])) { | 
                                |
| 72 | $name .= htmlspecialchars($data[$field->id]) . ' ';  | 
                                |
| 73 | }  | 
                                |
| 74 | }  | 
                                |
| 75 | $name = trim($name);  | 
                                |
| 76 | ||
| 77 | $userAdds = Ecommerce\UserAdds::get([['user_id', $cart->user->id], ['name', $name]]);  | 
                                |
| 78 |         if (!$userAdds) { | 
                                |
| 79 | $userAdds = new Ecommerce\UserAdds();  | 
                                |
| 80 | $userAdds->user_id = $cart->user->id;  | 
                                |
| 81 | $userAdds->name = $name;  | 
                                |
| 82 | $userAdds->save();  | 
                                |
| 83 |             foreach ($fields as $field) { | 
                                |
| 84 |                 if (!$field->save) { | 
                                |
| 85 | continue;  | 
                                |
| 86 | }  | 
                                |
| 87 | $userAddsValue = new Ecommerce\UserAdds\Value();  | 
                                |
| 88 | $userAddsValue->value = htmlspecialchars($data[$field->id]);  | 
                                |
| 89 | $userAddsValue->useradds_field_id = $field->id;  | 
                                |
| 90 | $userAddsValue->useradds_id = $userAdds->id;  | 
                                |
| 91 | $userAddsValue->save();  | 
                                |
| 92 | }  | 
                                |
| 93 | }  | 
                                |
| 94 | $user = \Users\User::get($cart->user_id);  | 
                                |
| 95 |         foreach ($fields as $field) { | 
                                |
| 96 | $info = new \Ecommerce\Cart\Info();  | 
                                |
| 97 | $info->name = $field->name;  | 
                                |
| 98 | $info->value = htmlspecialchars($data[$field->id]);  | 
                                |
| 99 | $info->useradds_field_id = $field->id;  | 
                                |
| 100 | $info->cart_id = $cart->id;  | 
                                |
| 101 | $info->save();  | 
                                |
| 102 | $relations = [];  | 
                                |
| 103 |             if ($field->userfield) { | 
                                |
| 104 |                 if (strpos($field->userfield, ':')) { | 
                                |
| 105 |                     $path = explode(':', $field->userfield); | 
                                |
| 106 |                     if (!$user->{$path[0]}->{$path[1]}) { | 
                                |
| 107 |                         $user->{$path[0]}->{$path[1]} = $info->value; | 
                                |
| 108 | $relations[$path[0]] = $path[0];  | 
                                |
| 109 | }  | 
                                |
| 110 |                 } else { | 
                                |
| 111 |                     if (!$user->{$field->userfield}) { | 
                                |
| 112 |                         $user->{$field->userfield} = $info->value; | 
                                |
| 113 | }  | 
                                |
| 114 | }  | 
                                |
| 115 | }  | 
                                |
| 116 |             foreach ($relations as $rel) { | 
                                |
| 117 | $user->$rel->save();  | 
                                |
| 118 | }  | 
                                |
| 119 | $user->save();  | 
                                |
| 120 | }  | 
                                |
| 121 | return $userAdds;  | 
                                |
| 122 | }  | 
                                |
| 123 | ||
| 124 |     public function parseDeliveryFields($data, $cart, $fields) { | 
                                |
| 125 | $name = '';  | 
                                |
| 126 |         foreach ($fields as $field) { | 
                                |
| @@ 124-179 (lines=56) @@ | ||
| 121 | return $userAdds;  | 
                                |
| 122 | }  | 
                                |
| 123 | ||
| 124 |     public function parseDeliveryFields($data, $cart, $fields) { | 
                                |
| 125 | $name = '';  | 
                                |
| 126 |         foreach ($fields as $field) { | 
                                |
| 127 |             if ($field->save && !empty($data[$field->id])) { | 
                                |
| 128 | $name .= htmlspecialchars($data[$field->id]) . ' ';  | 
                                |
| 129 | }  | 
                                |
| 130 | }  | 
                                |
| 131 | $name = trim($name);  | 
                                |
| 132 | ||
| 133 | $save = Ecommerce\Delivery\Save::get([['user_id', $cart->user->id], ['name', $name]]);  | 
                                |
| 134 |         if (!$save) { | 
                                |
| 135 | $save = new Ecommerce\Delivery\Save();  | 
                                |
| 136 | $save->user_id = $cart->user->id;  | 
                                |
| 137 | $save->name = $name;  | 
                                |
| 138 | $save->save();  | 
                                |
| 139 |             foreach ($fields as $field) { | 
                                |
| 140 |                 if (!$field->save) { | 
                                |
| 141 | continue;  | 
                                |
| 142 | }  | 
                                |
| 143 | $saveValue = new Ecommerce\Delivery\Value();  | 
                                |
| 144 | $saveValue->value = htmlspecialchars($data[$field->id]);  | 
                                |
| 145 | $saveValue->delivery_field_id = $field->id;  | 
                                |
| 146 | $saveValue->delivery_save_id = $save->id;  | 
                                |
| 147 | $saveValue->save();  | 
                                |
| 148 | }  | 
                                |
| 149 | }  | 
                                |
| 150 | $user = \Users\User::get($cart->user_id);  | 
                                |
| 151 |         foreach ($fields as $field) { | 
                                |
| 152 | $info = new \Ecommerce\Cart\DeliveryInfo();  | 
                                |
| 153 | $info->name = $field->name;  | 
                                |
| 154 | $info->value = htmlspecialchars($data[$field->id]);  | 
                                |
| 155 | $info->delivery_field_id = $field->id;  | 
                                |
| 156 | $info->cart_id = $cart->id;  | 
                                |
| 157 | $info->save();  | 
                                |
| 158 | $relations = [];  | 
                                |
| 159 |             if ($field->userfield) { | 
                                |
| 160 |                 if (strpos($field->userfield, ':')) { | 
                                |
| 161 |                     $path = explode(':', $field->userfield); | 
                                |
| 162 |                     if (!$user->{$path[0]}->{$path[1]}) { | 
                                |
| 163 |                         $user->{$path[0]}->{$path[1]} = $info->value; | 
                                |
| 164 | $relations[$path[0]] = $path[0];  | 
                                |
| 165 | }  | 
                                |
| 166 |                 } else { | 
                                |
| 167 |                     if (!$user->{$field->userfield}) { | 
                                |
| 168 |                         $user->{$field->userfield} = $info->value; | 
                                |
| 169 | }  | 
                                |
| 170 | }  | 
                                |
| 171 | }  | 
                                |
| 172 |             foreach ($relations as $rel) { | 
                                |
| 173 | $user->$rel->save();  | 
                                |
| 174 | }  | 
                                |
| 175 | $user->save();  | 
                                |
| 176 | }  | 
                                |
| 177 | return $save;  | 
                                |
| 178 | }  | 
                                |
| 179 | ||
| 180 |     public function getCurCart($create = true) { | 
                                |
| 181 | $cart = false;  | 
                                |
| 182 |         if (!empty($_SESSION['cart']['cart_id'])) { | 
                                |