|
| 1 | +<?php |
| 2 | + |
| 3 | +namespace BenchComplexUnion; |
| 4 | + |
| 5 | +class WP_User { |
| 6 | + /** @return array<string, mixed> */ |
| 7 | + public function to_array(): array { return []; } |
| 8 | +} |
| 9 | + |
| 10 | +/** @var array<string, list<callable>> */ |
| 11 | +$hooks = []; |
| 12 | + |
| 13 | +/** @return mixed */ |
| 14 | +function apply_filters(string $hook, mixed $value, mixed ...$args): mixed { |
| 15 | + global $hooks; |
| 16 | + if (isset($hooks[$hook])) { foreach ($hooks[$hook] as $cb) { $value = $cb($value); } } |
| 17 | + return $value; |
| 18 | +} |
| 19 | + |
| 20 | +function do_action(string $hook, mixed ...$args): void { |
| 21 | + global $hooks; |
| 22 | + if (isset($hooks[$hook])) { foreach ($hooks[$hook] as $cb) { $cb(...$args); } } |
| 23 | +} |
| 24 | + |
| 25 | +/** @param array|object $data */ |
| 26 | +function insert($data): int { |
| 27 | + if ($data instanceof \stdClass) { $data = get_object_vars($data); } |
| 28 | + elseif ($data instanceof WP_User) { $data = $data->to_array(); } |
| 29 | + |
| 30 | + if (!empty($data["ID"])) { |
| 31 | + $id = (int)$data["ID"]; |
| 32 | + $update = true; |
| 33 | + $old_1 = $data["old_1"] ?? ""; |
| 34 | + $old_2 = $data["old_2"] ?? ""; |
| 35 | + $old_3 = $data["old_3"] ?? ""; |
| 36 | + $old_4 = $data["old_4"] ?? ""; |
| 37 | + $old_5 = $data["old_5"] ?? ""; |
| 38 | + $old_6 = $data["old_6"] ?? ""; |
| 39 | + $old_7 = $data["old_7"] ?? ""; |
| 40 | + $old_8 = $data["old_8"] ?? ""; |
| 41 | + $old_9 = $data["old_9"] ?? ""; |
| 42 | + $old_10 = $data["old_10"] ?? ""; |
| 43 | + } else { |
| 44 | + $id = 0; |
| 45 | + $update = false; |
| 46 | + $old_1 = ""; |
| 47 | + $old_2 = ""; |
| 48 | + $old_3 = ""; |
| 49 | + $old_4 = ""; |
| 50 | + $old_5 = ""; |
| 51 | + $old_6 = ""; |
| 52 | + $old_7 = ""; |
| 53 | + $old_8 = ""; |
| 54 | + $old_9 = ""; |
| 55 | + $old_10 = ""; |
| 56 | + } |
| 57 | + |
| 58 | + $meta_1 = apply_filters("pre_f1", empty($data["f1"]) ? "" : $data["f1"]); |
| 59 | + $meta_2 = apply_filters("pre_f2", empty($data["f2"]) ? "" : $data["f2"]); |
| 60 | + $meta_3 = apply_filters("pre_f3", empty($data["f3"]) ? "" : $data["f3"]); |
| 61 | + $meta_4 = apply_filters("pre_f4", empty($data["f4"]) ? "" : $data["f4"]); |
| 62 | + $meta_5 = apply_filters("pre_f5", empty($data["f5"]) ? "" : $data["f5"]); |
| 63 | + $meta_6 = apply_filters("pre_f6", empty($data["f6"]) ? "" : $data["f6"]); |
| 64 | + $meta_7 = apply_filters("pre_f7", empty($data["f7"]) ? "" : $data["f7"]); |
| 65 | + $meta_8 = apply_filters("pre_f8", empty($data["f8"]) ? "" : $data["f8"]); |
| 66 | + $meta_9 = apply_filters("pre_f9", empty($data["f9"]) ? "" : $data["f9"]); |
| 67 | + $meta_10 = apply_filters("pre_f10", empty($data["f10"]) ? "" : $data["f10"]); |
| 68 | + $meta_11 = apply_filters("pre_f11", empty($data["f11"]) ? "" : $data["f11"]); |
| 69 | + $meta_12 = apply_filters("pre_f12", empty($data["f12"]) ? "" : $data["f12"]); |
| 70 | + $meta_13 = apply_filters("pre_f13", empty($data["f13"]) ? "" : $data["f13"]); |
| 71 | + $meta_14 = apply_filters("pre_f14", empty($data["f14"]) ? "" : $data["f14"]); |
| 72 | + $meta_15 = apply_filters("pre_f15", empty($data["f15"]) ? "" : $data["f15"]); |
| 73 | + $meta_16 = apply_filters("pre_f16", empty($data["f16"]) ? "" : $data["f16"]); |
| 74 | + $meta_17 = apply_filters("pre_f17", empty($data["f17"]) ? "" : $data["f17"]); |
| 75 | + $meta_18 = apply_filters("pre_f18", empty($data["f18"]) ? "" : $data["f18"]); |
| 76 | + $meta_19 = apply_filters("pre_f19", empty($data["f19"]) ? "" : $data["f19"]); |
| 77 | + $meta_20 = apply_filters("pre_f20", empty($data["f20"]) ? "" : $data["f20"]); |
| 78 | + |
| 79 | + do_action("after_insert", $id, $data); |
| 80 | + return $id; |
| 81 | +} |
0 commit comments