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