Skip to content

Commit

Permalink
Clean up common_helper.php and apply some other fixes.
Browse files Browse the repository at this point in the history
  • Loading branch information
aaronschmitz committed Aug 19, 2012
1 parent f86fda4 commit 9b6cbd9
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 73 deletions.
2 changes: 1 addition & 1 deletion application/controllers/admin/question.php
Expand Up @@ -774,7 +774,7 @@ public function index($sa, $surveyid, $gid, $qid=null)
$eqrow['title'] = '';
$eqrow['question'] = '';
$eqrow['help'] = '';
$eqrow['class'] = 'LongText'; //AJS - WHY IS THIS HARDCODED?
$eqrow['class'] = 'LongText'; //AJSL - WHY IS THIS HARDCODED?
$eqrow['lid'] = 0;
$eqrow['lid1'] = 0;
$eqrow['gid'] = $gid;
Expand Down
5 changes: 2 additions & 3 deletions application/controllers/admin/surveyadmin.php
Expand Up @@ -459,7 +459,7 @@ public function activate($iSurveyID)
if (isset($aResult['error']))
{
$aViewUrls['output']= "<br />\n<div class='messagebox ui-corner-all'>\n" .
"<div class='header ui-widget-header'>".$clang->gT("Activate Survey")." ($surveyid)</div>\n";
"<div class='header ui-widget-header'>".$clang->gT("Activate Survey")." ($iSurveyID)</div>\n";
if ($aResult['error']=='surveytablecreation')
{
$aViewUrls['output'].="<div class='warningheader'>".$clang->gT("Survey table could not be created.")."</div>\n";
Expand All @@ -470,8 +470,7 @@ public function activate($iSurveyID)
}
$aViewUrls['output'].="<p>" .
$clang->gT("Database error!!")."\n <font color='red'>" ."</font>\n" .
"<pre>".implode(' ', $createsurvey)."</pre>\n
<a href='".Yii::app()->getController()->createUrl("admin/survey/view/surveyid/".$iSurveyID)."'>".$clang->gT("Main Admin Screen")."</a>\n</div>" ;
"<a href='".Yii::app()->getController()->createUrl("admin/survey/view/surveyid/".$iSurveyID)."'>".$clang->gT("Main Admin Screen")."</a>\n</div>" ;
}
else
{
Expand Down
77 changes: 12 additions & 65 deletions application/helpers/common_helper.php
Expand Up @@ -28,52 +28,6 @@ function comparePermission($aPermissionA,$aPermissionB)
}
}

/**
* getQuestionTypeList() Returns list of question types available in LimeSurvey. Edit this if you are adding a new
* question type
*
*
* @return returns a straight "array" of question types
*
* Explanation of questiontype array:
*
* description : Question description
* subquestions : 0= Does not support subquestions x=Number of subquestion scales
* answerscales : 0= Does not need answers x=Number of answer scales (usually 1, but e.g. for dual scale question set to 2)
* assessable : 0=Does not support assessment values when editing answerd 1=Support assessment values
*/
function getQuestionTypeList($type = false, $legacy = true) //AJSL
{
$clang = Yii::app()->lang;
if ($type && $legacy) //AJSL
{
$result = Question_types::model()->findByAttribute(array('legacy' => $type));
return createQuestion($result['class']);
} else if ($type) {
$result = Question_types::model()->findByAttribute(array('tid' => $type));
return createQuestion($result['class']);
}

$types = Question_types::model()->findAll();
if ($legacy) //AJSL
{
foreach($types as $type)
{
$q = createQuestion($type['class']);
$qtypes[$type['legacy']] = $q->questionProperties();
}
} else {
foreach($types as $type)
{
$q = createQuestion($type['class']);
$qtypes[$type['tid']] = $q->questionProperties();
}
}

asort($qtypes);
return $qtypes;
}

/**
* isStandardTemplate returns true if a template is a standard template
* This function does not check if a template actually exists
Expand Down Expand Up @@ -2238,20 +2192,13 @@ function buildLabelSetCheckSumArray()
* @param $iQID The question ID
* @return array$bOrderByNative=>value, attribute=>value} or false if the question ID does not exist (anymore)
*/
function getQuestionAttributeValues($q)
function getQuestionAttributeValues($qid) //AJSL
{
static $cache;
if (is_object($q))
{
if (isset($cache[$q->id])) return $cache[$q->id];
}
else //AJS
{
$qid = sanitize_int($q);
if (isset($cache[$qid])) return $cache[$qid];
$row = Questions::model()->with('question_types')->findByAttributes(array('qid' => $qid));
$q = createQuestion($row->question_types['class'], array('id'=>$qid));
}
$qid = sanitize_int($qid);
if (isset($cache[$qid])) return $cache[$qid];
$row = Questions::model()->with('question_types')->findByAttributes(array('qid' => $qid));
$q = createQuestion($row->question_types['class'], array('id'=>$qid));

return $cache[$q->id] = $q->getAttributeValues();
}
Expand Down Expand Up @@ -3654,18 +3601,18 @@ function getArrayFilterExcludesCascadesForGroup($surveyid, $gid="", $output="qid


/**
* getArrayFiltersForQuestion($qid) finds out if a question has an array_filter attribute and what codes where selected on target question
* getArrayFiltersForQuestion($q) finds out if a question has an array_filter attribute and what codes where selected on target question
* @return returns an array of codes that were selected else returns false
*/
function getArrayFiltersForQuestion($qid)
function getArrayFiltersForQuestion($q)
{
static $cache = array();

// TODO: Check list_filter values to make sure questions are previous?
$qid=sanitize_int($qid);
$qid=sanitize_int($qid->id);
if (isset($cache[$qid])) return $cache[$qid];

$attributes = getQuestionAttributeValues($qid); //AJS
$attributes = $q->getAttributeValues();
if (isset($attributes['array_filter']) && Yii::app()->session['questions']) {
$val = $attributes['array_filter']; // Get the Value of the Attribute ( should be a previous question's title in same group )
foreach (Yii::app()->session['questions'] as $q)
Expand Down Expand Up @@ -3722,7 +3669,7 @@ function getGroupsByQuestion($surveyid) {


/**
* getArrayFilterExcludesForQuestion($qid) finds out if a question has an array_filter_exclude attribute and what codes where selected on target question
* getArrayFilterExcludesForQuestion($q) finds out if a question has an array_filter_exclude attribute and what codes where selected on target question
* @return returns an array of codes that were selected else returns false
*/
function getArrayFilterExcludesForQuestion($qid)
Expand All @@ -3733,11 +3680,11 @@ function getArrayFilterExcludesForQuestion($qid)
// TODO: Check list_filter values to make sure questions are previous?
// $surveyid = Yii::app()->getConfig('sid');
$surveyid=returnGlobal('sid');
$qid=sanitize_int($qid);
$qid=sanitize_int($q->id);

if (isset($cache[$qid])) return $cache[$qid];

$attributes = getQuestionAttributeValues($qid); //AJS
$attributes = $q->getAttributeValues();
$excludevals=array();
if (isset($attributes['array_filter_exclude'])) // We Found a array_filter_exclude attribute
{
Expand Down
4 changes: 2 additions & 2 deletions application/helpers/frontend_helper.php
Expand Up @@ -519,7 +519,7 @@ function checkconfield($value)
}
if (isset($value_qa['array_filter_exclude']))
{
$arrayfilterXcludes_selected_codes = getArrayFilterExcludesForQuestion($value_question->id);
$arrayfilterXcludes_selected_codes = getArrayFilterExcludesForQuestion($value_question);
if ( $arrayfilterXcludes_selected_codes !== false &&
in_array($value_code,$arrayfilterXcludes_selected_codes))
{
Expand All @@ -528,7 +528,7 @@ function checkconfield($value)
}
elseif (isset($value_qa['array_filter']))
{
$arrayfilter_selected_codes = getArrayFiltersForQuestion($value_question->id);
$arrayfilter_selected_codes = getArrayFiltersForQuestion($value_question);
if ( $arrayfilter_selected_codes !== false &&
!in_array($value_code,$arrayfilter_selected_codes))
{
Expand Down
2 changes: 1 addition & 1 deletion application/modules/HugeTextQuestion.php
Expand Up @@ -81,7 +81,7 @@ public function getDataEntry($idrow, &$fnames, $language)

public function getDBField()
{
return 'test';
return 'text';
}

public function availableAttributes($attr = false)
Expand Down
2 changes: 1 addition & 1 deletion application/views/admin/export/statistics_view.php
Expand Up @@ -824,7 +824,7 @@

$counter2=0;
//Get qidattributes for this question
$qidattributes=getQuestionAttributeValues($flt[0]);
$qidattributes=getQuestionAttributeValues($flt[0]); //AJS
if (trim($qidattributes['multiflexible_max'])!='' && trim($qidattributes['multiflexible_min']) ==''){
$maxvalue=$qidattributes['multiflexible_max'];
$minvalue=1;
Expand Down

0 comments on commit 9b6cbd9

Please sign in to comment.