예제 #1
0
 /**
  * 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);
 }
예제 #2
0
 /**
  * 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);
 }
예제 #3
0
 /**
  * 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);
 }
예제 #4
0
';
    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 
예제 #5
0
     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&amp;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;'>&nbsp;</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>";
예제 #6
0
        }
        $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'";
예제 #7
0
<?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) {
    ?>
예제 #8
0
<?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)
                { ?>
예제 #10
0
     $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"];
예제 #11
0
     } 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>";
 }
예제 #12
0
 /**
  * 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);
 }
예제 #13
0
 /**
  * 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);
 }
예제 #14
0
 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("'", "&#39", $translated_content);
             $body_content = str_replace("'", "&#39", $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"));
 }
예제 #15
0
*
* $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);
예제 #16
0
					."\t</div>\n"
					."\t</div>\n"
					."\t</div>\n";
					$labelsoutput .= "<p style='margin:0;font-size:1px;line-height:1px;height:1px;'>&nbsp;</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;
예제 #17
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/>&nbsp;<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);
 }
예제 #19
0
<?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"});
예제 #20
0
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');
예제 #21
0
<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;
예제 #22
0
* 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);
예제 #23
0
 /**
  * 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";
예제 #25
0
 /**
  * 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);
 }
예제 #26
0
 //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&amp;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&amp;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&amp;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;'>&nbsp;</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";