@@ 12-101 (lines=90) @@ | ||
9 | /** |
|
10 | * Form to update an item. |
|
11 | */ |
|
12 | class AdminUpdateUser extends FormModel |
|
13 | { |
|
14 | /** |
|
15 | * Constructor injects with DI container and the id to update. |
|
16 | * |
|
17 | * @param Anax\DI\DIInterface $di a service container |
|
18 | * @param integer $id to update |
|
19 | */ |
|
20 | public function __construct(DIInterface $di, $id) |
|
21 | { |
|
22 | parent::__construct($di); |
|
23 | $user = $this->getItemDetails($id); |
|
24 | $this->form->create( |
|
25 | [ |
|
26 | "id" => __CLASS__, |
|
27 | "legend" => "Update details of the item", |
|
28 | ], |
|
29 | [ |
|
30 | "id" => [ |
|
31 | "type" => "hidden", |
|
32 | "value" => $user->id, |
|
33 | ], |
|
34 | ||
35 | "name" => [ |
|
36 | "type" => "text", |
|
37 | "validation" => ["not_empty"], |
|
38 | "value" => $user->name, |
|
39 | ], |
|
40 | ||
41 | "email" => [ |
|
42 | "type" => "text", |
|
43 | "validation" => ["not_empty"], |
|
44 | "value" => $user->email, |
|
45 | ], |
|
46 | ||
47 | "age" => [ |
|
48 | "type" => "number", |
|
49 | "validation" => ["not_empty"], |
|
50 | "value" => $user->age, |
|
51 | ], |
|
52 | ||
53 | "submit" => [ |
|
54 | "type" => "submit", |
|
55 | "value" => "Save", |
|
56 | "callback" => [$this, "callbackSubmit"], |
|
57 | ], |
|
58 | ||
59 | "reset" => [ |
|
60 | "type" => "reset", |
|
61 | ], |
|
62 | ] |
|
63 | ); |
|
64 | } |
|
65 | ||
66 | ||
67 | /** |
|
68 | * Get details on item to load form with. |
|
69 | * |
|
70 | * @param integer $id get details on item with id. |
|
71 | * |
|
72 | * @return $user |
|
73 | */ |
|
74 | public function getItemDetails($id) |
|
75 | { |
|
76 | $user = new User(); |
|
77 | $user->setDb($this->di->get("db")); |
|
78 | $user->find("id", $id); |
|
79 | return $user; |
|
80 | } |
|
81 | ||
82 | ||
83 | /** |
|
84 | * Callback for submit-button which should return true if it could |
|
85 | * carry out its work and false if something failed. |
|
86 | * |
|
87 | * @return boolean true if okey, false if something went wrong. |
|
88 | */ |
|
89 | public function callbackSubmit() |
|
90 | { |
|
91 | $user = new User(); |
|
92 | $user->setDb($this->di->get("db")); |
|
93 | $user->find("id", $this->form->value("id")); |
|
94 | $user->name = htmlentities($this->form->value("name")); |
|
95 | $user->email = htmlentities($this->form->value("email")); |
|
96 | $user->age = htmlentities($this->form->value("age")); |
|
97 | $user->save(); |
|
98 | $url = $this->di->get("url")->create("admin"); |
|
99 | $this->di->get("response")->redirect($url . "/update/{$user->id}"); |
|
100 | } |
|
101 | } |
|
102 |
@@ 12-102 (lines=91) @@ | ||
9 | /** |
|
10 | * Form to update an item. |
|
11 | */ |
|
12 | class UpdateProfileForm extends FormModel |
|
13 | { |
|
14 | /** |
|
15 | * Constructor injects with DI container and the id to update. |
|
16 | * |
|
17 | * @param Anax\DI\DIInterface $di a service container |
|
18 | * @param integer $id to update |
|
19 | */ |
|
20 | public function __construct(DIInterface $di, $id) |
|
21 | { |
|
22 | parent::__construct($di); |
|
23 | $profileInfo = $this->getItemDetails($id); |
|
24 | $this->form->create( |
|
25 | [ |
|
26 | "id" => __CLASS__, |
|
27 | "legend" => "Update details of the item", |
|
28 | ], |
|
29 | [ |
|
30 | "id" => [ |
|
31 | "type" => "hidden", |
|
32 | "value" => $profileInfo->id, |
|
33 | ], |
|
34 | "email" => [ |
|
35 | "type" => "text", |
|
36 | "validation" => ["not_empty"], |
|
37 | "value" => $profileInfo->email, |
|
38 | ], |
|
39 | ||
40 | "name" => [ |
|
41 | "type" => "text", |
|
42 | "validation" => ["not_empty"], |
|
43 | "value" => $profileInfo->name, |
|
44 | ], |
|
45 | ||
46 | "age" => [ |
|
47 | "type" => "number", |
|
48 | "validation" => ["not_empty"], |
|
49 | "value" => $profileInfo->age, |
|
50 | ], |
|
51 | ||
52 | "submit" => [ |
|
53 | "type" => "submit", |
|
54 | "value" => "Save", |
|
55 | "callback" => [$this, "callbackSubmit"], |
|
56 | ], |
|
57 | ||
58 | "reset" => [ |
|
59 | "type" => "reset", |
|
60 | ], |
|
61 | ] |
|
62 | ); |
|
63 | } |
|
64 | ||
65 | ||
66 | /** |
|
67 | * Get details on item to load form with. |
|
68 | * |
|
69 | * @param integer $id get details on item with id. |
|
70 | * |
|
71 | * @return $user |
|
72 | */ |
|
73 | public function getItemDetails($id) |
|
74 | { |
|
75 | $user = new User(); |
|
76 | $user->setDb($this->di->get("db")); |
|
77 | $user->find("id", $id); |
|
78 | return $user; |
|
79 | } |
|
80 | ||
81 | ||
82 | /** |
|
83 | * Callback for submit-button which should return true if it could |
|
84 | * carry out its work and false if something failed. |
|
85 | * |
|
86 | * @return boolean true if okey, false if something went wrong. |
|
87 | */ |
|
88 | public function callbackSubmit() |
|
89 | { |
|
90 | $user = new User(); |
|
91 | $user->setDb($this->di->get("db")); |
|
92 | $user->find("id", $this->form->value("id")); |
|
93 | $user->email = htmlentities($this->form->value("email")); |
|
94 | $user->name = htmlentities($this->form->value("name")); |
|
95 | $user->age = htmlentities($this->form->value("age")); |
|
96 | $user->save(); |
|
97 | $this->di->get("session")->set("email", $user->email); |
|
98 | $url = $this->di->get("url")->create("user/login"); |
|
99 | $this->di->get("response")->redirect($url); |
|
100 | //$this->di->get("response")->redirect($url . "/update/{$book->id}"); |
|
101 | } |
|
102 | } |
|
103 |