##// END OF EJS Templates
modificaciones del componente usuarios. Reduccion de codigo
arturo -
r4:5
parent child
Show More
@@ -1,718 +1,717
1 <?php
1 <?php
2 class UsersController extends ControllerBase{
2 class UsersController extends ControllerBase{
3
3
4 public function ingresar(){
4 public function ingresar(){
5
5
6 if(isset($_SESSION['usersession']['iduser'])){
6 if(isset($_SESSION['usersession']['iduser'])){
7 require 'models/UsersModel.php';
7 require 'models/UsersModel.php';
8
8
9 $user = new UsersModel();
9 $user = new UsersModel();
10 $session = new SessionsModel();
10 $session = new SessionsModel();
11
11
12 $datos_validados = $user->obtenerUsuarioxId($_SESSION['usersession']['iduser']);
12 $datos_validados = $user->obtenerUsuarioxId($_SESSION['usersession']['iduser']);
13 $datos_session_validados = $session->validarSession($_SESSION['usersession']['iduser']);
13 $datos_session_validados = $session->validarSession($_SESSION['usersession']['iduser']);
14
14
15 $datos_usuario = $datos_validados->fetch();
15 $datos_usuario = $datos_validados->fetch();
16 $datos_session = $datos_session_validados->fetch();
16 $datos_session = $datos_session_validados->fetch();
17
17
18 if(is_array($datos_usuario) && is_array($datos_session) && ($datos_usuario['usertype'] == 2) ){
18 if(is_array($datos_usuario) && is_array($datos_session) && ($datos_usuario['usertype'] == 2) ){
19 //$resultado_log = $items->registrarLogIngreso($datos_usuario["id_usu"]); ///???
19 //$resultado_log = $items->registrarLogIngreso($datos_usuario["id_usu"]); ///???
20 //require 'components'.DS.'com_messages'.DS.'models'.DS.'MailBoxesModel.php';
20 //require 'components'.DS.'com_messages'.DS.'models'.DS.'MailBoxesModel.php';
21
21
22 $date_last_activity = new DateTime(date("Y-m-d H:i:s"));
22 $date_last_activity = new DateTime(date("Y-m-d H:i:s"));
23
23
24 //$mailbox = new MailBoxesModel();
24 //$mailbox = new MailBoxesModel();
25
25
26 //$rs_boxes = $mailbox->getMailBoxesSystem($datos_usuario['iduser']);
26 //$rs_boxes = $mailbox->getMailBoxesSystem($datos_usuario['iduser']);
27
27
28 //$idtypemb = 1;
28 //$idtypemb = 1;
29 //$rsMailBox = $mailbox->getMailBoxType($datos_usuario['iduser'], $idtypemb);
29 //$rsMailBox = $mailbox->getMailBoxType($datos_usuario['iduser'], $idtypemb);
30 //$datosMailBox = $rsMailBox->fetch();
30 //$datosMailBox = $rsMailBox->fetch();
31
31
32 //$lista_mensajes = $mailbox->getMessagesNoRead($datosMailBox['idmailbox']);
32 //$lista_mensajes = $mailbox->getMessagesNoRead($datosMailBox['idmailbox']);
33 //$idmailbox = $datosMailBox['idmailbox'];
33 //$idmailbox = $datosMailBox['idmailbox'];
34
34
35 $_SESSION['usersession']['attempt'] = 0;
35 $_SESSION['usersession']['attempt'] = 0;
36 $_SESSION['usersession']['iduser'] = $datos_usuario['iduser'];
36 $_SESSION['usersession']['iduser'] = $datos_usuario['iduser'];
37 $_SESSION['usersession']['date_last_activity'] = $date_last_activity->format("Y-m-d H:i:s") ;
37 $_SESSION['usersession']['date_last_activity'] = $date_last_activity->format("Y-m-d H:i:s") ;
38 $_SESSION['usersession']['idsession'] = $datos_session['idsession'];
38 $_SESSION['usersession']['idsession'] = $datos_session['idsession'];
39
39
40 $datos['idsession'] = $datos_session['idsession'];
40 $datos['idsession'] = $datos_session['idsession'];
41 $datos['date_last_activity'] = $date_last_activity->format("Y-m-d H:i:s") ;
41 $datos['date_last_activity'] = $date_last_activity->format("Y-m-d H:i:s") ;
42
42
43 if($datos_usuario['state'] == 1){
43 if($datos_usuario['state'] == 1){
44 $data['datos_usuario'] = $datos_usuario;
44 $data['datos_usuario'] = $datos_usuario;
45 $data['inicio'] = 0;
45 $data['inicio'] = 0;
46 //$data['rs_boxes'] = $rs_boxes;
46 //$data['rs_boxes'] = $rs_boxes;
47 //$data['lista_mensajes'] = $lista_mensajes;
47 //$data['lista_mensajes'] = $lista_mensajes;
48 //$data['idmailbox'] = $idmailbox;
48 //$data['idmailbox'] = $idmailbox;
49 $data['content'] = "components".DS."com_users".DS."views".DS."home.php";
49 $data['content'] = "components".DS."com_users".DS."views".DS."home.php";
50 $data['title'] = "WELCOME:::::::::::::";
50 $data['title'] = "WELCOME:::::::::::::";
51
51
52 $this->view->show("template.php", $data);
52 $this->view->show("template.php", $data);
53 }else{
53 }else{
54 $data = array();
54 $data = array();
55 $data['xin'] = '';
55 $data['xin'] = '';
56 $data['forget'] = 'no';
56 $data['forget'] = 'no';
57 $data['force'] = 'yes';
57 $data['force'] = 'yes';
58
58
59 $this->view->show("usersNewPasswordForm.php", $data);
59 $this->view->show("usersNewPasswordForm.php", $data);
60 }
60 }
61 }else{
61 }else{
62 $data = array();
62 $data = array();
63 $this->view->show("login.php", $data);
63 $this->view->show("login.php", $data);
64 }
64 }
65 }else{
65 }else{
66 $data = array();
66 $data = array();
67 $this->view->show("login.php", $data);
67 $this->view->show("login.php", $data);
68 }
68 }
69 }
69 }
70
70
71 public function validarUsuario(){
71 public function validarUsuario(){
72
72
73 $valor_intervalo = 30;
73 $valor_intervalo = 30;
74 $intervalo = 'PT'.$valor_intervalo.'M';
74 $intervalo = 'PT'.$valor_intervalo.'M';
75 $tiempo_bloqueo = new DateInterval($intervalo); //minutos
75 $tiempo_bloqueo = new DateInterval($intervalo); //minutos
76
76
77 if(isset($_SESSION['usersession']['timebadlogin'])){
77 if(isset($_SESSION['usersession']['timebadlogin'])){
78 $valor_timebadlogin = $_SESSION['usersession']['timebadlogin'];
78 $valor_timebadlogin = $_SESSION['usersession']['timebadlogin'];
79 $timebadlogin = new DateTime($valor_timebadlogin);
79 $timebadlogin = new DateTime($valor_timebadlogin);
80 date_add($timebadlogin, $tiempo_bloqueo);
80 date_add($timebadlogin, $tiempo_bloqueo);
81 $timeactual = new DateTime(date("Y-m-d H:i:s"));
81 $timeactual = new DateTime(date("Y-m-d H:i:s"));
82
82
83 if($timeactual > $timebadlogin){
83 if($timeactual > $timebadlogin){
84 $_SESSION['usersession']['disabled'] = false;
84 $_SESSION['usersession']['disabled'] = false;
85 $_SESSION['usersession']['attempt'] = 0;
85 $_SESSION['usersession']['attempt'] = 0;
86 unset($_SESSION['usersession']['timebadlogin']);
86 unset($_SESSION['usersession']['timebadlogin']);
87 }
87 }
88 }
88 }
89
89
90 require 'components'.DS.'com_users'.DS.'models'.DS.'UsersModel.php';
90 require 'components'.DS.'com_users'.DS.'models'.DS.'UsersModel.php';
91
91
92 $user = new UsersModel();
92 $user = new UsersModel();
93 $session = new SessionsModel();
93 $session = new SessionsModel();
94
94
95 $username = $_REQUEST["username"];
95 $username = $_REQUEST["username"];
96 $password = $_REQUEST["passwd"];
96 $password = $_REQUEST["passwd"];
97
97
98 if( (@$_SESSION['usersession']['attempt'] < 3) && ( @!$_SESSION['usersession']['disabled'] ) ){
98 if( (@$_SESSION['usersession']['attempt'] < 3) && ( @!$_SESSION['usersession']['disabled'] ) ){
99
99
100 $datos_usuario = "";
100 $datos_usuario = "";
101 $rs_usuario = $user->validateUsers($username,$password);
101 $rs_usuario = $user->validateUsers($username,$password);
102 $datos_usuario = $rs_usuario->fetch();
102 $datos_usuario = $rs_usuario->fetch();
103
103
104 if(@is_array($datos_usuario)){
104 if(@is_array($datos_usuario)){
105 $_SESSION["usersession"]["iduser"] = $datos_usuario['iduser'];
105 $_SESSION["usersession"]["iduser"] = $datos_usuario['iduser'];
106 $_SESSION["usersession"]["username"] = $datos_usuario['username'];
106 $_SESSION["usersession"]["username"] = $datos_usuario['username'];
107 $_SESSION["usersession"]["firstname"] = $datos_usuario['firstname'];
107 $_SESSION["usersession"]["firstname"] = $datos_usuario['firstname'];
108 $_SESSION["usersession"]["lastname"] = $datos_usuario['lastname'];
108 $_SESSION["usersession"]["lastname"] = $datos_usuario['lastname'];
109 $_SESSION["usersession"]["photo"] = $datos_usuario['photo'];
109 $_SESSION["usersession"]["photo"] = $datos_usuario['photo'];
110 $_SESSION["usersession"]["type"] = $datos_usuario['usertype'];
110 $_SESSION["usersession"]["type"] = $datos_usuario['usertype'];
111
111
112 $date_session = new DateTime(date('Y-m-d H:i:s'));
112 $date_session = new DateTime(date('Y-m-d H:i:s'));
113 $date_last_activity = new DateTime(date("Y-m-d H:i:s"));
113 $date_last_activity = new DateTime(date("Y-m-d H:i:s"));
114
114
115 $datos['idsession'] = "";
115 $datos['idsession'] = "";
116 $datos['iduser'] = $datos_usuario['iduser'];
116 $datos['iduser'] = $datos_usuario['iduser'];
117 $datos['client_ip'] = $_SERVER['REMOTE_ADDR'];
117 $datos['client_ip'] = $_SERVER['REMOTE_ADDR'];
118 $datos['date_session'] = $date_session->format('Y-m-d H:i:s');
118 $datos['date_session'] = $date_session->format('Y-m-d H:i:s');
119 $datos['date_last_activity'] = $date_last_activity->format("Y-m-d H:i:s") ;
119 $datos['date_last_activity'] = $date_last_activity->format("Y-m-d H:i:s") ;
120 $datos['state'] = 1;
120 $datos['state'] = 1;
121
121
122 list($rs_session, $idsession, $message) = $session->addItem($datos);
122 list($rs_session, $idsession, $message) = $session->addItem($datos);
123 $_SESSION['usersession']['idsession'] = $idsession;
123 $_SESSION['usersession']['idsession'] = $idsession;
124
124
125 $_SESSION['usersession']['attempt'] = 0;
125 $_SESSION['usersession']['attempt'] = 0;
126 $_SESSION['usersession']['client_ip'] = $_SERVER['REMOTE_ADDR'];
126 $_SESSION['usersession']['client_ip'] = $_SERVER['REMOTE_ADDR'];
127 $_SESSION['usersession']['date_session'] = $date_session->format('Y-m-d H:i:s');
127 $_SESSION['usersession']['date_session'] = $date_session->format('Y-m-d H:i:s');
128 $_SESSION['usersession']['date_last_activity'] = $date_last_activity->format("Y-m-d H:i:s");
128 $_SESSION['usersession']['date_last_activity'] = $date_last_activity->format("Y-m-d H:i:s");
129 $_SESSION['usersession']['state'] = 1;
129 $_SESSION['usersession']['state'] = 1;
130 //coloca los idmailbox dentro de la variable de session
130 //coloca los idmailbox dentro de la variable de session
131 //$_SESSION['usersession']['inbox'] = $mnuBoxes[0]['idmailbox'];//Inbox
131 //$_SESSION['usersession']['inbox'] = $mnuBoxes[0]['idmailbox'];//Inbox
132 $_SESSION['usersession']['inbox'] = 1;//Inbox
132 $_SESSION['usersession']['inbox'] = 1;//Inbox
133 //$_SESSION['usersession']['sent'] = $mnuBoxes[1]['idmailbox'];//Sent
133 //$_SESSION['usersession']['sent'] = $mnuBoxes[1]['idmailbox'];//Sent
134 $_SESSION['usersession']['sent'] = 2;//Sent
134 $_SESSION['usersession']['sent'] = 2;//Sent
135 //$_SESSION['usersession']['trash'] = $mnuBoxes[2]['idmailbox'];//Trash
135 //$_SESSION['usersession']['trash'] = $mnuBoxes[2]['idmailbox'];//Trash
136 $_SESSION['usersession']['trash'] = 3;//Trash
136 $_SESSION['usersession']['trash'] = 3;//Trash
137
137
138 if(($datos_usuario['state'] == 4) || ($datos_usuario['state'] == 5)){
138 if(($datos_usuario['state'] == 4) || ($datos_usuario['state'] == 5)){
139 $url = "index.php?option=com_users&controller=Users&action=getNewPasswordForm";
139 $url = "index.php?option=com_users&controller=Users&action=getNewPasswordForm";
140 header("location: ".$url);
140 header("location: ".$url);
141 exit(0);
141 exit(0);
142 }
142 }
143 if($datos_usuario['state'] == 2){
143 if($datos_usuario['state'] == 2){
144 $data['titulo'] = "Error:: User Locked";
144 $data['titulo'] = "Error:: User Locked";
145 $data['mensaje'] = "Login is disabled by excesses of failed attempts. Contact your 'System Administrator' to solve the problem";
145 $data['mensaje'] = "Login is disabled by excesses of failed attempts. Contact your 'System Administrator' to solve the problem";
146 $this->view->show("errorLogin.php", $data);
146 $this->view->show("errorLogin.php", $data);
147 exit(0);
147 exit(0);
148 }
148 }
149
149
150 $flag_activo = true;
150 $flag_activo = true;
151 //require 'components'.DS.'com_messages'.DS.'models'.DS.'MailBoxesModel.php';
151 //require 'components'.DS.'com_messages'.DS.'models'.DS.'MailBoxesModel.php';
152
152
153 //$resultado_log = $items->registrarLogIngreso($datos_usuario["id_usu"]);
153 //$resultado_log = $items->registrarLogIngreso($datos_usuario["id_usu"]);
154 /*
154 /*
155 $mailbox = new MailBoxesModel();
155 $mailbox = new MailBoxesModel();
156
156
157 $rs_boxes = $mailbox->getMailBoxesSystem($datos_usuario['iduser']);
157 $rs_boxes = $mailbox->getMailBoxesSystem($datos_usuario['iduser']);
158 //Coloca los idmailbox dentro de variables de session
158 //Coloca los idmailbox dentro de variables de session
159 $rs_mnuboxes = $mailbox->getIDMailBoxesSystem($datos_usuario['iduser']);
159 $rs_mnuboxes = $mailbox->getIDMailBoxesSystem($datos_usuario['iduser']);
160 $mnuBoxes = $rs_mnuboxes->fetchAll();
160 $mnuBoxes = $rs_mnuboxes->fetchAll();
161
161
162 $idtypemb = 1;
162 $idtypemb = 1;
163 $rsMailBox = $mailbox->getMailBoxType($datos_usuario['iduser'], $idtypemb);
163 $rsMailBox = $mailbox->getMailBoxType($datos_usuario['iduser'], $idtypemb);
164 $datosMailBox = $rsMailBox->fetch();
164 $datosMailBox = $rsMailBox->fetch();
165
165
166 $lista_mensajes = $mailbox->getMessagesNoRead($datosMailBox['idmailbox']);
166 $lista_mensajes = $mailbox->getMessagesNoRead($datosMailBox['idmailbox']);
167 $idmailbox = $datosMailBox['idmailbox'];
167 $idmailbox = $datosMailBox['idmailbox'];
168 */
168 */
169
169
170 $data['datos_usuario'] = $datos_usuario;
170 $data['datos_usuario'] = $datos_usuario;
171 $data['inicio'] = 0;
171 $data['inicio'] = 0;
172 //$data['rs_boxes'] = $rs_boxes;
172 //$data['rs_boxes'] = $rs_boxes;
173 //$data['lista_mensajes'] = $lista_mensajes;
173 //$data['lista_mensajes'] = $lista_mensajes;
174 //$data['idmailbox'] = $idmailbox;
174 //$data['idmailbox'] = $idmailbox;
175 $data['content'] = "components".DS."com_users".DS."views".DS."home.php";
175 $data['content'] = "components".DS."com_users".DS."views".DS."home.php";
176 $data['title'] = "WELCOME:::::::::::";
176 $data['title'] = "WELCOME:::::::::::";
177
177
178 $this->view->show("template.php", $data);
178 $this->view->show("template.php", $data);
179 }else{
179 }else{
180 $result = $user->obtenerUsuarioxUsername($username);
180 $result = $user->obtenerUsuarioxUsername($username);
181 $data_user = $result->fetch();
181 $data_user = $result->fetch();
182 if(is_array($data_user)){
182 if(is_array($data_user)){
183 if (!isset($_SESSION['usersession'])) {
183 if (!isset($_SESSION['usersession'])) {
184 $_SESSION['usersession'] = array();
184 $_SESSION['usersession'] = array();
185 $_SESSION['usersession']['attempt'] = 1;
185 $_SESSION['usersession']['attempt'] = 1;
186 }else{
186 }else{
187 if (!isset($_SESSION['usersession']['attempt'])) {
187 if (!isset($_SESSION['usersession']['attempt'])) {
188 $_SESSION['usersession']['attempt'] = 1;
188 $_SESSION['usersession']['attempt'] = 1;
189 }else{
189 }else{
190 $_SESSION['usersession']['attempt']++;
190 $_SESSION['usersession']['attempt']++;
191 }
191 }
192 }
192 }
193 if ($_SESSION['usersession']['attempt'] == 3){
193 if ($_SESSION['usersession']['attempt'] == 3){
194 $datos['state'] = 2;
194 $datos['state'] = 2;
195 $user->setIdValue($data_user['iduser']);
195 $user->setIdValue($data_user['iduser']);
196 list($result, $message) = $user->UpdateItem($datos);
196 list($result, $message) = $user->UpdateItem($datos);
197
197
198 $data['titulo'] = "Failed attempts excess";
198 $data['titulo'] = "Failed attempts excess";
199 $data['mensaje'] = "You have exceeded the number of attempts. <br /> User blocked";
199 $data['mensaje'] = "You have exceeded the number of attempts. <br /> User blocked";
200
200
201 $this->view->show("errorLogin.php", $data);
201 $this->view->show("errorLogin.php", $data);
202 exit(0);
202 exit(0);
203 }
203 }
204 }else{
204 }else{
205 if (!isset($_SESSION['usersession'])) {
205 if (!isset($_SESSION['usersession'])) {
206 $_SESSION['usersession'] = array();
206 $_SESSION['usersession'] = array();
207 $_SESSION['usersession']['attempt'] = 1;
207 $_SESSION['usersession']['attempt'] = 1;
208 }else{
208 }else{
209 if (!isset($_SESSION['usersession']['attempt'])) {
209 if (!isset($_SESSION['usersession']['attempt'])) {
210 $_SESSION['usersession']['attempt'] = 1;
210 $_SESSION['usersession']['attempt'] = 1;
211 }else{
211 }else{
212 $_SESSION['usersession']['attempt']++;
212 $_SESSION['usersession']['attempt']++;
213 }
213 }
214 }
214 }
215 $data['titulo'] = "Error user login / password";
215 $data['titulo'] = "Error user login / password";
216 $data['mensaje'] = "Error user login / password";
216 $data['mensaje'] = "Error user login / password";
217 //Finalmente presentamos nuestra plantilla
217 //Finalmente presentamos nuestra plantilla
218 $this->view->show("errorLogin.php", $data);
218 $this->view->show("errorLogin.php", $data);
219 exit(0);
219 exit(0);
220 }
220 }
221 }
221 }
222 }else{
222 }else{
223 //EXCESO DE INTENTOS
223 //EXCESO DE INTENTOS
224 $timebadlogin = new DateTime(date('Y-m-d H:i:s'));
224 $timebadlogin = new DateTime(date('Y-m-d H:i:s'));
225 //deshabilitar logueo por determinado tiempo
225 //deshabilitar logueo por determinado tiempo
226 $data['titulo'] = "Failed attempts excess";
226 $data['titulo'] = "Failed attempts excess";
227 $data['mensaje'] = "You have exceeded the number of attempts.<br />Try again in".$valor_intervalo." minutes";
227 $data['mensaje'] = "You have exceeded the number of attempts.<br />Try again in".$valor_intervalo." minutes";
228 //establecemos la variable que maneje el tiempo de espera
228 //establecemos la variable que maneje el tiempo de espera
229 $_SESSION['usersession']['disabled'] = true;
229 $_SESSION['usersession']['disabled'] = true;
230 if(!isset($_SESSION['usersession']['timebadlogin'])){
230 if(!isset($_SESSION['usersession']['timebadlogin'])){
231 $_SESSION['usersession']['timebadlogin'] = $timebadlogin->format('Y-m-d H:i:s');
231 $_SESSION['usersession']['timebadlogin'] = $timebadlogin->format('Y-m-d H:i:s');
232 }
232 }
233
233
234 $this->view->show("errorLogin.php", $data);
234 $this->view->show("errorLogin.php", $data);
235 }
235 }
236 }
236 }
237
237
238 public function logout(){
238 public function logout(){
239 //@print_r($_SESSION['usersession']);
239 //@print_r($_SESSION['usersession']);
240 $session = new SessionsModel();
240 $session = new SessionsModel();
241
241
242 $rs_datos_session = $session->validarSession(@$_SESSION['usersession']['iduser']);
242 $rs_datos_session = $session->validarSession(@$_SESSION['usersession']['iduser']);
243 //print_r($rs_datos_session);
243 //print_r($rs_datos_session);
244 $datos_session = $rs_datos_session->fetch();
244 $datos_session = $rs_datos_session->fetch();
245 $date_last_activity = new DateTime(date("Y-m-d H:i:s"));
245 $date_last_activity = new DateTime(date("Y-m-d H:i:s"));
246
246
247 //establecemos el arreglo datos.
247 //establecemos el arreglo datos.
248 $datos['date_last_activity'] = $date_last_activity->format('Y-m-d H:i:s');
248 $datos['date_last_activity'] = $date_last_activity->format('Y-m-d H:i:s');
249 $datos['idsession'] = $datos_session['idsession'];
249 $datos['idsession'] = $datos_session['idsession'];
250 $rs = $session->setInactive($datos);
250 $rs = $session->setInactive($datos);
251
251
252 unset($_SESSION['usersession']);
252 unset($_SESSION['usersession']);
253 session_destroy();
253 session_destroy();
254
254
255 $data = array();
255 $data = array();
256 $this->view->show("logout.php", $data);
256 $this->view->show("logout.php", $data);
257 }
257 }
258
258
259 public function getRememberPasswordForm(){
259 public function getRememberPasswordForm(){
260 $data = array();
260 $data = array();
261 $this->view->show("password.php", $data);
261 $this->view->show("password.php", $data);
262 }
262 }
263
263
264 public function sendPasswordLink(){
264 public function sendPasswordLink(){
265
265
266 require 'models/UsersModel.php';
266 require 'models/UsersModel.php';
267 $user = new UsersModel();
267 $user = new UsersModel();
268
268
269 $username = $_REQUEST["usuario"];
269 $username = $_REQUEST["usuario"];
270
270
271 $rs_usuario = $user->obtenerUsuarioxUsername($username);
271 $rs_usuario = $user->obtenerUsuarioxUsername($username);
272 $datos_usuario = $rs_usuario->fetch();
272 $datos_usuario = $rs_usuario->fetch();
273
273
274 if(is_array($datos_usuario)){
274 if(is_array($datos_usuario)){
275 $servername = $_SERVER['SERVER_NAME'];
275 $servername = $_SERVER['SERVER_NAME'];
276 $usernamemd5 = md5($datos_usuario['username']);
276 $usernamemd5 = md5($datos_usuario['username']);
277 $link = 'http://'.$servername.'/?controller=Users&action=getNewPasswordForm&xin='.$usernamemd5.'&forget=yes';
277 $link = 'http://'.$servername.'/?controller=Users&action=getNewPasswordForm&xin='.$usernamemd5.'&forget=yes';
278
278
279 $contenido = '';
279 $contenido = '';
280
280
281 $destinatario = "nmedina79@gmail.com";
281 $destinatario = "nmedina79@gmail.com";
282 $asunto = "Este mensaje es de prueba";
282 $asunto = "Este mensaje es de prueba";
283 $cuerpo = '
283 $cuerpo = '
284 <html>
284 <html>
285 <head>
285 <head>
286 <title>Prueba de correo</title>
286 <title>Prueba de correo</title>
287 </head>
287 </head>
288 <body>
288 <body>
289 <h1>Hola amigos!</h1>
289 <h1>Hola amigos!</h1>
290 <p>
290 <p>
291 <b>Bienvenidos a mi correo electronico de prueba</b>. Estoy encantado de tener tantos lectores. Este cuerpo del mensaje es del articulo de envio de mails por PHP. Habria que cambiarlo para poner tu propio cuerpo. Por cierto, cambia tambien las cabeceras del mensaje.<br/>
291 <b>Bienvenidos a mi correo electronico de prueba</b>. Estoy encantado de tener tantos lectores. Este cuerpo del mensaje es del articulo de envio de mails por PHP. Habria que cambiarlo para poner tu propio cuerpo. Por cierto, cambia tambien las cabeceras del mensaje.<br/>
292 enlace : <a href="'.$link.'" target="_parent">'.$link.'</a>
292 enlace : <a href="'.$link.'" target="_parent">'.$link.'</a>
293
293
294 </p>
294 </p>
295 </body>
295 </body>
296 </html>
296 </html>
297 ';
297 ';
298
298
299 //para el envio en formato HTML
299 //para el envio en formato HTML
300 $headers = "MIME-Version: 1.0\r\n";
300 $headers = "MIME-Version: 1.0\r\n";
301 $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
301 $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
302
302
303 //direccion del remitente
303 //direccion del remitente
304 $headers .= "From: Administrador <admin@epimed.com>\r\n";
304 $headers .= "From: Administrador <admin@epimed.com>\r\n";
305
305
306 //direccion de respuesta, si queremos que sea distinta que la del remitente
306 //direccion de respuesta, si queremos que sea distinta que la del remitente
307 $headers .= "Reply-To: deployment@epimed.com\r\n";
307 $headers .= "Reply-To: deployment@epimed.com\r\n";
308
308
309 //ruta del mensaje desde origen a destino
309 //ruta del mensaje desde origen a destino
310 $headers .= "Return-path: nmedina79@gmail.com\r\n";
310 $headers .= "Return-path: nmedina79@gmail.com\r\n";
311
311
312 //direcciones que recibion copia
312 //direcciones que recibion copia
313 $headers .= "Cc: deployment@epimed.com\r\n";
313 $headers .= "Cc: deployment@epimed.com\r\n";
314
314
315 //direcciones que recibiron copia oculta
315 //direcciones que recibiron copia oculta
316 $headers .= "Bcc: jsalyrosas@poweruptechs.com,hleon@poweruptechs.com\r\n";
316 $headers .= "Bcc: jsalyrosas@poweruptechs.com,hleon@poweruptechs.com\r\n";
317
317
318 if(mail($destinatario,$asunto,$cuerpo,$headers)){
318 if(mail($destinatario,$asunto,$cuerpo,$headers)){
319 $mensaje = 'An email with a link to update has been sent to your email.';
319 $mensaje = 'An email with a link to update has been sent to your email.';
320 }else{
320 }else{
321 $mensaje = 'Failed to send link. Try again in a few minutes or contact your system administrator';
321 $mensaje = 'Failed to send link. Try again in a few minutes or contact your system administrator';
322 }
322 }
323
323
324 try{
324 try{
325 mail($destinatario,$asunto,$cuerpo,$headers);
325 mail($destinatario,$asunto,$cuerpo,$headers);
326 }catch (Exception $e){
326 }catch (Exception $e){
327 echo 'Caught exception: ', $e->getMessage(), "\n";
327 echo 'Caught exception: ', $e->getMessage(), "\n";
328 }
328 }
329
329
330 /*
330 /*
331 require("class.phpmailer.php");
331 require("class.phpmailer.php");
332 $mail = new PHPMailer();
332 $mail = new PHPMailer();
333
333
334 $mail->IsSMTP(); // set mailer to use SMTP
334 $mail->IsSMTP(); // set mailer to use SMTP
335 $mail->Host = "smtp.innovaciencia.com;smtp.innovaciencia.com"; // specify main and backup server
335 $mail->Host = "smtp.innovaciencia.com;smtp.innovaciencia.com"; // specify main and backup server
336 $mail->SMTPAuth = true; // turn on SMTP authentication
336 $mail->SMTPAuth = true; // turn on SMTP authentication
337 $mail->Username = "jsalyrosas"; // SMTP username
337 $mail->Username = "jsalyrosas"; // SMTP username
338 $mail->Password = "j05e4nt0n10"; // SMTP password
338 $mail->Password = "j05e4nt0n10"; // SMTP password
339
339
340 $mail->From = "Admin@epimed.com";
340 $mail->From = "Admin@epimed.com";
341 $mail->FromName = "Admin";
341 $mail->FromName = "Admin";
342 $mail->AddAddress("nmedina79@gmail.com", "Josh Adams");
342 $mail->AddAddress("nmedina79@gmail.com", "Josh Adams");
343 $mail->AddAddress("nmedina79@gmail.com"); // name is optional
343 $mail->AddAddress("nmedina79@gmail.com"); // name is optional
344 $mail->AddReplyTo("nmedina79@hotmail.com", "Information");
344 $mail->AddReplyTo("nmedina79@hotmail.com", "Information");
345
345
346 $mail->WordWrap = 50; // set word wrap to 50 characters
346 $mail->WordWrap = 50; // set word wrap to 50 characters
347 //$mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments
347 //$mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments
348 //$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name
348 //$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name
349 $mail->IsHTML(true); // set email format to HTML
349 $mail->IsHTML(true); // set email format to HTML
350
350
351 $mail->Subject = "Here is the subject";
351 $mail->Subject = "Here is the subject";
352 //$mail->Body = "This is the HTML message body <b>in bold!</b>".$cuerpo;
352 //$mail->Body = "This is the HTML message body <b>in bold!</b>".$cuerpo;
353 $mail->Body = $cuerpo;
353 $mail->Body = $cuerpo;
354 $mail->AltBody = "This is the body in plain text for non-HTML mail clients";
354 $mail->AltBody = "This is the body in plain text for non-HTML mail clients";
355
355
356 if(!$mail->Send()){
356 if(!$mail->Send()){
357 echo "Message could not be sent. <p>";
357 echo "Message could not be sent. <p>";
358 echo "Mailer Error: " . $mail->ErrorInfo;
358 echo "Mailer Error: " . $mail->ErrorInfo;
359 exit;
359 exit;
360 }
360 }
361
361
362 echo "Message has been sent";
362 echo "Message has been sent";
363 */
363 */
364 }else{
364 }else{
365 $mensaje = " User doesn't exist.";
365 $mensaje = " User doesn't exist.";
366 }
366 }
367
367
368 $data = array();
368 $data = array();
369 $data['mensaje'] = $mensaje;
369 $data['mensaje'] = $mensaje;
370 $data['link'] = $link;
370 $data['link'] = $link;
371
371
372 $this->view->show("password.php", $data);
372 $this->view->show("password.php", $data);
373 }
373 }
374
374
375 public function getNewPasswordForm(){
375 public function getNewPasswordForm(){
376 (!empty($_REQUEST['forget']))?$forget = $_REQUEST['forget']:$forget='no';
376 (!empty($_REQUEST['forget']))?$forget = $_REQUEST['forget']:$forget='no';
377 (!empty($_REQUEST['xin']))?$xin = $_REQUEST['xin']:$xin='';
377 (!empty($_REQUEST['xin']))?$xin = $_REQUEST['xin']:$xin='';
378 (!empty($_REQUEST['force']))?$force = $_REQUEST['force']:$force='yes';
378 (!empty($_REQUEST['force']))?$force = $_REQUEST['force']:$force='yes';
379
379
380 //@$forget = $_REQUEST['forget'];
380 //@$forget = $_REQUEST['forget'];
381 //@$xin = $_REQUEST['xin'];
381 //@$xin = $_REQUEST['xin'];
382 $data = array();
382 $data = array();
383 $data['forget'] = $forget;
383 $data['forget'] = $forget;
384 $data['force'] = $force;
384 $data['force'] = $force;
385 $data['xin'] = $xin;
385 $data['xin'] = $xin;
386
386
387 $this->view->show("change_passwd.php", $data);
387 $this->view->show("change_passwd.php", $data);
388 }
388 }
389
389
390 public function passwordUpdate(){
390 public function passwordUpdate(){
391
391
392 $datos = $_REQUEST['datos'];
392 $datos = $_REQUEST['datos'];
393 (!empty($_REQUEST['forget']))?$forget = $_REQUEST['forget']:$forget='no';
393 (!empty($_REQUEST['forget']))?$forget = $_REQUEST['forget']:$forget='no';
394 (!empty($_REQUEST['usernamemd5']))?$usernamemd5 = $_REQUEST['xin']:$usernamemd5='';
394 (!empty($_REQUEST['usernamemd5']))?$usernamemd5 = $_REQUEST['xin']:$usernamemd5='';
395 (!empty($_REQUEST['force']))?$force = $_REQUEST['force']:$force='';
395 (!empty($_REQUEST['force']))?$force = $_REQUEST['force']:$force='';
396 //@$forget = $_REQUEST['forget'];
396 //@$forget = $_REQUEST['forget'];
397 //@$usernamemd5 = $_REQUEST['xin'];
397 //@$usernamemd5 = $_REQUEST['xin'];
398 //@$force = $_REQUEST['force'];
398 //@$force = $_REQUEST['force'];
399
399
400 //print_r($datos);
400 //print_r($datos);
401
401
402 require 'models/UsersModel.php';
402 require 'models/UsersModel.php';
403
403
404 $user = new UsersModel();
404 $user = new UsersModel();
405
405
406 if( $datos['new_password'] == $datos['new_password_again']){
406 if( $datos['new_password'] == $datos['new_password_again']){
407
407
408 if($forget == 'yes'){
408 if($forget == 'yes'){
409 //echo $usernamemd5;
409 //echo $usernamemd5;
410 $rs_usuario = $user->obtenerUsuarioxUsernameMD5($usernamemd5);
410 $rs_usuario = $user->obtenerUsuarioxUsernameMD5($usernamemd5);
411 //print_r($rs_usuario);
411 //print_r($rs_usuario);
412 $datos_usuario = $rs_usuario->fetch();
412 $datos_usuario = $rs_usuario->fetch();
413 $iduser = $datos_usuario['iduser'];
413 $iduser = $datos_usuario['iduser'];
414 $password = $datos['new_password'];
414 $password = $datos['new_password'];
415 $rs_updatePassword = $user->setNewPassword($iduser,$password);
415 $rs_updatePassword = $user->setNewPassword($iduser,$password);
416 //print_r($rs_updatePassword);
416 //print_r($rs_updatePassword);
417 $data['xin'] = $usernamemd5;
417 $data['xin'] = $usernamemd5;
418 $data['forget'] = $forget;
418 $data['forget'] = $forget;
419 $data['force'] = $force;
419 $data['force'] = $force;
420
420
421 $data['mensaje'] = ' your password has been updated<br/><a href="?controller=Users&action=ingresar">next</a>';
421 $data['mensaje'] = ' your password has been updated<br/><a href="?controller=Users&action=ingresar">next</a>';
422 unset($_SESSION['sessionuser']);
422 unset($_SESSION['sessionuser']);
423 $this->view->show("usersNewPasswordForm.php", $data);
423 $this->view->show("usersNewPasswordForm.php", $data);
424
424
425 }else{
425 }else{
426 if(!empty($datos['current_password'])){
426 if(!empty($datos['current_password'])){
427 //validarAdministrador($username,$password)
427 //validarAdministrador($username,$password)
428 if(!empty($_SESSION['usersession']['iduser'])){
428 if(!empty($_SESSION['usersession']['iduser'])){
429 $iduser = $_SESSION['usersession']['iduser'];
429 $iduser = $_SESSION['usersession']['iduser'];
430 $password = $datos['new_password'];
430 $password = $datos['new_password'];
431 $rs_usuario = $user->obtenerUsuarioxId($iduser);
431 $rs_usuario = $user->obtenerUsuarioxId($iduser);
432 $datos_usuario = $rs_usuario->fetch();
432 $datos_usuario = $rs_usuario->fetch();
433
433
434 //validamos la existencia del usuario
434 //validamos la existencia del usuario
435 $username = $datos_usuario['username'];
435 $username = $datos_usuario['username'];
436 $current_password = $datos['current_password'];//
436 $current_password = $datos['current_password'];//
437 $rs_validado = $user->validarAdministrador($username,$current_password);
437 $rs_validado = $user->validarAdministrador($username,$current_password);
438 $datos_validado = $rs_validado->fetch();
438 $datos_validado = $rs_validado->fetch();
439
439
440 if(is_array($datos_validado)){
440 if(is_array($datos_validado)){
441 //actualizamos el nuevo password
441 //actualizamos el nuevo password
442 $rs_updatePassword = $user->setNewPassword($iduser,$password);
442 $rs_updatePassword = $user->setNewPassword($iduser,$password);
443 //cambiar el estado del usuario
443 //cambiar el estado del usuario
444 $rs_updatePassword = $user->setActive($iduser);
444 $rs_updatePassword = $user->setActive($iduser);
445
445
446 unset($_SESSION['usersession']);
446 unset($_SESSION['usersession']);
447 $data = array();
447 $data = array();
448 $data['forget'] = $forget;
448 $data['forget'] = $forget;
449 $data['mensaje'] = ' your password has been updated<br/><a href="send.php?controller=Users&action=logout" target="enviar">continuar</a>';
449 $data['mensaje'] = ' your password has been updated<br/><a href="send.php?controller=Users&action=logout" target="enviar">continuar</a>';
450 $this->view->show("usersNewPasswordForm.php", $data);
450 $this->view->show("usersNewPasswordForm.php", $data);
451
451
452
452
453 }else{
453 }else{
454 $data['mensaje'] = ' your current password is invalid ';
454 $data['mensaje'] = ' your current password is invalid ';
455 $this->view->show("usersNewPasswordForm.php", $data);
455 $this->view->show("usersNewPasswordForm.php", $data);
456 }
456 }
457 }else{
457 }else{
458 $data['mensaje'] = ' you have not started your user session.<br/> ';
458 $data['mensaje'] = ' you have not started your user session.<br/> ';
459 $this->view->show("login.php", $data);
459 $this->view->show("login.php", $data);
460 }
460 }
461 }else{
461 }else{
462 //$data['xin'] = $usernamemd5;
462 //$data['xin'] = $usernamemd5;
463 //$data['forget'] = $forget;
463 //$data['forget'] = $forget;
464 $data['mensaje'] = ' did not enter the current password ';
464 $data['mensaje'] = ' did not enter the current password ';
465 $this->view->show("usersNewPasswordForm.php", $data);
465 $this->view->show("usersNewPasswordForm.php", $data);
466 }
466 }
467 }
467 }
468
468
469 }else{
469 }else{
470 $data['xin'] = $usernamemd5;
470 $data['xin'] = $usernamemd5;
471 $data['forget'] = $forget;
471 $data['forget'] = $forget;
472 $data['mensaje'] = 'the new password entered does not match';
472 $data['mensaje'] = 'the new password entered does not match';
473 $this->view->show("usersNewPasswordForm.php", $data);
473 $this->view->show("usersNewPasswordForm.php", $data);
474 }
474 }
475
475
476 }
476 }
477
477
478 public function dolist(){
478 public function dolist(){
479 require 'components'.DS.'com_users'.DS.'models'.DS.'UsersModel.php';
479 require 'components'.DS.'com_users'.DS.'models'.DS.'UsersModel.php';
480 $users = new UsersModel();
480 $users = new UsersModel();
481
481
482 if(!empty($_REQUEST['inicio'])){
482 if(!empty($_REQUEST['inicio'])){
483 $inicio = $_REQUEST['inicio'];
483 $inicio = $_REQUEST['inicio'];
484 }else{
484 }else{
485 $inicio = 0;
485 $inicio = 0;
486 }
486 }
487
487
488 $tamanio = 15;
488 $tamanio = 15;
489 $parametros = array("inicio" => $inicio, "tamanio" => $tamanio);
489 $parametros = array("inicio" => $inicio, "tamanio" => $tamanio);
490 list($list_users, $paginas, $navegador) = $users->dolist($parametros);
490 list($list_users, $paginas, $navegador) = $users->dolist($parametros);
491
491
492 $data['listUsers'] = $list_users;
492 $data['listUsers'] = $list_users;
493 $data['paginas'] = $paginas;
493 $data['paginas'] = $paginas;
494 $data['navegador'] = $navegador;
494 $data['navegador'] = $navegador;
495 $data['inicio'] = $inicio;
495 $data['inicio'] = $inicio;
496 $data['content'] = "components".DS."com_users".DS."views".DS."dolist.php";
496 $data['content'] = "components".DS."com_users".DS."views".DS."dolist.php";
497 $data['title'] = "USUARIOS::::::::::::";
497 $data['title'] = "USUARIOS::::::::::::";
498
498
499 $this->view->show("template.php", $data);
499 $this->view->show("template.php", $data);
500 }
500 }
501
501
502 public function newUser(){
502 public function newUser(){
503 if(!empty($_REQUEST['message'])){
503 if(!empty($_REQUEST['message'])){
504 $message = $_REQUEST['message'];
504 $message = $_REQUEST['message'];
505 }else{
505 }else{
506 $message = "";
506 $message = "";
507 }
507 }
508 $data['message'] = $message;
508 $data['message'] = $message;
509 $data['content'] = "components".DS."com_users".DS."views".DS."newUser.php";
509 $data['content'] = "components".DS."com_users".DS."views".DS."newUser.php";
510 $data['title'] = "NEW USER:::::";
510 $data['title'] = "NEW USER:::::";
511
511
512 $this->view->show("template.php", $data);
512 $this->view->show("template.php", $data);
513 }
513 }
514
514
515 public function addUser(){
515 public function addUser(){
516 require 'components'.DS.'com_users'.DS.'models'.DS.'UsersModel.php';
516 require 'components'.DS.'com_users'.DS.'models'.DS.'UsersModel.php';
517 $user = new UsersModel();
517 $user = new UsersModel();
518
518
519 $data_user = $_REQUEST["data_user"];
519 $data_user = $_REQUEST["data_user"];
520 $data_user['username'] = $_REQUEST["newusername"];
520 $data_user['username'] = $_REQUEST["newusername"];
521 $data_user['password'] = md5($_REQUEST["newpasswd"]);
521 $data_user['password'] = md5($_REQUEST["newpasswd"]);
522 $data_user['email'] = $_REQUEST["txt_email"];
522 $data_user['email'] = $_REQUEST["txt_email"];
523 $data_user['usertype'] = 1;
523 $data_user['usertype'] = 1;
524 $data_user['state'] = 4;
524 $data_user['state'] = 4;
525
525
526 $urlphoto = "avatar.jpg";
526 $urlphoto = "avatar.jpg";
527
527
528 $url = explode(DS, trim(dirname(__DIR__)));
528 $url = explode(DS, trim(dirname(__DIR__)));
529 array_pop($url);
529 array_pop($url);
530 array_pop($url);
530 array_pop($url);
531 array_pop($url);
531 array_pop($url);
532 array_pop($url);
532 array_pop($url);
533 $path = implode(DS, $url);
533 $path = implode(DS, $url);
534
534
535 $flag = FALSE;
535 $flag = FALSE;
536 $result = $user->getAllUsers();
536 $data_list = $user->getAllUsers();
537 $data_list = $result->fetchAll();
538 foreach($data_list as $userdata){
537 foreach($data_list as $userdata){
539 if(strtolower($data_user['username']) == strtolower($userdata['username'])){$flag = TRUE; break;}
538 if(strtolower($data_user['username']) == strtolower($userdata->username)){$flag = TRUE; break;}
540 }
539 }
541
540
542 if($flag === FALSE){
541 if($flag === FALSE){
543 if($_FILES['fphoto']['tmp_name'] != ""){
542 if($_FILES['fphoto']['tmp_name'] != ""){
544 if (is_uploaded_file($_FILES['fphoto']['tmp_name'])){
543 if (is_uploaded_file($_FILES['fphoto']['tmp_name'])){
545 $psize = $_FILES ['fphoto']['size'];
544 $psize = $_FILES ['fphoto']['size'];
546 $pname = $_FILES ['fphoto']['name'];
545 $pname = $_FILES ['fphoto']['name'];
547 $type = substr( $pname, strlen($pname)-4);
546 $type = substr( $pname, strlen($pname)-4);
548 if($type==".jpg" || $type==".gif" || $type==".png" || $type==".JPG" || $type==".GIF" || $type==".PNG"){
547 if($type==".jpg" || $type==".gif" || $type==".png" || $type==".JPG" || $type==".GIF" || $type==".PNG"){
549 copy($_FILES['fphoto']['tmp_name'], $path.DS."files".DS."photos".DS.$username.$type);
548 copy($_FILES['fphoto']['tmp_name'], $path.DS."files".DS."photos".DS.$username.$type);
550 $urlphoto = "photos".DS.$username.$type;
549 $urlphoto = "photos".DS.$username.$type;
551 }else{
550 }else{
552 $mensaje_upload = ". Uploaded failed: No image file.";// error por tipo
551 $mensaje_upload = ". Uploaded failed: No image file.";// error por tipo
553 }
552 }
554 }else{
553 }else{
555 $mensaje_upload = ". Uploaded failed.";// error por tamanio
554 $mensaje_upload = ". Uploaded failed.";// error por tamanio
556 }
555 }
557 }else{
556 }else{
558 $mensaje_upload = "Error: Uploaded failed.";
557 $mensaje_upload = "Error: Uploaded failed.";
559 }
558 }
560
559
561 $data_user['photo'] = $urlphoto;
560 $data_user['photo'] = $urlphoto;
562 list($result, $id, $message) = $user->addItem($data_user);
561 list($result, $id, $message) = $user->addItem($data_user);
563
562
564 $url = 'index.php?option=com_users&controller=Users&action=dolist';
563 $url = 'index.php?option=com_users&controller=Users&action=dolist';
565 }else{
564 }else{
566 $message = "Error::: Username unavailable.";
565 $message = "Error::: Username unavailable.";
567 $url = 'index.php?option=com_users&controller=Users&action=newUser&message='.$message;
566 $url = 'index.php?option=com_users&controller=Users&action=newUser&message='.$message;
568 }
567 }
569 header("location: ".$url);
568 header("location: ".$url);
570 exit();
569 exit();
571 }
570 }
572
571
573 public function editUser(){
572 public function editUser(){
574 require 'components'.DS.'com_users'.DS.'models'.DS.'UsersModel.php';
573 require 'components'.DS.'com_users'.DS.'models'.DS.'UsersModel.php';
575
574
576 $user = new UsersModel();
575 $user = new UsersModel();
577
576
578 $iduser = $_REQUEST['user'];
577 $iduser = $_REQUEST['user'];
579 $newuser = $user->editUser($iduser);
578 $newuser = $user->editUser($iduser);
580 $method = "edit";
579 $method = "edit";
581
580
582 $data['usuario'] = $newuser->fetch();
581 $data['usuario'] = $newuser->fetch();
583 $data['edit'] = true;
582 $data['edit'] = true;
584 $data['method'] = $method;
583 $data['method'] = $method;
585 $data['iduser'] = $iduser;
584 $data['iduser'] = $iduser;
586 $data['content'] = "components".DS."com_users".DS."views".DS."editUser.php";
585 $data['content'] = "components".DS."com_users".DS."views".DS."editUser.php";
587 $data['title'] = "EDIT USER::::::::::::::::";
586 $data['title'] = "EDIT USER::::::::::::::::";
588
587
589 $this->view->show("template.php", $data);
588 $this->view->show("template.php", $data);
590 }
589 }
591
590
592 public function view(){
591 public function view(){
593 require 'models/UsersModel.php';
592 require 'models/UsersModel.php';
594
593
595 $user = new UsersModel();
594 $user = new UsersModel();
596
595
597 $iduser = $_REQUEST['user'];
596 $iduser = $_REQUEST['user'];
598 $newuser = $user->editUser($iduser);
597 $newuser = $user->editUser($iduser);
599 $method = "view";
598 $method = "view";
600
599
601 $data['usuario'] = $newuser->fetch();
600 $data['usuario'] = $newuser->fetch();
602 $data['edit'] = false;
601 $data['edit'] = false;
603 $data['method'] = $method;
602 $data['method'] = $method;
604 $data['iduser'] = $iduser;
603 $data['iduser'] = $iduser;
605 $data['content'] = "components".DS."com_users".DS."views".DS."editUser.php";
604 $data['content'] = "components".DS."com_users".DS."views".DS."editUser.php";
606
605
607 $this->view->show("template.php", $data);
606 $this->view->show("template.php", $data);
608 }
607 }
609
608
610 public function updateUser(){
609 public function updateUser(){
611 require 'components'.DS.'com_users'.DS.'models'.DS.'UsersModel.php';
610 require 'components'.DS.'com_users'.DS.'models'.DS.'UsersModel.php';
612
611
613 $user = new UsersModel();
612 $user = new UsersModel();
614 $iduser = $_POST['iduser'];
613 $iduser = $_POST['iduser'];
615 $datos['firstname'] = $_POST['firstname'];
614 $datos['firstname'] = $_POST['firstname'];
616 $datos['lastname'] = $_POST['lastname'];
615 $datos['lastname'] = $_POST['lastname'];
617 $datos['state'] = $_POST['state'];
616 $datos['state'] = $_POST['state'];
618
617
619 $user->setIdValue($iduser);
618 $user->setIdValue($iduser);
620 list($result, $message) = $user->UpdateItem($datos);
619 list($result, $message) = $user->UpdateItem($datos);
621
620
622 $url = 'index.php?option=com_users&controller=Users&action=dolist';
621 $url = 'index.php?option=com_users&controller=Users&action=dolist';
623 header("location: ".$url);
622 header("location: ".$url);
624 exit();
623 exit();
625 }
624 }
626
625
627 public function remove(){
626 public function remove(){
628 require 'models/UsersModel.php';
627 require 'models/UsersModel.php';
629 $user = new UsersModel();
628 $user = new UsersModel();
630 $iduser = $_REQUEST['user'];
629 $iduser = $_REQUEST['user'];
631
630
632 $data_user['state'] = 3;
631 $data_user['state'] = 3;
633
632
634 $user->setIdValue($iduser);
633 $user->setIdValue($iduser);
635 //list($result, $message) = $user->DeleteItem();
634 //list($result, $message) = $user->DeleteItem();
636 list($result, $message) = $user->UpdateItem($data_user);
635 list($result, $message) = $user->UpdateItem($data_user);
637
636
638 $url = 'index.php?option=com_users&controller=Users&action=getUsers';
637 $url = 'index.php?option=com_users&controller=Users&action=getUsers';
639
638
640 header("location: ".$url);
639 header("location: ".$url);
641 exit();
640 exit();
642 }
641 }
643
642
644 public function searchUser(){
643 public function searchUser(){
645 require 'models/UsersModel.php';
644 require 'models/UsersModel.php';
646
645
647 $user = new UsersModel();
646 $user = new UsersModel();
648 $username = $_REQUEST['value'];
647 $username = $_REQUEST['value'];
649 $newuser = $user->searchUserbyUName($username);
648 $newuser = $user->searchUserbyUName($username);
650 $usuario = $newuser->fetch();
649 $usuario = $newuser->fetch();
651
650
652 if(!is_array($usuario)){
651 if(!is_array($usuario)){
653 $generatePassword = substr(md5($username.time('YmdHis')),0,5);
652 $generatePassword = substr(md5($username.time('YmdHis')),0,5);
654 }
653 }
655
654
656 $data['username'] = $username;
655 $data['username'] = $username;
657 $data['usuario'] = $usuario;
656 $data['usuario'] = $usuario;
658 @$data['key'] = $generatePassword;
657 @$data['key'] = $generatePassword;
659
658
660 $this->view->show("searchUser.php", $data);
659 $this->view->show("searchUser.php", $data);
661 }
660 }
662
661
663 public function changePasswd(){
662 public function changePasswd(){
664 require 'components'.DS.'com_users'.DS.'models'.DS.'UsersModel.php';
663 require 'components'.DS.'com_users'.DS.'models'.DS.'UsersModel.php';
665
664
666 $iduser = $_POST['iduser'];
665 $iduser = $_POST['iduser'];
667 try{
666 try{
668 if(isset ($_POST['chgPasswd'])){
667 if(isset ($_POST['chgPasswd'])){
669 $type_login = $_POST['chgPasswd'];
668 $type_login = $_POST['chgPasswd'];
670 $user = new UsersModel();
669 $user = new UsersModel();
671
670
672 if($type_login == 4){
671 if($type_login == 4){
673
672
674 $datos['password'] = md5($_POST['passwd']);
673 $datos['password'] = md5($_POST['passwd']);
675 $datos['state'] = 1;
674 $datos['state'] = 1;
676 $user->setIdValue($iduser);
675 $user->setIdValue($iduser);
677 list($result, $message) = $user->UpdateItem($datos);
676 list($result, $message) = $user->UpdateItem($datos);
678
677
679 $url = 'index.php?option=com_users&controller=Users&action=home';
678 $url = 'index.php?option=com_users&controller=Users&action=home';
680
679
681 header("location: ".$url);
680 header("location: ".$url);
682 exit();
681 exit();
683 }else{
682 }else{
684
683
685 $oldpasswd = $_POST['oldpasswd'];
684 $oldpasswd = $_POST['oldpasswd'];
686 $datos['password'] = $_POST['newpasswd'];
685 $datos['password'] = $_POST['newpasswd'];
687 $check_password = $_POST['retypepasswd'];
686 $check_password = $_POST['retypepasswd'];
688
687
689 $result = $user->getPasswd($iduser);
688 $result = $user->getPasswd($iduser);
690 $data_model = $result->fetch();
689 $data_model = $result->fetch();
691 $db_old_passwd = $data_model[0];
690 $db_old_passwd = $data_model[0];
692
691
693 if($db_old_passwd == md5($oldpasswd)){
692 if($db_old_passwd == md5($oldpasswd)){
694 $user->setIdValue($iduser);
693 $user->setIdValue($iduser);
695 $datos['password'] = md5($datos['password']);
694 $datos['password'] = md5($datos['password']);
696 list($result, $message) = $user->UpdateItem($datos);
695 list($result, $message) = $user->UpdateItem($datos);
697 }
696 }
698
697
699 $url = 'index.php?controller=Users&action=editUser&user='.$iduser;
698 $url = 'index.php?controller=Users&action=editUser&user='.$iduser;
700
699
701 header("location: ".$url);
700 header("location: ".$url);
702 exit();
701 exit();
703 }
702 }
704 }
703 }
705 } catch (Exception $e){
704 } catch (Exception $e){
706 var_dump($e->getMessage());
705 var_dump($e->getMessage());
707 }
706 }
708 }
707 }
709
708
710 public function home(){
709 public function home(){
711 $data['content'] = "components".DS."com_users".DS."views".DS."home.php";
710 $data['content'] = "components".DS."com_users".DS."views".DS."home.php";
712 $data['title'] = "WELCOME:::::::::::";
711 $data['title'] = "WELCOME:::::::::::";
713
712
714 $this->view->show("template.php", $data);
713 $this->view->show("template.php", $data);
715 }
714 }
716 }
715 }
717
716
718 ?> No newline at end of file
717 ?>
@@ -1,296 +1,276
1 <?php
1 <?php
2 class UsersModel extends ModelBase{
2 class UsersModel extends ModelBase{
3
3
4 public $tableName = 'sis_user';
4 public $tableName = 'sis_user';
5 public $id = array('key'=>'iduser','value'=>'');
5 public $id = array('key'=>'iduser','value'=>'');
6
6
7 public function addItem($datos){
7 public function addItem($datos){
8 $this->setFieldArray($datos);
8 $this->setFieldArray($datos);
9 list($resultado,$id,$mensaje) = $this->insert();
9 list($resultado,$id,$mensaje) = $this->insert();
10 return array ($resultado,$id,$mensaje);
10 return array ($resultado,$id,$mensaje);
11 }
11 }
12
12
13 public function DeleteItem(){
13 public function DeleteItem(){
14 list($resultado,$mensaje) = $this->delete();
14 list($resultado,$mensaje) = $this->delete();
15 return array ($resultado,$mensaje);
15 return array ($resultado,$mensaje);
16 }
16 }
17
17
18 public function UpdateItem($datos){
18 public function UpdateItem($datos){
19 $this->setFieldArray($datos);
19 $this->setFieldArray($datos);
20 list($resultado,$mensaje) = $this->update();
20 list($resultado,$mensaje) = $this->update();
21 return array ($resultado,$mensaje);
21 return array ($resultado,$mensaje);
22 }
22 }
23
23
24 public function dolist($datos = array("inicio" => 0, "tamanio" => 5)){
24 public function dolist($datos = array("inicio" => 0, "tamanio" => 5)){
25 $query = "SELECT * FROM sis_user WHERE usertype = 1";
25 $query = "SELECT * FROM sis_user WHERE usertype = 1";
26 $consulta = $this->db->prepare($query);
26 $consulta = $this->db->prepare($query);
27 $consulta->execute();
27 $consulta->execute();
28 $num_filas = $consulta->rowCount();
28 $num_filas = $consulta->rowCount();
29 //getPager($datos = array("total" => 0, "inicio" => 0, "pagina" => 5)//uso de la variable arreglo.
29 //getPager($datos = array("total" => 0, "inicio" => 0, "pagina" => 5)//uso de la variable arreglo.
30 $parametros = array("total" => $num_filas, "inicio" => $datos['inicio'], "pagina" => $datos['tamanio']);
30 $parametros = array("total" => $num_filas, "inicio" => $datos['inicio'], "pagina" => $datos['tamanio']);
31 list($paginas,$navegador) = $this->getPager($parametros);
31 list($paginas,$navegador) = $this->getPager($parametros);
32
32
33 //realizamos una consulta paginada
33 //realizamos una consulta paginada
34 $consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' ');
34 $consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' ');
35 $consulta->execute();
35 $consulta->execute();
36
36
37 return array($consulta,$paginas,$navegador);
37 return array($consulta,$paginas,$navegador);
38 }
38 }
39
39
40 public function validarUsuario($username,$password){
40 public function validarUsuario($username,$password){
41 $str_query = ' SELECT sis_user.* FROM sis_user WHERE username = "'.$username.'"'
41 $str_query = ' SELECT sis_user.* FROM sis_user WHERE username = "'.$username.'"'
42 .' AND password = "'.md5($password).'" AND (state = "1" OR state = "4" OR state = "5") AND usertype = 1 ';
42 .' AND password = "'.md5($password).'" AND (state = "1" OR state = "4" OR state = "5") AND usertype = 1 ';
43 $consulta = $this->db->prepare($str_query);
43 $consulta = $this->db->prepare($str_query);
44 $consulta->execute();
44 $consulta->execute();
45
45
46 return $consulta;
46 return $consulta;
47 }
47 }
48
48
49 public function validarAdmin($username,$password){
49 public function validarAdmin($username,$password){
50 $str_query = 'SELECT * FROM sis_user WHERE username = "'.$username
50 $str_query = 'SELECT * FROM sis_user WHERE username = "'.$username
51 .'" AND password = "'.md5($password).'" AND state = "1" AND usertype = 2 ';
51 .'" AND password = "'.md5($password).'" AND state = "1" AND usertype = 2 ';
52 $consulta = $this->db->prepare($str_query);
52 $consulta = $this->db->prepare($str_query);
53 $consulta->execute();
53 $consulta->execute();
54
54
55 return $consulta;
55 return $consulta;
56 }
56 }
57
57
58 public function validateUsers($username,$password){
58 public function validateUsers($username,$password){
59 $str_query = 'SELECT * FROM '.$this->tableName.' WHERE username = "'.$username
59 $str_query = 'SELECT * FROM '.$this->tableName.' WHERE username = "'.$username
60 .'" AND password = "'.md5($password).'" AND usertype >= 1 ';
60 .'" AND password = "'.md5($password).'" AND usertype >= 1 ';
61 $consulta = $this->db->prepare($str_query);
61 $consulta = $this->db->prepare($str_query);
62 $consulta->execute();
62 $consulta->execute();
63
63
64 return $consulta;
64 return $consulta;
65 }
65 }
66
66
67 public function obtenerUsuarioxId($id){
67 public function obtenerUsuarioxId($id){
68 //realizamos la consulta de usuario por id
68 //realizamos la consulta de usuario por id
69 $consulta = $this->db->prepare('SELECT sis_user.* FROM sis_user WHERE iduser = "'.$id.'" ');
69 $consulta = $this->db->prepare('SELECT sis_user.* FROM sis_user WHERE iduser = "'.$id.'" ');
70 $consulta->execute();
70 $consulta->execute();
71 //devolvemos la coleccion para que la vista la presente.
71 //devolvemos la coleccion para que la vista la presente.
72 return $consulta;
72 return $consulta;
73
73
74 }
74 }
75
75
76 public function obtenerUsuarioxUsername($username){
76 public function obtenerUsuarioxUsername($username){
77 $str_query = 'SELECT * FROM '.$this->tableName.' WHERE username = "'.$username.'" ';
77 $str_query = 'SELECT * FROM '.$this->tableName.' WHERE username = "'.$username.'" ';
78 $consulta = $this->db->prepare($str_query);
78 $consulta = $this->db->prepare($str_query);
79 $consulta->execute();
79 $consulta->execute();
80 return $consulta;
80 return $consulta;
81 }
81 }
82
82
83 public function obtenerUsuarioxUsernameMD5($username){
83 public function obtenerUsuarioxUsernameMD5($username){
84 //realizamos la consulta de usuario por id
84 //realizamos la consulta de usuario por id
85 $consulta = $this->db->prepare('SELECT sis_user.* FROM sis_user WHERE MD5(sis_user.username) = "'.$username.'" ');
85 $consulta = $this->db->prepare('SELECT sis_user.* FROM sis_user WHERE MD5(sis_user.username) = "'.$username.'" ');
86 $consulta->execute();
86 $consulta->execute();
87 //devolvemos la coleccion para que la vista la presente.
87 //devolvemos la coleccion para que la vista la presente.
88 return $consulta;
88 return $consulta;
89 }
89 }
90
90
91 public function bloquearUsuario($iduser){
91 public function bloquearUsuario($iduser){
92 //realizamos la consulta de usuario por id
92 //realizamos la consulta de usuario por id
93 $consulta = $this->db->prepare('UPDATE sis_user SET state = "2" WHERE iduser = '.$iduser.' ');
93 $consulta = $this->db->prepare('UPDATE sis_user SET state = "2" WHERE iduser = '.$iduser.' ');
94 $consulta->execute();
94 $consulta->execute();
95 //devolvemos la coleccion para que la vista la presente.
95 //devolvemos la coleccion para que la vista la presente.
96 return $consulta;
96 return $consulta;
97 }
97 }
98
98
99 public function setUserSession($datos){
99 public function setUserSession($datos){
100 //realizamos la consulta de usuario por id
100 //realizamos la consulta de usuario por id
101 $consulta = $this->db->prepare(' INSERT INTO sis_session ( idsession , iduser , client_ip , date_session, date_last_activity, state ) VALUES ( "" , "'.$datos['iduser'].'", "'.$datos['client_ip'].'", "'.$datos['date_session'].'" , "'.$datos['date_last_activity'].'" , "'.$datos['state'].'" ) ');
101 $consulta = $this->db->prepare(' INSERT INTO sis_session ( idsession , iduser , client_ip , date_session, date_last_activity, state ) VALUES ( "" , "'.$datos['iduser'].'", "'.$datos['client_ip'].'", "'.$datos['date_session'].'" , "'.$datos['date_last_activity'].'" , "'.$datos['state'].'" ) ');
102 $consulta->execute();
102 $consulta->execute();
103 //devolvemos la coleccion para que la vista la presente.
103 //devolvemos la coleccion para que la vista la presente.
104 return $consulta;
104 return $consulta;
105 }
105 }
106
106
107 public function obtenerEstadoUsuario($username){
107 public function obtenerEstadoUsuario($username){
108 $str_query = 'SELECT * FROM '.$this->tableName.' WHERE username = "'.$username.'"';
108 $str_query = 'SELECT * FROM '.$this->tableName.' WHERE username = "'.$username.'"';
109 $consulta = $this->db->prepare($str_query);
109 $consulta = $this->db->prepare($str_query);
110 $consulta->execute();
110 $consulta->execute();
111
111
112 $datauser = $consulta->fetch();
112 $datauser = $consulta->fetch();
113 $estado = "";
113 $estado = "";
114
114
115 if(isset($datauser['state'])){
115 if(isset($datauser['state'])){
116 switch($datauser['state']){
116 switch($datauser['state']){
117 case 1:
117 case 1:
118 $state = "ACTIVE";
118 $state = "ACTIVE";
119 break;
119 break;
120 case 2:
120 case 2:
121 $state = "LOCKED";
121 $state = "LOCKED";
122 break;
122 break;
123 case 3:
123 case 3:
124 $state = "DELETED";
124 $state = "DELETED";
125 break;
125 break;
126 case 4:
126 case 4:
127 $state = "FLOGIN";
127 $state = "FLOGIN";
128 break;
128 break;
129 case 5:
129 case 5:
130 $state = "RESET";
130 $state = "RESET";
131 break;
131 break;
132 }
132 }
133 return $state;
133 return $state;
134 }else{
134 }else{
135 return '';
135 return '';
136 }
136 }
137 }
137 }
138
138
139 public function registrarLogIngreso($id_usu){
139 public function registrarLogIngreso($id_usu){
140 $consulta = $this->db->prepare(' INSERT INTO log_login ( id_log , id_usu , fec_log ) VALUES ( "" , "'.$id_usu.'", "'.date("Ymd H:i:s", time()).'") ');
140 $consulta = $this->db->prepare(' INSERT INTO log_login ( id_log , id_usu , fec_log ) VALUES ( "" , "'.$id_usu.'", "'.date("Ymd H:i:s", time()).'") ');
141 $consulta->execute();
141 $consulta->execute();
142 //devolvemos ....
142 //devolvemos ....
143 return $consulta;
143 return $consulta;
144 }
144 }
145
145
146 public function obtenerListaUsuariosIngresos($where=""){
146 public function obtenerListaUsuariosIngresos($where=""){
147 //realizamos la consulta de todos los items
147 //realizamos la consulta de todos los items
148 $consulta = $this->db->prepare('SELECT tb_usuarios.* , tb_roles.des_rol AS "rol", count(log_login.id_usu) as "ingresos",
148 $consulta = $this->db->prepare('SELECT tb_usuarios.* , tb_roles.des_rol AS "rol", count(log_login.id_usu) as "ingresos",
149 max(log_login.fec_log) as "ultimo_ingreso" FROM tb_usuarios LEFT JOIN tb_roles ON tb_usuarios.id_rol = tb_roles.id_rol LEFT JOIN log_login ON tb_usuarios.id_usu = log_login.id_usu '.$where.' GROUP BY tb_usuarios.id_usu');
149 max(log_login.fec_log) as "ultimo_ingreso" FROM tb_usuarios LEFT JOIN tb_roles ON tb_usuarios.id_rol = tb_roles.id_rol LEFT JOIN log_login ON tb_usuarios.id_usu = log_login.id_usu '.$where.' GROUP BY tb_usuarios.id_usu');
150 $consulta->execute();
150 $consulta->execute();
151 //devolvemos la coleccion para que la vista la presente.
151 //devolvemos la coleccion para que la vista la presente.
152 return $consulta;
152 return $consulta;
153 }
153 }
154
154
155 public function setNewPassword($iduser,$password){
155 public function setNewPassword($iduser,$password){
156 //realizamos la consulta de usuario por id
156 //realizamos la consulta de usuario por id
157 $consulta = $this->db->prepare('UPDATE sis_user SET password = "'.md5($password).'" WHERE iduser = '.$iduser.' ');
157 $consulta = $this->db->prepare('UPDATE sis_user SET password = "'.md5($password).'" WHERE iduser = '.$iduser.' ');
158 $consulta->execute();
158 $consulta->execute();
159 //devolvemos la coleccion para que la vista la presente.
159 //devolvemos la coleccion para que la vista la presente.
160 return $consulta;
160 return $consulta;
161
161
162 }
162 }
163
163
164 public function setInactive($iduser){
164 public function setInactive($iduser){
165 //realizamos la consulta de usuario por id
165 //realizamos la consulta de usuario por id
166 $consulta = $this->db->prepare('UPDATE sis_user SET state = "2" WHERE iduser = '.$iduser.' ');
166 $consulta = $this->db->prepare('UPDATE sis_user SET state = "2" WHERE iduser = '.$iduser.' ');
167 $consulta->execute();
167 $consulta->execute();
168 //devolvemos la coleccion para que la vista la presente.
168 //devolvemos la coleccion para que la vista la presente.
169 return $consulta;
169 return $consulta;
170
170
171 }
171 }
172
172
173 public function setActive($iduser){
173 public function setActive($iduser){
174 //realizamos la consulta de usuario por id
174 //realizamos la consulta de usuario por id
175 $consulta = $this->db->prepare('UPDATE sis_user SET state = "1" WHERE iduser = '.$iduser.' ');
175 $consulta = $this->db->prepare('UPDATE sis_user SET state = "1" WHERE iduser = '.$iduser.' ');
176 $consulta->execute();
176 $consulta->execute();
177 //devolvemos la coleccion para que la vista la presente.
177 //devolvemos la coleccion para que la vista la presente.
178 return $consulta;
178 return $consulta;
179
179
180 }
180 }
181
181
182 public function getStringUsers(){
182 public function getStringUsers(){
183 //realizamos la consulta de todos los items
183 //realizamos la consulta de todos los items
184 $query = $this->db->prepare('SELECT u.* FROM sis_user AS u ');
184 $query = $this->db->prepare('SELECT u.* FROM sis_user AS u ');
185 $query->execute();
185 $query->execute();
186 //Se recibe el arreglo completo de usuarios.
186 //Se recibe el arreglo completo de usuarios.
187 $arregloUsuarios = $query->fetchAll();
187 $arregloUsuarios = $query->fetchAll();
188 $j = count($arregloUsuarios);
188 $j = count($arregloUsuarios);
189 $cadena = '';
189 $cadena = '';
190 for($i=0; $j>$i;$i++){
190 for($i=0; $j>$i;$i++){
191 $arregloUsuario = $arregloUsuarios[$i];
191 $arregloUsuario = $arregloUsuarios[$i];
192 if(($j-1) == $i){
192 if(($j-1) == $i){
193 $cadena .= $arregloUsuario['firstname'].' '.$arregloUsuario['lastname'].' [ '.$arregloUsuario['username'].' ]';
193 $cadena .= $arregloUsuario['firstname'].' '.$arregloUsuario['lastname'].' [ '.$arregloUsuario['username'].' ]';
194 }else{
194 }else{
195 $cadena .= $arregloUsuario['firstname'].' '.$arregloUsuario['lastname'].' [ '.$arregloUsuario['username'].' ] , ';
195 $cadena .= $arregloUsuario['firstname'].' '.$arregloUsuario['lastname'].' [ '.$arregloUsuario['username'].' ] , ';
196 }
196 }
197
197
198 }
198 }
199
199
200 return $cadena;
200 return $cadena;
201 }
201 }
202
202
203
204
205 public function getStringUser($iduser){
203 public function getStringUser($iduser){
206 //realizamos la consulta de todos los items
204 //realizamos la consulta de todos los items
207 $query = $this->db->prepare('SELECT u.* FROM sis_user AS u WHERE u.iduser = "'.$iduser.'" ');
205 $query = $this->db->prepare('SELECT u.* FROM sis_user AS u WHERE u.iduser = "'.$iduser.'" ');
208 $query->execute();
206 $query->execute();
209 //Se recibe el arreglo completo de usuarios.
207 //Se recibe el arreglo completo de usuarios.
210 $datosUsuarios = $query->fetch();
208 $datosUsuarios = $query->fetch();
211 $cadena = '';
209 $cadena = '';
212 $cadena .= $datosUsuarios['firstname'].' '.$datosUsuarios['lastname'].' [ '.$datosUsuarios['username'].' ]';
210 $cadena .= $datosUsuarios['firstname'].' '.$datosUsuarios['lastname'].' [ '.$datosUsuarios['username'].' ]';
213 return $cadena;
211 return $cadena;
214 }
212 }
215
213
216 public function obtenerListaRoles(){
214 public function obtenerListaRoles(){
217 //realizamos la consulta de todos los items
215 //realizamos la consulta de todos los items
218 $consulta = $this->db->prepare('SELECT tb_roles.* FROM tb_roles ');
216 $consulta = $this->db->prepare('SELECT tb_roles.* FROM tb_roles ');
219 $consulta->execute();
217 $consulta->execute();
220 //devolvemos la coleccion para que la vista la presente.
218 //devolvemos la coleccion para que la vista la presente.
221 return $consulta;
219 return $consulta;
222 }
220 }
223
221
224 public function getUsers($datos = array("inicio" => 0, "tamanio" => 5)){
222 public function getUsers($datos = array("inicio" => 0, "tamanio" => 5)){
225 //realizamos la consulta de todos los items
223 //realizamos la consulta de todos los items
226 $query = "SELECT * FROM sis_user WHERE usertype = 1";
224 $query = "SELECT * FROM sis_user WHERE usertype = 1";
227 $consulta = $this->db->prepare($query);
225 $consulta = $this->db->prepare($query);
228 $consulta->execute();
226 $consulta->execute();
229 $num_filas = $consulta->rowCount();
227 $num_filas = $consulta->rowCount();
230 //getPager($datos = array("total" => 0, "inicio" => 0, "pagina" => 5)//uso de la variable arreglo.
228 //getPager($datos = array("total" => 0, "inicio" => 0, "pagina" => 5)//uso de la variable arreglo.
231 $parametros = array("total" => $num_filas, "inicio" => $datos['inicio'], "pagina" => $datos['tamanio']);
229 $parametros = array("total" => $num_filas, "inicio" => $datos['inicio'], "pagina" => $datos['tamanio']);
232 list($paginas,$navegador) = $this->getPager($parametros);
230 list($paginas,$navegador) = $this->getPager($parametros);
233
231
234
232
235 //realizamos una consulta paginada
233 //realizamos una consulta paginada
236 $consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' ');
234 $consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' ');
237 $consulta->execute();
235 $consulta->execute();
238
236
239 //devolvemos la coleccion para que la vista la presente.
237 //devolvemos la coleccion para que la vista la presente.
240 return array($consulta,$paginas,$navegador);
238 return array($consulta,$paginas,$navegador);
241 }
239 }
242
240
243 function addUser($username, $password, $data_user){
244 $query = "INSERT INTO sis_user( username, password, date_create, firstname, lastname, email,"
245 ." photo, usertype, state ) VALUES ( '$username' , md5('$password'), '".date("Y-m-d H:i:s")."',"
246 ." '".$data_user['firstname']."', '".$data_user['lastname']."', '".$data_user['email']."',"
247 ." '".$data_user['urlphoto']."', 1, 4)";
248 $result = $this->db->prepare($query);
249 $result->execute();
250 return $result;
251 }
252
253 function editUser($user){
241 function editUser($user){
254 $query = "SELECT * FROM sis_user WHERE iduser = '$user'";
242 $query = "SELECT * FROM sis_user WHERE iduser = '$user'";
255 $result = $this->db->prepare($query);
243 $result = $this->db->prepare($query);
256 $result->execute();
244 $result->execute();
257 return $result;
245 return $result;
258 }
246 }
259
247
260 function updateUser($user, $firstname, $lastname, $state){
261 $query = "UPDATE sis_user SET firstname = '$firstname', lastname = '$lastname'"
262 .", state = $state WHERE iduser = $user";
263 $result = $this->db->prepare($query);
264 $result->execute();
265 return $result;
266 }
267
268 function delUser($user){
248 function delUser($user){
269 $query = "UPDATE sis_user SET state = 3 WHERE iduser = $user";
249 $query = "UPDATE sis_user SET state = 3 WHERE iduser = $user";
270 $result = $this->db->prepare($query);
250 $result = $this->db->prepare($query);
271 $result->execute();
251 $result->execute();
272 return $result;
252 return $result;
273 }
253 }
274
254
275 function searchUserbyUName($username){
255 function searchUserbyUName($username){
276 $query = "SELECT * FROM sis_user WHERE username = '$username'";
256 $query = "SELECT * FROM sis_user WHERE username = '$username'";
277 $result = $this->db->prepare($query);
257 $result = $this->db->prepare($query);
278 $result->execute();
258 $result->execute();
279 return $result;
259 return $result;
280 }
260 }
281
261
282 public function getPasswd($iduser){
262 public function getPasswd($iduser){
283 $query = "SELECT password FROM sis_user WHERE iduser = $iduser";
263 $query = "SELECT password FROM sis_user WHERE iduser = $iduser";
284 $result = $this->db->prepare($query);
264 $result = $this->db->prepare($query);
285 $result->execute();
265 $result->execute();
286 return $result;
266 return $result;
287 }
267 }
288
268
289 public function getAllUsers(){
269 public function getAllUsers(){
290 $query = "SELECT username FROM sis_user WHERE usertype = 1";
270 $str_query = "SELECT * FROM ".$this->tableName." WHERE usertype = 1";
291 $result = $this->db->prepare($query);
271 $this->setQuery($str_query);
292 $result->execute();
272 $query = $this->loadObjectList();
293 return $result;
273 return $query;
294 }
274 }
295 }
275 }
296 ?>
276 ?>
@@ -1,123 +1,123
1 <?php
1 <?php
2 $html_select_pag = '<select onchange="window.location='.chr(39).'index.php?option=com_users&controller=Users&action=getUsers&inicio='.chr(39).'+this.value">';
2 $html_select_pag = '<select onchange="window.location='.chr(39).'index.php?option=com_users&controller=Users&action=dolist&inicio='.chr(39).'+this.value">';
3
3
4 $j = count($paginas);
4 $j = count($paginas);
5 for($i=0;$i<$j;$i++){
5 for($i=0;$i<$j;$i++){
6 $html_select_pag .= "<option value='".$paginas[$i]."'";
6 $html_select_pag .= "<option value='".$paginas[$i]."'";
7 if($inicio == $paginas[$i]){
7 if($inicio == $paginas[$i]){
8 $html_select_pag .= "selected='selected'";
8 $html_select_pag .= "selected='selected'";
9 }
9 }
10 $html_select_pag .= ">";
10 $html_select_pag .= ">";
11 $html_select_pag .= "".($i+1)."/".$j."</option>";
11 $html_select_pag .= "".($i+1)."/".$j."</option>";
12 }
12 }
13 $html_select_pag .= "</select>";
13 $html_select_pag .= "</select>";
14
14
15 $html_pagination = '<ul class="mnu_pagination">';
15 $html_pagination = '<ul class="mnu_pagination">';
16 $html_pagination .= '<li><a href="index.php?option=com_users&controller=Users&action=getUsers&inicio='.$navegador["fin"].'">';
16 $html_pagination .= '<li><a href="index.php?option=com_users&controller=Users&action=dolist&inicio='.$navegador["fin"].'">';
17 $html_pagination .= "Last</a></li>";
17 $html_pagination .= "Last</a></li>";
18 $html_pagination .= '<li><a href="index.php?option=com_users&controller=Users&action=getUsers&inicio='.$navegador["siguiente"].'">';
18 $html_pagination .= '<li><a href="index.php?option=com_users&controller=Users&action=dolist&inicio='.$navegador["siguiente"].'">';
19 $html_pagination .= "Next</a></li>";
19 $html_pagination .= "Next</a></li>";
20 $html_pagination .= '<li class="pages">Page'.$html_select_pag.'</li>';
20 $html_pagination .= '<li class="pages">Page'.$html_select_pag.'</li>';
21 $html_pagination .= '<li><a href="index.php?option=com_users&controller=Users&action=getUsers&inicio='.$navegador["anterior"].'">';
21 $html_pagination .= '<li><a href="index.php?option=com_users&controller=Users&action=dolist&inicio='.$navegador["anterior"].'">';
22 $html_pagination .= "Prev</a></li>";
22 $html_pagination .= "Prev</a></li>";
23 $html_pagination .= '<li><a href="index.php?option=com_users&controller=Users&action=getUsers&inicio='.$navegador["inicio"].'">';
23 $html_pagination .= '<li><a href="index.php?option=com_users&controller=Users&action=dolist&inicio='.$navegador["inicio"].'">';
24 $html_pagination .= "Start</a></li>";
24 $html_pagination .= "Start</a></li>";
25 $html_pagination .= '</ul><div style="clear:both"></div>';
25 $html_pagination .= '</ul><div style="clear:both"></div>';
26 ?>
26 ?>
27 <script type="text/javascript">
27 <script type="text/javascript">
28 $().ready(function() {
28 $().ready(function() {
29 $(".btn_delUser").click(function(){
29 $(".btn_delUser").click(function(){
30 var _id = $(this).attr("alt");
30 var _id = $(this).attr("alt");
31 if(confirm("Are you sure to delete this user?")){
31 if(confirm("Are you sure to delete this user?")){
32 window.location = "index.php?option=com_users&controller=Users&action=remove&user="+_id;
32 window.location = "index.php?option=com_users&controller=Users&action=remove&user="+_id;
33 }
33 }
34 });
34 });
35 });
35 });
36 </script>
36 </script>
37 <span class="etiqueta">Users</span>
37 <span class="etiqueta">Users</span>
38 <div id="div_info_user">
38 <div id="div_info_user">
39 <div class="toolbar_right">
39 <div class="toolbar_right">
40 <ul>
40 <ul>
41 <li><a href="index.php?option=com_users&controller=Users&action=newUser">Delete</a></li>
41 <li><a href="index.php?option=com_users&controller=Users&action=newUser">Delete</a></li>
42 <li><a href="index.php?option=com_users&controller=Users&action=newUser">Add</a></li>
42 <li><a href="index.php?option=com_users&controller=Users&action=newUser">Add</a></li>
43 </ul>
43 </ul>
44 </div>
44 </div>
45 <div style="clear:both; overflow: hidden"></div>
45 <div style="clear:both; overflow: hidden"></div>
46 <div class="div_pagination_right">
46 <div class="div_pagination_right">
47 <?php echo $html_pagination; ?>
47 <?php echo $html_pagination; ?>
48 </div>
48 </div>
49 <div style="clear:both; overflow: hidden"></div>
49 <div style="clear:both; overflow: hidden"></div>
50 <div id="content_user" class="content_list">
50 <div id="content_user" class="content_list">
51 <table width="100%" cellpadding="0" cellspacing="0">
51 <table width="100%" cellpadding="0" cellspacing="0">
52 <thead>
52 <thead>
53 <tr>
53 <tr>
54 <th align="center" width="5%">N&deg;</th>
54 <th align="center" width="5%">N&deg;</th>
55 <th align="center" width="10%" colspan="2"></th>
55 <th align="center" width="10%" colspan="2"></th>
56 <th align="center">Username</th>
56 <th align="center">Username</th>
57 <th align="center">Lastname</th>
57 <th align="center">Lastname</th>
58 <th align="center">Firstname</th>
58 <th align="center">Firstname</th>
59 <th align="center">State</th>
59 <th align="center">State</th>
60 </tr>
60 </tr>
61 </thead>
61 </thead>
62 <tbody>
62 <tbody>
63 <?php
63 <?php
64 $numeracion = 1;
64 $numeracion = 1;
65
65
66 $num_rows = $listUsers->rowCount();
66 $num_rows = $listUsers->rowCount();
67 //echo SYS_IMAGES.DS.'system'.DS.'b_edit.png';
67 //echo SYS_IMAGES.DS.'system'.DS.'b_edit.png';
68 if($num_rows > 0){
68 if($num_rows > 0){
69 while($datos_usuario = $listUsers->fetch()){
69 while($datos_usuario = $listUsers->fetch()){
70 ?>
70 ?>
71 <tr>
71 <tr>
72 <td align="center" width="5%"><?php echo ($numeracion+$inicio); ?></td>
72 <td align="center" width="5%"><?php echo ($numeracion+$inicio); ?></td>
73 <td width="5%" align="center">
73 <td width="5%" align="center">
74 <a href="index.php?option=com_users&controller=Users&action=editUser&user=<?php echo $datos_usuario['iduser']; ?>">
74 <a href="index.php?option=com_users&controller=Users&action=editUser&user=<?php echo $datos_usuario['iduser']; ?>">
75 <img src="../images/system/b_edit.png" alt="Edit" style="border: 0" />
75 <img src="../images/system/b_edit.png" alt="Edit" style="border: 0" />
76 </a>
76 </a>
77 </td>
77 </td>
78 <td width="5%" align="center">
78 <td width="5%" align="center">
79 <a href="#" class="btn_delUser" alt="<?php echo $datos_usuario['iduser']; ?>">
79 <a href="#" class="btn_delUser" alt="<?php echo $datos_usuario['iduser']; ?>">
80 <img src="../images/system/b_drop.png" alt="Delete" style="border: 0" />
80 <img src="../images/system/b_drop.png" alt="Delete" style="border: 0" />
81 </a>
81 </a>
82 </td>
82 </td>
83 <td align="center">
83 <td align="center">
84 <a href="index.php?option=com_users&controller=Users&action=view&user=<?php echo $datos_usuario['iduser']; ?>">
84 <a href="index.php?option=com_users&controller=Users&action=view&user=<?php echo $datos_usuario['iduser']; ?>">
85 <?php echo $datos_usuario['username']; ?>
85 <?php echo $datos_usuario['username']; ?>
86 </a>
86 </a>
87 </td>
87 </td>
88 <td align="center"><?php echo $datos_usuario['lastname']; ?></td>
88 <td align="center"><?php echo $datos_usuario['lastname']; ?></td>
89 <td align="center"><?php echo $datos_usuario['firstname']; ?></td>
89 <td align="center"><?php echo $datos_usuario['firstname']; ?></td>
90 <td align="center">
90 <td align="center">
91 <?php if($datos_usuario['state'] == 1){ ?>
91 <?php if($datos_usuario['state'] == 1){ ?>
92 <img src="../imagenes/usractive.jpeg" alt="Active" border="0" />
92 <img src="images/system/tick.png" alt="Active" border="0" />
93 <?php } ?>
93 <?php } ?>
94 <?php if($datos_usuario['state'] == 2){ ?>
94 <?php if($datos_usuario['state'] == 2){ ?>
95 <img src="../imagenes/b_locked.png" alt="Locked" border="0" />
95 <img src="../imagenes/b_locked.png" alt="Locked" border="0" />
96 <?php } ?>
96 <?php } ?>
97 <?php
97 <?php
98 switch($datos_usuario['state']){
98 switch($datos_usuario['state']){
99 case 3: echo 'Deleted';
99 case 3: echo 'Deleted';
100 break;
100 break;
101 case 4: echo 'First Login';
101 case 4: echo 'First Login';
102 break;
102 break;
103 case 5: echo 'Reset';
103 case 5: echo 'Reset';
104 break;
104 break;
105 }
105 }
106 ?>
106 ?>
107 </td>
107 </td>
108 </tr>
108 </tr>
109 <?php
109 <?php
110 $numeracion ++;
110 $numeracion ++;
111 }
111 }
112 } else {
112 } else {
113 ?>
113 ?>
114 <tr><td colspan="7" align="center">Users not found.</td></tr>
114 <tr><td colspan="7" align="center">Users not found.</td></tr>
115 <?php } ?>
115 <?php } ?>
116 </tbody>
116 </tbody>
117 </table>
117 </table>
118 </div>
118 </div>
119 <div class="div_pagination_right">
119 <div class="div_pagination_right">
120 <?php echo $html_pagination; ?>
120 <?php echo $html_pagination; ?>
121 </div>
121 </div>
122 <div style="clear:both; overflow: hidden"></div>
122 <div style="clear:both; overflow: hidden"></div>
123 </div> No newline at end of file
123 </div>
General Comments 0
You need to be logged in to leave comments. Login now