<?php

if (isset($request["update_public_form_omit_list"])) {
    list($g_success, $g_message) = ft_update_public_form_omit_list($request, $form_id);
}
$form_info = ft_get_form($form_id);
$form_omit_list = ft_get_public_form_omit_list($form_id);
// ------------------------------------------------------------------------------------------------
// a little hacky, but not too bad. Override the form nav links so that it always links to the main tab, not this
// (possibly non-relevant) omit list page
$page_vars["prev_tabset_link"] = !empty($links["prev_form_id"]) ? "edit.php?page=main&form_id={$links["prev_form_id"]}" : "";
$page_vars["next_tabset_link"] = !empty($links["next_form_id"]) ? "edit.php?page=main&form_id={$links["next_form_id"]}" : "";
$page_vars["page"] = "public_form_omit_list";
$page_vars["page_url"] = ft_get_page_url("edit_form_public_form_omit_list", array("form_id" => $form_id));
$page_vars["head_title"] = "{$LANG["phrase_edit_form"]} - {$LANG["phrase_public_form_omit_list"]}";
$page_vars["form_info"] = $form_info;
$page_vars["form_omit_list"] = $form_omit_list;
$page_vars["head_js"] = <<<EOF
var page_ns = {};
page_ns.clear_omit_list = function() \t{
  ft.select_all('selected_client_ids[]');
  ft.move_options('selected_client_ids[]', 'available_client_ids[]');
}
EOF;
ft_display_page("admin/forms/edit.tpl", $page_vars);
Пример #2
0
/**
 * Returns an array of account information of all clients associated with a particular form. This
 * function is smart enough to return the complete list, depending on whether the form has public access
 * or not. If it's a public access form, it takes into account those clients on the form omit list.
 *
 * @param integer $form
 * @return array
 */
function ft_get_form_clients($form_id)
{
    global $g_table_prefix;
    $access_type_query = mysql_query("SELECT access_type FROM {$g_table_prefix}forms WHERE form_id = {$form_id}");
    $access_type_info = mysql_fetch_assoc($access_type_query);
    $access_type = $access_type_info["access_type"];
    $accounts = array();
    if ($access_type == "public") {
        $client_omit_list = ft_get_public_form_omit_list($form_id);
        $all_clients = ft_get_client_list();
        foreach ($all_clients as $client_info) {
            $client_id = $client_info["account_id"];
            if (!in_array($client_id, $client_omit_list)) {
                $accounts[] = $client_info;
            }
        }
    } else {
        $account_query = mysql_query("\n      SELECT *\n      FROM   {$g_table_prefix}client_forms cf, {$g_table_prefix}accounts a\n      WHERE  cf.form_id = {$form_id} AND\n            cf.account_id = a.account_id\n            ");
        while ($row = mysql_fetch_assoc($account_query)) {
            $accounts[] = $row;
        }
    }
    extract(ft_process_hook_calls("end", compact("form_id", "accounts"), array("accounts")), EXTR_OVERWRITE);
    return $accounts;
}