XCL Web Application Platform 2.5.0
The XoopsCube Legacy Project
Loading...
Searching...
No Matches
AvatarDeleteAction.class.php
1<?php
7
8if (!defined('XOOPS_ROOT_PATH')) {
9 exit();
10}
11
12require_once XOOPS_MODULE_PATH . '/user/class/AbstractDeleteAction.class.php';
13require_once XOOPS_MODULE_PATH . '/user/admin/forms/AvatarAdminDeleteForm.class.php';
14
16{
17 public function _getId()
18 {
19 return xoops_getrequest('avatar_id');
20 }
21
22 public function &_getHandler()
23 {
24 $handler =& xoops_getmodulehandler('avatar');
25 return $handler;
26 }
27
28 public function _setupActionForm()
29 {
30 $this->mActionForm =new User_AvatarAdminDeleteForm();
31 $this->mActionForm->prepare();
32 }
33
34 public function _doExecute()
35 {
36 $linkHandler =& xoops_getmodulehandler('avatar_user_link');
37 $criteria =new Criteria('avatar_id', $this->mObject->get('avatar_id'));
38 $linkArr =& $linkHandler->getObjects($criteria);
39
40 if ($this->mObjectHandler->delete($this->mObject)) {
41 //
42 // Clear all user who set the avatar deleted with blank.gif
43 //
44 if ((is_countable($linkArr) ? count($linkArr) : 0) > 0) {
45 $userHandler =& xoops_gethandler('user');
46 foreach ($linkArr as $link) {
47 $user =& $userHandler->get($link->get('user_id'));
48
49 if (is_object($user)) {
50 $user->set('user_avatar', 'blank.gif');
51 $userHandler->insert($user);
52 }
53 unset($user);
54 }
55 }
56
57 return true;
58 } else {
59 return false;
60 }
61 }
62
63 public function executeViewInput(&$controller, &$xoopsUser, &$render)
64 {
65 $render->setTemplateName('avatar_delete.html');
66 $render->setAttribute('actionForm', $this->mActionForm);
67 $render->setAttribute('object', $this->mObject);
68 }
69
70 public function executeViewSuccess(&$controller, &$xoopsUser, &$render)
71 {
72 $controller->executeForward('./index.php?action=AvatarList');
73 }
74
75 public function executeViewError(&$controller, &$xoopsUser, &$render)
76 {
77 $controller->executeRedirect('./index.php?action=AvatarList', 1, _MD_USER_ERROR_DBUPDATE_FAILED);
78 }
79
80 public function executeViewCancel(&$controller, &$xoopsUser, &$render)
81 {
82 $controller->executeForward('./index.php?action=AvatarList');
83 }
84}