string evals are evil
This commit is contained in:
parent
c0d7357429
commit
66843db604
5 changed files with 16 additions and 16 deletions
|
|
@ -19,6 +19,8 @@ use WebGUI::Utility;
|
|||
use base 'WebGUI::Asset::Wobject';
|
||||
use WebGUI::Asset::Wobject::Survey::SurveyJSON;
|
||||
use WebGUI::Asset::Wobject::Survey::ResponseJSON;
|
||||
use WebGUI::Form::Country;
|
||||
use Text::CSV_XS;
|
||||
use Params::Validate qw(:all);
|
||||
Params::Validate::validation_options( on_fail => sub { WebGUI::Error::InvalidParam->throw( error => shift ) } );
|
||||
|
||||
|
|
@ -440,7 +442,7 @@ sub graph {
|
|||
|
||||
my $session = $self->session;
|
||||
|
||||
eval 'use GraphViz';
|
||||
eval { require GraphViz };
|
||||
if ($@) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -695,7 +697,7 @@ sub www_graph {
|
|||
|
||||
my $ac = $self->getAdminConsole;
|
||||
|
||||
eval 'use GraphViz';
|
||||
eval { require GraphViz };
|
||||
if ($@) {
|
||||
return $ac->render('Survey Visualization requires the GraphViz module', $i18n->get('survey visualization'));
|
||||
}
|
||||
|
|
@ -1779,7 +1781,6 @@ sub prepareShowSurveyTemplate {
|
|||
}
|
||||
elsif ( $country{ $q->{questionType} } ) {
|
||||
$q->{country} = 1;
|
||||
use WebGUI::Form::Country;
|
||||
my @countries = map +{ 'country' => $_ }, WebGUI::Form::Country::getCountries();
|
||||
foreach my $a(@{$q->{answers}}){
|
||||
$a->{countries} = [ {'country' => ''}, @countries ];
|
||||
|
|
@ -2238,7 +2239,6 @@ END_HTML
|
|||
}
|
||||
}
|
||||
|
||||
use Text::CSV_XS;
|
||||
my $csv = Text::CSV_XS->new( { binary => 1 } );
|
||||
my @lines = map {$csv->combine(@$_); $csv->string} @rows;
|
||||
my $output = join "\n", @lines;
|
||||
|
|
@ -2637,7 +2637,7 @@ sub www_runTest {
|
|||
my $i18n = WebGUI::International->new($session, 'Asset_Survey');
|
||||
my $ac = $self->getAdminConsole;
|
||||
|
||||
eval 'use TAP::Parser';
|
||||
eval { require TAP::Parser };
|
||||
if ($@) {
|
||||
$self->session->log->warn($TAP_PARSER_MISSING);
|
||||
return $ac->render($TAP_PARSER_MISSING, $i18n->get('test results'));
|
||||
|
|
@ -2669,7 +2669,7 @@ all interesting TAP::Parser and TAP::Parser::Result properties) and the template
|
|||
sub parseTap {
|
||||
my ($self, $tap) = @_;
|
||||
|
||||
eval 'use TAP::Parser';
|
||||
eval { require TAP::Parser };
|
||||
if ($@) {
|
||||
$self->session->log->warn($TAP_PARSER_MISSING);
|
||||
return;
|
||||
|
|
@ -2766,12 +2766,12 @@ sub www_runTests {
|
|||
|
||||
|
||||
my @parsers;
|
||||
eval 'use TAP::Parser';
|
||||
eval { require TAP::Parser };
|
||||
if ($@) {
|
||||
$self->session->log->warn($TAP_PARSER_MISSING);
|
||||
return $ac->render($TAP_PARSER_MISSING, $i18n->get('test results'));
|
||||
}
|
||||
eval 'use TAP::Parser::Aggregator';
|
||||
eval { require TAP::Parser::Aggregator };
|
||||
if ($@) {
|
||||
$self->session->log->warn($TAP_PARSER_MISSING);
|
||||
return $ac->render($TAP_PARSER_MISSING, $i18n->get('test results'));
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ use Params::Validate qw(:all);
|
|||
use Safe;
|
||||
use List::Util qw/sum/;
|
||||
use WebGUI::Asset;
|
||||
use WebGUI::Asset::Wobject::Survey;
|
||||
Params::Validate::validation_options( on_fail => sub { WebGUI::Error::InvalidParam->throw( error => shift ) } );
|
||||
|
||||
# We need these as semi-globals so that utility subs (which are shared with the safe compartment)
|
||||
|
|
@ -534,7 +535,6 @@ sub run {
|
|||
$session->log->debug("Using responseId: $mostRecentlyCompletedResponseId");
|
||||
|
||||
# (re)Instantiate the survey instance using the responseId
|
||||
use WebGUI::Asset::Wobject::Survey;
|
||||
$asset = WebGUI::Asset::Wobject::Survey->newByResponseId( $session, $mostRecentlyCompletedResponseId );
|
||||
if ( !$asset ) {
|
||||
$session->log->warn("Unable to instantiate asset by responseId: $mostRecentlyCompletedResponseId");
|
||||
|
|
@ -562,4 +562,4 @@ sub run {
|
|||
}
|
||||
}
|
||||
|
||||
1;
|
||||
1;
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ use Params::Validate qw(:all);
|
|||
use List::Util qw(shuffle);
|
||||
use Clone qw/clone/;
|
||||
use Safe;
|
||||
use WebGUI::Asset::Wobject::Survey::ExpressionEngine;
|
||||
Params::Validate::validation_options( on_fail => sub { WebGUI::Error::InvalidParam->throw( error => shift ) } );
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -816,7 +817,6 @@ sub processExpression {
|
|||
my $tags = $self->tags;
|
||||
my %validTargets = map { $_ => 1 } @{$self->survey->getGotoTargets};
|
||||
|
||||
use WebGUI::Asset::Wobject::Survey::ExpressionEngine;
|
||||
my $engine = "WebGUI::Asset::Wobject::Survey::ExpressionEngine";
|
||||
if (my $result = $engine->run($self->session, $expression, { values => $values, scores => $scores, tags => $tags, validTargets => \%validTargets} ) ) {
|
||||
# Update tags
|
||||
|
|
|
|||
|
|
@ -48,11 +48,11 @@ likely operate on the question indexed by:
|
|||
|
||||
use strict;
|
||||
use JSON;
|
||||
use Data::Dumper;
|
||||
use Params::Validate qw(:all);
|
||||
Params::Validate::validation_options( on_fail => sub { WebGUI::Error::InvalidParam->throw( error => shift ) } );
|
||||
|
||||
use Clone qw/clone/;
|
||||
use WebGUI::Asset::Wobject::Survey::ExpressionEngine;
|
||||
|
||||
# The maximum value of questionsPerPage is currently hardcoded here
|
||||
my $MAX_QUESTIONS_PER_PAGE = 20;
|
||||
|
|
@ -1314,7 +1314,6 @@ sub validateGotoExpression{
|
|||
return 'enableSurveyExpressionEngine is disabled in your site config!';
|
||||
}
|
||||
|
||||
use WebGUI::Asset::Wobject::Survey::ExpressionEngine;
|
||||
my $engine = "WebGUI::Asset::Wobject::Survey::ExpressionEngine";
|
||||
return $engine->run($self->session, $object->{gotoExpression}, { validate => 1, validTargets => $goodTargets } );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ use WebGUI::Operation::Shared;
|
|||
use WebGUI::HTML;
|
||||
use WebGUI::User;
|
||||
use WebGUI::Utility;
|
||||
use WebGUI::Pluggable;
|
||||
|
||||
|
||||
=head1 NAME
|
||||
|
|
@ -116,7 +117,7 @@ sub create {
|
|||
# Get the field's data type
|
||||
$properties->{fieldType} ||= "ReadOnly";
|
||||
my $formClass = $self->getFormControlClass;
|
||||
eval "use $formClass;";
|
||||
eval { WebGUI::Pluggable->load($formClass) };
|
||||
my $dbDataType = $formClass->getDatabaseFieldType;
|
||||
|
||||
# Add the column to the userProfileData table
|
||||
|
|
@ -734,7 +735,7 @@ sub rename {
|
|||
|
||||
# Rename the userProfileData column
|
||||
my $fieldClass = $self->getFormControlClass;
|
||||
eval "use $fieldClass;";
|
||||
eval { WebGUI::Pluggable->load($fieldClass) };
|
||||
my $dbDataType = $fieldClass->getDatabaseFieldType;
|
||||
|
||||
$self->session->db->write(
|
||||
|
|
@ -851,7 +852,7 @@ sub set {
|
|||
if ($properties->{fieldType} ne $originalFieldType) {
|
||||
# Create a copy of the new properties so we don't mess them up
|
||||
my $fieldClass = $self->getFormControlClass;
|
||||
eval "use $fieldClass;";
|
||||
eval { WebGUI::Pluggable->load($fieldClass) };
|
||||
my $dbDataType
|
||||
= $fieldClass->new($session, $self->formProperties($properties))->getDatabaseFieldType;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue