mysite_edit_form_submit($form_id, $form_values)
mysite.module, line 1791
Form submit for mysite_edit_form(). Implementation of the Forms API.
function mysite_edit_form_submit($form_id, $form_values) {
$check = 0;
$uid = $form_values['uid'];
$page = $form_values['page'];
if ($uid === 0) {
$check = 1;
}
$result = mysite_load_page($uid, $form_values['page']);
if (isset($result->uid)) {
// Page zero is the master settings page, still stored in the old {mysite} table.
if ($page == 0) {
$sql = "UPDATE {mysite} SET title = '%s', updated = %d, layout = '%s', style = '%s', format = '%s', status = %d, theme = '%s' WHERE uid = %d";
db_query($sql, $form_values['title'], time(), $form_values['layout'], $form_values['style'], $form_values['format'], $form_values['status'], $form_values['theme'], $uid);
}
$sql = "UPDATE {mysite_page} SET title = '%s', updated = %d, layout = '%s', style = '%s', format = '%s', status = %d, theme = '%s' WHERE uid = %d AND page = %d";
db_query($sql, $form_values['title'], time(), $form_values['layout'], $form_values['style'], $form_values['format'], $form_values['status'], $form_values['theme'], $uid, $page);
if ($form_values['format_update'] == 1) {
db_query("UPDATE {mysite_data} SET format = '%s' WHERE uid = %d AND page = %d", $form_values['format'], $uid, $page);
}
// Do we update all pages to the settings indicated?
if ($form_values['set_all']) {
switch ($form_values['only']) {
case 'personal':
// Update the status, but not the title.
db_query("UPDATE {mysite} SET status = %d WHERE uid = %d", $form_values['status'], $uid);
db_query("UPDATE {mysite_page} SET status = %d WHERE uid = %d", $form_values['status'], $uid);
break;
case 'theme':
// Update the theme
db_query("UPDATE {mysite} SET theme = '%s' WHERE uid = %d", $form_values['theme'], $uid);
db_query("UPDATE {mysite_page} SET theme = '%s' WHERE uid = %d", $form_values['theme'], $uid);
break;
case 'layout':
// Update the layout
db_query("UPDATE {mysite} SET layout = '%s' WHERE uid = %d", $form_values['layout'], $uid);
db_query("UPDATE {mysite_page} SET layout = '%s' WHERE uid = %d", $form_values['layout'], $uid);
break;
case 'style':
// Update the style
db_query("UPDATE {mysite} SET style = '%s' WHERE uid = %d", $form_values['style'], $uid);
db_query("UPDATE {mysite_page} SET style = '%s' WHERE uid = %d", $form_values['style'], $uid);
break;
case 'format':
// Update the format
db_query("UPDATE {mysite} SET format = '%s' WHERE uid = %d", $form_values['format'], $uid);
db_query("UPDATE {mysite_page} SET format = '%s' WHERE uid = %d", $form_values['format'], $uid);
// Update current formatting as well.
if ($form_values['format_update'] == 1) {
db_query("UPDATE {mysite_data} SET format = '%s' WHERE uid = %d", $form_values['format'], $uid);
}
break;
}
}
mysite_updated($result->uid);
drupal_set_message(t('Settings updated.'), 'status');
}
else {
if ($uid > 0 || $check == 1) {
// When we create this in the {mysite} table, it will copy into the {mysite_page} table on the next page load.
$sql = "INSERT INTO {mysite} (uid, title, created, updated, layout, style, format, status, theme) VALUES (%d, '%s', %d, %d, '%s', '%s', '%s', %d, '%s')";
db_query($sql, $form_values['uid'], $form_values['title'], time(), time(), $form_values['layout'], $form_values['style'], $form_values['format'], $form_values['status'], $form_values['theme']);
drupal_set_message(t('Personal page created'), 'status');
mysite_updated($uid);
}
else {
drupal_set_message(t('Failure. Invalid UID'), 'error');
}
}
if ($form_values['op'] == $form_values['submit']) {
if ($uid > 0) {
drupal_goto('mysite/'. $form_values['uid'] .'/view/'. $page);
}
else {
drupal_goto('admin/settings/mysite');
}
}
else {
$goto = 'mysite/'. $form_values['uid'] .'/edit/'. $page .'/'. $form_values['next'];
drupal_goto($goto);
}
}