function phonebook_hook_webservices_output($operation, $requests) { global $user_config; if (!auth_isvalid()) { return FALSE; } $keyword = stripslashes($requests['keyword']); if (!$keyword) { $keyword = $requests['tag']; } if ($keyword && $user_config['uid']) { if (substr($keyword, 0, 1) == '@') { $keyword = substr($keyword, 1); $list = phonebook_search_user($keyword); foreach ($list as $data) { $item[] = array('id' => '@' . $data['username'], 'text' => '@' . $data['name']); } } else { if (substr($keyword, 0, 1) == '#') { $keyword = substr($keyword, 1); $list = phonebook_search_group($user_config['uid'], $keyword); foreach ($list as $data) { $item[] = array('id' => '#' . $data['code'], 'text' => _('Group') . ': ' . $data['group_name'] . ' (' . $data['code'] . ')'); } } else { $list = phonebook_search($user_config['uid'], $keyword); foreach ($list as $data) { $item[] = array('id' => $data['p_num'], 'text' => $data['p_desc'] . ' (' . $data['p_num'] . ')'); } } } } if (count($item) == 0) { $item[] = array('id' => $keyword, 'text' => $keyword); } $content = json_encode($item); ob_end_clean(); header('Content-Type: text/json; charset=utf-8'); $ret = $content; return $ret; }
function phonebook_hook_webservices_output($operation, $requests, $returns) { global $user_config; $keyword = stripslashes($requests['keyword']); if (!$keyword) { $keyword = $requests['tag']; } if (!($operation == 'phonebook' && $keyword)) { return FALSE; } if (!auth_isvalid()) { return FALSE; } if ($returns['modified'] && $returns['param']['operation'] == 'phonebook') { $item = json_decode($returns['param']['content'], TRUE); } else { $item = array(); } if ($keyword && $user_config['uid']) { if (substr($keyword, 0, 1) == '@') { $keyword = substr($keyword, 1); $list = phonebook_search_user($user_config['uid'], $keyword); foreach ($list as $data) { $item[] = array('id' => '@' . $data['username'], 'text' => '@' . $data['name']); } } else { if (substr($keyword, 0, 1) == '#') { $keyword = substr($keyword, 1); $list = phonebook_search_group($user_config['uid'], $keyword); foreach ($list as $data) { $item[] = array('id' => '#' . $data['code'], 'text' => _('Group') . ': ' . $data['group_name'] . ' (' . $data['code'] . ')'); } } else { $list = phonebook_search($user_config['uid'], $keyword); foreach ($list as $data) { $item[] = array('id' => $data['p_num'], 'text' => $data['p_desc'] . ' (' . $data['p_num'] . ')'); } } } } // safety net if (count($item) == 0) { $item[] = array('id' => $keyword, 'text' => $keyword); } $returns['modified'] = TRUE; $returns['param']['content'] = json_encode($item); if ($requests['debug'] == '1') { $returns['param']['content-type'] = "text/plain"; } return $returns; }