/** * Load edit email template screen. * @param mixed $iSurveyId * @return */ function index($iSurveyId) { $clang = $this->getController()->lang; $iSurveyId = sanitize_int($iSurveyId); $this->getController()->_css_admin_includes(Yii::app()->getConfig('adminstyleurl') . "superfish.css"); Yii::app()->loadHelper('admin.htmleditor'); Yii::app()->loadHelper('surveytranslator'); Yii::app()->session['FileManagerContext'] = "edit:assessments:{$iSurveyId}"; if (isset($iSurveyId) && getEmailFormat($iSurveyId) == 'html') { $ishtml = true; } else { $ishtml = false; } $grplangs = Survey::model()->findByPk($iSurveyId)->additionalLanguages; $baselang = Survey::model()->findByPk($iSurveyId)->language; array_unshift($grplangs, $baselang); $sEditScript = PrepareEditorScript(false, $this->getController()); $aData['attrib'] = array(); $aData['bplangs'] = array(); $aData['defaulttexts'] = array(); if ($ishtml) { $sEscapeMode = 'html'; } else { $sEscapeMode = 'unescaped'; } foreach ($grplangs as $key => $grouplang) { $aData['bplangs'][$key] = new limesurvey_lang($grouplang); $aData['attrib'][$key] = Surveys_languagesettings::model()->find('surveyls_survey_id = :ssid AND surveyls_language = :ls', array(':ssid' => $iSurveyId, ':ls' => $grouplang)); $aData['defaulttexts'][$key] = templateDefaultTexts($aData['bplangs'][$key], $sEscapeMode); } $aData['surveyid'] = $iSurveyId; $aData['ishtml'] = $ishtml; $aData['grplangs'] = $grplangs; $this->_renderWrappedTemplate('emailtemplates', array('output' => $sEditScript, 'emailtemplates_view'), $aData); }
/** * Load edit email template screen. * @param mixed $iSurveyId * @return */ function index($iSurveyId) { $iSurveyId = sanitize_int($iSurveyId); Yii::app()->loadHelper('admin.htmleditor'); Yii::app()->loadHelper('surveytranslator'); Yii::app()->session['FileManagerContext'] = "edit:emailsettings:{$iSurveyId}"; initKcfinder(); if (isset($iSurveyId) && getEmailFormat($iSurveyId) == 'html') { $ishtml = true; } else { $ishtml = false; } $grplangs = Survey::model()->findByPk($iSurveyId)->additionalLanguages; $baselang = Survey::model()->findByPk($iSurveyId)->language; array_unshift($grplangs, $baselang); $sEditScript = PrepareEditorScript(false, $this->getController()); $aData['attrib'] = array(); $aData['bplangs'] = array(); $aData['defaulttexts'] = array(); if ($ishtml) { $sEscapeMode = 'html'; } else { $sEscapeMode = 'unescaped'; } foreach ($grplangs as $key => $grouplang) { $aData['bplangs'][$key] = $grouplang; $aData['attrib'][$key] = SurveyLanguageSetting::model()->find('surveyls_survey_id = :ssid AND surveyls_language = :ls', array(':ssid' => $iSurveyId, ':ls' => $grouplang)); $aData['attrib'][$key]['attachments'] = unserialize($aData['attrib'][$key]['attachments']); $aData['defaulttexts'][$key] = templateDefaultTexts($aData['bplangs'][$key], $sEscapeMode); } $aData['sidemenu']['state'] = false; $surveyinfo = Survey::model()->findByPk($iSurveyId)->surveyinfo; $aData['title_bar']['title'] = $surveyinfo['surveyls_title'] . "(" . gT("ID") . ":" . $iSurveyId . ")"; $aData['surveybar']['savebutton']['form'] = 'frmeditgroup'; $aData['surveybar']['saveandclosebutton']['form'] = 'frmeditgroup'; if (!Permission::model()->hasSurveyPermission($iSurveyId, 'surveycontent', 'update')) { unset($aData['surveybar']['savebutton']); unset($aData['surveybar']['saveandclosebutton']); } $aData['surveybar']['closebutton']['url'] = 'admin/survey/sa/view/surveyid/' . $iSurveyId; // Close button $aData['surveyid'] = $iSurveyId; $aData['ishtml'] = $ishtml; $aData['grplangs'] = $grplangs; $this->_renderWrappedTemplate('emailtemplates', array('output' => $sEditScript, 'emailtemplates_view'), $aData); }
/** * Load edit email template screen. * @param mixed $iSurveyId * @return */ function index($iSurveyId) { $iSurveyId = sanitize_int($iSurveyId); App()->getClientScript()->registerPackage('jquery-superfish'); Yii::app()->loadHelper('admin.htmleditor'); Yii::app()->loadHelper('surveytranslator'); Yii::app()->session['FileManagerContext'] = "edit:emailsettings:{$iSurveyId}"; initKcfinder(); if (isset($iSurveyId) && getEmailFormat($iSurveyId) == 'html') { $ishtml = true; } else { $ishtml = false; } $grplangs = Survey::model()->findByPk($iSurveyId)->additionalLanguages; $baselang = Survey::model()->findByPk($iSurveyId)->language; array_unshift($grplangs, $baselang); $sEditScript = PrepareEditorScript(false, $this->getController()); $aData['attrib'] = array(); $aData['bplangs'] = array(); $aData['defaulttexts'] = array(); if ($ishtml) { $sEscapeMode = 'html'; } else { $sEscapeMode = 'unescaped'; } foreach ($grplangs as $key => $grouplang) { $aData['bplangs'][$key] = $grouplang; $aData['attrib'][$key] = SurveyLanguageSetting::model()->find('surveyls_survey_id = :ssid AND surveyls_language = :ls', array(':ssid' => $iSurveyId, ':ls' => $grouplang)); $aData['attrib'][$key]['attachments'] = unserialize($aData['attrib'][$key]['attachments']); $aData['defaulttexts'][$key] = templateDefaultTexts($aData['bplangs'][$key], $sEscapeMode); } $aData['surveyid'] = $iSurveyId; $aData['ishtml'] = $ishtml; $aData['grplangs'] = $grplangs; $this->_renderWrappedTemplate('emailtemplates', array('output' => $sEditScript, 'emailtemplates_view'), $aData); }
'; var lafail = '<?php $clang->eT('Sorry, the request failed!'); ?> '; var ok = '<?php $clang->eT('Ok'); ?> '; var cancel = '<?php $clang->eT('Cancel'); ?> '; </script> <?php echo PrepareEditorScript(); ?> <div class='header ui-widget-header'> <?php $clang->eT("Edit subquestions"); ?> </div> <?php echo CHtml::form(array("admin/database"), 'post', array('id' => 'editsubquestionsform', 'name' => 'editsubquestionsform')); ?> <input type='hidden' name='sid' value='<?php echo $surveyid; ?> ' /> <input type='hidden' name='gid' value='<?php
foreach ($assessmentlangs as $assessmentlang) { if (!isset($_POST['gid'])) { $_POST['gid'] = 0; } if ($filterxsshtml) { $_POST['name_' . $assessmentlang] = $myFilter->process($_POST['name_' . $assessmentlang]); $_POST['assessmentmessage_' . $assessmentlang] = $myFilter->process($_POST['assessmentmessage_' . $assessmentlang]); } $query = "UPDATE {$dbprefix}assessments\n\t\t\t SET scope='" . db_quote($_POST['scope'], true) . "',\n\t\t\t gid=" . sanitize_int($_POST['gid']) . ",\n\t\t\t minimum='" . sanitize_signedint($_POST['minimum']) . "',\n\t\t\t maximum='" . sanitize_signedint($_POST['maximum']) . "',\n\t\t\t name='" . db_quote($_POST['name_' . $assessmentlang], true) . "',\n\t\t\t message='" . db_quote($_POST['assessmentmessage_' . $assessmentlang], true) . "'\n\t\t\t WHERE language='{$assessmentlang}' and id=" . sanitize_int($_POST['id']); $result = $connect->Execute($query) or safe_die("Error updating<br />{$query}<br />" . $connect->ErrorMsg()); } } elseif ($action == "assessmentdelete") { $query = "DELETE FROM {$dbprefix}assessments\n\t\t\t\t WHERE id=" . sanitize_int($_POST['id']); $result = $connect->Execute($query); } $assessmentsoutput = PrepareEditorScript(); $assessmentsoutput .= "<script type=\"text/javascript\">\n <!-- \n var strnogroup='" . $clang->gT("There are no groups available.", "js") . "';\n --></script>\n"; $assessmentsoutput .= "<div class='menubar'>\n" . "\t<div class='menubar-title'>\n" . "<strong>" . $clang->gT("Assessments") . "</strong>\n"; $assessmentsoutput .= "\t</div>\n" . "\t<div class='menubar-main'>\n" . "<div class='menubar-left'>\n" . "\t<a href=\"#\" onclick=\"window.open('{$scriptname}?sid={$surveyid}', '_top')\" title='" . $clang->gTview("Return to survey administration") . "'>" . "<img name='Administration' src='{$imagefiles}/home.png' alt='" . $clang->gT("Return to survey administration") . "' /></a>\n" . "\t<img src='{$imagefiles}/blank.gif' alt='' width='11' />\n" . "\t<img src='{$imagefiles}/seperator.gif' alt='' />\n"; if ($surveyinfo['assessments'] != 'Y') { $assessmentsoutput .= '<span style="font-size:11px;">' . sprintf($clang->gT("Notice: Assessment mode for this survey is not activated. You can activate it in the %s survey settings %s (tab 'Notification & data management')."), '<a href="admin.php?action=editsurvey&sid=' . $surveyid . '">', '</a>') . '</span>'; } $assessmentsoutput .= "</div>\n" . "\t</div>\n" . "</div>\n"; $assessmentsoutput .= "<p style='margin:0;font-size:1px;line-height:1px;height:1px;'> </p>"; //CSS Firefox 2 transition fix if ($surveyid == "") { $assessmentsoutput .= $clang->gT("No SID Provided"); exit; } $assessments = getAssessments($surveyid); //$assessmentsoutput.= "<pre>";print_r($assessments);echo "</pre>";
} $editsurvey .= '</div>'; $editsurvey .= "<p><input type='submit' class='standardbtn' value='" . $clang->gT("Save") . "' />\n" . "<input type='hidden' name='action' value='updatesurvey2' />\n" . "<input type='hidden' name='sid' value=\"{$surveyid}\" />\n" . "<input type='hidden' name='language' value=\"{$esrow['surveyls_language']}\" />\n" . "</p>\n" . "</form>\n"; } else { include "access_denied.php"; } } if ($action == "quotas") { include "quota.php"; } // Show the screen to order groups if ($action == "newsurvey") { if ($_SESSION['USER_RIGHT_CREATE_SURVEY']) { $js_admin_includes[] = 'scripts/surveysettings.js'; $dateformatdetails = getDateFormatData($_SESSION['dateformat']); $newsurvey = PrepareEditorScript(); // header $newsurvey .= "<div class='header'>" . "" . $clang->gT("Create, import or copy survey") . "</div>\n"; $newsurvey .= "<script type=\"text/javascript\">\n sSelectASurveyMessage='" . $clang->gT('Error: You have to select a survey to copy.', 'js') . "';\n sSelectASurveyName='" . $clang->gT('Error: You have to enter a title for this survey.', 'js') . "';\n standardtemplaterooturl='{$standardtemplaterooturl}';\n templaterooturl='{$usertemplaterooturl}'; \n"; $newsurvey .= "</script>\n"; // begin Tabs section $newsurvey .= "<div class='tab-pane' id='tab-pane-newsurvey'>\n"; $newsurvey .= "<form class='form30' name='addnewsurvey' id='addnewsurvey' action='{$scriptname}' method='post' onsubmit=\"alert('hi');return isEmpty(document.getElementById('surveyls_title'), '" . $clang->gT("Error: You have to enter a title for this survey.", 'js') . "');\" >\n"; // General and Contact TAB $newsurvey .= "<div class='tab-page'> <h2 class='tab'>" . $clang->gT("General") . "</h2>\n"; // * Survey Language $newsurvey .= "<ul><li><label for='language' title='" . $clang->gT("This is the base language of your survey and it can't be changed later. You can add more languages after you have created the survey.") . "'><span class='annotationasterisk'>*</span>" . $clang->gT("Base Language:") . "</label>\n" . "<select id='language' name='language'>\n"; foreach (getLanguageData() as $langkey2 => $langname) { $newsurvey .= "<option value='" . $langkey2 . "'"; if ($defaultlang == $langkey2) { $newsurvey .= " selected='selected'";
<?php echo PrepareEditorScript(false, $this); ?> <div class='header ui-widget-header'><?php $clang->eT("Edit Group"); ?> </div> <?php echo CHtml::form(array("admin/questiongroups/sa/update/gid/{$gid}"), 'post', array('id' => 'frmeditgroup', 'name' => 'frmeditgroup', 'class' => 'form30')); ?> <div id='tabs'> <ul> <?php foreach ($tabtitles as $i => $eachtitle) { ?> <li style='clear:none'><a href='#editgrp_<?php echo $i; ?> '><?php echo $eachtitle; ?> </a></li><?php } ?> </ul> <?php foreach ($tabtitles as $i => $eachtitle) { ?>
<?php echo PrepareEditorScript(true, $this); ?> <div class='header ui-widget-header'> <?php $clang->eT("Send email reminder"); ?></div><br /> <?php if ($thissurvey['active'] != 'Y') { ?> <div class='messagebox ui-corner-all'><div class='warningheader'><?php $clang->eT('Warning!'); ?></div><?php $clang->eT("This survey is not yet activated and so your participants won't be able to fill out the survey."); ?></div> <?php } ?> <div id='tabs'> <ul> <?php foreach ($surveylangs as $language) { //GET SURVEY DETAILS echo '<li><a href="#tabpage_' . $language . '">' . getLanguageNameFromCode($language, false); if ($language == $baselang) { echo "(" . $clang->gT("Base language") . ")"; } echo "</a></li>"; } ?> </ul> <?php echo CHtml::form(array("admin/tokens/sa/email/action/remind/surveyid/{$surveyid}"), 'post', array('id'=>'sendreminder', 'class'=>'form30')); ?> <?php foreach ($surveylangs as $language) { //GET SURVEY DETAILS if (!$thissurvey[$language]['email_remind'])
var langs='<?php echo implode(';',$anslangs); ?>'; var otherisreserved='<?php $clang->eT("Error: 'other' is a reserved keyword.",'js'); ?>'; var sImageURL ='<?php echo Yii::app()->getConfig('adminimageurl'); ?>'; var saveaslabletitle = '<?php $clang->eT('Save as label set','js'); ?>'; var lanameurl = '<?php echo Yii::app()->createUrl('/admin/labels/sa/getAllSets'); ?>'; var lasaveurl = '<?php echo Yii::app()->createUrl('/admin/labels/sa/ajaxSets'); ?>'; var sCheckLabelURL = '<?php echo Yii::app()->createUrl('/admin/questions/sa/ajaxchecklabel'); ?>'; var lsdetailurl = '<?php echo Yii::app()->createUrl('/admin/questions/sa/ajaxlabelsetdetails'); ?>'; var lspickurl = '<?php echo Yii::app()->createUrl('/admin/questions/sa/ajaxlabelsetpicker'); ?>'; var check = true; var lasuccess = '<?php $clang->eT('The records have been saved successfully!'); ?>'; var lafail = '<?php $clang->eT('Sorry, the request failed!'); ?>'; var ok = '<?php $clang->eT('Ok'); ?>'; var cancel = '<?php $clang->eT('Cancel'); ?>'; </script> <?php echo PrepareEditorScript(); ?> <div class='header ui-widget-header'> <?php $clang->eT("Edit subquestions"); ?> </div> <?php echo CHtml::form(array("admin/database"), 'post', array('id'=>'editsubquestionsform', 'name'=>'editsubquestionsform')); ?> <input type='hidden' name='sid' value='<?php echo $surveyid; ?>' /> <input type='hidden' name='gid' value='<?php echo $gid; ?>' /> <input type='hidden' name='qid' value='<?php echo $qid; ?>' /> <input type='hidden' id='action' name='action' value='updatesubquestions' /> <input type='hidden' id='sortorder' name='sortorder' value='' /> <input type='hidden' id='deletedqids' name='deletedqids' value='' /> <div id='tabs'> <ul> <?php foreach ($anslangs as $anslang) { ?>
$translateoutput .= "" . "\t\t<li><a href=\"#tab-" . $type . "\"><span>" . $amTypeOptions["description"] . "</span></a></li>\n"; } $translateoutput .= "" . "\t</ul>\n"; // Define content of each tab foreach ($tab_names as $type) { $amTypeOptions = setupTranslateFields($surveyid, $type, $tolang, $baselang); $type2 = $amTypeOptions["associated"]; if ($type2 != "") { $associated = TRUE; $amTypeOptions2 = setupTranslateFields($surveyid, $type2, $tolang, $baselang); } else { $associated = FALSE; } // Create tab names and heading $translateoutput .= "\t<div id='tab-" . $type . "'>\n"; $translateoutput .= PrepareEditorScript(); // Setup form // start a counter in order to number the input fields for each record $i = 0; $evenRow = FALSE; $all_fields_empty = TRUE; $querybase = $amTypeOptions["querybase"]; $resultbase = db_execute_assoc($querybase); if ($associated) { $querybase2 = $amTypeOptions2["querybase"]; $resultbase2 = db_execute_assoc($querybase2); } $queryto = $amTypeOptions["queryto"]; $resultto = db_execute_assoc($queryto); if ($associated) { $queryto2 = $amTypeOptions2["queryto"];
} else { $grplangs[$esrow['language']] = 99; } if ($esrow['language'] == $baselang) { $basesettings = array('group_name' => $esrow['group_name'], 'description' => $esrow['description'], 'group_order' => $esrow['group_order']); } } while (list($key, $value) = each($grplangs)) { if ($value != 99) { $egquery = "INSERT INTO " . db_table_name('groups') . " (gid, sid, group_name, description,group_order,language) VALUES ('{$gid}', '{$surveyid}', '{$basesettings['group_name']}', '{$basesettings['description']}','{$basesettings['group_order']}', '{$key}')"; $egresult = $connect->Execute($egquery); } } $egquery = "SELECT * FROM " . db_table_name('groups') . " WHERE sid={$surveyid} AND gid={$gid} AND language='{$baselang}'"; $egresult = db_execute_assoc($egquery); $editgroup = PrepareEditorScript(); $editgroup .= "<div class='header'>" . $clang->gT("Edit Group") . "</div>\n" . "<form name='frmeditgroup' id='frmeditgroup' action='{$scriptname}' class='form30' method='post'>\n" . '<div class="tab-pane" id="tab-pane-group-' . $gid . '">'; $esrow = $egresult->FetchRow(); $editgroup .= '<div class="tab-page"> <h2 class="tab">' . getLanguageNameFromCode($esrow['language'], false); $editgroup .= '(' . $clang->gT("Base Language") . ')'; $esrow = array_map('htmlspecialchars', $esrow); $editgroup .= '</h2><ul>'; $editgroup .= "\t<li><label for='group_name_{$esrow['language']}'>" . $clang->gT("Title") . ":</label>\n" . "<input type='text' maxlength='100' size='80' name='group_name_{$esrow['language']}' id='group_name_{$esrow['language']}' value=\"{$esrow['group_name']}\" />\n" . "\t</li>\n" . "\t<li><label for='description_{$esrow['language']}'>" . $clang->gT("Description:") . "</label>\n" . "<textarea cols='70' rows='8' id='description_{$esrow['language']}' name='description_{$esrow['language']}'>{$esrow['description']}</textarea>\n" . getEditor("group-desc", "description_" . $esrow['language'], "[" . $clang->gT("Description:", "js") . "](" . $esrow['language'] . ")", $surveyid, $gid, '', $action) . "\t</li></ul></div>"; $egquery = "SELECT * FROM " . db_table_name('groups') . " WHERE sid={$surveyid} AND gid={$gid} AND language!='{$baselang}'"; $egresult = db_execute_assoc($egquery); while ($esrow = $egresult->FetchRow()) { $editgroup .= '<div class="tab-page"> <h2 class="tab">' . getLanguageNameFromCode($esrow['language'], false); $esrow = array_map('htmlspecialchars', $esrow); $editgroup .= '</h2><ul>'; $editgroup .= "\t<li><label for='group_name_{$esrow['language']}'>" . $clang->gT("Title") . ":</label>\n" . "<input type='text' maxlength='100' size='80' name='group_name_{$esrow['language']}' id='group_name_{$esrow['language']}' value=\"{$esrow['group_name']}\" />\n" . "\t</li>\n" . "\t<li><label for='description_{$esrow['language']}'>" . $clang->gT("Description:") . "</label>\n" . "<textarea cols='70' rows='8' id='description_{$esrow['language']}' name='description_{$esrow['language']}'>{$esrow['description']}</textarea>\n" . getEditor("group-desc", "description_" . $esrow['language'], "[" . $clang->gT("Description:", "js") . "](" . $esrow['language'] . ")", $surveyid, $gid, '', $action) . "\t</li></ul></div>"; }
/** * Function to view a labelset. * * @access public * @param int $lid * @return void */ public function view($lid = 0) { if (!Permission::model()->hasGlobalPermission('labelsets', 'read')) { Yii::app()->session['flashmessage'] = gT('Access denied!'); $this->getController()->redirect(App()->createUrl("/admin")); } // Escapes the id variable if ($lid != false) { $lid = sanitize_int($lid); } Yii::app()->session['FileManagerContext'] = "edit:label:{$lid}"; // Gets the current language $action = 'labels'; $aViewUrls = array(); $aData = array(); // Includes some javascript files App()->getClientScript()->registerPackage('jquery-json'); // Checks if user have the sufficient rights to manage the labels // Get a result containing labelset with the specified id $result = LabelSet::model()->findByAttributes(array('lid' => $lid)); // If there is label id in the variable $lid and there are labelset records in the database $labelset_exists = !empty($result); if ($lid && $labelset_exists) { // Now recieve all labelset information and display it $aData['lid'] = $lid; $aData['row'] = $result->attributes; $rwlabelset = $result; // Make languages array from the current row $lslanguages = explode(" ", trim($result['languages'])); Yii::app()->loadHelper("admin/htmleditor"); $aViewUrls['output'] = PrepareEditorScript(false, $this->getController()); $criteria = new CDbCriteria(); $criteria->select = 'max(sortorder) as maxsortorder, sortorder'; $criteria->addCondition('lid = :lid'); $criteria->addCondition('language = :language'); $criteria->params = array(':lid' => $lid, ':language' => $lslanguages[0]); $criteria->group = 'sortorder'; $maxresult = Label::model()->find($criteria); $maxsortorder = 1; if (!empty($maxresult)) { $maxsortorder = $maxresult->maxsortorder + 1; } $i = 0; Yii::app()->loadHelper("surveytranslator"); $results = array(); foreach ($lslanguages as $lslanguage) { $result = Label::model()->findAllByAttributes(array('lid' => $lid, 'language' => $lslanguage), array('order' => 'sortorder, code')); $criteria = new CDbCriteria(); $criteria->order = 'sortorder, code'; $criteria->condition = 'lid = :lid AND language = :language'; $criteria->params = array(':lid' => $lid, ':language' => $lslanguage); $labelcount = Label::model()->count($criteria); $results[$i] = array(); foreach ($result as $row) { $results[$i][] = $row->attributes; } $i++; } $aViewUrls['labelview_view'][] = array('results' => $results, 'lslanguages' => $lslanguages, 'lid' => $lid, 'maxsortorder' => $maxsortorder, 'action' => $action); } else { //show listing $aViewUrls['labelsets_view'][] = array(); $aData['model'] = LabelSet::model(); } if ($lid == 0) { $aData['labelbar']['buttons']['view'] = true; } else { $aData['labelbar']['buttons']['delete'] = true; $aData['labelbar']['savebutton']['form'] = 'mainform'; $aData['labelbar']['savebutton']['text'] = gT("Save changes"); $aData['labelbar']['closebutton']['url'] = Yii::app()->request->getUrlReferrer(Yii::app()->createUrl('admin/labels/sa/view')); $aData['labelbar']['buttons']['edition'] = true; $aData['labelbar']['buttons']['edit'] = true; if (!Permission::model()->hasGlobalPermission('labelsets', 'update')) { unset($aData['labelbar']['buttons']['edition']); } } if (isset($_GET['pageSize'])) { Yii::app()->user->setState('pageSize', (int) $_GET['pageSize']); } $this->_renderWrappedTemplate('labels', $aViewUrls, $aData); }
/** * Load editing of local settings of a survey screen. * * @access public * @param int $iSurveyID * @return void */ public function editlocalsettings($iSurveyID) { $aData['surveyid'] = $iSurveyID = sanitize_int($iSurveyID); $aViewUrls = array(); if (Permission::model()->hasSurveyPermission($iSurveyID, 'surveylocale', 'read')) { $this->_registerScriptFiles(); if (Permission::model()->hasSurveyPermission($iSurveyID, 'surveylocale', 'update')) { Yii::app()->session['FileManagerContext'] = "edit:survey:{$iSurveyID}"; } $grplangs = Survey::model()->findByPk($iSurveyID)->additionalLanguages; $baselang = Survey::model()->findByPk($iSurveyID)->language; array_unshift($grplangs, $baselang); Yii::app()->loadHelper("admin/htmleditor"); $aData['scripts'] = PrepareEditorScript(false, $this->getController()); foreach ($grplangs as $i => $sLang) { // this one is created to get the right default texts fo each language Yii::app()->loadHelper('database'); Yii::app()->loadHelper('surveytranslator'); $esrow = SurveyLanguageSetting::model()->findByPk(array('surveyls_survey_id' => $iSurveyID, 'surveyls_language' => $sLang))->getAttributes(); $aTabTitles[$sLang] = getLanguageNameFromCode($esrow['surveyls_language'], false); if ($esrow['surveyls_language'] == Survey::model()->findByPk($iSurveyID)->language) { $aTabTitles[$sLang] .= '(' . gT("Base language") . ')'; } $aData['esrow'] = $esrow; $aData['action'] = "editsurveylocalesettings"; $aData['i'] = $i; $aTabContents[$sLang] = $this->getController()->renderPartial('/admin/survey/editLocalSettings_view', $aData, true); } unset($aData['i']); $aData['has_permissions'] = Permission::model()->hasSurveyPermission($iSurveyID, 'surveylocale', 'update'); $aData['surveyls_language'] = $esrow["surveyls_language"]; $aData['aTabContents'] = $aTabContents; $aData['aTabTitles'] = $aTabTitles; $esrow = array(); $esrow = self::_fetchSurveyInfo('editsurvey', $iSurveyID); $aData['esrow'] = $esrow; $aData = array_merge($aData, $this->_generalTabEditSurvey($iSurveyID, $esrow)); $aData = array_merge($aData, $this->_tabPresentationNavigation($esrow)); $aData = array_merge($aData, $this->_tabPublicationAccess($esrow)); $aData = array_merge($aData, $this->_tabNotificationDataManagement($esrow)); $aData = array_merge($aData, $this->_tabTokens($esrow)); $aData = array_merge($aData, $this->_tabPanelIntegration($esrow)); $aData = array_merge($aData, $this->_tabResourceManagement($iSurveyID)); $oResult = Question::model()->getQuestionsWithSubQuestions($iSurveyID, $esrow['language'], "({{questions}}.type = 'T' OR {{questions}}.type = 'Q' OR {{questions}}.type = 'T' OR {{questions}}.type = 'S')"); $aData['questions'] = $oResult; $aData['display']['menu_bars']['surveysummary'] = "editsurveysettings"; $tempData = $aData; $aData['settings_data'] = $tempData; $aData['sidemenu']['state'] = false; $surveyinfo = Survey::model()->findByPk($iSurveyID)->surveyinfo; $aData['title_bar']['title'] = $surveyinfo['surveyls_title'] . "(" . gT("ID") . ":" . $iSurveyID . ")"; $aData['surveybar']['savebutton']['form'] = 'globalsetting'; $aData['surveybar']['savebutton']['useformid'] = 'true'; $aData['surveybar']['saveandclosebutton']['form'] = true; $aData['surveybar']['closebutton']['url'] = 'admin/survey/sa/view/surveyid/' . $iSurveyID; $aViewUrls[] = 'editLocalSettings_main_view'; } else { $this->getController()->error('Access denied'); } $this->_renderWrappedTemplate('survey', $aViewUrls, $aData); }
function edit_body() { Yii::app()->loadHelper("admin/htmleditor"); $clang = Yii::app()->lang; if (!Permission::model()->hasGlobalPermission('emailTemp', 'update')) { Yii::app()->setFlashMessage($clang->gT("You do not have sufficient rights to access this page."), 'error'); $this->getController()->redirect(array("admin/index")); } $action = isset($_POST['action']) ? $_POST['action'] : ''; //Yii::app()->session['FileManagerContext'] = "edit:survey:21"; Yii::app()->loadHelper("admin/htmleditor"); //initKcfinder(); $aViewUrls['output'] = PrepareEditorScript(true, $this->getController()); if (isset($_POST['email_body_id']) && isset($_POST['email_language_code'])) { $email_body_id = (int) Yii::app()->request->getPost("email_body_id"); $email_language_code = flattenText($_POST['email_language_code'], false, true, 'UTF-8', true); if ($action == 'modbody') { $current_date = date('y-m-d h:i:s'); $body_language = flattenText($_POST['body_language'], false, true, 'UTF-8', true); $translated_content = $_POST['translated_content']; $body_content = $_POST['body_content']; $translated_content = str_replace("'", "'", $translated_content); $body_content = str_replace("'", "'", $body_content); $Isactive = flattenText($_POST['IsActive'], false, true, 'UTF-8', true); $Is_active = 0; if ($Isactive) { $Is_active = 1; } if ($translated_content == '' || $body_language == '') { $aViewUrls['message'] = array('title' => $clang->gT("Failed to edit Email Body"), 'message' => $clang->gT("A email body or translated body was not supplied or the email body or translated body is invalid."), 'class' => 'warningheader'); } else { $oRecord = Get_body::model()->findByPk($email_body_id); $oRecord->content_text = $body_content; $oRecord->updated_datetime = $current_date; $oRecord->IsActive = $Is_active; $EditEmailSubject = $oRecord->save(); if ($EditEmailSubject) { $sql = "SELECT count(*) as cnt FROM {{translation_email_body}}\n WHERE email_bodyid = '{$email_body_id}' AND language_code_dest = '{$body_language}'"; $result = Yii::app()->db->createCommand($sql)->queryRow(); if ($result['cnt'] > 0) { $sqlupdate = "UPDATE {{translation_email_body}} SET\n translated_body = '{$translated_content}'\n ,updated_datetime = '{$current_date}'\n WHERE email_bodyid = '{$email_body_id}' AND language_code_dest = '{$body_language}'"; $result = Yii::app()->db->createCommand($sqlupdate)->query(); } else { $sqlupdate = "INSERT INTO {{translation_email_body}}\n (email_bodyid,language_code_dest,translated_body,created_datetime) \n VALUES('{$email_body_id}', '{$body_language}', '{$translated_content}', '{$current_date}');"; $result = Yii::app()->db->createCommand($sqlupdate)->query(); } Yii::app()->setFlashMessage($clang->gT("Email Body updated successfully")); $this->getController()->redirect(array("admin/get/sa/list_body")); } else { $aViewUrls['mboxwithredirect'][] = $this->_messageBoxWithRedirect($clang->gT("Editing Email Body"), $clang->gT("Could not modify Email Body."), 'warningheader'); } } } else { $sresult = getEmailBody($email_language_code, $email_body_id); $aData['mur'] = $sresult; $aData['email_body_id'] = $email_body_id; $aData['email_language_code'] = $email_language_code; $this->_renderWrappedTemplate('get', 'view_editbody', $aData); return; } } Yii::app()->setFlashMessage(Yii::app()->lang->gT("You do not have sufficient rights to access this page."), 'error'); $this->getController()->redirect(array("admin/get/sa/list_body")); }
* * $Id: * */ include_once "login_check.php"; //Login Check dies also if the script is started directly $js_admin_includes[] = 'scripts/emailtemplates.js'; if (isset($surveyid) && getEmailFormat($surveyid) == 'html') { $ishtml = true; } else { $ishtml = false; } $grplangs = GetAdditionalLanguagesFromSurveyID($surveyid); $baselang = GetBaseLanguageFromSurveyID($surveyid); array_unshift($grplangs, $baselang); $sHTMLOutput = PrepareEditorScript(); // Inject necessary strings for Javascript functions $sHTMLOutput .= "<script type='text/javascript'>\n var sReplaceTextConfirmation='" . $clang->gT("This will replace the existing text. Continue?", "js") . "'\n </script>\n"; $sHTMLOutput .= "<div class='header ui-widget-header'>\n" . $clang->gT("Edit email templates") . "</div>\n" . "<form class='form30newtabs' id='emailtemplates' action='{$scriptname}' method='post'>\n" . "<div id='tabs'><ul>"; $surveyinfo = getSurveyInfo($surveyid); foreach ($grplangs as $grouplang) { $sHTMLOutput .= "<li><a href='#tab-{$grouplang}'>" . getLanguageNameFromCode($grouplang, false); if ($grouplang == GetBaseLanguageFromSurveyID($surveyid)) { $sHTMLOutput .= ' (' . $clang->gT("Base language") . ')'; } $sHTMLOutput .= "</a></li>"; } $sHTMLOutput .= "</ul>"; foreach ($grplangs as $grouplang) { // this one is created to get the right default texts fo each language $bplang = new limesurvey_lang($grouplang);
."\t</div>\n" ."\t</div>\n" ."\t</div>\n"; $labelsoutput .= "<p style='margin:0;font-size:1px;line-height:1px;height:1px;'> </p>"; //CSS Firefox 2 transition fix } //LABEL ANSWERS - SHOW THE MASK FOR EDITING THE LABELS $qulabelset = "SELECT * FROM ".db_table_name('labelsets')." WHERE lid=$lid"; $rslabelset = db_execute_assoc($qulabelset) or safe_die($connect->ErrorMsg()); $rwlabelset=$rslabelset->FetchRow(); $lslanguages=explode(" ", trim($rwlabelset['languages'])); $labelsoutput.= PrepareEditorScript(); $maxquery = "SELECT max(sortorder) as maxsortorder FROM ".db_table_name('labels')." WHERE lid=$lid and language='{$lslanguages[0]}'"; $maxresult = db_execute_assoc($maxquery) or safe_die($connect->ErrorMsg()); $msorow=$maxresult->FetchRow(); $maxsortorder=$msorow['maxsortorder']+1; // KP $labelsoutput.= "\t<div class='header ui-widget-header'>".$clang->gT("Labels")."\t</div>\n"; $labelsoutput.= "<form method='post' action='admin.php' onsubmit=\"return codeCheck('code_',$maxsortorder,'".$clang->gT("Error: You are trying to use duplicate label codes.",'js')."','".$clang->gT("Error: 'other' is a reserved keyword.",'js')."');\">\n" ."<input type='hidden' name='sortorder' value='{$row['sortorder']}' />\n" ."<input type='hidden' name='lid' value='$lid' />\n" ."<input type='hidden' name='action' value='modlabelsetanswers' />\n"; $first=true; $sortorderids=''; $codeids=''; $i = 0;
else { $tokenoutput .= "<div class='warningheader'>".$clang->gT("Warning")."</div>\n".$clang->gT("There were no eligible emails to send. This will be because none satisfied the criteria of:") ."<br/> <ul><li>".$clang->gT("having a valid email address")."</li>" ."<li>".$clang->gT("not having been sent an invitation already")."</li>" ."<li>".$clang->gT("having already completed the survey")."</li>" ."<li>".$clang->gT("having a token")."</li></ul>"; } } //$tokenoutput .= "</div>\n</div>\n"; $tokenoutput .= "</div>\n"; // TIBO only close on div, cause dialog-modal will cklose wrapper } if ($subaction == "remind" && bHasSurveyPermission($surveyid, 'tokens','update')) { $tokenoutput .= PrepareEditorScript(); $tokenoutput .= "\t<div class='header ui-widget-header'>" .$clang->gT("Send email reminder")."</div><br />\n"; if (!isset($_POST['ok']) || !$_POST['ok']) { if ($thissurvey['active']!='Y') { $tokenoutput .="<div class='messagebox ui-corner-all'><div class='warningheader'>".$clang->gT('Warning!')."</div>".$clang->gT("This survey is not yet activated and so your participants won't be able to fill out the survey.")."</div>"; } //GET SURVEY DETAILS $tokenoutput .= "<form method='post' class='form30' id='sendreminder' action='$scriptname?action=tokens'>"; $surveylangs = GetAdditionalLanguagesFromSurveyID($surveyid); $baselang = GetBaseLanguageFromSurveyID($surveyid); array_unshift($surveylangs,$baselang); $tokenoutput .= "<div class='tab-pane' id='tab-pane-send-$surveyid'>";
/** * Load editing of local settings of a survey screen. * * @access public * @param int $iSurveyID * @return void */ public function editlocalsettings($iSurveyID) { $clang = $this->getController()->lang; $aData['surveyid'] = $iSurveyID = sanitize_int($iSurveyID); $aViewUrls = array(); if (hasSurveyPermission($iSurveyID, 'surveylocale', 'read')) { if (hasSurveyPermission($iSurveyID, 'surveylocale', 'update')) { Yii::app()->session['FileManagerContext'] = "edit:survey:{$iSurveyID}"; } $editsurvey = ''; $grplangs = Survey::model()->findByPk($iSurveyID)->additionalLanguages; $baselang = Survey::model()->findByPk($iSurveyID)->language; array_unshift($grplangs, $baselang); Yii::app()->loadHelper("admin/htmleditor"); $aViewUrls['output'] = PrepareEditorScript(false, $this->getController()); $i = 0; foreach ($grplangs as $grouplang) { // this one is created to get the right default texts fo each language Yii::app()->loadHelper('database'); Yii::app()->loadHelper('surveytranslator'); $bplang = $this->getController()->lang; //new lang($grouplang); $esrow = Surveys_languagesettings::model()->findByPk(array('surveyls_survey_id' => $iSurveyID, 'surveyls_language' => $grouplang))->getAttributes(); $tab_title[$i] = getLanguageNameFromCode($esrow['surveyls_language'], false); if ($esrow['surveyls_language'] == Survey::model()->findByPk($iSurveyID)->language) { $tab_title[$i] .= '(' . $clang->gT("Base language") . ')'; } $esrow = array_map('htmlspecialchars', $esrow); $aData['esrow'] = $esrow; $aData['action'] = "editsurveylocalesettings"; $aData['clang'] = $clang; $tab_content[$i] = $this->getController()->render('/admin/survey/editLocalSettings_view', $aData, true); $i++; } $editsurvey .= CHtml::openTag('ul'); foreach ($tab_title as $i => $eachtitle) { $a_link = CHtml::link($eachtitle, "#edittxtele{$i}"); $editsurvey .= CHtml::tag('li', array('style' => 'clear:none;'), $a_link); } $editsurvey .= CHtml::closeTag('ul'); foreach ($tab_content as $i => $eachcontent) { $editsurvey .= CHtml::tag('div', array('id' => 'edittxtele' . $i), $eachcontent); } $editsurvey .= CHtml::closeTag('div'); $aData['has_permissions'] = hasSurveyPermission($iSurveyID, 'surveylocale', 'update'); $aData['surveyls_language'] = $esrow["surveyls_language"]; $aData['additional_content'] = $editsurvey; $aViewUrls[] = 'editLocalSettings_main_view'; } else { $this->getController()->error('Access denied'); } $this->_renderWrappedTemplate('survey', $aViewUrls, $aData); }
<?php Yii::app()->loadHelper('admin/htmleditor'); PrepareEditorScript(true, $this); ?> <script type="text/javascript"> function hideshow(value){ if(value == 1){ // show content textarea $("#redirecturl").css({"display":"none"}); $("#contenteditor").css({"display":"table"}); $("#redirectlink").removeAttr('required'); }else{ //show redirect textbox $("#redirecturl").css({"display":"table-row"}); $("#redirectlink").val(''); $("#redirectlink").attr('required', 'required'); $("#contenteditor").css({"display":"none"}); } } $(function() { var value = $("#contenttype").val(); if(value == 1){ // show content textarea $("#redirecturl").css({"display":"none"}); $("#contenteditor").css({"display":"table"}); $("#redirectlink").removeAttr('required'); }else{ //show redirect textbox $("#redirecturl").css({"display":"table-row"});
while ($qrow = $qresult->FetchRow()) { $qtype = $qrow['type']; } if (!isset($_POST['ansaction'])) { //check if any nulls exist. If they do, redo the sortorders $caquery = "SELECT * FROM " . db_table_name('questions') . " WHERE parent_qid={$qid} AND question_order is null AND language='" . $baselang . "'"; $caresult = $connect->Execute($caquery); //Checked $cacount = $caresult->RecordCount(); if ($cacount) { fixsortorderAnswers($qid); // !!Adjust this!! } } // Print Key Control JavaScript $vasummary .= PrepareEditorScript(); $query = "SELECT question_order FROM " . db_table_name('questions') . " WHERE parent_qid='{$qid}' AND language='" . GetBaseLanguageFromSurveyID($surveyid) . "' ORDER BY question_order desc"; $result = db_execute_assoc($query) or safe_die($connect->ErrorMsg()); //Checked $anscount = $result->RecordCount(); $row = $result->FetchRow(); $maxsortorder = $row['question_order'] + 1; $vasummary .= "<div class='header ui-widget-header'>\n" . $clang->gT("Edit subquestions") . "</div>\n" . "<form id='editsubquestionsform' name='editsubquestionsform' method='post' action='{$scriptname}'onsubmit=\"return codeCheck('code_',{$maxsortorder},'" . $clang->gT("Error: You are trying to use duplicate answer codes.", 'js') . "','" . $clang->gT("Error: 'other' is a reserved keyword.", 'js') . "');\">\n" . "<input type='hidden' name='sid' value='{$surveyid}' />\n" . "<input type='hidden' name='gid' value='{$gid}' />\n" . "<input type='hidden' name='qid' value='{$qid}' />\n" . "<input type='hidden' id='action' name='action' value='updatesubquestions' />\n" . "<input type='hidden' id='sortorder' name='sortorder' value='' />\n" . "<input type='hidden' id='deletedqids' name='deletedqids' value='' />\n"; $vasummary .= "<div class='tab-pane' id='tab-pane-assessments-{$surveyid}'>"; $first = true; $sortorderids = ''; $codeids = ''; $vasummary .= "<div id='xToolbar'></div>\n"; // 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 = getqtypelist('', 'array');
<div id='tab-<?php echo $type; ?> '> <?php Yii::app()->loadHelper('admin/htmleditor'); echo PrepareEditorScript(true, Yii::app()->getController()); ?> <div class='translate'> <?php if (App()->getConfig('googletranslateapikey')) { ?> <input type='button' class='auto-trans' value='<?php eT("Auto Translate"); ?> ' id='auto-trans-tab-<?php echo $type; ?> ' /> <img src='<?php echo Yii::app()->getConfig("adminimageurl"); ?> /ajax-loader.gif' style='display: none' class='ajax-loader' alt='<?php eT("Loading..."); ?> ' /> <?php } echo $translateTabs;
* LimeSurvey is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See COPYRIGHT.php for copyright notices and details. * * $Id: * */ include_once "login_check.php"; //Login Check dies also if the script is started directly if (bHasSurveyPermission($surveyid, 'surveylocale', 'read')) { $grplangs = GetAdditionalLanguagesFromSurveyID($surveyid); $baselang = GetBaseLanguageFromSurveyID($surveyid); array_unshift($grplangs, $baselang); $editsurvey = PrepareEditorScript(); $editsurvey .= "<div class='header ui-widget-header'>" . $clang->gT("Edit survey text elements") . "</div>\n"; $editsurvey .= "<form id='addnewsurvey' class='form30' name='addnewsurvey' action='{$scriptname}' method='post'>\n" . '<div id="tabs">'; $i = 0; foreach ($grplangs as $grouplang) { // this one is created to get the right default texts fo each language $bplang = new limesurvey_lang($grouplang); $esquery = "SELECT * FROM " . db_table_name("surveys_languagesettings") . " WHERE surveyls_survey_id={$surveyid} and surveyls_language='{$grouplang}'"; $esresult = db_execute_assoc($esquery); //Checked $esrow = $esresult->FetchRow(); $tab_title[$i] = getLanguageNameFromCode($esrow['surveyls_language'], false); if ($esrow['surveyls_language'] == GetBaseLanguageFromSurveyID($surveyid)) { $tab_title[$i] .= '(' . $clang->gT("Base language") . ')'; } $esrow = array_map('htmlspecialchars', $esrow);
/** * Function to view a labelset. * * @access public * @param int $lid * @return void */ public function view($lid = 0) { // Escapes the id variable if ($lid != false) { $lid = sanitize_int($lid); } Yii::app()->session['FileManagerContext'] = "edit:label:{$lid}"; // Gets the current language $action = 'labels'; $aViewUrls = array(); $aData = array(); // Includes some javascript files App()->getClientScript()->registerScriptFile(Yii::app()->getConfig('adminscripts') . 'labels.js'); App()->getClientScript()->registerPackage('jquery-json'); // Checks if user have the sufficient rights to manage the labels if (Permission::model()->hasGlobalPermission('labelsets', 'read')) { // Get a result containing labelset with the specified id $result = LabelSet::model()->findByAttributes(array('lid' => $lid)); // If there is label id in the variable $lid and there are labelset records in the database $labelset_exists = !empty($result); if ($lid && $labelset_exists) { // Now recieve all labelset information and display it $aData['lid'] = $lid; $aData['row'] = $result->attributes; // Display a specific labelbar menu $aViewUrls['labelbar_view'][] = $aData; $rwlabelset = $result; // Make languages array from the current row $lslanguages = explode(" ", trim($result['languages'])); Yii::app()->loadHelper("admin/htmleditor"); $aViewUrls['output'] = PrepareEditorScript(false, $this->getController()); $criteria = new CDbCriteria(); $criteria->select = 'max(sortorder) as maxsortorder, sortorder'; $criteria->addCondition('lid = :lid'); $criteria->addCondition('language = :language'); $criteria->params = array(':lid' => $lid, ':language' => $lslanguages[0]); $criteria->group = 'sortorder'; $maxresult = Label::model()->find($criteria); $maxsortorder = 1; if (!empty($maxresult)) { $maxsortorder = $maxresult->maxsortorder + 1; } $i = 0; Yii::app()->loadHelper("surveytranslator"); $results = array(); foreach ($lslanguages as $lslanguage) { $result = Label::model()->findAllByAttributes(array('lid' => $lid, 'language' => $lslanguage), array('order' => 'sortorder, code')); $criteria = new CDbCriteria(); $criteria->order = 'sortorder, code'; $criteria->condition = 'lid = :lid AND language = :language'; $criteria->params = array(':lid' => $lid, ':language' => $lslanguage); $labelcount = Label::model()->count($criteria); $results[$i] = array(); foreach ($result as $row) { $results[$i][] = $row->attributes; } $i++; } $aViewUrls['labelview_view'][] = array('results' => $results, 'lslanguages' => $lslanguages, 'lid' => $lid, 'maxsortorder' => $maxsortorder, 'action' => $action); } } $this->_renderWrappedTemplate('labels', $aViewUrls, $aData); }
safe_die('Invalid question id'); } while (list($key, $value) = each($questlangs)) { if ($value != 99) { db_switchIDInsert('questions', true); $egquery = "INSERT INTO " . db_table_name('questions') . " (qid, sid, gid, type, title, question, preg, help, other, mandatory, question_order, language)" . " VALUES ('{$qid}','{$surveyid}', '{$gid}', '{$basesettings['type']}', '{$basesettings['title']}'," . " '{$basesettings['question']}', '{$basesettings['preg']}', '{$basesettings['help']}', '{$basesettings['other']}', '{$basesettings['mandatory']}', '{$basesettings['question_order']}','{$key}')"; $egresult = $connect->Execute($egquery); db_switchIDInsert('questions', false); } } $eqquery = "SELECT * FROM {$dbprefix}questions WHERE sid={$surveyid} AND gid={$gid} AND qid={$qid} AND language='{$baselang}'"; $eqresult = db_execute_assoc($eqquery); } $js_admin_includes[] = '../scripts/jquery/jquery.dd.js'; $css_admin_includes[] = '../scripts/jquery/dd.css'; $editquestion = PrepareEditorScript(); $qtypelist = getqtypelist('', 'array'); $qDescToCode = 'qDescToCode = {'; $qCodeToInfo = 'qCodeToInfo = {'; foreach ($qtypelist as $qtype => $qdesc) { $qDescToCode .= " '{$qdesc['description']}' : '{$qtype}', \n"; $qCodeToInfo .= " '{$qtype}' : '" . json_encode($qdesc) . "', \n"; } $qTypeOutput = "{$qDescToCode} 'null':'null' }; \n {$qCodeToInfo} 'null':'null' };"; $editquestion .= "<script type='text/javascript'>\n{$qTypeOutput}\n</script>\n<div class='header ui-widget-header'>"; if (!$adding) { $editquestion .= $clang->gT("Edit question"); } else { $editquestion .= $clang->gT("Add a new question"); } $editquestion .= "</div>\n";
/** * Load editing of local settings of a survey screen. * * @access public * @param int $iSurveyID * @return void */ public function editlocalsettings($iSurveyID) { $aData['surveyid'] = $iSurveyID = sanitize_int($iSurveyID); $aViewUrls = array(); if (Permission::model()->hasSurveyPermission($iSurveyID, 'surveylocale', 'read')) { if (Permission::model()->hasSurveyPermission($iSurveyID, 'surveylocale', 'update')) { Yii::app()->session['FileManagerContext'] = "edit:survey:{$iSurveyID}"; } $grplangs = Survey::model()->findByPk($iSurveyID)->additionalLanguages; $baselang = Survey::model()->findByPk($iSurveyID)->language; array_unshift($grplangs, $baselang); Yii::app()->loadHelper("admin/htmleditor"); $aViewUrls['output'] = PrepareEditorScript(false, $this->getController()); foreach ($grplangs as $sLang) { // this one is created to get the right default texts fo each language Yii::app()->loadHelper('database'); Yii::app()->loadHelper('surveytranslator'); $esrow = SurveyLanguageSetting::model()->findByPk(array('surveyls_survey_id' => $iSurveyID, 'surveyls_language' => $sLang))->getAttributes(); $aTabTitles[$sLang] = getLanguageNameFromCode($esrow['surveyls_language'], false); if ($esrow['surveyls_language'] == Survey::model()->findByPk($iSurveyID)->language) { $aTabTitles[$sLang] .= '(' . gT("Base language") . ')'; } $esrow = array_map('htmlspecialchars', $esrow); $aData['esrow'] = $esrow; $aData['action'] = "editsurveylocalesettings"; $aTabContents[$sLang] = $this->getController()->renderPartial('/admin/survey/editLocalSettings_view', $aData, true); } $aData['has_permissions'] = Permission::model()->hasSurveyPermission($iSurveyID, 'surveylocale', 'update'); $aData['surveyls_language'] = $esrow["surveyls_language"]; $aData['aTabContents'] = $aTabContents; $aData['aTabTitles'] = $aTabTitles; $aViewUrls[] = 'editLocalSettings_main_view'; } else { $this->getController()->error('Access denied'); } $this->_renderWrappedTemplate('survey', $aViewUrls, $aData); }
//SET SELECTED if (isset($lid) && $action != "editlabelset" && $lid) { //NOW GET THE ANSWERS AND DISPLAY THEM $query = "SELECT * FROM " . db_table_name('labelsets') . " WHERE lid={$lid}"; $result = db_execute_assoc($query); while ($row = $result->FetchRow()) { $labelsoutput .= "<div class='menubar'>\n" . "<div class='menubar-title'>\n" . "\t<strong>" . $clang->gT("Label Set") . ":</strong> {$row['label_name']}\n" . "</div>\n" . "<div class='menubar-main'>\n" . "\t<div class='menubar-left'>\n" . "\t<img src='{$imagefiles}/blank.gif' width='40' height='20' border='0' hspace='0' align='left' alt='' />\n" . "\t<img src='{$imagefiles}/seperator.gif' border='0' hspace='0' align='left' alt='' />\n" . "\t<a href='admin.php?action=editlabelset&lid={$lid}' title=\"" . $clang->gTview("Edit label set") . "\" >" . "<img name='EditLabelsetButton' src='{$imagefiles}/edit.png' alt='" . $clang->gT("Edit label set") . "' align='left' /></a>" . "\t<a href='#' title='" . $clang->gTview("Delete label set") . "' onclick=\"if (confirm('" . $clang->gT("Do you really want to delete this label set?", "js") . "')) {" . get2post("admin.php?action=deletelabelset&lid={$lid}") . "}\" >" . "<img src='{$imagefiles}/delete.png' border='0' alt='" . $clang->gT("Delete label set") . "' align='left' /></a>\n" . "\t<img src='{$imagefiles}/seperator.gif' border='0' hspace='0' align='left' alt='' />\n" . "\t<a href='admin.php?action=dumplabel&lid={$lid}' title=\"" . $clang->gTview("Export this label set") . "\" >" . "<img src='{$imagefiles}/dumplabel.png' alt='" . $clang->gT("Export this label set") . "' align='left' /></a>" . "\t</div>\n" . "\t<div class='menubar-right'>\n" . "\t<input type='image' src='{$imagefiles}/close.gif' title='" . $clang->gT("Close Window") . "'" . "onclick=\"window.open('admin.php?action=labels', '_top')\" />\n" . "\t</div>\n" . "\t</div>\n" . "\t</div>\n"; $labelsoutput .= "<p style='margin:0;font-size:1px;line-height:1px;height:1px;'> </p>"; //CSS Firefox 2 transition fix } //LABEL ANSWERS - SHOW THE MASK FOR EDITING THE LABELS $qulabelset = "SELECT * FROM " . db_table_name('labelsets') . " WHERE lid={$lid}"; $rslabelset = db_execute_assoc($qulabelset) or safe_die($connect->ErrorMsg()); $rwlabelset = $rslabelset->FetchRow(); $lslanguages = explode(" ", trim($rwlabelset['languages'])); $labelsoutput .= PrepareEditorScript("editlabel"); $maxquery = "SELECT max(sortorder) as maxsortorder FROM " . db_table_name('labels') . " WHERE lid={$lid} and language='{$lslanguages[0]}'"; $maxresult = db_execute_assoc($maxquery) or safe_die($connect->ErrorMsg()); $msorow = $maxresult->FetchRow(); $maxsortorder = $msorow['maxsortorder'] + 1; $labelsoutput .= "\t<div class='header'>" . $clang->gT("Labels") . "\t</div>\n"; $labelsoutput .= "<div class='tab-pane' id='tab-pane-labels-{$lid}'>" . "<form method='post' action='admin.php' onsubmit=\"return codeCheck('code_',{$maxsortorder},'" . $clang->gT("Error: You are trying to use duplicate label codes.", 'js') . "','" . $clang->gT("Error: 'other' is a reserved keyword.", 'js') . "');\">\n" . "<input type='hidden' name='sortorder' value='{$row['sortorder']}' />\n" . "<input type='hidden' name='lid' value='{$lid}' />\n" . "<input type='hidden' name='action' value='modlabelsetanswers' />\n"; $first = true; $sortorderids = ''; $codeids = ''; foreach ($lslanguages as $lslanguage) { $position = 0; $query = "SELECT * FROM " . db_table_name('labels') . " WHERE lid={$lid} and language='{$lslanguage}' ORDER BY sortorder, code"; $result = db_execute_assoc($query) or safe_die($connect->ErrorMsg()); $labelcount = $result->RecordCount(); $labelsoutput .= "<div class='tab-page'>" . "<h2 class='tab'>" . getLanguageNameFromCode($lslanguage, false) . "</h2>" . "\t<table class='answertable' align='center'>\n" . "<thead align='center'>" . "<tr>\n" . "\t<th align='right' class='settingcaption'>\n" . $clang->gT("Code") . "\t</th>\n";