Example #1
0
 function handleGroupAction($selected, $action, &$groupcookievalue)
 {
     $surveys = array();
     $displaySysAdmin = new DisplaySysAdmin();
     switch ($action) {
         case 'edit':
             $settings = $this->getBatchEditorGroupProperties();
             $tosave = array();
             $tocompile = array();
             $changed = array();
             foreach ($settings as $set) {
                 if (loadvar($set . "_checkbox") == 1) {
                     $val = loadvarAllowHTML($set);
                     if ($val != "") {
                         foreach ($selected as $sel) {
                             $s = explode("~", $sel);
                             if (isset($surveys[$s[0]])) {
                                 $survey = $surveys[$s[0]];
                             } else {
                                 $survey = new Survey($s[0]);
                                 $surveys[$s[0]] = $survey;
                                 $tocompile[] = $s[0];
                             }
                             if (isset($tosave[$sel])) {
                                 $group = $tosave[$sel];
                             } else {
                                 $group = $survey->getGroup($s[1]);
                                 $tosave[$sel] = $group;
                             }
                             if (isset($changed[$s[0]])) {
                                 $arr = $changed[$s[0]];
                                 if (isset($arr[$sel]) == false) {
                                     $arr[$sel] = $group;
                                     $changed[$s[0]] = $arr;
                                 }
                             } else {
                                 $arr = array();
                                 $arr[$sel] = $group;
                                 $changed[$s[0]] = $arr;
                             }
                             $group->setSettingValue($set, $val);
                             if ($set == SETTING_GROUP_TEMPLATE && $val == TABLE_TEMPLATE_CUSTOM) {
                                 $group->setSettingValue(SETTING_GROUP_CUSTOM_TEMPLATE, loadvarAllowHTML(SETTING_GROUP_CUSTOM_TEMPLATE));
                             }
                         }
                     }
                 }
             }
             /* save */
             foreach ($tosave as $to) {
                 $to->save();
             }
             /* compile */
             foreach ($tocompile as $comp) {
                 if (isset($surveys[$comp])) {
                     $survey = $surveys[$comp];
                 } else {
                     $survey = new Survey($comp);
                     $surveys[$comp] = $survey;
                 }
                 $compiler = new Compiler($comp, getSurveyVersion($surveys[$comp]));
                 $mess = $compiler->generateGroups($changed[$comp]);
                 $mess = $compiler->generateGetFillsGroups($changed[$comp]);
                 $mess = $compiler->generateInlineFieldsGroups($changed[$comp]);
             }
             if ($changed) {
                 $content = $displaySysAdmin->displaySuccess(Language::messageToolsBatchEditorEdited(Language::labelGroupsLower()));
             } else {
                 $content = $displaySysAdmin->displayWarning(Language::messageToolsBatchEditorNotEdited());
             }
             break;
             break;
         case 'copy':
             // determine survey
             $suid = loadvar('suid');
             foreach ($selected as $sel) {
                 $s = explode("~", $sel);
                 if (isset($surveys[$s[0]])) {
                     $survey = $surveys[$s[0]];
                 } else {
                     $survey = new Survey($s[0]);
                     $surveys[$s[0]] = $survey;
                 }
                 $group = $survey->getGroup($s[1]);
                 $oldgroup = $group;
                 $group->copy($suid);
                 $newgroups[] = $group;
             }
             /* compile new */
             $compiler = new Compiler($suid, getSurveyVersion($survey));
             $mess = $compiler->generateGroups($newgroups);
             $mess = $compiler->generateGetFillsGroups($newgroups);
             $mess = $compiler->generateInlineFieldsGroups($newgroups);
             $content = $displaySysAdmin->displaySuccess(Language::messageToolsBatchEditorCopied(Language::labelGroupsLower()));
             break;
         case 'move':
             $tocompile = array();
             $moved = array();
             $newgroups = array();
             // determine survey
             $suid = loadvar('suid');
             $cookiearr = explode("-", $groupcookievalue);
             foreach ($selected as $sel) {
                 $s = explode("~", $sel);
                 if (isset($surveys[$s[0]])) {
                     $survey = $surveys[$s[0]];
                 } else {
                     $survey = new Survey($s[0]);
                     $surveys[$s[0]] = $survey;
                     $tocompile[] = $s[0];
                 }
                 $group = $survey->getGroup($s[1]);
                 $oldgroup = $group;
                 $group->move($suid);
                 if (isset($moved[$s[0]])) {
                     $arr = $moved[$s[0]];
                 } else {
                     $arr = array();
                 }
                 $arr[] = $oldgroup;
                 $moved[$s[0]] = $arr;
                 $newgroups[] = $group;
                 /* update cookie */
                 $ind = array_search($sel, $cookiearr);
                 $cookiearr[$ind] = $group->getSuid() . '~' . $group->getGid();
             }
             /* update cookie */
             setcookie('uscicgroupcookie', implode("-", $cookiearr));
             //implode("-", $arr));
             $groupcookievalue = implode("-", $cookiearr);
             /* compile old */
             foreach ($tocompile as $comp) {
                 if (isset($surveys[$comp])) {
                     $survey = $surveys[$comp];
                 } else {
                     $survey = new Survey($comp);
                     $surveys[$comp] = $survey;
                 }
                 /* we moved across survey for one or more groups in this survey */
                 if ($suid != $comp) {
                     $compiler = new Compiler($comp, getSurveyVersion($surveys[$comp]));
                     $mess = $compiler->generateGroups($moved[$comp], true);
                 }
             }
             /* compile new */
             $compiler = new Compiler($suid, getSurveyVersion($survey));
             $mess = $compiler->generateGroups($newgroups);
             $mess = $compiler->generateGetFillsGroups($newgroups);
             $mess = $compiler->generateInlineFieldsGroups($newgroups);
             $content = $displaySysAdmin->displaySuccess(Language::messageToolsBatchEditorMoved(Language::labelGroupsLower()));
             break;
         case 'remove':
             $removed = array();
             $cookiearr = explode("-", $groupcookievalue);
             foreach ($selected as $sel) {
                 $s = explode("~", $sel);
                 if (isset($surveys[$s[0]])) {
                     $survey = $surveys[$s[0]];
                 } else {
                     $survey = new Survey($s[0]);
                     $surveys[$s[0]] = $survey;
                 }
                 $group = $survey->getGroup($s[1]);
                 $group->remove();
                 $removed[] = $group;
                 /* update cookie */
                 $ind = array_search($sel, $cookiearr);
                 unset($cookiearr[$ind]);
             }
             /* update cookie */
             setcookie('uscicgroupcookie', implode("-", $cookiearr));
             //implode("-", $arr));
             $groupcookievalue = implode("-", $cookiearr);
             /* compile */
             foreach ($surveys as $survey) {
                 $compiler = new Compiler($survey->getSuid(), getSurveyVersion($survey));
                 $mess = $compiler->generateGroups($removed, true);
             }
             $content = $displaySysAdmin->displaySuccess(Language::messageToolsBatchEditorRemoved(Language::labelGroupsLower()));
             break;
         default:
             $content = $displaySysAdmin->displayWarning(Language::messageToolsBatchEditorUnrecognizedAction());
             break;
     }
     return $content;
 }
Example #2
0
 function showTranslateGroupAssistanceRes()
 {
     $displayTranslator = new DisplayTranslator();
     $survey = new Survey($_SESSION['SUID']);
     $gid = getFromSessionParams('gid');
     $group = $survey->getGroup($gid);
     $_SESSION['GID'] = $gid;
     $group->setEmptyMessage(loadvarAllowHTML(SETTING_EMPTY_MESSAGE));
     $group->setErrorMessageExactRequired(loadvarAllowHTML(SETTING_ERROR_MESSAGE_EXACT_REQUIRED));
     $group->setErrorMessageMinimumRequired(loadvarAllowHTML(SETTING_ERROR_MESSAGE_MINIMUM_REQUIRED));
     $group->setErrorMessageMaximumRequired(loadvarAllowHTML(SETTING_ERROR_MESSAGE_MAXIMUM_REQUIRED));
     $group->setErrorMessageExclusive(loadvarAllowHTML(SETTING_ERROR_MESSAGE_EXCLUSIVE));
     $group->setErrorMessageInclusive(loadvarAllowHTML(SETTING_ERROR_MESSAGE_INCLUSIVE));
     $group->SetErrorMessageUniqueRequired(loadvarAllowHTML(SETTING_ERROR_MESSAGE_UNIQUE_REQUIRED));
     $content = $displayTranslator->displaySuccess(Language::messageGroupChanged($group->getName()));
     $group->save();
     /* compile */
     $compiler = new Compiler($_SESSION['SUID'], getSurveyVersion($survey));
     $mess = $compiler->generateGroups(array($group));
     $mess = $compiler->generateGetFillsGroups(array($group));
     /* update last page */
     $_SESSION['LASTPAGE'] = substr($_SESSION['LASTPAGE'], 0, strripos($_SESSION['LASTPAGE'], "res"));
     /* return result */
     return $displayTranslator->showTranslateGroup($_SESSION['GID'], $content);
 }