/** * import uploaded list records to current list * this function is registered in xajax * @param string $list_title title of list * @param string $file_specs specifications of uploaded file to be precessed * @return xajaxResponse every xajax registered function needs to return this object */ function action_import_list_records($list_title, $file_specs, $field_seperator) { global $logging; global $user; global $list_table_configuration; global $user_start_time_array; global $firstthingsfirst_field_descriptions; $file_specs_array = explode("|", $file_specs); $file_name = $file_specs_array[0]; $file_org_name = $file_specs_array[1]; $file_size = $file_specs_array[2]; $file_type = $file_specs_array[3]; $logging->error("USER_ACTION " . __METHOD__ . " (user="******", list_title={$list_title}, file_name={$file_name} ({$file_size}), field_seperator={$field_seperator})"); # store start time $user_start_time_array[__METHOD__] = microtime(TRUE); # create necessary objects $result = new Result(); $response = new xajaxResponse(); $html_database_table = new HtmlDatabaseTable($list_table_configuration); # check if a file_name has been given if ($file_name == "NO_FILE") { $logging->warn("no file was uploaded"); set_error_message("button_import", "above", "ERROR_UPLOAD_SELECT_FILE", "", "", $response); return $response; } $full_file_name = "uploads/{$file_name}"; # create list table object $list_table = new ListTable($list_title); if ($list_table->get_is_valid() == FALSE) { $logging->warn("create list object 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("button_import", "above", $error_message_str, $error_log_str, $error_str, $response); return $response; } $logging->debug("starting to read uploaded file ({$full_file_name}=" . $full_file_name . ")"); if (file_exists($full_file_name) == FALSE) { $logging->warn("cannot find uploaded file"); set_error_message("button_import", "above", "ERROR_UPLOAD_FILE_NOT_FOUND", "", "", $response); return $response; } $fields = $list_table->get_fields(); # line number counter $line_number = 1; # database field names of all columns to import $import_db_field_names = array_slice($list_table->get_db_field_names(), 1); $num_of_import_db_field_names = count($import_db_field_names); # open file to import $file_handler = fopen($full_file_name, "r"); if ($file_handler == FALSE) { $logging->warn("could not open file to import (file_name={$full_file_name})"); set_error_message("button_import", "above", "ERROR_UPLOAD_COULD_NOT_OPEN", "", "", $response); return $response; } # read a line from the file to import while (($line_array = fgetcsv($file_handler, 10000, $field_seperator)) !== FALSE) { $logging->debug("reading line (line_number={$line_number})"); # add dummy column for attachments array_push($line_array, "@"); $num_of_columns = count($line_array); # check if number of columns is correct if ($num_of_columns != $num_of_import_db_field_names) { $logging->warn("wrong colum count (num_of_columns={$num_of_columns}, num_of_import_db_field_names={$num_of_import_db_field_names})"); $error_message_str = "LABEL_IMPORT_LINE_NUMBER {$line_number} <br> ERROR_IMPORT_WRONG_COLUMN_COUNT"; set_error_message("button_import", "above", $error_message_str, "", "", $response); return $response; } $insert_array = array(); $counter = 0; # create an array with all db_field_names and values from file foreach ($import_db_field_names as $db_field_name) { $field_name = $fields[$db_field_name][0]; $field_type = $fields[$db_field_name][1]; $check_functions = explode(" ", $firstthingsfirst_field_descriptions[$field_type][FIELD_DESCRIPTION_FIELD_INPUT_CHECKS]); $result->reset(); # check field values and store new field value in result check_field($check_functions, $db_field_name, $line_array[$counter], $user->get_date_format(), $result); if (strlen($result->get_error_message_str()) > 0) { $error_message_str = "LABEL_IMPORT_LINE_NUMBER {$line_number} <br> LABEL_IMPORT_FIELDNAME {$field_name} <br> " . $result->get_error_message_str(); #$error_message_str = $result->get_error_message_str(); set_error_message(button_import, "above", $error_message_str, "", "", $response); return $response; } $logging->debug("field (name={$db_field_name}, type={$field_type}, content=" . $result->get_result_str() . ")"); # convert auto created and auto modified fields if ($field_type == FIELD_TYPE_DEFINITION_AUTO_CREATED || $field_type == FIELD_TYPE_DEFINITION_AUTO_MODIFIED) { $insert_array[$db_field_name] = 0; } # store the new field value (either as note or as normal value) if ($field_type == FIELD_TYPE_DEFINITION_NOTES_FIELD) { $insert_array[$db_field_name] = array(array(0, $result->get_result_str())); } else { if ($field_type == FIELD_TYPE_DEFINITION_ATTACHMENTS) { $insert_array[$db_field_name] = array(array(0, LISTTABLEATTACHMENT_EMPTY_ATTACHMENT . "|-|-|-")); } else { $insert_array[$db_field_name] = $result->get_result_str(); } } $counter++; } # insert a line $return_value = $list_table->insert($insert_array, $user->get_name()); if ($return_value == 0) { $logging->warn("insert list record returns false"); $error_message_str = LABEL_IMPORT_LINE_NUMBER . " {$line_number} <br> " . $result->get_error_message_str(); #$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("button_import", "above", $error_message_str, $error_log_str, $error_str, $response); return $response; } $line_number++; } $logging->debug("imported all lines from file (line_number={$line_number})"); # delete the import file fclose($file_handler); unlink($full_file_name); # set content $result->reset(); $html_database_table->get_content($list_table, $list_title, "", DATABASETABLE_UNKWOWN_PAGE, $result); $response->custom_response->assign_with_effect(LIST_CSS_NAME_PREFIX . "content_pane", $result->get_result_str()); # set action pane $html_str = $html_database_table->get_action_bar($list_title, ""); $response->custom_response->assign_with_effect("action_pane", $html_str); # set footer $response->assign("footer_text", "innerHTML", get_footer($list_table->get_creator_modifier_array())); # check post conditions if (check_postconditions($result, $response) == FALSE) { return $response; } set_info_message("action_bar_button_import", "above", "LABEL_IMPORT_SUCCESS", $response); # log total time for this function $logging->info(get_function_time_str(__METHOD__)); return $response; }
<?php include "functions.php"; $user = current_user(); if (isset($user['login'])) { header("Location: ./index.php"); } if ($_SERVER['REQUEST_METHOD'] == "POST") { $user = get_user($_POST['login'], $_POST['password'], true); if (isset($user['login'])) { set_info_message("You are successfully logged in"); header("Location: ./index.php"); } else { $error = "Invalid username or password"; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr"> <head profile="http://www.webdevout.net/profile/1.5/"> <title>My Avatar :: Login</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=7" /> <style type="text/css" media="all"> @import url(./stylesheets/reset.css); @import url(./stylesheets/generic.css); </style> <!--[if IE]> <style type="text/css" media="all"> @import url(./stylesheets/ie.css); </style> <![endif]-->
/** * 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; }
<?php include "functions.php"; if (!isset($_SESSION)) { session_start(); } $_SESSION = array(); set_info_message("You've successfully logged out"); header("Location: ./index.php"); mysql_close();
if ($_POST['password'] != $_POST['password_confirmation']) { $error .= "Passwords not matching <br />"; } if (strlen($_POST['password']) < 8 || strlen($_POST['password']) > 32) { $error .= "Password length should be between 8 and 32 <br />"; } if (!($_POST['terms'] == "on")) { $error .= "Terms and Conditions not accepted <br />"; } if ($error != "") { $error .= "Thats why, you should have enabled javascript. I was checking there"; } else { // Okay, now all the paramters are checked on the back end. Now, we can continue. $res = create_new_user($_POST['login'], $_POST['email'], $_POST['password']); if ($res) { set_info_message("Succesfully registered your account. Please login"); header("Location: ./login.php"); } else { if ($res == -1) { $error = "Login id already taken"; } else { if ($res == -2) { $error = "An account has already been registered with the given email id"; } else { if ($res == -3) { $error = "Login already taken and email is already used register"; } } } } }