| 1 |
<?php |
<?php |
| 2 |
// $Id: messenger.module,v 1.14 2008/02/27 08:07:04 vrencianz Exp $ |
// $Id: messenger.module,v 1.15 2008/03/17 15:38:02 vrencianz Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
A Drupal messenger module (http://Drupal.org). |
A Drupal messenger module (http://Drupal.org). |
| 336 |
function messenger_table($arg1 = '', $arg2 = '') { |
function messenger_table($arg1 = '', $arg2 = '') { |
| 337 |
global $user; |
global $user; |
| 338 |
$output = ''; |
$output = ''; |
| 339 |
|
|
| 340 |
|
$messenger_format = variable_get('messenger_format', FILTER_FORMAT_DEFAULT); |
| 341 |
|
|
| 342 |
// the $user->uid is needed for security |
// the $user->uid is needed for security |
| 343 |
if($arg1 == 'delete') { |
if($arg1 == 'delete') { |
| 403 |
$output .= '</div>'; |
$output .= '</div>'; |
| 404 |
|
|
| 405 |
$output .= '<div class="message" id="messenger_message_' . $msg->mid . '">'; |
$output .= '<div class="message" id="messenger_message_' . $msg->mid . '">'; |
| 406 |
$output .= check_markup($msg->message, FILTER_FORMAT_DEFAULT, FALSE); |
$output .= check_markup($msg->message, $messenger_format, FALSE); |
| 407 |
$output .= '</div>'; |
$output .= '</div>'; |
| 408 |
$output .= '</div>'; |
$output .= '</div>'; |
| 409 |
} |
} |
| 421 |
$output .= '</div>'; |
$output .= '</div>'; |
| 422 |
|
|
| 423 |
$output .= '<div class="message" id="messenger_message_' . $msg->mid . '">'; |
$output .= '<div class="message" id="messenger_message_' . $msg->mid . '">'; |
| 424 |
$output .= check_markup($msg->message, FILTER_FORMAT_DEFAULT, FALSE); |
$output .= check_markup($msg->message, $messenger_format, FALSE); |
| 425 |
$output .= '</div>'; |
$output .= '</div>'; |
| 426 |
$output .= '</div>'; |
$output .= '</div>'; |
| 427 |
} |
} |
| 464 |
$output .= '</div>'; |
$output .= '</div>'; |
| 465 |
|
|
| 466 |
$output .= '<div class="message" id="messenger_message_' . $msg->mid . '">'; |
$output .= '<div class="message" id="messenger_message_' . $msg->mid . '">'; |
| 467 |
$output .= check_markup($msg->message, FILTER_FORMAT_DEFAULT, FALSE); |
$output .= check_markup($msg->message, $messenger_format, FALSE); |
| 468 |
$output .= '</div>'; |
$output .= '</div>'; |
| 469 |
$output .= '</div>'; |
$output .= '</div>'; |
| 470 |
} |
} |
| 482 |
$output .= '</div>'; |
$output .= '</div>'; |
| 483 |
|
|
| 484 |
$output .= '<div class="message" id="messenger_message_' . $msg->mid . '">'; |
$output .= '<div class="message" id="messenger_message_' . $msg->mid . '">'; |
| 485 |
$output .= check_markup($msg->message, FILTER_FORMAT_DEFAULT, FALSE); |
$output .= check_markup($msg->message, $messenger_format, FALSE); |
| 486 |
$output .= '</div>'; |
$output .= '</div>'; |
| 487 |
$output .= '</div>'; |
$output .= '</div>'; |
| 488 |
} |
} |
| 529 |
// the block is not displayed on the messenger page |
// the block is not displayed on the messenger page |
| 530 |
$path = $_GET['q'] . ''; |
$path = $_GET['q'] . ''; |
| 531 |
|
|
| 532 |
if(user_access('access messenger') && !preg_match('/messenger$/i', $path)) { |
if(user_access('access messenger') && !preg_match('/(messenger\/|messenger$)/i', $path)) { |
| 533 |
$block['content'] = '<div id="messenger-notify-message"></div>' . drupal_get_form('messenger_block_form'); |
$block['content'] = '<div id="messenger-notify-message"></div>' . drupal_get_form('messenger_block_form'); |
| 534 |
$block['subject'] = t('Messenger'); |
$block['subject'] = t('Messenger'); |
| 535 |
} |
} |
| 541 |
/** |
/** |
| 542 |
* menu callback, display the messenger page |
* menu callback, display the messenger page |
| 543 |
*/ |
*/ |
| 544 |
function messenger_page() { |
function messenger_page($rid = 0) { |
| 545 |
|
$rid = $rid + 0; |
| 546 |
|
|
| 547 |
|
if($rid) { |
| 548 |
|
$_SESSION['messenger_rid'] = $rid; |
| 549 |
|
if($row = db_fetch_object(db_query('SELECT name FROM {users} where uid = %d', $rid))) { |
| 550 |
|
$_SESSION['messenger_user'] = $row->name; |
| 551 |
|
} |
| 552 |
|
} |
| 553 |
|
|
| 554 |
$output = ''; |
$output = ''; |
| 555 |
|
|
| 556 |
$output .= '<div id="messenger-notify-message"></div>'; |
$output .= '<div id="messenger-notify-message"></div>'; |
| 557 |
$output .= drupal_get_form('messenger_form'); |
$output .= drupal_get_form('messenger_form'); |
| 558 |
|
|
| 577 |
'#description' => t('Use an autocomplete text field for the users list instead of the default combo box.'), |
'#description' => t('Use an autocomplete text field for the users list instead of the default combo box.'), |
| 578 |
); |
); |
| 579 |
|
|
| 580 |
|
$raw_formats = filter_formats(); |
| 581 |
|
$formats = array(); |
| 582 |
|
|
| 583 |
|
foreach($raw_formats as $format) { |
| 584 |
|
$formats[$format->format] = $format->name; |
| 585 |
|
} |
| 586 |
|
|
| 587 |
|
$form['messenger_format'] = array( |
| 588 |
|
'#type' => 'select', |
| 589 |
|
'#title' => t('Input format'), |
| 590 |
|
'#options' => $formats, |
| 591 |
|
'#default_value' => variable_get('messenger_format', FILTER_FORMAT_DEFAULT), |
| 592 |
|
); |
| 593 |
|
|
| 594 |
return system_settings_form($form); |
return system_settings_form($form); |
| 595 |
} |
} |
| 596 |
|
|
| 607 |
'access arguments' => $access, |
'access arguments' => $access, |
| 608 |
'type' => MENU_SUGGESTED_ITEM, |
'type' => MENU_SUGGESTED_ITEM, |
| 609 |
); |
); |
| 610 |
|
$items['messenger/user/%'] = array( |
| 611 |
|
'title' => t('Messenger'), |
| 612 |
|
'page callback' => 'messenger_page', |
| 613 |
|
'page arguments' => array(2), |
| 614 |
|
'access arguments' => $access, |
| 615 |
|
'type' => MENU_CALLBACK, |
| 616 |
|
); |
| 617 |
$items['messenger/autocomplete'] = array( |
$items['messenger/autocomplete'] = array( |
| 618 |
'title' => t('Messenger'), |
'title' => t('Messenger'), |
| 619 |
'page callback' => 'messenger_autocomplete', |
'page callback' => 'messenger_autocomplete', |