function log_activity_log($page_name, $deletion, $creation, $upload, $action) { global $db; $s_project_name = session_get_project_name(); $s_user_properties = session_get_user_properties(); $s_username = $s_user_properties['username']; $s_session = session_get_ID(); $current_date = date("Y-m-d H:i:s"); $page_name = $page_name . " - " . $s_project_name; $logs_tbl = LOGS_TBL; $query = "\tINSERT INTO {$logs_tbl} ( User,\n \t\t\t\t\t\t\t\t\tPage,\n \t\t\t\t\t\t\t\t\tTimeStamp,\n \t\t\t\t\t\t\t\t\tSessionID,\n \t\t\t\t\t\t\t\t\tDeletion,\n \t\t\t\t\t\t\t\t\tCreation,\n \t\t\t\t\t\t\t\t\tUpload,\n \t\t\t\t\t\t\t\t\tAction )\n\n \t\t\tVALUES (\t'{$s_username}',\n \t\t\t\t\t\t'{$page_name}',\n \t\t\t\t\t\t'{$current_date}',\n \t\t\t\t\t\t'{$s_session}',\n \t\t\t\t\t\t'{$deletion}',\n \t\t\t\t\t\t'{$creation}',\n \t\t\t\t\t\t'{$upload}',\n \t\t\t\t\t\t'{$action}' )"; db_query($db, $query); }
function user_get_name_by_username($username) { global $db; $user_tbl = USER_TBL; $f_email = USER_EMAIL; $f_firstname = USER_FNAME; $f_lastname = USER_LNAME; $f_username = USER_UNAME; $s_user_properties = session_get_user_properties(); $user_id = $s_user_properties['user_id']; $query = "SELECT {$f_email}, {$f_firstname}, {$f_lastname}\n FROM {$user_tbl}\n WHERE {$f_username} = '{$username}'"; $rs =& db_query($db, $query); $row = db_fetch_row($db, $rs); return $row; }
$project_edit_page = 'project_edit_page.php'; $user_manage_page = 'user_manage_page.php'; $user_add_page = 'user_add_page.php'; $project_manage_action = 'project_manage_action.php'; $delete_page = 'delete_page.php'; $s_project_properties = session_get_project_properties(); $project_name = $s_project_properties['project_name']; $project_id = $s_project_properties['project_id']; $s_user_properties = session_get_user_properties(); $user_id = $s_user_properties['user_id']; session_set_properties("project_manage", $_GET); $selected_project_properties = session_get_properties("project_manage"); $selected_project_id = $selected_project_properties['project_id']; $project_manager = user_has_rights($selected_project_id, $user_id, MANAGER); $redirect_url = $page . "?project_id=" . $selected_project_id; $s_user_properties = session_get_user_properties(); $user_id = $s_user_properties['user_id']; $row_style = ''; $order_by = MAN_DOC_TYPE_NAME; $order_dir = "ASC"; $page_number = 1; util_set_order_by($order_by, $_GET); util_set_order_dir($order_dir, $_GET); util_set_page_number($page_number, $_GET); util_set_order_by($order_by, $_POST); util_set_order_dir($order_dir, $_POST); util_set_page_number($page_number, $_POST); html_window_title(); html_print_body(); html_page_title(project_get_name($selected_project_id) . " - " . lang_get('manage_project_page')); html_page_header($db, $project_name);
function html_print_menu() { $home_url = RTH_URL . "home_page.php"; $req_url = RTH_URL . "requirement_page.php"; $test_url = RTH_URL . "test_page.php"; $release_url = RTH_URL . "release_page.php"; $results_url = RTH_URL . "results_page.php"; $bug_url = BUGTRACKER_URL; $reports_url = RTH_URL . "report_page.php"; $admin_url = RTH_URL . "admin_page.php"; $user_url = RTH_URL . "user_edit_my_account_page.php"; $help_url = RTH_URL . "help_index.php"; $logout_url = RTH_URL . "logout.php"; # set user url if user has admin rights $s_user_properties = session_get_user_properties(); $user_id = $s_user_properties['user_id']; $s_project_properties = session_get_project_properties(); $project_name = $s_project_properties['project_name']; $project_id = $s_project_properties['project_id']; if (user_has_rights($project_id, $user_id, ADMIN)) { $user_url = RTH_URL . "user_manage_page.php"; } # Get the session variables from the results page and append them on the query string if they are set $s_results = session_get_display_options("results"); if (isset($s_results['release_id'])) { $results_url = $results_url . "?release_id=" . $s_results['release_id']; } if (isset($s_results['build_id'])) { $results_url = $results_url . "&build_id=" . $s_results['build_id']; } if (isset($s_results['testset_id'])) { $results_url = $results_url . "&testset_id=" . $s_results['testset_id']; } if (isset($s_results['test_id'])) { $results_url = "results_test_run_page.php?test_id=" . $s_results['test_id'] . "&testset_id=" . $s_results['testset_id']; } print "<table class=width100 cellspacing=0>" . NEWLINE; print "<tr>" . NEWLINE; print "<td class=menu>" . NEWLINE; print "<a href='{$home_url}'>" . lang_get('home_link') . "</a> | " . NEWLINE; print "<a href='{$req_url}'>" . lang_get('req_link') . "</a> | " . NEWLINE; print "<a href='{$test_url}'>" . lang_get('test_link') . "</a> | " . NEWLINE; print "<a href='{$release_url}'>" . lang_get('release_link') . "</a> | " . NEWLINE; print "<a href='{$results_url}'>" . lang_get('results_link') . "</a> | " . NEWLINE; print "<a href='{$bug_url}'"; if (BUGTRACKER != 'rth') { print " target='new'"; } print ">" . lang_get('bug_link') . "</a> | " . NEWLINE; print "<a href='{$reports_url}'>" . lang_get('reports_link') . "</a> | " . NEWLINE; print "<a href='{$admin_url}'>" . lang_get('admin_link') . "</a> | " . NEWLINE; print "<a href='{$user_url}'>" . lang_get('user_link') . "</a> | " . NEWLINE; print "<a href='{$help_url}' target=_blank>" . lang_get('help_link') . "</a> | " . NEWLINE; print "<a href='{$logout_url}'>" . lang_get('logout_link') . "</a>" . NEWLINE; print "</td>" . NEWLINE; print "</tr>" . NEWLINE; print "</table>" . NEWLINE; print "<br>" . NEWLINE; }
function test_change_last_update($test_id) { global $db; $test_tbl = TEST_TBL; $f_test_id = TEST_ID; $f_last_updated = TEST_LAST_UPDATED; $f_last_updated_by = TEST_LAST_UPDATED_BY; $last_updated_date = date_get_short_dt(); $s_user_properties = session_get_user_properties(); $s_user_name = $s_user_properties['username']; $last_updated_by = $s_user_name; $q = "UPDATE {$test_tbl}\n\t\t SET\n\t\t {$f_last_updated} = '{$last_updated_date}',\n\t\t {$f_last_updated_by} = '{$last_updated_by}'\n\t\t WHERE {$f_test_id} = '{$test_id}'"; db_query($db, $q); }
function error_format($errno, $errstr, $errfile, $errline) { $dt = date("Y-m-d H:i:s (T)"); $user_details = session_get_user_properties(); $project_details = session_get_project_properties(); $user_name = $user_details['username']; $project_name = $project_details['project_name']; $error_type = error_type_map($errno); $err = "{$error_type}" . NEWLINE; $err .= "Time: " . $dt . "" . NEWLINE; $err .= "Message: " . $errstr . "" . NEWLINE; $err .= "File: " . $errfile . "" . NEWLINE; $err .= "Line Number: " . $errline . "" . NEWLINE; $err .= "User: "******"" . NEWLINE; $err .= "Project: " . $project_name . "" . NEWLINE; $err .= "Server: " . $_SERVER['SERVER_NAME'] . "" . NEWLINE; return $err; }
function file_add_supporting_test_doc_version($file_temp_name, $file_name, $test_id, $manual_test_id, $comments, $file_type) { global $db; $project_properties = session_get_project_properties(); $file_upload_path = $project_properties['test_upload_path']; $project_id = $project_properties['project_id']; $redirect_page = "test_detail_page.php?test_id={$test_id}&project_id={$project_id}&tab=2"; $redirect_on_error = "test_add_doc_version_page.php?test_id={$test_id}&manual_test_id={$manual_test_id}"; $file_db_name = ""; # Check to make sure the file name is the same as the previous version if (IGNORE_VERSION_FILENAME_VALIDATION || file_name_exists($test_id, $file_name)) { # create a unique name for the file using the time function $file_db_name = "SupportingTestDoc" . time() . "-{$file_name}"; # Get the current file version and increment it by one $current_file_version = test_get_max_file_version($manual_test_id); $file_version = util_increment_version($current_file_version); # Make sure the temp file was uploaded successfully if (move_uploaded_file($file_temp_name, $file_upload_path . $file_db_name)) { $current_date = date("Y-m-d H:i:s"); $s_user = session_get_user_properties(); $username = $s_user['username']; $td_vers_tbl = MAN_TD_VER_TBL; $f_man_test_id = MAN_TD_VER_MANUAL_TEST_ID; $f_file_name = MAN_TD_VER_FILENAME; $f_timestamp = MAN_TD_VER_TIME_STAMP; $f_version = MAN_TD_VER_VERSION; $f_username = MAN_TD_VER_UPLOADED_BY; $f_comments = MAN_TEST_DOCS_VERS_COMMENTS; $f_file_type = MAN_TEST_DOCS_VERS_MANUAL_DOC_TYPE_NAME; $q = "INSERT INTO {$td_vers_tbl} \n\t\t\t\t({$f_man_test_id}, {$f_file_name}, {$f_timestamp}, {$f_version}, {$f_username}, {$f_comments}, {$f_file_type}) \n\t\t\t\tVALUES ('{$manual_test_id}', '{$file_db_name}', '{$current_date}', '{$file_version}', '{$username}', '{$comments}', '{$file_type}')"; //print"$q<br>"; $db->Execute($q); } else { # The file wasn't uploaded to the temp directory successfully error_report_show($redirect_page, FAILED_FILE_UPLOAD); } } else { # The file name of the new version doesn't match the old error_report_show($redirect_on_error, NO_MATCHING_FILE_NAME); } }
function requirement_edit($project_id, $req_id, $req_version_id, $req_defect_id, $name, $area_covered, $type, $status, $detail, $reason_for_change, $functionality, $priority, $release_id) { global $db; $tbl_req = REQ_TBL; $f_req_proj_id = $tbl_req . "." . REQ_PROJECT_ID; $f_req_id = $tbl_req . "." . REQ_ID; $f_req_filename = $tbl_req . "." . REQ_FILENAME; $f_req_area_covered = $tbl_req . "." . REQ_AREA_COVERED; $f_req_type = $tbl_req . "." . REQ_TYPE; $f_req_parent = $tbl_req . "." . REQ_PARENT; $f_req_label = $tbl_req . "." . REQ_LABEL; $f_req_unique_id = $tbl_req . "." . REQ_UNIQUE_ID; $f_req_functionality = $tbl_req . "." . REQ_FUNCTIONALITY; $f_req_locked_by = $tbl_req . "." . REQ_LOCKED_BY; $f_req_locked_date = $tbl_req . "." . REQ_LOCKED_DATE; $f_req_priority = $tbl_req . "." . REQ_PRIORITY; $f_req_last_updated = $tbl_req . "." . REQ_LAST_UPDATED; $tbl_req_ver = REQ_VERS_TBL; $f_req_ver_uid = $tbl_req_ver . "." . REQ_VERS_UNIQUE_ID; $f_req_ver_req_id = $tbl_req_ver . "." . REQ_VERS_REQ_ID; $f_req_ver_version = $tbl_req_ver . "." . REQ_VERS_VERSION; $f_req_ver_timestamp = $tbl_req_ver . "." . REQ_VERS_TIMESTAMP; $f_req_ver_uploaded_by = $tbl_req_ver . "." . REQ_VERS_UPLOADED_BY; $f_req_ver_filename = $tbl_req_ver . "." . REQ_VERS_FILENAME; $f_req_ver_comments = $tbl_req_ver . "." . REQ_VERS_COMMENTS; $f_req_ver_status = $tbl_req_ver . "." . REQ_VERS_STATUS; $f_req_ver_shed_release = $tbl_req_ver . "." . REQ_VERS_SCHEDULED_RELEASE_IMP; $f_req_ver_shed_build = $tbl_req_ver . "." . REQ_VERS_SCHEDULED_BUILD_IMP; $f_req_ver_actual_release = $tbl_req_ver . "." . REQ_VERS_ACTUAL_RELEASE_IMP; $f_req_ver_actual_build = $tbl_req_ver . "." . REQ_VERS_ACTUAL_BUILD_IMP; $f_req_ver_detail = $tbl_req_ver . "." . REQ_VERS_DETAIL; $f_req_ver_release = $tbl_req_ver . "." . REQ_VERS_ASSIGN_RELEASE; $f_req_ver_reason_change = $tbl_req_ver . "." . REQ_VERS_REASON_CHANGE; $f_req_ver_latest = $tbl_req_ver . "." . REQ_VERS_LATEST; $f_req_ver_last_updated = $tbl_req_ver . "." . REQ_VERS_LAST_UPDATED; $f_req_ver_last_updated_by = $tbl_req_ver . "." . REQ_VERS_LAST_UPDATED_BY; $f_req_ver_defect_id = $tbl_req_ver . "." . REQ_VERS_DEFECT_ID; $last_updated = date_get_short_dt(); $s_user_properties = session_get_user_properties(); $s_user_name = $s_user_properties['username']; $last_updated_by = $s_user_name; if ($area_covered == '') { $area_covered = 0; } if ($type == '') { $type = 0; } $q = "\tUPDATE {$tbl_req}\n\t\t\tSET\n\t\t\t\t{$f_req_filename} = '{$name}',\n\t\t\t\t{$f_req_area_covered} = '{$area_covered}',\n\t\t\t\t{$f_req_type} = '{$type}',\n\t\t\t\t{$f_req_priority} = '{$priority}',\n\t\t\t\t{$f_req_last_updated} = '{$last_updated}'\n\t\t\tWHERE\n\t\t\t\t{$f_req_id} = '{$req_id}'\n\t\t\t\tAND {$f_req_proj_id} = {$project_id}"; db_query($db, $q); //print"$q<br>"; $q = "\tUPDATE {$tbl_req_ver}\n\t\t\tSET\n\t\t\t\t{$f_req_ver_status} \t\t\t= '{$status}',\n\t\t\t\t{$f_req_ver_detail} \t\t\t= '{$detail}',\n\t\t\t\t{$f_req_ver_reason_change}\t= '{$reason_for_change}',\n\t\t\t\t{$f_req_ver_last_updated}\t\t= '{$last_updated}',\n\t\t\t\t{$f_req_ver_last_updated_by}\t= '{$last_updated_by}',\n\t\t\t\t{$f_req_ver_defect_id}\t\t= '{$req_defect_id}'\n\t\t\tWHERE\n\t\t\t\t{$f_req_ver_uid} = '{$req_version_id}'"; db_query($db, $q); //print"$q<br>"; requirement_edit_functionality($req_id, $functionality); requirement_edit_release($req_version_id, $release_id); }
function bug_email_collect_recipients($bug_id, $notify_type) { global $db; $receive_own_email = BUG_EMAIL_ON_OWN_ACTIONS; $recipients = ""; $recipient_ids = array(); $user_ids = array(); # Get the current project and user ids $project_id = bug_get_field_value($bug_id, BUG_PROJECT_ID); $s_user_properties = session_get_user_properties(); $user_id = $s_user_properties['user_id']; $monitor_tbl = BUG_MONITOR_TBL; $f_monitor_user_id = BUG_MONITOR_USER_ID; $f_monitor_bug_id = BUG_MONITOR_BUG_ID; $proj_user_tbl = PROJECT_USER_ASSOC_TBL; $f_proj_user_id = PROJ_USER_USER_ID; $f_proj_user_proj_id = PROJ_USER_PROJ_ID; # Get user_ids for the bug $q = "\tSELECT DISTINCT {$f_monitor_user_id}\n\t\t\tFROM {$monitor_tbl}\n\t\t\tWHERE {$f_monitor_bug_id} = {$bug_id}"; $rs = db_query($db, $q); while ($row = db_fetch_row($db, $rs)) { # check to see if we should add the user performing the action to the list of recipients if ($row[BUG_MONITOR_USER_ID] == $user_id && !$receive_own_email) { continue; } else { $user_ids[] = $row[BUG_MONITOR_USER_ID]; } } # Loop through each user_id and find out if the user wants to receive email for the action ($notify_type) foreach ($user_ids as $id) { switch ($notify_type) { case "update_status": $f_email_field = PROJ_USER_EMAIL_STATUS_BUG; break; case "add_bugnote": $f_email_field = PROJ_USER_EMAIL_BUGNOTE_BUG; break; case "assign_bug": $f_email_field = PROJ_USER_EMAIL_ASSIGNED_BUG; break; case "update_bug": $f_email_field = PROJ_USER_EMAIL_UPDATE_BUG; break; } # Find out if the user wants email for the specified action $q_assoc = "SELECT {$f_email_field}\n\t\t\t\t\tFROM {$proj_user_tbl}\n\t\t\t\t\tWHERE {$f_proj_user_proj_id} = '{$project_id}'\n\t\t\t\t\tAND {$f_proj_user_id} = '{$id}'"; $rs_assoc = db_query($db, $q_assoc); while ($row_assoc = db_fetch_row($db, $rs_assoc)) { # If the project_user_assoc preference is Yes, add the user to the list of recipients if ($row_assoc[$f_email_field] == 'Y') { $recipient_ids[] = $id; } } } $recipients = user_get_email_by_user_id($recipient_ids); return $recipients; }
function testset_add_tests_from_session($testset_properties, $f_status, $property_set) { $checked_tests = array(); $project_id = session_get_project_id(); $s_user_properties = session_get_user_properties(); $s_project_properties = session_get_project_properties(); $testset_id = $testset_properties['testset_id']; $testset_name = admin_get_testset_name($testset_id); $build_id = $testset_properties['build_id']; $build_name = admin_get_build_name($build_id); $release_id = $testset_properties['release_id']; $release_name = admin_get_release_name($release_id); global $db; $testsuite_tbl = TEST_TBL; $f_test_id = TEST_TBL . "." . TEST_ID; $f_project_id = TEST_TBL . "." . PROJECT_ID; $f_deleted = TEST_TBL . "." . TEST_DELETED; $f_archived = TEST_TBL . "." . TEST_ARCHIVED; $ts_assoc_tbl = TEST_TS_ASSOC_TBL; $f_ts_assoc_id = TEST_TS_ASSOC_TBL . "." . TEST_TS_ASSOC_ID; $f_ts_assoc_test_id = TEST_TS_ASSOC_TBL . "." . TEST_TS_ASSOC_TEST_ID; $q = "SELECT {$f_test_id},\n\t\t\t{$f_ts_assoc_id},\n\t\t\t{$f_status}\n\t FROM {$ts_assoc_tbl}\n\t RIGHT JOIN {$testsuite_tbl} ON {$f_ts_assoc_test_id} = {$f_test_id}\n\t WHERE {$f_project_id} = {$project_id}\n\t AND {$f_archived} = 'N'\n\t AND {$f_deleted} = 'N'\n\t GROUP BY {$f_test_id}"; $rs = db_query($db, $q); while ($row = db_fetch_row($db, $rs)) { if (isset($row[$f_status])) { # If the checkbox is ticked, then form an association between Test/TestSet if (session_records_ischecked($property_set, $row[TEST_ID], $row[$f_status])) { $checked_tests[$row[TEST_ID]] = "on"; } } } testset_edit($testset_id, $checked_tests); }