From 9b6cbd98e433d174366fc7d1e7d167d1b0f4f3aa Mon Sep 17 00:00:00 2001 From: Aaron Schmitz Date: Sat, 18 Aug 2012 19:40:26 -0500 Subject: [PATCH] Clean up common_helper.php and apply some other fixes. --- application/controllers/admin/question.php | 2 +- application/controllers/admin/surveyadmin.php | 5 +- application/helpers/common_helper.php | 77 +++---------------- application/helpers/frontend_helper.php | 4 +- application/modules/HugeTextQuestion.php | 2 +- .../views/admin/export/statistics_view.php | 2 +- 6 files changed, 19 insertions(+), 73 deletions(-) diff --git a/application/controllers/admin/question.php b/application/controllers/admin/question.php index 1eb05d24e97..7be8f7acd64 100644 --- a/application/controllers/admin/question.php +++ b/application/controllers/admin/question.php @@ -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; diff --git a/application/controllers/admin/surveyadmin.php b/application/controllers/admin/surveyadmin.php index 5b7810e4b0e..cee4d7cd140 100644 --- a/application/controllers/admin/surveyadmin.php +++ b/application/controllers/admin/surveyadmin.php @@ -459,7 +459,7 @@ public function activate($iSurveyID) if (isset($aResult['error'])) { $aViewUrls['output']= "
\n
\n" . - "
".$clang->gT("Activate Survey")." ($surveyid)
\n"; + "
".$clang->gT("Activate Survey")." ($iSurveyID)
\n"; if ($aResult['error']=='surveytablecreation') { $aViewUrls['output'].="
".$clang->gT("Survey table could not be created.")."
\n"; @@ -470,8 +470,7 @@ public function activate($iSurveyID) } $aViewUrls['output'].="

" . $clang->gT("Database error!!")."\n " ."\n" . - "

".implode(' ', $createsurvey)."
\n - ".$clang->gT("Main Admin Screen")."\n
" ; + "".$clang->gT("Main Admin Screen")."\n" ; } else { diff --git a/application/helpers/common_helper.php b/application/helpers/common_helper.php index b4d616fa09d..6ff725c2615 100644 --- a/application/helpers/common_helper.php +++ b/application/helpers/common_helper.php @@ -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 @@ -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(); } @@ -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) @@ -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) @@ -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 { diff --git a/application/helpers/frontend_helper.php b/application/helpers/frontend_helper.php index 9b0dda156c1..0d2896b39e5 100644 --- a/application/helpers/frontend_helper.php +++ b/application/helpers/frontend_helper.php @@ -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)) { @@ -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)) { diff --git a/application/modules/HugeTextQuestion.php b/application/modules/HugeTextQuestion.php index f0c673a44ed..91dc39fa2e0 100644 --- a/application/modules/HugeTextQuestion.php +++ b/application/modules/HugeTextQuestion.php @@ -81,7 +81,7 @@ public function getDataEntry($idrow, &$fnames, $language) public function getDBField() { - return 'test'; + return 'text'; } public function availableAttributes($attr = false) diff --git a/application/views/admin/export/statistics_view.php b/application/views/admin/export/statistics_view.php index 33309921897..0e8d15fb07f 100644 --- a/application/views/admin/export/statistics_view.php +++ b/application/views/admin/export/statistics_view.php @@ -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;