31 return 'module.message.NewMessage.TOKEN';
34 private function set_Property($key, $classname =
'XCube_StringProperty')
36 $this->mFormProperties[$key] =
new $classname($key);
41 $this->set_Property(
'uname');
42 $this->set_Property(
'title');
43 $this->set_Property(
'Legacy_Event_User_Preview');
44 $this->set_Property(
'Legacy_Event_User_Submit');
45 $this->set_Property(
'note',
'XCube_TextProperty');
48 $this->mFieldProperties[
'uname']->setDependsByArray([
'required',
'maxlength']);
49 $this->mFieldProperties[
'uname']->addMessage(
'required', _MD_MESSAGE_FORMERROR1);
50 $this->mFieldProperties[
'uname']->addMessage(
'maxlength', _MD_MESSAGE_FORMERROR2);
51 $this->mFieldProperties[
'uname']->addVar(
'maxlength',
'30');
54 $this->mFieldProperties[
'title']->setDependsByArray([
'required',
'maxlength']);
55 $this->mFieldProperties[
'title']->addMessage(
'required', _MD_MESSAGE_FORMERROR3);
56 $this->mFieldProperties[
'title']->addMessage(
'maxlength', _MD_MESSAGE_FORMERROR4);
57 $this->mFieldProperties[
'title']->addVar(
'maxlength',
'100');
60 $this->mFieldProperties[
'note']->setDependsByArray([
'required']);
61 $this->mFieldProperties[
'note']->addMessage(
'required', _MD_MESSAGE_FORMERROR5);
64 public function validateUname()
66 if (
'' !== $this->
get(
'uname')) {
67 $uname = mb_strcut($this->
get(
'uname'), 0, 30);
68 $userhand = xoops_gethandler(
'user');
70 $uobj = $userhand->getObjects($criteria);
71 if (isset($uobj) && is_array($uobj) && 1 === count($uobj)) {
72 $this->fuid = $uobj[0]->get(
'uid');
77 $this->
set(
'uname', $uname);
81 public function getShow($name, $type =
'toShow')
83 if (isset($this->mFormProperties[$name])) {
84 $root = XCube_Root::getSingleton();
85 $textFilter = $root->getTextFilter();
86 return $textFilter->$type($this->mFormProperties[$name]->getValue(
null));
93 $root = XCube_Root::getSingleton();
94 $obj->set(
'uid', $this->fuid);
95 $obj->set(
'from_uid', $root->mContext->mXoopsUser->get(
'uid'));
96 $obj->set(
'title', $this->
get(
'title'));
97 $obj->set(
'message', $this->
get(
'note'));
98 $obj->set(
'utime', time());
101 public function setRes($obj)
103 $title = $obj->get(
'title',
'n');
104 if (!preg_match(
'/^Re:/i', $title)) {
105 $title =
'Re: '.$title;
108 $userhand = xoops_gethandler(
'user');
109 $uobj = $userhand->get($obj->get(
'from_uid'));
110 if (is_object($uobj)) {
111 $this->
set(
'uname', $uobj->get(
'uname'));
112 $this->
set(
'title', $title);
113 $this->
set(
'note',
'[quote]'.$obj->get(
'message').
'[/quote]');
119 public function setUser(&$user)
121 $this->
set(
'uname', $user->get(
'uname'));