コード例 #1
0
ファイル: sysadmin.php プロジェクト: nubissurveying/nubis
 function showRefactorGroupRes()
 {
     /* update last page */
     $_SESSION['LASTPAGE'] = substr($_SESSION['LASTPAGE'], 0, strripos($_SESSION['LASTPAGE'], "res"));
     $displaySysAdmin = new DisplaySysAdmin();
     $survey = new Survey($_SESSION['SUID']);
     $gid = getFromSessionParams('gid');
     if ($gid != '') {
         //refactor
         $_SESSION['GID'] = $gid;
         $group = $survey->getGroup($gid);
         $old = $group->getName();
         if ($old != loadvar(SETTING_NAME)) {
             $group->setName(loadvar(SETTING_NAME));
             $group->save();
             $new = $group->getName();
             $compiler = new Compiler($_SESSION['SUID'], getSurveyVersion($survey));
             $messages[] = $compiler->generateGroups(array($group));
             $generate = array();
             $sections = $survey->getSections();
             foreach ($sections as $sect) {
                 $routing = $sect->getRouting();
                 $excluded = array();
                 $newrouting = excludeText($routing, $excluded);
                 $newrouting = preg_replace("/\\b" . $old . "\\b/i", $new, $newrouting);
                 $newrouting = includeText($newrouting, $excluded);
                 if ($newrouting != $routing) {
                     $sect->storeRouting($newrouting);
                     $sect->save();
                     $generate[] = $sect;
                 }
             }
             $compiler = new Compiler($_SESSION['SUID'], getSurveyVersion($survey));
             $messages[] = $compiler->generateSections($generate);
             foreach ($generate as $gen) {
                 $messages[] = $compiler->generateEngine($gen->getSeid());
             }
             return $displaySysAdmin->showEditGroup($_SESSION['GID'], $displaySysAdmin->displaySuccess(Language::messageGroupRenamed($old, $new)));
         } else {
             return $displaySysAdmin->showRefactorGroup($_SESSION['GID'], $displaySysAdmin->displayWarning(Language::messageGroupNotRenamed()));
         }
     } else {
         return $displaySysAdmin->showSection($content);
     }
 }