while($row = db_fetch_array($inbound_recordset)){
$page_content .= drupal_get_form('_submit_inquiry_form', $row['inbound_id']);
}
And here is the form and submit handler
function _submit_inquiry_form(&$form_state, $inbound_id) {
$form['inbound_id'] = array(
'#type' => 'hidden',
'#value' => $inbound_id,
'#description' => t('inbound_id through the argument')
);
$form['comment'] = array(
'#type' => 'textarea',
'#title' => t('Comments'),
'#description' => t('Enter your query'),
/*'#required' => TRUE*/
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Place Inquiry')
);
return $form;
}
function _submit_inquiry_form_submit($form, &$form_state) {
global $user;
$fields=array(
$user->uid,
$form_state['values']['inbound_id'],
$form_state['values']['comment'],
);
$sql = "INSERT INTO {inquiry} (u_id, inbound_id, comment) VALUES (%d, %d, '%s')";
if(!db_query($sql, $fields)) {
drupal_set_message(t('Something went wrong, please try placing your inquiry again...'), "error");
} else {
drupal_set_message(t('We have received your inquiry and will get back to you.'));
}
}
function mymodule_form($form_state = array(), $op, $category = NULL) {
if (empty($category) || ($category_op == 'add') {
$category = array(
'category' => '',
'mymodule_term' => '',
'tid' => NULL
);
}
$form['category_op'] = array('#type' => 'value', '#value' => $op);
$form['category'] = array(
'#type' => 'textfield',
'#title' => t(' Name of Category'),
'#size' => 60,
'#default_value' => $category['category'],
'#weight' => -10
);
$form['mymodule_term'] = array (
'#type' => 'textarea',
'#title' => t('Term'),
'#default_value' => $category['mymodule_term'],
'#description' => t('Term for node. Separated by comma'),
'#weight' => -9
);
$form['tid'] = array('#type' => 'value',
'#value' => $category['tid'],
);
$form['submit'] = array('#type' => 'submit',
'#value' => t('Save'),
);
return $form;
}
<?phpfunction user_save($account, $array = array(), $category = 'account') {
$user_fields = user_fields();
if (is_object($account) && $account->uid) {
user_module_invoke('update', $array, $account, $category);
$query = '';
$data = unserialize(db_result(db_query('SELECT data FROM {users} WHERE uid = %d', $account->uid)));
if (empty($array['access']) && empty($account->access) && user_access('administer users')) {
$array['access'] = time();
}
foreach ($array as $key => $value) {
if ($key == 'pass' && !empty($value)) {
$query .= "$key = '%s', ";
$v[] = md5($value);
}
else if ((substr($key, 0, 4) !== 'auth') && ($key != 'pass')) {
if (in_array($key, $user_fields)) {
$query .= "$key = '%s', ";
$v[] = $value;
}
else if ($key != 'roles') {
if ($value === NULL) {
unset($data[$key]);
}
elseif (!empty($key)) {
$data[$key] = $value;
}
}
}
}
$query .= "data = '%s' ";
$v[] = serialize($data);
$success = db_query("UPDATE {users} SET $query WHERE uid = %d", array_merge($v, array($account->uid)));
if (!$success) {
return FALSE;
}
if (isset($array['roles']) && is_array($array['roles'])) {
db_query('DELETE FROM {users_roles} WHERE uid = %d', $account->uid);
foreach (array_keys($array['roles']) as $rid) {
if (!in_array($rid, array(DRUPAL_ANONYMOUS_RID, DRUPAL_AUTHENTICATED_RID))) {
db_query('INSERT INTO {users_roles} (uid, rid) VALUES (%d, %d)', $account->uid, $rid);
}
}
}
if (isset($array['status']) && $array['status'] == 0) {
sess_destroy_uid($account->uid);
}
if (!empty($array['pass'])) {
sess_destroy_uid($account->uid);
if ($account->uid == $GLOBALS['user']->uid) {
sess_regenerate();
}
}
$user = user_load(array('uid' => $account->uid));
if (isset($array['status']) && $array['status'] != $account->status) {
$op = $array['status'] == 1 ? 'status_activated' : 'status_blocked';
_user_mail_notify($op, $user);
}
user_module_invoke('after_update', $array, $user, $category);
}
else {
if (!isset($array['created'])) {
$array['created'] = time();
}
if (empty($array['access']) && user_access('administer users')) {
$array['access'] = time();
}
foreach ($array as $key => $value) {
switch ($key) {
case 'pass':
$fields[] = $key;
$values[] = md5($value);
$s[] = "'%s'";
break;
case 'mode':
case 'sort':
case 'timezone':
case 'threshold':
case 'created':
case 'access':
case 'login':
case 'status':
$fields[] = $key;
$values[] = $value;
$s[] = "%d";
break;
default:
if (substr($key, 0, 4) !== 'auth' && in_array($key, $user_fields)) {
$fields[] = $key;
$values[] = $value;
$s[] = "'%s'";
}
break;
}
}
$success = db_query('INSERT INTO {users} (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $s) . ')', $values);
if (!$success) {
return FALSE;
}
$array['uid'] = db_last_insert_id('users', 'uid');
$user = user_load(array('uid' => $array['uid']));
user_module_invoke('insert', $array, $user, $category);
$data = array();
foreach ($array as $key => $value) {
if ((substr($key, 0, 4) !== 'auth') && ($key != 'roles') && (!in_array($key, $user_fields)) && ($value !== NULL)) {
$data[$key] = $value;
}
}
db_query("UPDATE {users} SET data = '%s' WHERE uid = %d", serialize($data), $user->uid);
if (isset($array['roles']) && is_array($array['roles'])) {
db_query('DELETE FROM {users_roles} WHERE uid = %d', $array['uid']);
foreach (array_keys($array['roles']) as $rid) {
if (!in_array($rid, array(DRUPAL_ANONYMOUS_RID, DRUPAL_AUTHENTICATED_RID))) {
db_query('INSERT INTO {users_roles} (uid, rid) VALUES (%d, %d)', $array['uid'], $rid);
}
}
}
$user = user_load(array('uid' => $array['uid']));
}
$authmaps = array();
foreach ($array as $key => $value) {
if (substr($key, 0, 4) == 'auth') {
$authmaps[$key] = $value;
}
}
if (sizeof($authmaps) > 0) {
user_set_authmaps($user, $authmaps);
}
return $user;
}
?>
No comments:
Post a Comment