function mobile_navigation_displays_form_submit in Mobile Navigation 7.2
Submit function for Displays form.
File
- ./
mobile_navigation.admin.inc, line 409 - Mobile Navigation Administration page.
Code
function mobile_navigation_displays_form_submit($form, &$form_state) {
/**** Handle creation of new displays ****/
$name = $form_state['values']['mobile_navigation_display_name'];
$top = $form_state['values']['mobile_navigation_top'];
$bottom = $form_state['values']['mobile_navigation_bottom'];
$mq = $form_state['values']['mobile_navigation_media_query'];
/* if there is a name and a breakpoint. */
$created = false;
if ($name and ($top != "" or $bottom != "" or $mq != "")) {
/******* Insert New record ******/
$fields = array(
'name' => $name,
'media_query' => $mq,
);
if ($bottom != '') {
$fields['bottom'] = $bottom;
}
else {
$fields['bottom'] = null;
}
if ($top != '') {
$fields['top'] = $top;
}
else {
$fields['top'] = null;
}
db_insert('mobile_navigation_displays')
->fields($fields)
->execute();
$last_id = db_query('SELECT MAX(id) FROM {mobile_navigation_displays}')
->fetchField();
$created['id'] = $last_id;
drupal_set_message(t('New display "@name" has been created.', array(
'@name' => $name,
)));
}
if (isset($form_state['values']['display_actions'])) {
$displays_actions = $form_state['values']['display_actions'];
/********* Cheking for deleted items **********/
$copy = $displays_actions;
foreach ($copy as $id => $actions) {
if ($actions['delete']) {
$deleted = db_delete('mobile_navigation_displays')
->condition('id', $id)
->execute();
$config = db_delete('mobile_navigation_configurations')
->condition('display', $id)
->execute();
unset($displays_actions[$id]);
}
}
/****** Saving changes on media queries column *****/
$ii = 0;
foreach ($displays_actions as $id => $row) {
$fields = array(
'media_query' => $row['media_query'],
);
if ($row['bottom'] != "") {
$fields['bottom'] = $row['bottom'];
}
else {
$fields['bottom'] = null;
}
if ($row['top'] != "") {
$fields['top'] = $row['top'];
}
else {
$fields['top'] = null;
}
db_update('mobile_navigation_displays')
->fields($fields)
->condition('id', $id, '=')
->execute();
}
}
}