/usr/share/drupal7/modules/drucall/drucall.module is in drupal7-mod-drucall 2.0.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | <?php
function drucall_menu() {
$items['drucall'] = array(
'title' => 'DruCall',
'page callback' => 'drucall_call',
'access callback' => TRUE,
'expanded' => TRUE,
);
$items['admin/config/drucall'] = array(
'title' => 'DruCall WebRTC',
'description' => 'Configure DruCall.',
'position' => 'right',
'weight' => -15,
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array('administer drucall'),
'file' => 'system.admin.inc',
'file path' => drupal_get_path('module', 'system'),
);
$items['admin/config/drucall/settings'] = array(
'title' => 'Settings',
'description' => 'Administer DruCall server settings.',
'weight' => 0,
'page callback' => 'drupal_get_form',
'page arguments' => array('drucall_admin'),
'access arguments' => array('administer drucall'),
'type' => MENU_LOCAL_TASK | MENU_NORMAL_ITEM,
'file' => 'drucall.admin.inc',
);
return $items;
}
function drucall_theme() {
return array(
'drucall_phone' => array(
'render element' => 'element',
'template' => 'drucall-phone',
),
);
}
function drucall_call() {
// We use the `libraries' module to load javascript dependencies:
foreach ([ "jssip", "jscommunicator", "arbiterjs" ] as $libname) {
if (!($library = libraries_detect($libname))) {
$error = "failed to load an essential component";
$error_msg = "failed to load $libname - please install it (check the DruCall instructions)";
}
if($library && empty($library['installed'])) {
$error = $library['error'];
$error_msg = $library['error message'];
}
if(isset($error)) {
drupal_set_message($error_msg, $error, FALSE);
return $error;
}
libraries_load($libname);
}
$my_settings = array(
'mod_path' => drupal_get_path('module', 'drucall'),
'phone_number' => variable_get('default_destination'),
'enable_audio' => variable_get('enable_audio'),
'enable_video' => variable_get('enable_video'),
'display_name' => variable_get('display_name'),
'impi' => variable_get('auth_user'),
'impu' => variable_get('from_uri'),
'password' => variable_get('auth_password'),
'realm' => variable_get('auth_realm'),
'websocket_server_url' => variable_get('websocket_server_url'),
'sip_outboundproxy_url' => variable_get('sip_outboundproxy_url'),
'turn_server_url' => variable_get('turn_server_url'),
'turn_username' => variable_get('turn_username'),
'turn_password' => variable_get('turn_password'),
);
drupal_add_js(
array('drucall' => $my_settings),
'setting');
drupal_add_js(drupal_get_path('module', 'drucall') . '/js/drucall.js');
drupal_add_css(drupal_get_path('module', 'drucall') . '/css/jscommunicator.css', array('group' => CSS_DEFAULT, 'type' => 'file'));
return theme('drucall_phone');
}
|