Index: feedback.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/feedback/feedback.module,v retrieving revision 1.72 diff -u -p -r1.72 feedback.module --- feedback.module 19 Oct 2008 20:07:19 -0000 1.72 +++ feedback.module 3 Jun 2009 16:34:38 -0000 @@ -141,7 +141,7 @@ function feedback_form() { } function feedback_form_submit($form, &$form_state) { - feedback_add_entry($form_state['values']['message'], $form_state['values']['location']); + feedback_add_node_entry($form_state['values']['message'], $form_state['values']['location']); $message = t('Thanks for your feedback!'); if ($form_state['values']['ajax']) { echo drupal_to_js(array('message' => $message)); @@ -233,6 +233,39 @@ function feedback_user($op, &$edit, &$ac } /** + * Create a new node instead of a log entry + */ + +function feedback_add_node_entry($message, $location) { + global $user; + if (module_exists('browscap')) { + $browserinfo = browscap_get_browser($_SERVER['HTTP_USER_AGENT']); + $browser = ($browserinfo['parent'] ? $browserinfo['parent'] .' / '. $browserinfo['platform'] : $browserinfo['useragent']); + $message = $message . '

Browser: ' . $browser; + } + + $node = array ( + 'type' => 'ticket', + 'uid' => $user->uid, + 'body' => $message, + 'teaser' => $message, + 'comment' => 2, + ); + $node = (object) $node; + + $node->field_status[0]['value'] = 'Open'; + $node->field_user[0]['uid'] = $user->uid; + $node->field_location[0]['value'] = l($location,$location); + + node_submit($node); + node_save($node); + + $node->title = t('Ticket #!nid', array('!nid' => $node->nid)); + node_save($node); + +} + +/** * Build a (sortable) form containing a checkbox for each feedback entry. */ function feedback_admin_view_form() {