blob: 1af244577783dd234cfc277ad642e0ab966cb51e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
<?php
/**
* user actions.
*
* @package mailadmin
* @subpackage user
* @author Your name here
* @version SVN: $Id: actions.class.php 2692 2006-11-15 21:03:55Z fabien $
*/
class userActions extends autouserActions
{
public function executeList()
{
// pageination
if($this->hasRequestParameter("max_per_page"))
$this->getUser()->setResultsPerPage($this->getRequestParameter("max_per_page"));
return parent::executeList();
}
public function executeCreate()
{
// populate preset values
$user = $this->getRequestParameter('user');
$user["parent_user_id"] = $this->getUser()->getId();
$this->getRequest()->setParameter('user', $user);
$this->setTemplate("edit");
return $this->executeEdit();
}
public function handleErrorCreate()
{
// populate preset values
$user = $this->getRequestParameter('user');
$user["parent_user_id"] = $this->getUser()->getId();
$this->getRequest()->setParameter('user', $user);
$this->setTemplate("edit");
return $this->handleErrorEdit();
}
public function executeLogin()
{
if($this->getRequest()->getMethod() != sfRequest::POST)
{
$this->getRequest()->setAttribute('referer', $this->getRequest()->getReferer());
return sfView::SUCCESS;
}
else
{
return $this->redirect($this->getRequestParameter('referer', '@homepage'));
}
}
public function handleErrorLogin()
{
return sfView::SUCCESS;
}
public function executeSettings()
{
$user = UserPeer::retrieveByPK($this->getUser()->getId());
$this->user = $user;
if($this->getRequest()->getMethod() != sfRequest::POST)
{
$this->getRequest()->setAttribute('referer', $this->getRequest()->getReferer());
}
else
{
if($this->getRequest()->getParameter("commit") == "Cancel")
return $this->redirect($this->getRequestParameter('referer', '@homepage'));
// update record
$user->setNickname($this->getRequestParameter("nickname"));
$user->setFirstName($this->getRequestParameter("first_name"));
$user->setLastName($this->getRequestParameter("last_name"));
$user->setEmail($this->getRequestParameter("email"));
// set new password
$password = $this->getRequestParameter("password2");
if($password != "")
$user->setPassword($password);
$user->save();
// update session
$this->getUser()->updateUserAttributes($user);
return $this->redirect($this->getRequestParameter('referer', '@homepage'));
}
return sfView::SUCCESS;
}
public function handleErrorSettings()
{
$user = UserPeer::retrieveByPK($this->getUser()->getId());
$this->user = $user;
if($this->getRequest()->getParameter("commit") == "Cancel")
return $this->redirect($this->getRequestParameter('referer', '@homepage'));
return sfView::SUCCESS;
}
public function executeLogout()
{
$this->getUser()->signOut($user);
$this->redirect("@homepage");
}
}
|