/** * * @param GuifiAPI $gapi GuifiAPI object * * @param mixed[] $parameters * * @return */ function guifi_api_link_remove($gapi, $parameters) { if (!guifi_api_check_fields($gapi, array('link_id'), $parameters)) { return FALSE; } $link_id = $parameters['link_id']; $link_query = db_query('SELECT * FROM {guifi_links} WHERE id = %d', $link_id); if ($link = db_fetch_object($link_query)) { do { if (!$link->device_id) { $gapi->addError(500, "link not found: {$link_id}"); return FALSE; } $device = guifi_device_load($link->device_id); if (!guifi_device_access('update', $device)) { $gapi->addError(501); return FALSE; } $interface = db_fetch_object(db_query('SELECT * FROM {guifi_interfaces} WHERE id = %d LIMIT 1', $link->interface_id)); if ($interface->interface_type == 'Wan' || $interface->interface_type == 'wds/p2p') { $device['radios'][$interface->radiodev_counter]['interfaces'][$link->interface_id]['ipv4'][$link->ipv4_id]['deleted'] = TRUE; $device['radios'][$interface->radiodev_counter]['interfaces'][$link->interface_id]['ipv4'][$link->ipv4_id]['links'][$link->id]['deleted'] = TRUE; } else { $device['radios'][$interface->radiodev_counter]['interfaces'][$link->interface_id]['ipv4'][$link->ipv4_id]['links'][$link->id]['deleted'] = TRUE; } guifi_device_save($device); } while ($link = db_fetch_object($link_query)); } else { $gapi->addError(500, "link not found: {$link_id}"); return FALSE; } return TRUE; }
function guifi_device_form_submit($form, &$form_state) { guifi_log(GUIFILOG_BASIC, 'function guifi_device_form_submit()', $form_state['clicked_button']['#value']); if ($form_state['values']['id']) { if (!guifi_device_access('update', $form_state['values']['id'])) { drupal_set_message(t('You are not authorized to edit this device', 'error')); return; } } // Take the appropiate actions switch ($form_state['clicked_button']['#value']) { case t('Reset'): drupal_set_message(t('Reset was pressed, ' . 'if there was any change, was not saved and lost.' . '<br />The device information has been reloaded ' . 'from the current information available at the database')); drupal_goto('guifi/device/' . $form_state['values']['id'] . '/edit'); break; case t('Save & continue edit'): case t('Add IPv4, Save & continue edit'): case t('Save & exit'): // save // print_r($_POST); // print_r($form_state['values']); // exit; // $id = guifi_device_save($form_state['clicked_button']['#post']); // $id = guifi_device_save($form_state['clicked_button']['#post']); $id = guifi_device_save($form_state['values']); // exit; if ($form_state['clicked_button']['#value'] == t('Save & exit')) { drupal_goto('guifi/device/' . $id); } drupal_goto('guifi/device/' . $id . '/edit'); break; default: // drupal_set_message(t('Warning: The will be active only for this session. To confirm the changes you will have to press the save buttons.')); guifi_log(GUIFILOG_TRACE, 'exit guifi_device_form_submit without saving...', $form_state['clicked_button']['#value']); return; } }
/** * Confirm that an edited user fields properly filled in. */ function _guifi_user_queue_device_form_submit($form, $form_state) { guifi_log(GUIFILOG_TRACE, 'function guifi_user_queue_device_form_submit()', $form_state['clicked_button']['#post']); switch ($form_state['clicked_button']['#name']) { case 'approve': $edit =& $form_state['clicked_button']['#post']; $d = guifi_device_load($edit['did']); $d['flag'] = 'Working'; $d['radios'][0]['mac'] = $edit['mac']; $d['radios'][0]['interfaces'][$edit['iid']]['mac'] = $edit['mac']; $d['radios'][0]['interfaces'][$edit['iid']]['ipv4'][0]['links'][$edit['lid']]['flag'] = 'Working'; guifi_device_save($d); $n = guifi_node_load($form_state['clicked_button']['#post']['nid']); $form_state['values']['status'] = 'Approved'; case 'saveUser': $u = guifi_user_load($form_state['clicked_button']['#post']['uid']); $u['status'] = $form_state['values']['status']; guifi_user_save($u); break; } return; }