Пример #1
0
function mf_admin_pre_render()
{
    //Get the current action
    $mfAction = RGForms::post('action');
    //Only process if there was a gravity forms action
    if (!empty($mfAction)) {
        $entry_info_entry_id = $_POST['entry_info_entry_id'];
        $lead = GFAPI::get_entry($entry_info_entry_id);
        $form_id = isset($lead['form_id']) ? $lead['form_id'] : 0;
        $form = RGFormsModel::get_form_meta($form_id);
        $entry_status = isset($lead['303']) ? $lead['303'] : '';
        switch ($mfAction) {
            // Entry Management Update
            case 'update_entry_management':
                set_entry_status_content($lead, $form);
                break;
            case 'update_entry_status':
                set_entry_status($lead, $form);
                break;
            case 'update_ticket_code':
                $ticket_code = $_POST['entry_ticket_code'];
                $entry_info_entry_id = $_POST['entry_info_entry_id'];
                mf_update_entry_field($entry_info_entry_id, '308', $ticket_code);
                break;
            case 'update_entry_schedule':
                set_entry_schedule($lead, $form);
                break;
            case 'delete_entry_schedule':
                delete_entry_schedule($lead, $form);
                break;
            case 'update_entry_location':
                set_entry_location($lead, $form);
                break;
            case 'delete_entry_location':
                delete_entry_location($lead, $form);
                break;
            case 'change_form_id':
                set_form_id($lead, $form);
                break;
            case 'duplicate_entry_id':
                duplicate_entry_id($lead, $form);
                break;
            case 'sync_jdb':
                GFJDBHELPER::gravityforms_send_entry_to_jdb($entry_info_entry_id);
                break;
            case 'sync_status_jdb':
                GFJDBHELPER::gravityforms_sync_status_jdb($entry_info_entry_id, $entry_status);
                break;
            case 'send_conf_letter':
                //first update the schedule if one is set
                set_entry_schedule($lead, $form);
                //then send confirmation letter
                $notifications_to_send = GFCommon::get_notifications_to_send('confirmation_letter', $form, $lead);
                foreach ($notifications_to_send as $notification) {
                    if ($notification['isActive']) {
                        GFCommon::send_notification($notification, $form, $lead);
                    }
                }
                mf_add_note($entry_info_entry_id, 'Confirmation Letter sent');
                break;
                //Sidebar Note Add
            //Sidebar Note Add
            case 'add_note_sidebar':
                add_note_sidebar($lead, $form);
                break;
                //Sidebar Note Delete
            //Sidebar Note Delete
            case 'delete_note_sidebar':
                if (is_array($_POST['note'])) {
                    delete_note_sidebar($_POST['note']);
                }
                break;
        }
        // Return the original form which is required for the filter we're including for our custom processing.
        return $form;
    }
}
Пример #2
0
function post_to_jdb($entry, $form)
{
    // Allowed forms array
    $jdb_sync_forms = array(25, 26, 27, 28, 29);
    if (in_array($form['id'], $jdb_sync_forms)) {
        error_log('$gravityforms_send_entry_to_jdb:' . $entry['id']);
        $result = GFJDBHELPER::gravityforms_send_entry_to_jdb($entry['id']);
        error_log('GFJDBHELPER:result:' . $result);
    }
}