<?php # vim: set filetype=php expandtab tabstop=2 shiftwidth=2 autoindent smartindent:
function user_queue_member_admin($form, $form_state = NULL) {
$default_value = FALSE;
if ($field = _user_queue_member_get_profile_field()) {
$default_value = $field->name ." [". $field->fid ."]";
}
$form["profile_field"] =
array(
"#type" => "textfield",
"#title" =>
t("Phone number field"),
"#autocomplete_path" => "admin/user/user_queue_member/autocomplete",
"#required" => FALSE,
"#default_value" => $default_value,
);
}
else {
$form["profile_field"] =
array(
"#title" =>
t("Phone number field"),
"#value" =>
t("Enable profile module to send calls to user phone number."),
);
}
"#type" => "submit",
"#value" => "Save",
);
return $form;
}
function user_queue_member_admin_validate($form, &$form_state) {
if ($form_state["values"]["profile_field"]) {
/* parse the profile field */
if (!
preg_match("^.*\[([0-9]+)\]$",
$form_state["profile_field"],
$matches)) {
form_error($form["profile_field"],
"Profile field could not be identified, you can keep it blank if you do not want to use phone number.");
return;
}
/* see if the fid exists */
if (!
$field =
db_fetch_object(db_query('SELECT f.name, f.fid FROM {profile_fields} f WHERE f.fid = %d',
$matches[1]))) {
form_error($form["profile_field"],
"Profile field does not exist, you can keep it blank if you do not want to use phone number.");
return;
}
$form_state["fid"] = $field->fid;
}
}
function user_queue_member_admin_submit($form, &$form_state) {
if ($form_submit["fid"]) {
variable_set(USER_QUEUE_MEMBER_PHONE_NUMBER,
$form_submit["fid"]);
}
}
function user_queue_member_admin_autocomplete($string) {
$result =
db_query_range("SELECT f.name, f.fid FROM {profile_fields} AS f WHERE LOWER(f.name) LIKE LOWER('%s%%')",
$string,
0,
10);
$matches[$data->
name .
" [".
$data->
fid .
"]"] =
check_plain($data->
name);
}
}