即时消息正在集成内联注册模块(http://drupal.org/project/inline_registration)和隐私模块(http://drupal.org/project/privatemsg)。
问题是将新创建的用户信息传递给Privatemsg函数,从而使消息由新用户创作。
在http://www.freelancer.com/projects/PHP-Drupal/Drupal-Inline-Registration-Bug-Fix.html上提供付费解决方案。自定义模块代码也包含在其中。
谢谢你的帮助。
/***提交内联注册表的例程。*/函数inline_registration_submit($form,&$form_state) { $status_save =$form_state‘’values‘;unset($form_state’‘values’);unset($form_state‘’values‘);
user_register_submit($form,$form_state);
$form_state‘value’=$form_state‘’user‘->name;$form_state’value‘=$form_state’‘user’->uid;// $form_state‘’privatemsg‘’#value‘=$form_state’‘user’;$form_state‘value’= $status_save;}
/** * Form function for privatemsg. */ $form['privatemsg']['author'] = array( '#type' => 'value', '#value' => $user, );
发布于 2011-03-14 16:03:10
Privatemsg在privatemsg_new_validate()中构建消息数组/对象(D7)。然后将其保存在$form_state['validate_built_message']中。因此,您需要添加第二个验证函数,该函数在链接的验证函数之后运行,并将构建的消息数组更改为您想要的数组。
我不确定您到底想在哪里执行此操作,因为新表单和回复表单都显式地受到保护,以防匿名访问。
https://stackoverflow.com/questions/5292562
复制相似问题