Пример #1
0
/**
 *
 * @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;
}
Пример #2
0
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;
    }
}
Пример #3
0
/**
 * 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;
}