コード例 #1
0
ファイル: sysadmin.php プロジェクト: nubissurveying/nubis
 function showRefactorSectionRes()
 {
     /* update last page */
     $_SESSION['LASTPAGE'] = substr($_SESSION['LASTPAGE'], 0, strripos($_SESSION['LASTPAGE'], "res"));
     $displaySysAdmin = new DisplaySysAdmin();
     $survey = new Survey($_SESSION['SUID']);
     $seid = getFromSessionParams('seid');
     if ($seid != '') {
         //refactor
         $_SESSION['SEID'] = $seid;
         $section = $survey->getSection($seid);
         $old = $section->getName();
         if ($old != loadvar(SETTING_NAME)) {
             $section->setName(loadvar(SETTING_NAME));
             $new = $section->getName();
             $section->save();
             $generate = array();
             $generate[] = $section;
             $sections = $survey->getSections();
             foreach ($sections as $sect) {
                 if ($sect->getSeid() != $seid) {
                     $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->showEditSection($_SESSION['SEID'], $displaySysAdmin->displaySuccess(Language::messageSectionRenamed($old, $section->getName())));
         } else {
             return $displaySysAdmin->showRefactorSection($_SESSION['SEID'], $displaySysAdmin->displayWarning(Language::messageSectionNotRenamed()));
         }
     } else {
         return $displaySysAdmin->showSurvey($content);
     }
 }