".$clang->gT("Add question group")."\n"; $newgroupoutput .= "
\n"; // $newgroupoutput .="\n\t
\n" $newgroupoutput .="\n"; $newgroupoutput .= "
gT("Error: You have to enter a group title for each language.",'js')."'); return false;}\" >"; foreach ($grplangs as $grouplang) { $newgroupoutput .= '
'; $newgroupoutput .= "
    " . "
  • " . "\n" . " ".$clang->gT("Required")."
  • \n" . "\t
  • \n" . "" . getEditor("group-desc","description_".$grouplang, "[".$clang->gT("Description:", "js")."](".$grouplang.")",$surveyid,'','',$action) . "
  • \n" // Group-Level Relevance . "
  • " . "" . "
  • " . "
" . "\t

\n" . "

\n"; } $newgroupoutput.= "\n" . "\n" . "
\n"; // Import TAB if (bHasSurveyPermission($surveyid,'surveycontent','import')) { $newgroupoutput .= '
'."\n" . "
\n" . "
    \n" . "
  • \n" . "\n" . "
  • \n" . "
  • \n" . "
\n" . "\t

\n" . "\t\n" . "\t\n" . "\t

\n"; // End Import TABS $newgroupoutput.= "
"; } // End of TABS $newgroupoutput.= ""; } if ($action == "editgroup") { $grplangs = GetAdditionalLanguagesFromSurveyID($surveyid); $baselang = GetBaseLanguageFromSurveyID($surveyid); $grplangs[] = $baselang; $grplangs = array_flip($grplangs); $egquery = "SELECT * FROM ".db_table_name('groups')." WHERE sid=$surveyid AND gid=$gid"; $egresult = db_execute_assoc($egquery); while ($esrow = $egresult->FetchRow()) { if(!array_key_exists($esrow['language'], $grplangs)) // Language Exists, BUT ITS NOT ON THE SURVEY ANYMORE. { $egquery = "DELETE FROM ".db_table_name('groups')." WHERE sid='{$surveyid}' AND gid='{$gid}' AND language='".$esrow['language']."'"; $egresultD = $connect->Execute($egquery); } else { $grplangs[$esrow['language']] = 99; } if ($esrow['language'] == $baselang) $basesettings = array('group_name' => $esrow['group_name'],'description' => $esrow['description'],'group_order' => $esrow['group_order'], 'grelevance' => $esrow['grelevance']); } while (list($key,$value) = each($grplangs)) { if ($value != 99) { $egquery = "INSERT INTO ".db_table_name('groups')." (gid, sid, group_name, description,group_order, grelevance, language) VALUES ('{$gid}', '{$surveyid}', '{$basesettings['group_name']}', '{$basesettings['description']}','{$basesettings['group_order']}', '{$basesettings['grelevance']}', '{$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(); $esrow = $egresult->FetchRow(); $tab_title[0] = getLanguageNameFromCode($esrow['language'],false). '('.$clang->gT("Base language").')'; $esrow = array_map('htmlspecialchars', $esrow); $tab_content[0] = "
\n" . "\n" . "\t
\n" . "
\n" . "\n" . getEditor("group-desc","description_".$esrow['language'], "[".$clang->gT("Description:", "js")."](".$esrow['language'].")",$surveyid,$gid,'',$action) . "
" . "
\n" . "" . "
" . "\n
"; $egquery = "SELECT * FROM ".db_table_name('groups')." WHERE sid=$surveyid AND gid=$gid AND language!='$baselang'"; $egresult = db_execute_assoc($egquery); $i = 1; while ($esrow = $egresult->FetchRow()) { $tab_title[$i] = getLanguageNameFromCode($esrow['language'],false); $esrow = array_map('htmlspecialchars', $esrow); $tab_content[$i] = "
\n" . "\n" . "\t
\n" . "
\n" . "\n" . getEditor("group-desc","description_".$esrow['language'], "[".$clang->gT("Description:", "js")."](".$esrow['language'].")",$surveyid,$gid,'',$action) . "\t
"; $i++; } $editgroup .= "
".$clang->gT("Edit Group")."
\n" . "
\n
    \n"; foreach ($tab_title as $i=>$eachtitle){ $editgroup .= "\t
  • $eachtitle
  • \n"; } $editgroup.="
\n"; foreach ($tab_content as $i=>$eachcontent){ $editgroup .= "\n
$eachcontent
"; } $editgroup .= "
\n\t

\n" . "\t\n" . "\t\n" . "\t\n" . "\t\n" . "\t

\n" . "
\n"; } if ($action == "ordergroups") { if(bHasSurveyPermission($surveyid,'surveycontent','update')) { // Check if one of the up/down buttons have been clicked if (isset($_POST['groupordermethod']) && isset($_POST['sortorder'])) { $postsortorder=sanitize_int($_POST['sortorder']); switch($_POST['groupordermethod']) { // Pressing the Up button case 'up': $newsortorder=$postsortorder-1; $oldsortorder=$postsortorder; $cdquery = "UPDATE ".db_table_name('groups')." SET group_order=-1 WHERE sid=$surveyid AND group_order=$newsortorder"; $cdresult=$connect->Execute($cdquery) or safe_die($connect->ErrorMsg()); //Checked $cdquery = "UPDATE ".db_table_name('groups')." SET group_order=$newsortorder WHERE sid=$surveyid AND group_order=$oldsortorder"; $cdresult=$connect->Execute($cdquery) or safe_die($connect->ErrorMsg()); //Checked $cdquery = "UPDATE ".db_table_name('groups')." SET group_order='$oldsortorder' WHERE sid=$surveyid AND group_order=-1"; $cdresult=$connect->Execute($cdquery) or safe_die($connect->ErrorMsg()); //Checked break; // Pressing the Down button case 'down': $newsortorder=$postsortorder+1; $oldsortorder=$postsortorder; $cdquery = "UPDATE ".db_table_name('groups')." SET group_order=-1 WHERE sid=$surveyid AND group_order=$newsortorder"; $cdresult=$connect->Execute($cdquery) or safe_die($connect->ErrorMsg());//Checked $cdquery = "UPDATE ".db_table_name('groups')." SET group_order='$newsortorder' WHERE sid=$surveyid AND group_order=$oldsortorder"; $cdresult=$connect->Execute($cdquery) or safe_die($connect->ErrorMsg());//Checked $cdquery = "UPDATE ".db_table_name('groups')." SET group_order=$oldsortorder WHERE sid=$surveyid AND group_order=-1"; $cdresult=$connect->Execute($cdquery) or safe_die($connect->ErrorMsg());//Checked break; } LimeExpressionManager::SetDirtyFlag(); // so refreshes syntax highlighting } // Move the question to specific position if ((!empty($_POST['groupmovefrom']) || (isset($_POST['groupmovefrom']) && $_POST['groupmovefrom'] == '0')) && (!empty($_POST['groupmoveto']) || (isset($_POST['groupmoveto']) && $_POST['groupmoveto'] == '0'))) { $newpos=(int)$_POST['groupmoveto']; $oldpos=(int)$_POST['groupmovefrom']; if($newpos > $oldpos) { //Move the group we're changing out of the way $cdquery = "UPDATE ".db_table_name('groups')." SET group_order=-1 WHERE sid=$surveyid AND group_order=$oldpos"; $cdresult=$connect->Execute($cdquery) or safe_die($cdquery."
".$connect->ErrorMsg()); //Move all question_orders that are less than the newpos down one $cdquery = "UPDATE ".db_table_name('groups')." SET group_order=group_order-1 WHERE sid=$surveyid AND group_order > $oldpos and group_order<=$newpos"; $cdresult=$connect->Execute($cdquery) or safe_die($connect->ErrorMsg()); //Renumber the question we're changing $cdquery = "UPDATE ".db_table_name('groups')." SET group_order=$newpos WHERE sid=$surveyid AND group_order=-1"; $cdresult=$connect->Execute($cdquery) or safe_die($connect->ErrorMsg()); } if(($newpos+1) < $oldpos) { //echo "Newpos $newpos, Oldpos $oldpos"; //Move the question we're changing out of the way $cdquery = "UPDATE ".db_table_name('groups')." SET group_order=-1 WHERE sid=$surveyid AND group_order=$oldpos"; $cdresult=$connect->Execute($cdquery) or safe_die($connect->ErrorMsg()); //Move all question_orders that are later than the newpos up one $cdquery = "UPDATE ".db_table_name('groups')." SET group_order=group_order+1 WHERE sid=$surveyid AND group_order > $newpos AND group_order <= $oldpos"; $cdresult=$connect->Execute($cdquery) or safe_die($connect->ErrorMsg()); //Renumber the question we're changing $cdquery = "UPDATE ".db_table_name('groups')." SET group_order=".($newpos+1)." WHERE sid=$surveyid AND group_order=-1"; $cdresult=$connect->Execute($cdquery) or safe_die($connect->ErrorMsg()); } LimeExpressionManager::SetDirtyFlag(); // so refreshes syntax highlighting } $ordergroups = "
".$clang->gT("Change Group Order")."

\n"; $ordergroups .= "
    "; //Get the groups from this survey $s_lang = GetBaseLanguageFromSurveyID($surveyid); $ogquery = "SELECT * FROM {$dbprefix}groups WHERE sid='{$surveyid}' AND language='{$s_lang}' order by group_order,group_name" ; $ogresult = db_execute_assoc($ogquery) or safe_die($connect->ErrorMsg());//Checked $ogarray = $ogresult->GetArray(); //FIX BROKEN ORDER //Check if all group_order numbers are consecutive $consecutive=true; $lastnumber=-1; foreach($ogarray as $group) { if(($group['group_order']-1) != $lastnumber) { $consecutive=false; } $lastnumber=$group['group_order']; } //Fix bad ordering if((isset($ogarray[0]['group_order']) && $ogarray[0]['group_order'] > 0) || !$consecutive) { $i=0; foreach($ogarray as $group) { $fixorderq = "UPDATE ".db_table_name('groups')." SET group_order=$i WHERE sid=$surveyid AND group_order = ".$group['group_order']; $foresult = db_execute_assoc($fixorderq) or safe_die($connect->ErrorMsg()); $ogarray[$i]['group_order']=$i; $i++; } } //END FIX BROKEN ORDER $miniogarray=$ogarray; $groupcount = count($ogarray); for($i=0; $i < $groupcount ; $i++) { $downdisabled = ""; $updisabled = ""; $ordergroups.="
  • \n" ; // DROP DOWN LIST // //Move to location //$ordergroups.="
  • \n" ; $ordergroups.="\t\n"; // BUTTONS // $ordergroups.= "\n"; if ($i < $groupcount-1) { // Fill the hidden field 'sortorder' so we know what field is moved down $ordergroups.= "\n"; } $ordergroups.=$ogarray[$i]['group_name']."
  • \n" ; } $ordergroups.="
\n" . "\n" . "\n" . "\n" . "" . "" . "
" ; $ordergroups .="
" ; } else { include("access_denied.php"); } } ?>