From fb973c7c5fee7e7726256f337cddb735d2e0b2f7 Mon Sep 17 00:00:00 2001 From: Carsten Schmitz Date: Sun, 14 Jan 2018 23:59:13 +0100 Subject: [PATCH] Dev Removed obsolete functions --- application/controllers/admin/database.php | 18 +- .../controllers/admin/globalsettings.php | 2 +- .../controllers/admin/questiongroups.php | 7 +- application/controllers/admin/questions.php | 18 +- application/controllers/admin/surveyadmin.php | 4 +- application/controllers/admin/themes.php | 4 +- application/controllers/admin/useraction.php | 2 +- application/core/Survey_Common_Action.php | 2 +- application/helpers/admin/template_helper.php | 2 +- application/helpers/common_helper.php | 275 +++--------------- .../helpers/expressions/em_manager_helper.php | 2 +- .../remotecontrol/remotecontrol_handle.php | 4 +- application/models/QuestionGroup.php | 5 +- application/models/TemplateConfig.php | 2 +- .../views/admin/global_settings/_general.php | 2 +- .../survey/Question/editQuestion_view.php | 2 +- .../_accordion_container.php | 4 +- 17 files changed, 75 insertions(+), 280 deletions(-) diff --git a/application/controllers/admin/database.php b/application/controllers/admin/database.php index 3bd297d5fc6..d639eb2deef 100644 --- a/application/controllers/admin/database.php +++ b/application/controllers/admin/database.php @@ -176,7 +176,7 @@ private function actionUpdateDefaultValues($iSurveyID) $arQuestion = Question::model()->findByAttributes(array('qid'=>$this->iQuestionID)); $sQuestionType = $arQuestion['type']; - $aQuestionTypeList = getQuestionTypeList('', 'array'); + $aQuestionTypeList = Question::typeList(); if ($aQuestionTypeList[$sQuestionType]['answerscales'] > 0 && $aQuestionTypeList[$sQuestionType]['subquestions'] == 0) { for ($iScaleID = 0; $iScaleID < $aQuestionTypeList[$sQuestionType]['answerscales']; $iScaleID++) { foreach ($aSurveyLanguages as $sLanguage) { @@ -247,7 +247,7 @@ private function actionUpdateAnswerOptions($iSurveyID) $survey = Survey::model()->findByPk($iSurveyID); $arQuestion = Question::model()->findByAttributes(array('qid'=>$this->iQuestionID)); $sQuestionType = $arQuestion['type']; // Checked) - $aQuestionTypeList = getQuestionTypeList('', 'array'); + $aQuestionTypeList = Question::typeList(); $iScaleCount = $aQuestionTypeList[$sQuestionType]['answerscales']; /* for already activated survey and rank question type : fix the maxDbAnswer before deleting answers */ /* @todo : add it to upgrage DB system, and see for the lsa */ @@ -353,7 +353,7 @@ private function actionSubQuestions($iSurveyID) $arQuestion = Question::model()->findByAttributes(array('qid'=>$this->iQuestionID)); $sQuestionType = $arQuestion['type']; // Checked - $aQuestionTypeList = getQuestionTypeList('', 'array'); + $aQuestionTypeList = Question::typeList(); $iScaleCount = $aQuestionTypeList[$sQuestionType]['subquestions']; // First delete any deleted ids $aDeletedQIDs = explode(' ', trim(Yii::app()->request->getPost('deletedqids'))); @@ -605,7 +605,7 @@ private function actionUpdateQuestion($iSurveyID) } } - $aQuestionTypeList = getQuestionTypeList('', 'array'); + $aQuestionTypeList = Question::typeList(); // These are the questions types that have no answers and therefore we delete the answer in that case $iAnswerScales = $aQuestionTypeList[$sQuestionType]['answerscales']; $iSubquestionScales = $aQuestionTypeList[$sQuestionType]['subquestions']; @@ -673,18 +673,18 @@ private function actionUpdateQuestion($iSurveyID) $oQuestion->modulename = ''; } if ($oldgid != $this->iQuestionGroupID) { - if (getGroupOrder($iSurveyID, $oldgid) > getGroupOrder($iSurveyID, $this->iQuestionGroupID)) { + if (getGroupOrder($oldgid) > getGroupOrder($this->iQuestionGroupID)) { // TMSW Condition->Relevance: What is needed here? // Moving question to a 'upper' group // insert question at the end of the destination group // this prevent breaking conditions if the target qid is in the dest group - $insertorder = getMaxQuestionOrder($this->iQuestionGroupID, $iSurveyID) + 1; + $insertorder = getMaxQuestionOrder($this->iQuestionGroupID) + 1; $oQuestion->question_order = $insertorder; } else { // Moving question to a 'lower' group // insert question at the beginning of the destination group - shiftOrderQuestions($iSurveyID, $this->iQuestionGroupID, 1); // makes 1 spare room for new question at top of dest group + Question::model()->updateQuestionOrder($this->iQuestionGroupID, $iSurveyID); // makes 1 spare room for new question at top of dest group $oQuestion->question_order = 0; } } @@ -735,7 +735,7 @@ private function actionUpdateQuestion($iSurveyID) Question::model()->updateQuestionOrder($this->iQuestionGroupID, $iSurveyID); // If some questions have conditions set on this question's answers // then change the cfieldname accordingly - fixMovedQuestionConditions($this->iQuestionID, $oldgid, $this->iQuestionGroupID); + Condition::model()->updateCFieldName($iSurveyID, $this->iQuestionID, $oldgid, $this->iQuestionGroupID); } // Update subquestions if ($oldtype != $sQuestionType) { @@ -1205,7 +1205,7 @@ private function actionInsertCopyQuestion($iSurveyID) $sQuery = "UPDATE {{questions}} SET question_order=question_order+1 WHERE gid=:gid AND question_order >= :order"; Yii::app()->db->createCommand($sQuery)->bindValues(array(':gid'=>$this->iQuestionGroupID, ':order'=>$iQuestionOrder))->query(); } else { - $iQuestionOrder = getMaxQuestionOrder($this->iQuestionGroupID, $iSurveyID); + $iQuestionOrder = getMaxQuestionOrder($this->iQuestionGroupID); $iQuestionOrder++; } $sQuestionText = Yii::app()->request->getPost('question_'.$sBaseLanguage, ''); diff --git a/application/controllers/admin/globalsettings.php b/application/controllers/admin/globalsettings.php index f569be39aee..3207bc93529 100644 --- a/application/controllers/admin/globalsettings.php +++ b/application/controllers/admin/globalsettings.php @@ -230,7 +230,7 @@ private function _saveSettings() if (!Yii::app()->getConfig('demoMode')) { $sTemplate = Yii::app()->getRequest()->getPost("defaulttheme"); - if (array_key_exists($sTemplate, getTemplateList())) { + if (array_key_exists($sTemplate, Template::getTemplateList())) { // Filter template name setGlobalSetting('defaulttheme', $sTemplate); } diff --git a/application/controllers/admin/questiongroups.php b/application/controllers/admin/questiongroups.php index 9a64f574766..90df6a37ff1 100644 --- a/application/controllers/admin/questiongroups.php +++ b/application/controllers/admin/questiongroups.php @@ -240,7 +240,7 @@ public function delete($iSurveyId, $iGroupId) $iGroupsDeleted = QuestionGroup::deleteWithDependency($iGroupId, $iSurveyId); if ($iGroupsDeleted > 0) { - fixSortOrderGroups($iSurveyId); + QuestionGroup::model()->updateGroupOrder($iSurveyId); Yii::app()->setFlashMessage(gT('The question group was deleted.')); } else { Yii::app()->setFlashMessage(gT('Group could not be deleted'), 'error'); @@ -490,11 +490,6 @@ public function update($gid) $oGroupLS->$k = $v; } $ugresult2 = $oGroupLS->save(); - - - if ($ugresult && $ugresult2) { - $groupsummary = getGroupList($gid, $surveyid); - } } } diff --git a/application/controllers/admin/questions.php b/application/controllers/admin/questions.php index 7b361df69d4..eab3481ccbc 100644 --- a/application/controllers/admin/questions.php +++ b/application/controllers/admin/questions.php @@ -66,7 +66,7 @@ public function view($surveyid, $gid, $qid) $aData['oQuestion'] = $oQuestion; $qrrow = $oQuestion->attributes; $aData['languagelist'] = $survey->allLanguages; - $aData['qtypes'] = getQuestionTypeList('', 'array'); + $aData['qtypes'] = Question::typeList(); $qshowstyle = ""; @@ -275,7 +275,7 @@ public function editdefaultvalues($surveyid, $gid, $qid) $questionrow = $oQuestion->attributes; - $qtproperties = getQuestionTypeList('', 'array'); + $qtproperties = Question::typeList(); $langopts = array(); foreach ($survey->allLanguages as $language) { @@ -473,7 +473,7 @@ public function _editansweroptions($surveyid, $gid, $qid) $oQuestion = $qrow = Question::model()->findByPk($qid); $qtype = $qrow['type']; - $qtypes = getQuestionTypeList('', 'array'); + $qtypes = Question::typeList(); $scalecount = $qtypes[$qtype]['answerscales']; @@ -685,7 +685,7 @@ public function _editsubquestion($surveyid, $gid, $qid) $aParentQuestion = $oQuestion->attributes; $sQuestiontype = $aParentQuestion['type']; - $aQuestiontypeInfo = getQuestionTypeList($sQuestiontype, 'array'); + $aQuestiontypeInfo = Question::typeList(); $iScaleCount = $aQuestiontypeInfo[$sQuestiontype]['subquestions']; for ($iScale = 0; $iScale < $iScaleCount; $iScale++) { @@ -778,7 +778,7 @@ public function _editsubquestion($surveyid, $gid, $qid) * The following line decides if the assessment input fields are visible or not * for some question types the assessment values is set in the label set instead of the answers */ - $qtypes = getQuestionTypeList('', 'array'); + $qtypes = Question::typeList(); Yii::app()->loadHelper('surveytranslator'); $aData['scalecount'] = $scalecount = $qtypes[$qtype]['subquestions']; @@ -998,7 +998,7 @@ public function newquestion($surveyid) $baselang = $survey->language; - $qtypelist = getQuestionTypeList('', 'array'); + $qtypelist = Question::typeList(); $aData['ajaxDatas']['qTypeOutput'] = json_encode($qtypelist); @@ -1200,7 +1200,7 @@ public function index($sa, $surveyid, $gid, $qid = null) LimeExpressionManager::StartProcessingPage(false, true); // so can click on syntax highlighting to edit questions } - $qtypelist = getQuestionTypeList('', 'array'); + $qtypelist = Question::typeList(); $aData['qTypeOutput'] = json_encode($qtypelist); if ($adding) { @@ -1426,7 +1426,7 @@ public function setMultipleQuestionGroup() // If survey is active it should not be possible to update if ($iQuestionOrder == "") { // If asked "at the endd" - $iQuestionOrder = (getMaxQuestionOrder($oQuestionGroup->gid, $oSurvey->sid)); + $iQuestionOrder = (getMaxQuestionOrder($oQuestionGroup->gid)); // We get the last question order, so we want the number just after it // Unless it's 0 @@ -1812,7 +1812,7 @@ public function preview($surveyid, $qid, $lang = null) $question = $answers[0][0]; $question['code'] = $answers[0][5]; - $question['class'] = getQuestionClass($qrows['type']); + $question['class'] = Question::getQuestionClass($qrows['type']); $question['essentials'] = 'id="question'.$qrows['qid'].'"'; $question['sgq'] = $ia[1]; $question['aid'] = 'unknown'; diff --git a/application/controllers/admin/surveyadmin.php b/application/controllers/admin/surveyadmin.php index 698db8822ba..3b043b369eb 100644 --- a/application/controllers/admin/surveyadmin.php +++ b/application/controllers/admin/surveyadmin.php @@ -701,7 +701,7 @@ public function activate($iSurveyID) Yii::app()->setFlashMessage(gT("This survey is already active."), 'error'); $this->getController()->redirect(array('admin/survey', 'sa'=>'view', 'surveyid'=>$iSurveyID)); - } $qtypes = getQuestionTypeList('', 'array'); + } $qtypes = Question::typeList(); Yii::app()->loadHelper("admin/activate"); if (Yii::app()->request->getPost('ok') == '') { @@ -1188,7 +1188,7 @@ private function _reorderGroup($iSurveyID) $oldGid = $oQuestion['gid']; if ($oldGid != $gid) { - fixMovedQuestionConditions($qid, $oldGid, $gid, $iSurveyID); + Condition::model()->updateCFieldName($iSurveyID, $qid, $oldGid, $gid); } Question::model()->updateAll(array('question_order' => $aQuestionOrder[$gid], 'gid' => $gid), 'qid=:qid', array(':qid' => $qid)); Question::model()->updateAll(array('gid' => $gid), 'parent_qid=:parent_qid', array(':parent_qid' => $qid)); diff --git a/application/controllers/admin/themes.php b/application/controllers/admin/themes.php index 73002866333..54fd0f2b3af 100755 --- a/application/controllers/admin/themes.php +++ b/application/controllers/admin/themes.php @@ -449,7 +449,7 @@ public function templaterename() $sNewDirectoryPath = Yii::app()->getConfig('userthemerootdir')."/".$sNewName; $sOldDirectoryPath = Yii::app()->getConfig('userthemerootdir')."/".returnGlobal('copydir'); - if (isStandardTemplate(returnGlobal('newname'))) { + if (Template::isStandardTemplate(returnGlobal('newname'))) { Yii::app()->user->setFlash('error', sprintf(gT("Template could not be renamed to '%s'."), $sNewName)." ".gT("This name is reserved for standard template.")); $this->getController()->redirect(array("admin/themes/sa/upload")); @@ -857,7 +857,7 @@ protected function _initialise($templatename, $screenname, $editfile, $showsumma if (in_array(Yii::app()->session['adminlang'], $availableeditorlanguages)) { $sLanguageCode = Yii::app()->session['adminlang']; } - $aAllTemplates = getTemplateList(); + $aAllTemplates = Template::getTemplateList(); if (!isset($aAllTemplates[$templatename])) { $templatename = getGlobalSetting('defaulttheme'); } diff --git a/application/controllers/admin/useraction.php b/application/controllers/admin/useraction.php index db90f2e8eeb..9c64cc72eb4 100755 --- a/application/controllers/admin/useraction.php +++ b/application/controllers/admin/useraction.php @@ -696,7 +696,7 @@ private function _getUserNameFromUid($uid) private function _refreshtemplates() { - $template_a = getTemplateList(); + $template_a = Template::getTemplateList(); foreach ($template_a as $tp => $fullpath) { // check for each folder if there is already an entry in the database // if not create it with current user as creator (user with rights "create user" can assign template rights) diff --git a/application/core/Survey_Common_Action.php b/application/core/Survey_Common_Action.php index 07cf18c63d6..7a271d77edb 100644 --- a/application/core/Survey_Common_Action.php +++ b/application/core/Survey_Common_Action.php @@ -551,7 +551,7 @@ public function _questionbar($aData) $qrrow = $qrrow->attributes; $aData['languagelist'] = $oSurvey->getAllLanguages(); - $aData['qtypes'] = getQuestionTypeList('', 'array'); + $aData['qtypes'] = Question::typeList(); $aData['action'] = $action; $aData['surveyid'] = $iSurveyID; $aData['qid'] = $qid; diff --git a/application/helpers/admin/template_helper.php b/application/helpers/admin/template_helper.php index a4897c6b9c7..1b5cd84ccae 100644 --- a/application/helpers/admin/template_helper.php +++ b/application/helpers/admin/template_helper.php @@ -113,7 +113,7 @@ function recursive_in_array($needle, $haystack) */ function is_template_editable($templatename) { - if (isStandardTemplate($templatename) && Yii::app()->getConfig("standard_themes_readonly") == true) { + if (Template::isStandardTemplate($templatename) && Yii::app()->getConfig("standard_themes_readonly") == true) { return false; } else { return true; diff --git a/application/helpers/common_helper.php b/application/helpers/common_helper.php index 6b9c8a544f0..ff08db4fb0d 100644 --- a/application/helpers/common_helper.php +++ b/application/helpers/common_helper.php @@ -87,78 +87,6 @@ function quoteText($sText, $sEscapeMode = 'html') } } -/** -* getQuestionTypeList() Returns list of question types available in LimeSurvey. Edit this if you are adding a new -* question type -* -* @param string $SelectedCode Value of the Question Type (defaults to "T") -* @param string $ReturnType Type of output from this function (defaults to selector) -* -* @return array|string depending on $ReturnType param, returns a straight "array" of question types, or an list -* -* 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($SelectedCode = "T", $ReturnType = "selector") -{ - - $qtypes = Question::typeList(); - - if ($ReturnType == "array") { - return $qtypes; - } - - - if ($ReturnType == "group") { - $newqType = []; - foreach ($qtypes as $qkey => $qtype) { - $newqType[$qtype['group']][$qkey] = $qtype; - } - - - $qtypeselecter = ""; - foreach ($newqType as $group => $members) { - $qtypeselecter .= ''; - foreach ($members as $TypeCode => $TypeProperties) { - $qtypeselecter .= " formatted list of groups to current survey -*/ -function getGroupList($gid, $surveyid) -{ - - $groupselecter = ""; - $gid = sanitize_int($gid); - $surveyid = sanitize_int($surveyid); - if (!$surveyid) {$surveyid = returnGlobal('sid', true); } - $sBaseLanguage = Survey::model()->findByPk($surveyid)->language; - $oGroups = QuestionGroup::model()->findAllByAttributes(['sid'=>$surveyid]); - foreach ($oGroups as $oGroup) { - $groupselecter .= "gid == $gid) {$groupselecter .= " selected='selected'"; $gvexist = 1; } - $groupselecter .= " value='".Yii::app()->getConfig('scriptname')."?sid={$surveyid}&gid=".$oGroup->gid."'>".htmlspecialchars($oGroup->questionGroupL10ns[$sBaseLanguage]->group_name)."\n"; - } - if ($groupselecter) { - if (!isset($gvexist)) {$groupselecter = "\n".$groupselecter; } else {$groupselecter .= "\n"; } - } - return $groupselecter; -} - - //FIXME rename and/or document this function getGroupList3($gid, $surveyid) { - // $gid = sanitize_int($gid); $surveyid = sanitize_int($surveyid); @@ -715,18 +581,12 @@ function getGroupList3($gid, $surveyid) $groupselecter = ""; $sBaseLanguage = Survey::model()->findByPk($surveyid)->language; - - //$gidquery = "SELECT gid, group_name FROM ".db_table_name('groups')." WHERE sid=$surveyid AND language='{$s_lang}' ORDER BY group_order"; - $gidresult = QuestionGroup::model()->findAllByAttributes(array('sid' => $surveyid), array('order'=>'group_order')); - foreach ($gidresult as $gv) { $groupselecter .= "gid == $gid) {$groupselecter .= " selected='selected'"; } $groupselecter .= " value='".$gv->gid."'>".htmlspecialchars($gv->questionGroupL10ns[$sBaseLanguage]->group_name)." (ID:".$gv->gid.")\n"; } - - return $groupselecter; } @@ -901,7 +761,7 @@ function getSurveyInfo($surveyid, $languagecode = '') * @param mixed $sLanguage Required language translationb object * @param string $mode Escape mode for the translation function * @return array - * // TODO move to template model +* @todo Move to defaulttexts helper */ function templateDefaultTexts($sLanguage, $mode = 'html', $sNewlines = 'text') { @@ -987,48 +847,6 @@ function groupOrderThenQuestionOrder($a, $b) return $GroupResult; } - -//FIXME insert UestionGroup model to here -/** - * @param integer $sid - * @param integer $gid - * @param integer $shiftvalue - */ -function shiftOrderQuestions($sid, $gid, $shiftvalue) //Function shifts the sortorder for questions -{ - $sid = (int) $sid; - $gid = (int) $gid; - $shiftvalue = (int) $shiftvalue; - - $baselang = Survey::model()->findByPk($sid)->language; - - Question::model()->updateQuestionOrder($gid, $baselang, $shiftvalue); -} - -function fixSortOrderGroups($surveyid) //Function rewrites the sortorder for groups -{ - $baselang = Survey::model()->findByPk($surveyid)->language; - QuestionGroup::model()->updateGroupOrder($surveyid, $baselang); -} - -/** - * @param integer $iSurveyID - * @param integer $qid - * @param integer $newgid - */ -function fixMovedQuestionConditions($qid, $oldgid, $newgid, $iSurveyID = null) //Function rewrites the cfieldname for a question after group change -{ - if (!isset($iSurveyID)) { - $iSurveyID = Yii::app()->getConfig('sid'); - } - $qid = (int) $qid; - $oldgid = (int) $oldgid; - $newgid = (int) $newgid; - Condition::model()->updateCFieldName($iSurveyID, $qid, $oldgid, $newgid); - // TMSW Condition->Relevance: Call LEM->ConvertConditionsToRelevance() when done -} - - /** * This function returns POST/REQUEST vars, for some vars like SID and others they are also sanitized * TODO: extends Yii:getParam @@ -1416,7 +1234,7 @@ function createCompleteSGQA($iSurveyID, $aFilters, $sLanguage) /** * This function generates an array containing the fieldcode, and matching data in the same order as the activate script * -* @param Survey $survey +* @param Survey $survey Survey ActiveRecord model * @param string $style 'short' (default) or 'full' - full creates extra information like default values * @param boolean $force_refresh - Forces to really refresh the array, not just take the session copy * @param bool|int $questionid Limit to a certain qid only (for question preview) - default is false @@ -1573,7 +1391,7 @@ function createFieldMap($survey, $style = 'short', $force_refresh = false, $ques } $defaultValues[$dv['qid'].'~'.$sq] = $dv['defaultvalue']; } - $qtypes = getQuestionTypeList('', 'array'); + $qtypes = Question::typeList(); // Main query $aquery = "SELECT * " @@ -1848,7 +1666,7 @@ function createFieldMap($survey, $style = 'short', $force_refresh = false, $ques $fieldmap[$fieldname]['groupSeq'] = $groupSeq; } } else { -// Question types with subquestions and one answer per subquestion (M/A/B/C/E/F/H/P) + // Question types with subquestions and one answer per subquestion (M/A/B/C/E/F/H/P) //MULTI ENTRY $abrows = getSubQuestions($surveyid, $arow['qid'], $sLanguage); foreach ($abrows as $abrow) { @@ -1992,7 +1810,7 @@ function createFieldMap($survey, $style = 'short', $force_refresh = false, $ques */ function hasFileUploadQuestion($iSurveyID) { - $iCount = Question::model()->count("sid=:surveyid AND parent_qid=0 AND type='".Question::QT_VERTICAL_FILE_UPLOAD."'", array(':surveyid' => $iSurveyID)); + $iCount = Question::model()->count("sid=:surveyid AND parent_qid=0 AND type=:type", array(':surveyid' => $iSurveyID, ':type'=>Question::QT_VERTICAL_FILE_UPLOAD)); return $iCount > 0; } @@ -2008,7 +1826,6 @@ function hasFileUploadQuestion($iSurveyID) */ function createTimingsFieldMap($surveyid, $style = 'full', $force_refresh = false, $questionid = false, $sQuestionLanguage = null) { - static $timingsFieldMap; $sLanguage = sanitize_languagecode($sQuestionLanguage); @@ -2073,19 +1890,6 @@ function arraySearchByKey($needle, $haystack, $keyname, $maxanswers = "") return $output; } -/** -* This function returns a count of the number of saved responses to a survey -* -* @param mixed $surveyid Survey ID -*/ -function getSavedCount($surveyid) -{ - $surveyid = (int) $surveyid; - - return SavedControl::model()->getCountOfAll($surveyid); -} - - function buildLabelSetCheckSumArray() { // BUILD CHECKSUMS FOR ALL EXISTING LABEL SETS @@ -2105,7 +1909,6 @@ function buildLabelSetCheckSumArray() } // while $csarray[$row['lid']] = dechex(crc32($thisset) * 1); } - return $csarray; } @@ -2140,10 +1943,10 @@ function categorySort($a, $b) return $result; } - - - -// make a string safe to include in an HTML 'value' attribute. +/** +* make a string safe to include in an HTML 'value' attribute. +* @deprecated If you need this you are doing something wrong. Use CHTML functions instead. +*/ function HTMLEscape($str) { // escape newline characters, too, in case we put a value from @@ -2343,7 +2146,6 @@ function SendEmailMessage($body, $subject, $to, $from, $sitename, $ishtml = fals ob_end_clean(); } $maildebugbody = $mail->Body; - //if(!$sent) var_dump($maildebug); return $sent; } @@ -2481,10 +2283,9 @@ function getArrayFilterExcludesCascadesForGroup($surveyid, $gid = "", $output = return $cascaded; } -function createPassword() +function createPassword($iPasswordLength = 12) { $aCharacters = "ABCDEGHJIKLMNOPQURSTUVWXYZabcdefhjmnpqrstuvwxyz23456789"; - $iPasswordLength = 12; $sPassword = ''; for ($i = 0; $i < $iPasswordLength; $i++) { $sPassword .= $aCharacters[(int) floor(rand(0, strlen($aCharacters) - 1))]; @@ -4136,7 +3937,7 @@ function checkMoveQuestionConstraintsForConditions($sid, $qid, $newgid = "all") if ($newgid != "all") { $newgid = sanitize_int($newgid); - $newgorder = getGroupOrder($sid, $newgid); + $newgorder = getGroupOrder($newgid); } else { $newgorder = ''; // Not used in this case } diff --git a/application/helpers/expressions/em_manager_helper.php b/application/helpers/expressions/em_manager_helper.php index ec56f885a12..bb50e81ca00 100644 --- a/application/helpers/expressions/em_manager_helper.php +++ b/application/helpers/expressions/em_manager_helper.php @@ -9268,7 +9268,7 @@ static public function ShowSurveyLogicFile($sid, $gid=NULL, $qid=NULL,$LEMdebugL $moveResult = LimeExpressionManager::NavigateForwards(); } - $qtypes=getQuestionTypeList('','array'); + $qtypes = Question::typeList(); if (is_null($moveResult) || is_null($LEM->currentQset) || count($LEM->currentQset) == 0) { return array( diff --git a/application/helpers/remotecontrol/remotecontrol_handle.php b/application/helpers/remotecontrol/remotecontrol_handle.php index 538bceb5faa..8654c3d374b 100644 --- a/application/helpers/remotecontrol/remotecontrol_handle.php +++ b/application/helpers/remotecontrol/remotecontrol_handle.php @@ -1040,7 +1040,7 @@ public function delete_group($sSessionKey, $iSurveyID, $iGroupID) $iGroupsDeleted = QuestionGroup::deleteWithDependency($iGroupID, $iSurveyID); if ($iGroupsDeleted === 1) { - fixSortOrderGroups($iSurveyID); + QuestionGroup::model()->updateGroupOrder($iSurveyID); return (int) $iGroupID; } else { return array('status' => 'Group deletion failed'); @@ -1256,7 +1256,7 @@ public function set_group_properties($sSessionKey, $iGroupID, $aGroupData) try { // save the change to database - one by one to allow for validation to work $bSaveResult = $oGroup->save(); - fixSortOrderGroups($oGroup->sid); + QuestionGroup::model()->updateGroupOrder($oGroup->sid); $aResult[$sFieldName] = $bSaveResult; //unset failed values if (!$bSaveResult) { diff --git a/application/models/QuestionGroup.php b/application/models/QuestionGroup.php index ffe8b916a39..7d6da071069 100644 --- a/application/models/QuestionGroup.php +++ b/application/models/QuestionGroup.php @@ -85,14 +85,13 @@ public function defaultScope() * @param string $lang * @param int $position */ - public function updateGroupOrder($sid, $lang, $position = 0) + public function updateGroupOrder($sid, $position = 0) { $data = Yii::app()->db->createCommand()->select('gid') - ->where(array('and', 'sid=:sid', 'language=:language')) + ->where('sid=:sid') ->order('group_order, group_name ASC') ->from('{{groups}}') ->bindParam(':sid', $sid, PDO::PARAM_INT) - ->bindParam(':language', $lang, PDO::PARAM_STR) ->query(); $position = intval($position); diff --git a/application/models/TemplateConfig.php b/application/models/TemplateConfig.php index 71278a97be6..4adaf81abd8 100644 --- a/application/models/TemplateConfig.php +++ b/application/models/TemplateConfig.php @@ -453,7 +453,7 @@ public function getClassAndAttributes() $aClassAndAttributes['attr']['passwordrowcolspan'] = $aClassAndAttributes['attr']['captcharow'] = $aClassAndAttributes['attr']['captcharowlabel'] = $aClassAndAttributes['attr']['captcharowcol'] = $aClassAndAttributes['attr']['captcharowcoldiv'] = $aClassAndAttributes['attr']['loadrow'] = ''; $aClassAndAttributes['attr']['loadrowcol'] = $aClassAndAttributes['class']['returntosurvey'] = $aClassAndAttributes['attr']['returntosurveydiv'] = $aClassAndAttributes['class']['returntosurveydiva'] = ''; - // Save + // Save $aClassAndAttributes['class']['savecontainer'] = ' save-message '; $aClassAndAttributes['class']['savecontainertitle'] = ' '; $aClassAndAttributes['class']['savecontainertext'] = ' '; diff --git a/application/views/admin/global_settings/_general.php b/application/views/admin/global_settings/_general.php index fca67ea2243..c00d2109c96 100644 --- a/application/views/admin/global_settings/_general.php +++ b/application/views/admin/global_settings/_general.php @@ -6,7 +6,7 @@ ?> type, 'array'); +$aQuestionTypeList = Question::typeList(); foreach ( $aQuestionTypeList as $key=> $questionType) { diff --git a/application/views/admin/survey/Question/question_subviews/_accordion_container.php b/application/views/admin/survey/Question/question_subviews/_accordion_container.php index f14d2ba016b..465be022b08 100644 --- a/application/views/admin/survey/Question/question_subviews/_accordion_container.php +++ b/application/views/admin/survey/Question/question_subviews/_accordion_container.php @@ -21,7 +21,7 @@
$questionType) + foreach (Question::typeList() as $key=> $questionType) { if (!isset($groups[$questionType['group']])) { @@ -70,7 +70,7 @@ $questionType) + foreach (Question::typeList() as $key=> $questionType) { $aQtypeData[]=array('code'=>$key,'description'=>$questionType['description'],'group'=>$questionType['group']); }