예제 #1
0
/**
 * create list regressiontest
 */
function create_test_list()
{
    global $list_table_description;
    global $regression_test_list_description_definition;
    # check if list already exists
    if ($list_table_description->select_record(REGRESSION_TEST_LIST_TITLE)) {
        $list_table = new ListTable(REGRESSION_TEST_LIST_TITLE);
        if ($list_table->drop() == FALSE) {
            return FALSE;
        }
    }
    if ($list_table_description->insert($regression_test_list_description_definition) == FALSE) {
        return FALSE;
    }
    $list_table = new ListTable(REGRESSION_TEST_LIST_TITLE);
    return $list_table->create();
}
예제 #2
0
/**
 * create a new list
 * this function is registered in xajax
 * @todo check if all fields are unique
 * @param string $title title of the new list
 * @param string $description description of the new list
 * @param array $definition defintion of current list that is being build
 * @return xajaxResponse every xajax registered function needs to return this object
 */
function action_create_list($title, $description, $definition)
{
    global $logging;
    global $user;
    global $list_table_description;
    global $user_start_time_array;
    $logging->info("USER_ACTION " . __METHOD__ . " (user="******", title={$title})");
    # store start time
    $user_start_time_array[__METHOD__] = microtime(TRUE);
    # create necessary objects
    $response = new xajaxResponse();
    # check if title and description have been given
    if (!check_title_and_description($title, $description, $response)) {
        return $response;
    }
    # check if the new definition is correct
    $new_definition = check_definition($definition, $response);
    if (count($new_definition) == 0) {
        return $response;
    }
    # transform the new definition to the correct format
    $correct_definition = array();
    foreach ($new_definition as $field_definition) {
        $correct_definition[$field_definition[0]] = array($field_definition[1], $field_definition[2], $field_definition[3]);
    }
    $name_values_array = array();
    $name_values_array[LISTTABLEDESCRIPTION_TITLE_FIELD_NAME] = $title;
    $name_values_array[LISTTABLEDESCRIPTION_DESCRIPTION_FIELD_NAME] = $description;
    $name_values_array[LISTTABLEDESCRIPTION_DEFINITION_FIELD_NAME] = $correct_definition;
    $name_values_array[LISTTABLEDESCRIPTION_ACTIVE_RECORDS_FIELD_NAME] = 0;
    $name_values_array[LISTTABLEDESCRIPTION_ARCHIVED_RECORDS_FIELD_NAME] = 0;
    $name_values_array[LISTTABLEDESCRIPTION_CREATOR_FIELD_NAME] = 0;
    $name_values_array[LISTTABLEDESCRIPTION_MODIFIER_FIELD_NAME] = 0;
    # insert new description
    if ($list_table_description->insert($name_values_array) == FALSE) {
        $logging->warn("insert list description returns false");
        $error_message_str = $list_table_description->get_error_message_str();
        $error_log_str = $list_table_description->get_error_log_str();
        $error_str = $list_table_description->get_error_str();
        set_error_message("action_bar_button_create", "above", $error_message_str, $error_log_str, $error_str, $response);
        return $response;
    }
    # create new list_table
    $list_table = new ListTable($title);
    if ($list_table->get_is_valid() == FALSE || $list_table->create() == FALSE) {
        $logging->warn("create list returns false");
        $error_message_str = $list_table->get_error_message_str();
        $error_log_str = $list_table->get_error_log_str();
        $error_str = $list_table->get_error_str();
        set_error_message("action_bar_button_create", "above", $error_message_str, $error_log_str, $error_str, $response);
        return $response;
    }
    set_info_message("action_bar_button_create", "above", "LABEL_NEW_LIST_CREATED", $response);
    # log total time for this function
    $logging->info(get_function_time_str(__METHOD__));
    return $response;
}