/** * 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(); }
/** * 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; }