⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 urlbuilder.pm

📁 codestriker is a develop useful tool to review code on web user interface.
💻 PM
字号:
################################################################################ Codestriker: Copyright (c) 2001, 2002 David Sitsky.  All rights reserved.# sits@users.sourceforge.net## This program is free software; you can redistribute it and modify it under# the terms of the GPL.# Collection of routines for building codestriker URLs.package Codestriker::Http::UrlBuilder;use strict;use CGI;use Codestriker::Http::Method;use Codestriker::Http::Method::ListTopicsMethod;use Codestriker::Http::Method::CreateTopicMethod;use Codestriker::Http::Method::ViewTopicTextMethod;use Codestriker::Http::Method::ViewTopicCommentsMethod;use Codestriker::Http::Method::ViewTopicFileMethod;use Codestriker::Http::Method::ViewTopicMetricsMethod;use Codestriker::Http::Method::ViewTopicPropertiesMethod;use Codestriker::Http::Method::AddCommentMethod;use Codestriker::Http::Method::AddTopicMethod;use Codestriker::Http::Method::CreateProjectMethod;use Codestriker::Http::Method::DownloadMetricsMethod;use Codestriker::Http::Method::DownloadTopicTextMethod;use Codestriker::Http::Method::EditProjectMethod;use Codestriker::Http::Method::ListProjectsMethod;use Codestriker::Http::Method::SearchTopicsMethod;use Codestriker::Http::Method::SubmitSearchTopicsMethod;use Codestriker::Http::Method::StaticResourcesMethod;use Codestriker::Http::Method::ViewMetricsMethod;use Codestriker::Http::Method::UpdateTopicPropertiesMethod;use Codestriker::Http::Method::UpdateTopicMetricsMethod;use Codestriker::Http::Method::UpdateCommentMetricsMethod;use Codestriker::Http::Method::UpdateTopicStateMethod;use Codestriker::Http::Method::LoginMethod;use Codestriker::Http::Method::AuthenticateMethod;use Codestriker::Http::Method::NewPasswordMethod;use Codestriker::Http::Method::UpdatePasswordMethod;use Codestriker::Http::Method::ResetPasswordMethod;use Codestriker::Http::Method::CreateNewUserMethod;use Codestriker::Http::Method::AddNewUserMethod;# Constructor for this class.sub new {    my ($type, $query) = @_;    my $self = {};    $self->{query} = $query;    # Determine what prefix is required when using relative URLs.    # Unfortunately, Netcsape 4.x does things differently to everyone    # else.    $self->{url_prefix} = $query->url();    my $browser = $ENV{'HTTP_USER_AGENT'};    if (defined $browser && $browser =~ m%^Mozilla/(\d)% && $1 <= 4) {        $self->{url_prefix} = $self->{query}->url(-relative=>1);    }    # Check if the HTML files are accessible via another URL (required for    # sourceforge deployment).  Check $Codestriker::codestriker_css.    my $htmlurl;    if (defined $Codestriker::codestriker_css &&        $Codestriker::codestriker_css ne "" &&        $Codestriker::codestriker_css =~ /[\/\\]/o) {        $htmlurl = $Codestriker::codestriker_css;        $htmlurl =~ s/\/[^\/]+\.css//;    } else {        # Standard Codestriker deployment.        $htmlurl = $self->{url_prefix};        $htmlurl =~ s/codestriker\/codestriker\.pl/codestrikerhtml/;    }    $self->{htmldir} = $htmlurl;    return bless $self, $type;}# Create the URL for viewing a topic.sub view_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::ViewTopicTextMethod->new($self->{query})->url(%args);}# Create the URL for downloading the topic text.sub download_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::DownloadTopicTextMethod->new($self->{query})->url(%args);}# Create the URL for creating a topic.sub create_topic_url {    my ($self, $obsoletes) = @_;    return Codestriker::Http::Method::CreateTopicMethod->new($self->{query})->url($obsoletes);}# Create the URL for adding a topic to a project.sub add_topic_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::AddTopicMethod->new($self->{query})->url(%args);}# Create the URL for editing a topic.sub edit_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::CreateCommentMethod->new($self->{query})->url(%args);}# Create the URL for viewing a new file.sub view_file_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::ViewTopicFileMethod->new($self->{query})->url(%args);}# Create the URL for the search page.sub search_url {    my ($self) = @_;    return Codestriker::Http::Method::SearchTopicsMethod->new($self->{query})->url();}# The submit search URL.sub submit_search_url {    my ($self) = @_;    return Codestriker::Http::Method::SubmitSearchTopicsMethod->new($self->{query})->url();}# Create the URL for the documentation page.sub doc_url {    my ($self) = @_;    return Codestriker::Http::Method::StaticResourcesMethod->new($self->{query})->url();}# Create the URL for listing the topics (and topic search). See# _list_topics_url for true param list.sub list_topics_url {    my ($self, %args) = @_;    $args{action} = "list_topics";    return $self->_list_topics_url(%args);}# Create the URL for listing the topics (and topic search) via RSS. See# _list_topics_url for true param list.sub list_topics_url_rss {    my ($self, %args) = @_;    $args{action} = "list_topics_rss";    return $self->_list_topics_url(%args);}# Create the URL for listing the topics.sub _list_topics_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::ListTopicsMethod->new($self->{query})->url(%args);}# Construct a URL for editing a specific project.sub edit_project_url {    my ($self, $projectid) = @_;    return Codestriker::Http::Method::EditProjectMethod->new($self->{query})->url($projectid);}# Construct a URL for listing all projects.sub list_projects_url {    my ($self) = @_;    return Codestriker::Http::Method::ListProjectsMethod->new($self->{query})->url();}# Construct a URL for creating a project.sub create_project_url {    my ($self) = @_;    return Codestriker::Http::Method::CreateProjectMethod->new($self->{query})->url();}# Create the URL for viewing comments.sub view_comments_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::ViewTopicCommentsMethod->new($self->{query})->url(%args);}# Create the URL for updating comments.sub update_comments_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::UpdateCommentMetricsMethod->new($self->{query})->url(%args);}# Create the URL for viewing the topic properties.sub view_topic_properties_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::ViewTopicPropertiesMethod->new($self->{query})->url(%args);}# Create the URL for updating the topic properties.sub update_topic_properties_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::UpdateTopicPropertiesMethod->new($self->{query})->url(%args);}# Create the URL for viewing the topic metrics.sub view_topicinfo_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::ViewTopicMetricsMethod->new($self->{query})->url(%args);}# Create the URL for updating the topic metrics.sub update_topicinfo_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::UpdateTopicMetricsMethod->new($self->{query})->url(%args);}# Create the URL for updating a number of topic states.sub update_topic_states_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::UpdateTopicStateMethod->new($self->{query})->url(%args);}# Create the URL for adding new comments.sub add_comment_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::AddCommentMethod->new($self->{query})->url(%args);}sub metric_report_url {    my ($self) = @_;    return Codestriker::Http::Method::ViewMetricsMethod->new($self->{query})->url();}sub metric_report_download_raw_data {    my ($self) = @_;    return Codestriker::Http::Method::DownloadMetricsMethod->new($self->{query})->url();}# Create the URL for going to the login page.sub login_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::LoginMethod->new($self->{query})->url(%args);}# Create the URL for setting a new password.sub new_password_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::NewPasswordMethod->new($self->{query})->url(%args);}# Create the URL for updating a password.sub update_password_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::UpdatePasswordMethod->new($self->{query})->url(%args);}# Create the URL for resetting a password.sub reset_password_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::ResetPasswordMethod->new($self->{query})->url(%args);}# Create the URL for authenticating.sub authenticate_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::AuthenticateMethod->new($self->{query})->url(%args);}# Create the URL for creating a new user.sub create_new_user_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::CreateNewUserMethod->new($self->{query})->url(%args);}# Create the URL for adding a new user.sub add_new_user_url {    my ($self, %args) = @_;    return Codestriker::Http::Method::AddNewUserMethod->new($self->{query})->url(%args);}1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -