this is in openid_ax.module::
$items['user/%user/persona'] =
array(
'title' => 'OpenID AX Personas',
'page callback' => 'openid_ax_persona',
'access callback' => TRUE,
'file' => 'openid_ax.pages.inc'
);
Then, in .pages.inc::
function openid_ax_persona() {
}
/**
*Form for creating/editing a persona
*/
function openid_ax_persona_form($form_state, $persona_id = 0) {
$identifiers =
db_query("SELECT * FROM {openid_ax_attributes}");
$persona =
db_query("SELECT * FROM {openid_ax_persona} where uid=%d",
$user->
uid);
$option[$persona_value['persona_id']] = $persona_value['persona_name'];
}
$form['personas'] =
array(
'#type' => 'select',
'#title' => 'Personas',
'openid_ax_create_new' =>t('Create new')
)
);
$form['personas']['#options'] =
array_merge($form['personas']['#options'],
$option);
}
'#type' => 'submit',
'#value' => 'Select Persona',
'#submit' =>
array('openid_ax_persona_form_submit_select_persona')
);
$ax_values =
db_query("SELECT * FROM {openid_ax_values} WHERE uid=%d",
$user->
uid );
$persona_value[$row['ax_id']] = $row['ax_values'];
}
$form[$row['ax_id']] =
array(
'#type' => 'textfield',
'#title' =>
t($row['identifier']),
'#default_value' => $persona_value[$row['ax_id']],
'#size' => 25,
'#maxlength' => 100
);
if(isset($persona_value[$row['ax_id']])) {
$form['has_value'.
$row['ax_id']] =
array(
'#type' => 'hidden',
);
'#type' => 'markup',
'#value' =>
t('To delete a value, delete the value in the particular field and then submit'),
'#weight' => -1
);
}
}
'#type' => 'submit',
);
return $form;
}
function openid_ax_persona_form_submit_select_persona(&$form, $form_state) {
if($form_state['values']['personas']=='openid_ax_create_new') {
}
else {
$persona = $form_state['values']['personas'];
}
}
function openid_ax_persona_form_submit(&$form, $form_state) {
$result =
db_query("SELECT ax_id FROM {openid_ax_attributes}");
//difficult to use INSERT ... ON DUPLICATE KEY UPDATE
// as there is no unique key
$ax_value =
trim($form_state['values'][$ax_id['ax_id']]);
if($ax_value !=
''||
(isset($form_state['values'][has_value.
$ax_id['ax_id']]))){
if(!
db_result(db_query("SELECT * FROM {openid_ax_values} WHERE uid=%d AND ax_id=%d",
$user->
uid,
$ax_id['ax_id']))) {//TODO add persona support
$success =
db_query("INSERT INTO {openid_ax_values} (uid,ax_id,ax_values) VALUES ('%d','%d','%s')",
$user->
uid,
$ax_id['ax_id'],
$ax_value);
}
else {
if($ax_value != '') {
$success =
db_query("UPDATE {openid_ax_values} SET ax_values='%s' WHERE ax_id=%d AND uid=%d",
$form_state['values'][$ax_id['ax_id']],
$ax_id['ax_id'],
$user->
uid);
}
else {
$success =
db_query("DELETE FROM {openid_ax_values} WHERE ax_id=%d AND uid=%d",
$ax_id['ax_id'],
$user->
uid);
}
}
}
}
if($success) {
}
}