function outName($team, $role, $name) { return implode(';', array(getBase($team, $role), $name, implode(';', array('', '', '', '', '', '', '', '', '', '')))) . ''; }
function showQuestions($variablenames, $realvariablenames, $groupname = "", $parentgroup = null) { /* * * group intro subgroup q1 q2 subgroup q3 endsubgroup endsubgroup endgroup * */ // strip preceding ~ (in case of group statements) if (startsWith($variablenames, "~")) { $variablenames = substr($variablenames, 1); } $variables = explode("~", $variablenames); if (startsWith($realvariablenames, "~")) { $realvariablenames = substr($realvariablenames, 1); } $realvariables = explode("~", $realvariablenames); /* no template specified */ $group = null; if (trim($groupname) == "") { $group = new Group(); $template = "default"; $options = ""; } else { $groupname = strtolower($groupname); //echo $groupname . '----' . $this->engine->replaceFills($groupname); $group = $this->engine->getGroup($this->engine->replaceFills($groupname)); $template = $group->getTemplate(); // specified template not found, then use default for display if ($template != TABLE_TEMPLATE_CUSTOM && file_exists(getBase() . DIRECTORY_SEPARATOR . "templates" . DIRECTORY_SEPARATOR . $template . '.php') == false) { $template = "default"; } } /* handle display */ $returnStr = ""; /* allowed template and definition present */ if (file_exists(getBase() . DIRECTORY_SEPARATOR . "templates" . DIRECTORY_SEPARATOR . $template . '.php')) { require_once $template . '.php'; try { $class = new ReflectionClass($template . "Template"); if ($class) { if ($class->hasMethod(FUNCTION_SHOW)) { if ($parentgroup == null) { $parentgroup = new Group(); } $group->setParentGroup($parentgroup); $instance = $class->newInstanceArgs(array($this->engine, $group)); if ($instance) { $method = $class->getMethod(FUNCTION_SHOW); $returnStr .= $method->invokeArgs($instance, array($variables, $realvariables, $this->language)); $success = true; } } } } catch (Exception $e) { } } /* return result */ return $returnStr; }
if ($_SERVER["REQUEST_METHOD"] == "GET") { // Obtain best possible Accept type $type = getBestSupportedMimeType(array("application/rdf+xml", "*/*")); $fileType = exec("file -biL 'files/" . $requestedFile . "'"); if ($type == "application/rdf+xml" || isset($_GET["mode"]) && $_GET["mode"] == "rdf") { // Handle application/rdf+xml as a separate condition $query = ""; // Test if this is the 'current' symlink, look up the original file // and use it as the URI in the SPARQL request if (is_link('files/' . $requestedFile)) { $requestedFile = readlink('files/' . $requestedFile); $perl = "/" . preg_replace("/\\//", "\\/", getRoot()) . "files\\//"; $requestedFile = preg_replace($perl, "", $requestedFile); } // Build the SPARQL query $base = getBase(); $query = "PREFIX dc: <http://purl.org/dc/terms/> DESCRIBE <{$base}" . $requestedFile . "> ?x WHERE { <{$base}" . $requestedFile . "> dc:creator ?x }"; // Return SPARQL result header("Content-type: application/rdf+xml"); echo file_get_contents(ENDPOINT . "?query=" . urlencode($query)); } else { if (!preg_match("/ERROR/", $fileType)) { // Handle when the file command returns an error // (e.g. the file doesn't exist or is not readable) // Get the mime component $fileType = explode(';', $fileType); $fileType = $fileType[0]; // Send headers and content header("Content-type: {$fileType}"); readfile("files/" . $requestedFile); } else {
function showToolsBatchEditorGroupTabs() { // tabs content $returnStr = '<div class="tab-content">'; // general tab $returnStr .= '<div class="tab-pane active" id="general">'; $returnStr .= '<div class="well">'; $returnStr .= '<table>'; $opendir = opendir(getBase() . DIRECTORY_SEPARATOR . "templates"); if ($opendir) { $returnStr .= '<tr><td>' . Language::labelTypeEditGeneralGroupTemplate() . '</td><td> <select class="selectpicker show-tick" id="' . SETTING_GROUP_TEMPLATE . '" name="' . SETTING_GROUP_TEMPLATE . '">'; $templates = Common::surveyTemplates(); $current = TABLE_TEMPLATE_DEFAULT; while (false !== ($entry = readdir($opendir))) { if (!is_dir($entry)) { $entry = str_replace(".php", "", $entry); if (inArray($entry, array_keys($templates))) { $selected = ""; if (strtoupper($entry) == strtoupper($current)) { $selected = "SELECTED"; } $returnStr .= "<option {$selected} value='" . $entry . "'>" . $templates[$entry] . "</option>"; } } } $returnStr .= '</select> </td></tr>'; } $returnStr .= "<tr id=customtemplate style='display: none;'><td>" . Language::labelTypeEditEnumeratedCustom() . "</td>"; $returnStr .= '<td colspan=4><textarea style="width: 650px;" rows=20 class="form-control" name="' . SETTING_GROUP_CUSTOM_TEMPLATE . '"></textarea></td></tr>'; $returnStr .= '</table>'; $returnStr .= "<script type='text/javascript'>"; $returnStr .= '$( document ).ready(function() { $("#' . SETTING_GROUP_TEMPLATE . '").change(function (e) { if (this.value == "' . TABLE_TEMPLATE_CUSTOM . '") { $("#customtemplate").show(); } else { $("#customtemplate").hide(); } }); })'; $returnStr .= "</script>"; $returnStr .= '</div>'; $returnStr .= '</div>'; // access tab $returnStr .= '<div class="tab-pane" id="access">'; $returnStr .= '<div class="well">'; $returnStr .= '<table>'; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_ACCESS_REENTRY_ACTION . "_checkbox /></td><td>" . Language::labelTypeEditAccessReentry() . "</td>"; $returnStr .= "<td>" . $this->displayAccessReentryAction(SETTING_ACCESS_REENTRY_ACTION, '', true) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_ACCESS_REENTRY_PRELOAD_REDO . "_checkbox /></td><td>" . Language::labelTypeEditAccessReentryPreload() . "</td>"; $returnStr .= "<td>" . $this->displayAccessReentryPreload(SETTING_ACCESS_REENTRY_PRELOAD_REDO, '', true) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_ACCESS_RETURN_AFTER_COMPLETION_ACTION . "_checkbox /></td><td>" . Language::labelSettingsAccessAfterCompletion() . "</td>"; $returnStr .= "<td>" . $this->displayAccessAfterCompletionReturn(SETTING_ACCESS_RETURN_AFTER_COMPLETION_ACTION, '', true) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_ACCESS_RETURN_AFTER_COMPLETION_PRELOAD_REDO . "_checkbox /></td><td>" . Language::labelSettingsAccessAfterCompletionPreload() . "</td>"; $returnStr .= "<td>" . $this->displayAccessAfterCompletionPreload(SETTING_ACCESS_RETURN_AFTER_COMPLETION_PRELOAD_REDO, '', true) . "</td></tr>"; $returnStr .= '</table>'; $returnStr .= '</div>'; $returnStr .= '</div>'; // verification tab $returnStr .= '<div class="tab-pane" id="verification">'; $returnStr .= '<div class="well">'; $returnStr .= "<table>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_IFEMPTY . "_checkbox /></td><td>" . Language::labelTypeEditIfEmpty() . "</td>"; $returnStr .= "<td>" . $this->displayIfEmpty(SETTING_IFEMPTY, '', true) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_IFERROR . "_checkbox /></td><td>" . Language::labelTypeEditIfError() . "</td>"; $returnStr .= "<td>" . $this->displayIfError(SETTING_IFERROR, '', true) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_GROUP_EXCLUSIVE . "_checkbox /><td>" . Language::labelGroupEditExclusive() . "</td>"; $returnStr .= "<td>" . $this->displayExclusive(SETTING_GROUP_EXCLUSIVE, '', true) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_GROUP_INCLUSIVE . "_checkbox /><td>" . Language::labelGroupEditInclusive() . "</td>"; $returnStr .= "<td>" . $this->displayExclusive(SETTING_GROUP_INCLUSIVE, '', true) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_GROUP_UNIQUE_REQUIRED . "_checkbox /><td>" . Language::labelGroupEditUnique() . "</td>"; $returnStr .= "<td>" . $this->displayInclusive(SETTING_GROUP_UNIQUE_REQUIRED, '', true) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_GROUP_SAME_REQUIRED . "_checkbox /><td>" . Language::labelGroupEditSame() . "</td>"; $returnStr .= "<td>" . $this->displayInclusive(SETTING_GROUP_SAME_REQUIRED, '', true) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_GROUP_MINIMUM_REQUIRED . "_checkbox /><td>" . Language::labelGroupEditMinRequired() . "</td>"; $returnStr .= '<td><input name="' . SETTING_GROUP_MINIMUM_REQUIRED . '" type="text" value="" class="form-control" /></td></tr>'; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_GROUP_MAXIMUM_REQUIRED . "_checkbox /><td>" . Language::labelGroupEditMaxRequired() . "</td>"; $returnStr .= '<td><input name="' . SETTING_GROUP_MAXIMUM_REQUIRED . '" type="text" value="" class="form-control" /></td></tr>'; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_GROUP_EXACT_REQUIRED . "_checkbox /><td>" . Language::labelGroupEditExactRequired() . "</td>"; $returnStr .= '<td><input name="' . SETTING_GROUP_EXACT_REQUIRED . '" type="text" value="" class="form-control" /></td></tr>'; $returnStr .= '</table>'; $returnStr .= '</div>'; $returnStr .= '</div>'; // display tab $returnStr .= '<div class="tab-pane" id="display">'; $returnStr .= '<div class="well">'; /* header/footer setting */ $returnStr .= '<span class="label label-default">' . Language::labelSettingsPage() . '</span>'; $returnStr .= '<div class="well">'; $returnStr .= '<table width=100%>'; $returnStr .= '<tr><td><input type=checkbox value=1 name=' . SETTING_SURVEY_TEMPLATE . '_checkbox /></td><td>' . Language::labelTypeEditLayoutTemplate() . '</td><td>'; $returnStr .= '<input type="text" class="form-control" name="' . SETTING_SURVEY_TEMPLATE . '" value=""></td></tr>'; $returnStr .= '<tr><td valign=top><input type=checkbox value=1 name=' . SETTING_PAGE_HEADER . '_checkbox /></td><td valign=top style="width: 15%;">' . Language::labelSettingsHeader() . '</td><td><textarea style="width: 100%;" rows=6 class="form-control" name="' . SETTING_PAGE_HEADER . '"></textarea></td></tr>'; $returnStr .= '<tr><td valign=top><input type=checkbox value=1 name=' . SETTING_PAGE_FOOTER . '_checkbox /></td><td valign=top style="width: 15%;">' . Language::labelSettingsFooter() . '</td><td><textarea style="width: 100%;" rows=6 class="form-control" name="' . SETTING_PAGE_FOOTER . '"></textarea></td></tr>'; $returnStr .= "</table>"; $returnStr .= '</div>'; $returnStr .= '<span class="label label-default">' . Language::labelTypeEditLayoutOverall() . '</span>'; $returnStr .= "<div class='well'>"; $returnStr .= "<table>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_BUTTON_ALIGNMENT . "_checkbox /></td><td>" . Language::labelTypeEditButtonAlignment() . "</td>"; $returnStr .= "<td>" . $this->displayAlignment(SETTING_BUTTON_ALIGNMENT, '') . "</td></tr>\n <tr><td><input type=checkbox value=1 name=" . SETTING_BUTTON_FORMATTING . "_checkbox /></td> \n <td>" . Language::labelTypeEditButtonFormatting() . "</td>"; $returnStr .= "<td>" . $this->displayFormatting(SETTING_BUTTON_FORMATTING, '') . "</td></tr>"; $returnStr .= '</table></div>'; $returnStr .= '<span class="label label-default">' . Language::labelTypeEditLayoutError() . '</span>'; $returnStr .= "<div class='well'>"; $returnStr .= "<table>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_ERROR_PLACEMENT . "_checkbox /></td><td>" . Language::labelTypeEditLayoutErrorPlacement() . "</td>"; $returnStr .= "<td>" . $this->displayErrorPlacement(SETTING_ERROR_PLACEMENT, '') . "</td><td width=25><nobr/>"; $returnStr .= "</tr>"; $returnStr .= '</table>'; $returnStr .= '</div>'; $returnStr .= '<span class="label label-default">' . Language::labelTypeEditLayoutButtons() . '</span>'; $returnStr .= "<div class='well'>"; $returnStr .= $this->displayColorPicker(); $returnStr .= "<table>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_BACK_BUTTON . "_checkbox /></td><td>" . Language::labelTypeEditBackButton() . "</td>"; $returnStr .= "<td>" . $this->displayButton(SETTING_BACK_BUTTON, '') . "</td>\n </tr>\n <tr><td><input type=checkbox value=1 name=" . SETTING_BACK_BUTTON_LABEL . "_checkbox /></td> \n <td>" . Language::labelTypeEditButtonLabel() . "</td>"; $returnStr .= "<td>" . $this->displayButtonLabel(SETTING_BACK_BUTTON_LABEL, '') . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_NEXT_BUTTON . "_checkbox /></td><td>" . Language::labelTypeEditNextButton() . "</td>"; $returnStr .= "<td>" . $this->displayButton(SETTING_NEXT_BUTTON, '') . "</td></tr>\n <tr><td><input type=checkbox value=1 name=" . SETTING_NEXT_BUTTON_LABEL . "_checkbox /></td> \n <td>" . Language::labelTypeEditButtonLabel() . "</td>"; $returnStr .= "<td>" . $this->displayButtonLabel(SETTING_NEXT_BUTTON_LABEL, '') . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_DK_BUTTON . "_checkbox /></td><td>" . Language::labelTypeEditDKButton() . "</td>"; $returnStr .= "<td>" . $this->displayButton(SETTING_DK_BUTTON, '') . "</td></tr>\n <tr><td><input type=checkbox value=1 name=" . SETTING_DK_BUTTON_LABEL . "_checkbox /></td> \n <td>" . Language::labelTypeEditButtonLabel() . "</td>"; $returnStr .= "<td>" . $this->displayButtonLabel(SETTING_DK_BUTTON_LABEL, '') . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_RF_BUTTON . "_checkbox /></td><td>" . Language::labelTypeEditRFButton() . "</td>"; $returnStr .= "<td>" . $this->displayButton(SETTING_RF_BUTTON, '') . "</td></tr>\n <tr><td><input type=checkbox value=1 name=" . SETTING_RF_BUTTON_LABEL . "_checkbox /></td> \n <td>" . Language::labelTypeEditButtonLabel() . "</td>"; $returnStr .= "<td>" . $this->displayButtonLabel(SETTING_RF_BUTTON_LABEL, '') . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_NA_BUTTON . "_checkbox /></td><td>" . Language::labelTypeEditNAButton() . "</td>"; $returnStr .= "<td>" . $this->displayButton(SETTING_NA_BUTTON, '') . "</td></tr>\n <tr><td><input type=checkbox value=1 name=" . SETTING_NA_BUTTON_LABEL . "_checkbox /></td> \n <td>" . Language::labelTypeEditButtonLabel() . "</td>"; $returnStr .= "<td>" . $this->displayButtonLabel(SETTING_NA_BUTTON_LABEL, '') . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_UPDATE_BUTTON . "_checkbox /></td><td>" . Language::labelTypeEditUpdateButton() . "</td>"; $returnStr .= "<td>" . $this->displayButton(SETTING_UPDATE_BUTTON, '') . "</td></tr>\n <tr><td><input type=checkbox value=1 name=" . SETTING_UPDATE_BUTTON_LABEL . "_checkbox /></td> \n <td>" . Language::labelTypeEditButtonLabel() . "</td>"; $returnStr .= "<td>" . $this->displayButtonLabel(SETTING_UPDATE_BUTTON_LABEL, '') . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_REMARK_BUTTON . "_checkbox /></td><td>" . Language::labelTypeEditRemarkButton() . "</td>"; $returnStr .= "<td>" . $this->displayButton(SETTING_REMARK_BUTTON, '') . "</td></tr>\n <tr><td><input type=checkbox value=1 name=" . SETTING_REMARK_BUTTON_LABEL . "_checkbox /></td> \n <td>" . Language::labelTypeEditButtonLabel() . "</td>"; $returnStr .= "<td>" . $this->displayButtonLabel(SETTING_REMARK_BUTTON_LABEL, '') . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_REMARK_SAVE_BUTTON . "_checkbox /></td><td>" . Language::labelTypeEditRemarkSaveButton() . "</td>"; $returnStr .= "<td>" . $this->displayButton(SETTING_REMARK_SAVE_BUTTON, '') . "</td></tr>\n <tr><td><input type=checkbox value=1 name=" . SETTING_REMARK_SAVE_BUTTON_LABEL . "_checkbox /></td> \n <td>" . Language::labelTypeEditButtonLabel() . "</td>"; $returnStr .= "<td>" . $this->displayButtonLabel(SETTING_REMARK_SAVE_BUTTON_LABEL, '') . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_CLOSE_BUTTON . "_checkbox /></td><td>" . Language::labelTypeEditCloseButton() . "</td>"; $returnStr .= "<td>" . $this->displayButton(SETTING_CLOSE_BUTTON, '') . "</td></tr>\n <tr><td><input type=checkbox value=1 name=" . SETTING_CLOSE_BUTTON_LABEL . "_checkbox /></td> \n <td>" . Language::labelTypeEditButtonLabel() . "</td>"; $returnStr .= "<td>" . $this->displayButtonLabel(SETTING_CLOSE_BUTTON_LABEL, '') . "</td></tr>"; $returnStr .= '</table></div>'; $returnStr .= '<span class="label label-default">' . Language::labelTypeEditLayoutProgressBar() . '</span>'; $returnStr .= "<div class='well'>"; $returnStr .= "<table>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_PROGRESSBAR_SHOW . "_checkbox /></td><td>" . Language::labelTypeEditLayoutProgressBarShow() . "</td>"; $returnStr .= "<td>" . $this->displayProgressbar(SETTING_PROGRESSBAR_SHOW, '') . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_PROGRESSBAR_FILLED_COLOR . "_checkbox /></td><td>" . Language::labelTypeEditLayoutProgressBarFillColor() . "</td>"; $returnStr .= '<td><div class="input-group colorpicker"> <input name=' . SETTING_PROGRESSBAR_FILLED_COLOR . ' type="text" value="' . '' . '" class="form-control" /> <span class="input-group-addon"><i></i></span> </div></td></tr>'; $returnStr .= '<tr><td><input type=checkbox value=1 name=' . SETTING_PROGRESSBAR_WIDTH . '_checkbox /></td><td>' . Language::labelTypeEditLayoutProgressBarWidth() . '</td><td><input type="text" class="form-control" name="' . SETTING_PROGRESSBAR_WIDTH . '" value="' . '' . '"></td></tr>'; $returnStr .= '</table>'; $returnStr .= '</div>'; // group $returnStr .= '<span class="label label-default">' . Language::labelSettingsTable() . '</span>'; $returnStr .= "<div class='well'>"; $returnStr .= "<table>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_HEADER_ALIGNMENT . "_checkbox /></td><td>" . Language::labelTypeEditHeaderAlignment() . "</td>"; $returnStr .= "<td>" . $this->displayAlignment(SETTING_HEADER_ALIGNMENT, '') . "</td></tr>\n <tr><td><input type=checkbox value=1 name=" . SETTING_HEADER_FORMATTING . "_checkbox /></td>\n <td>" . Language::labelTypeEditHeaderFormatting() . "</td>"; $returnStr .= "<td>" . $this->displayFormatting(SETTING_HEADER_FORMATTING, '') . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_HEADER_FIXED . "_checkbox /></td><td>" . Language::labelTypeEditHeaderFixed() . "</td>"; $returnStr .= "<td>" . $this->displayHeaderFixed('') . "</td></tr>\n <tr><td><input type=checkbox value=1 name=" . SETTING_HEADER_SCROLL_DISPLAY . "_checkbox /></td>\n <td>" . Language::labelTypeEditHeaderScrollDisplay() . "</td>"; $returnStr .= '<td><input type="text" class="form-control" name="' . SETTING_HEADER_SCROLL_DISPLAY . '" value="' . '' . '"></td></tr>'; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_GROUP_TABLE_BORDERED . "_checkbox /></td><td>" . Language::labelGroupEditBordered() . "</td>"; $returnStr .= "<td>" . $this->displayStriped(SETTING_GROUP_TABLE_BORDERED, '') . "</td></tr><tr>"; $returnStr .= "<td><input type=checkbox value=1 name=" . SETTING_GROUP_TABLE_CONDENSED . "_checkbox /></td><td>" . Language::labelGroupEditCondensed() . "</td>"; $returnStr .= "<td>" . $this->displayStriped(SETTING_GROUP_TABLE_CONDENSED, '') . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_GROUP_TABLE_HOVERED . "_checkbox /></td><td>" . Language::labelGroupEditHovered() . "</td>"; $returnStr .= "<td>" . $this->displayStriped(SETTING_GROUP_TABLE_HOVERED, '') . "</td></tr><tr>"; $returnStr .= "<td><input type=checkbox value=1 name=" . SETTING_GROUP_TABLE_STRIPED . "_checkbox /></td><td>" . Language::labelGroupEditStriped() . "</td>"; $returnStr .= "<td>" . $this->displayStriped(SETTING_GROUP_TABLE_STRIPED, '') . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_TABLE_WIDTH . "_checkbox /></td><td>" . Language::labelTypeEditTableWidth() . "</td>"; $returnStr .= '<td><input type="text" class="form-control" name="' . SETTING_TABLE_WIDTH . '" value="' . '' . '"></td></tr><tr>'; $returnStr .= "<td><input type=checkbox value=1 name=" . SETTING_QUESTION_COLUMN_WIDTH . "_checkbox /></td><td>" . Language::labelTypeEditQuestionColumnWidth() . "</td>"; $returnStr .= '<td><input type="text" class="form-control" name="' . SETTING_QUESTION_COLUMN_WIDTH . '" value="' . '' . '"></td><td width=25><nobr/></td></tr>'; $returnStr .= '</table>'; $returnStr .= '</div>'; $returnStr .= '</div>'; $returnStr .= '</div>'; $returnStr .= '<div class="tab-pane" id="assistance">'; $returnStr .= '<div class="well">'; $returnStr .= '<table width=100%>'; $returnStr .= '<tr><td valign=top><input type=checkbox value=1 name=' . SETTING_ERROR_MESSAGE_EXCLUSIVE . '_checkbox /></td><td valign=top style="width: 15%;">' . Language::labelGroupEditAssistanceExclusive() . '</td><td><textarea style="width: 100%;" rows=2 class="form-control" name="' . SETTING_ERROR_MESSAGE_EXCLUSIVE . '"></textarea></td></tr>'; $returnStr .= '<tr><td valign=top><input type=checkbox value=1 name=' . SETTING_ERROR_MESSAGE_INCLUSIVE . '_checkbox /></td><td valign=top style="width: 15%;">' . Language::labelGroupEditAssistanceInclusive() . '</td><td><textarea style="width: 100%;" rows=2 class="form-control" name="' . SETTING_ERROR_MESSAGE_INCLUSIVE . '"></textarea></td></tr>'; $returnStr .= '<tr><td valign=top><input type=checkbox value=1 name=' . SETTING_ERROR_MESSAGE_MINIMUM_REQUIRED . '_checkbox /></td><td valign=top style="width: 15%;">' . Language::labelGroupEditAssistanceMinimumRequired() . '</td><td><textarea style="width: 100%;" rows=2 class="form-control" name="' . SETTING_ERROR_MESSAGE_MINIMUM_REQUIRED . '"></textarea></td></tr>'; $returnStr .= '<tr><td valign=top><input type=checkbox value=1 name=' . SETTING_ERROR_MESSAGE_MAXIMUM_REQUIRED . '_checkbox /></td><td valign=top style="width: 15%;">' . Language::labelGroupEditAssistanceMaximumRequired() . '</td><td><textarea style="width: 100%;" rows=2 class="form-control" name="' . SETTING_ERROR_MESSAGE_MAXIMUM_REQUIRED . '"></textarea></td></tr>'; $returnStr .= '<tr><td valign=top><input type=checkbox value=1 name=' . SETTING_ERROR_MESSAGE_EXACT_REQUIRED . '_checkbox /></td><td valign=top style="width: 15%;">' . Language::labelGroupEditAssistanceExactRequired() . '</td><td><textarea style="width: 100%;" rows=2 class="form-control" name="' . SETTING_ERROR_MESSAGE_EXACT_REQUIRED . '"></textarea></td></tr>'; $returnStr .= '<tr><td valign=top><input type=checkbox value=1 name=' . SETTING_ERROR_MESSAGE_UNIQUE_REQUIRED . '_checkbox /></td><td valign=top style="width: 15%;">' . Language::labelGroupEditAssistanceUniqueRequired() . '</td><td><textarea style="width: 100%;" rows=2 class="form-control" name="' . SETTING_ERROR_MESSAGE_UNIQUE_REQUIRED . '"></textarea></td></tr>'; $returnStr .= '<tr><td valign=top><input type=checkbox value=1 name=' . SETTING_ERROR_MESSAGE_SAME_REQUIRED . '_checkbox /></td><td valign=top style="width: 15%;">' . Language::labelGroupEditAssistanceSameRequired() . '</td><td><textarea style="width: 100%;" rows=2 class="form-control" name="' . SETTING_ERROR_MESSAGE_SAME_REQUIRED . '"></textarea></td></tr>'; $returnStr .= '</table>'; $returnStr .= '</div>'; $returnStr .= '</div>'; $returnStr .= '<div class="tab-pane" id="navigation">'; $returnStr .= '<div class="well">'; $returnStr .= '<table>'; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_KEYBOARD_BINDING_ENABLED . "_checkbox /></td><td>" . Language::labelTypeEditKeyboardBindingEnabled() . "</td>"; $returnStr .= "<td>" . $this->displayKeyBoardBindingDropdown(SETTING_KEYBOARD_BINDING_ENABLED, '', true) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_KEYBOARD_BINDING_BACK . "_checkbox /></td><td>" . Language::labelTypeEditKeyboardBindingBack() . "</td><td>" . $this->displayButtonBinding(SETTING_KEYBOARD_BINDING_BACK) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_KEYBOARD_BINDING_NEXT . "_checkbox /></td><td>" . Language::labelTypeEditKeyboardBindingNext() . "</td><td>" . $this->displayButtonBinding(SETTING_KEYBOARD_BINDING_NEXT) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_KEYBOARD_BINDING_DK . "_checkbox /></td><td>" . Language::labelTypeEditKeyboardBindingDK() . "</td><td>" . $this->displayButtonBinding(SETTING_KEYBOARD_BINDING_DK) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_KEYBOARD_BINDING_RF . "_checkbox /></td><td>" . Language::labelTypeEditKeyboardBindingRF() . "</td><td>" . $this->displayButtonBinding(SETTING_KEYBOARD_BINDING_RF) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_KEYBOARD_BINDING_NA . "_checkbox /></td><td>" . Language::labelTypeEditKeyboardBindingNA() . "</td><td>" . $this->displayButtonBinding(SETTING_KEYBOARD_BINDING_NA) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_KEYBOARD_BINDING_UPDATE . "_checkbox /></td><td>" . Language::labelTypeEditKeyboardBindingUpdate() . "</td><td>" . $this->displayButtonBinding(SETTING_KEYBOARD_BINDING_UPDATE) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_KEYBOARD_BINDING_REMARK . "_checkbox /></td><td>" . Language::labelTypeEditKeyboardBindingRemark() . "</td><td>" . $this->displayButtonBinding(SETTING_KEYBOARD_BINDING_REMARK) . "</td></tr>"; $returnStr .= "<tr><td><input type=checkbox value=1 name=" . SETTING_KEYBOARD_BINDING_CLOSE . "_checkbox /></td><td>" . Language::labelTypeEditKeyboardBindingClose() . "</td><td>" . $this->displayButtonBinding(SETTING_KEYBOARD_BINDING_CLOSE) . "</td></tr>"; $returnStr .= '</table>'; $returnStr .= '</div>'; $returnStr .= '</div>'; $returnStr .= '<input onclick="$(\'#batchaction\').val(\'edit\'); $(\'#actionform\').submit(); " type="button" class="btn btn-default" value="' . Language::buttonEdit() . '"/>'; $returnStr .= '</div>'; return $returnStr; }
function handleFileUpload($tmpPath, $file, $creator, $oldName = NULL, $title = NULL) { // For debugging purposes, if an error occurs we'll see the dump header("Content-type: text/html"); $file = preg_replace("/ /", "_", $file); if ($oldName === NULL) { $oldName = $file; } // Compute date and path information for the new file $date = date("Y-m-d\\TH:i:sP"); $sec = dechex(3600 * date("H") + 60 * date("i") + 1 * date("s")); $base = getBase(); $path = date("Y/m/d") . "/" . $sec; // Create the directory to store the file if it doesn't exist if (MEDIA_DEBUG) { echo "mkdir -p 'files/" . $path . "'<br>"; } else { exec("mkdir -p 'files/" . $path . "'", $text, $result); if ($result != 0) { echo '{"success":false,"error":"unable to create target directory"}'; die; } } // Move the file if (MEDIA_DEBUG) { echo "move_upload_file({$tmpPath}, 'files/{$path}/{$file}')<br>"; } else { if (!move_uploaded_file($tmpPath, "files/{$path}/{$file}")) { error(500); } /* exec("openssl enc -d -base64 -in '$tmpPath' -out 'files/$path/$file'"); */ } // Create or update the symlink in the "latest" directory if (!is_link("files/latest/{$oldName}")) { // There's no link yet, so create one if (MEDIA_DEBUG) { echo "Create symlink 'files/latest/{$file}' to 'files/{$path}/{$file}'<br>"; } else { symlink(getRoot() . "files/{$path}/{$file}", "files/latest/{$file}"); $query = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\r\n" . "PREFIX dc: <http://purl.org/dc/terms/>\r\n" . "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\r\n" . "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\r\n\r\n" . "INSERT DATA {\r\n" . " <{$base}" . "latest/{$file}> rdf:type foaf:Document .\r\n" . ($title ? " <{$base}" . "latest/{$file}> dc:title \"{$title}\" .\r\n" : "") . "}"; if (MEDIA_DEBUG) { echo "Execute query:<br><pre>" . htmlspecialchars($query) . "</pre><br>"; } else { $params = array('http' => array('method' => 'POST', 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'content' => 'request=' . urlencode($query))); $ctx = stream_context_create($params); file_get_contents(UPDATE, false, $ctx); } } } else { // Make SPARQL update to reference old file $oldPath = readlink("files/latest/{$oldName}"); $oldPath = explode("files/", $oldPath); $oldPath = $oldPath[count($oldPath) - 1]; $query = "PREFIX dc: <http://purl.org/dc/terms/>\r\n" . "INSERT DATA {\r\n" . "<{$base}{$path}/{$file}> dc:replaces <{$base}{$oldPath}> .\r\n" . "}"; if (MEDIA_DEBUG) { echo "Execute query:<br><pre>" . htmlspecialchars($query) . "</pre><br>"; } else { $params = array('http' => array('method' => 'POST', 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'content' => 'request=' . urlencode($query))); $ctx = stream_context_create($params); file_get_contents(UPDATE, false, $ctx); } // Replace the symlink with one to the new file if (MEDIA_DEBUG) { echo "Remove symlink 'files/latest/{$file}'<br>"; echo "Create symlink 'files/latest/{$file}' to 'files/{$path}/{$file}'<br>"; } else { exec("rm 'files/latest/{$file}'"); symlink(getRoot() . "files/{$path}/{$file}", "files/latest/{$file}"); } } // Add metadata about the file to the SPARQL endpoint $query = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\r\n" . "PREFIX dc: <http://purl.org/dc/terms/>\r\n" . "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\r\n" . "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\r\n\r\n" . "INSERT DATA {\r\n" . " <{$base}{$path}/{$file}> rdf:type foaf:Document .\r\n" . " <{$base}{$path}/{$file}> dc:creator <{$creator}> .\r\n" . ($title ? " <{$base}{$path}/{$file}> dc:title \"{$title}\" .\r\n" : "") . " <{$base}{$path}/{$file}> dc:created \"{$date}\"^^xsd:dateTime .\r\n" . " <{$base}{$path}/{$file}> dc:modified \"{$date}\"^^xsd:dateTime .\r\n" . "}"; if (MEDIA_DEBUG) { echo "Execute query:<br><pre>" . htmlspecialchars($query) . "</pre>"; } else { $params = array('http' => array('method' => 'POST', 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'content' => 'request=' . urlencode($query))); $ctx = stream_context_create($params); $response = file_get_contents(UPDATE, false, $ctx); } return array("success" => true, "persist" => "{$base}{$path}/{$file}", "latest" => $base . "latest/{$file}"); }