<?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);
}
}