function mf_display_file($element) { global $mf_lang; //check for error $li_class = ''; $error_message = ''; $span_required = ''; $guidelines = ''; $el_class = array(); if (!empty($element->is_private)) { $el_class[] = 'private'; } if (!empty($element->css_class)) { $el_class[] = trim($element->css_class); } if (!empty($element->machform_path)) { $machform_path = $element->machform_path; } if (!empty($element->is_error)) { $el_class[] = 'error'; if ($element->error_message != 'error_no_display') { $error_message = "<p class=\"error\">{$element->error_message}</p>"; } } //check for required if ($element->is_required) { $span_required = "<span id=\"required_{$element->id}\" class=\"required\">*</span>"; } //check for guidelines if (!empty($element->guidelines)) { $guidelines = "<p class=\"guidelines\" id=\"guide_{$element->id}\"><small>{$element->guidelines}</small></p>"; } //check for populated value if (!empty($element->populated_value['element_' . $element->id]['default_value'])) { foreach ($element->populated_value['element_' . $element->id]['default_value'] as $data) { $queue_id = "element_{$element->id}" . substr(strtoupper(md5(mt_rand())), 0, 6); //trim filename if more than 20 characters if (strlen($data['filename']) > 20) { $display_filename = substr($data['filename'], 0, 20) . "..."; } else { $display_filename = $data['filename']; } if ($element->is_edit_entry) { $db_live_status = 2; } else { $db_live_status = 1; } $queue_content .= <<<EOT \t\t\t\t\t\t<div class="uploadifyQueueItem completed" id="{$queue_id}"> \t\t\t\t\t\t<div class="cancel">\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t<a href="javascript:remove_attachment('{$data['filename']}',{$element->form_id},{$element->id},'{$queue_id}',{$db_live_status},{$data['entry_id']});"><img border="0" src="{$machform_path}images/icons/delete.png"></a> \t\t\t\t\t\t</div>\t \t\t\t\t\t\t<span class="fileName"> \t\t\t\t\t\t <img align="absmiddle" src="{$machform_path}images/icons/attach.gif" class="file_attached">{$display_filename} ({$data['filesize']}) \t\t\t\t\t\t</span> \t\t\t\t\t\t</div> EOT; } } if (!$element->is_design_mode && !empty($element->file_enable_advance)) { if (!empty($element->populated_value['element_' . $element->id]['file_token'])) { $file_token = $element->populated_value['element_' . $element->id]['file_token']; //check for existing listfile $listfile_name = $element->machform_data_path . $element->upload_dir . "/form_{$element->form_id}/files/listfile_{$file_token}.php"; if (file_exists($listfile_name)) { $uploaded_files = file($listfile_name, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); array_shift($uploaded_files); array_pop($uploaded_files); foreach ($uploaded_files as $tmp_filename_path) { $file_size = mf_format_bytes(filesize($tmp_filename_path)); $tmp_filename_only = basename($tmp_filename_path); $filename_value = substr($tmp_filename_only, strpos($tmp_filename_only, '-') + 1); $filename_value = str_replace('.tmp', '', $filename_value); $filename_value = str_replace('|', '', $filename_value); $queue_id = "element_{$element->id}" . substr(strtoupper(md5(mt_rand())), 0, 6); //trim filename if more than 20 characters if (strlen($filename_value) > 20) { $display_filename = substr($filename_value, 0, 20) . "..."; } else { $display_filename = $filename_value; } $queue_content .= <<<EOT \t\t\t\t\t\t\t<div class="uploadifyQueueItem completed" id="{$queue_id}"> \t\t\t\t\t\t\t<div class="cancel">\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t<a href="javascript:remove_attachment('{$filename_value}',{$element->form_id},{$element->id},'{$queue_id}',0,'{$file_token}');"><img border="0" src="{$machform_path}images/icons/delete.png"></a> \t\t\t\t\t\t </div>\t\t \t\t\t\t\t\t\t<span class="fileName"> \t\t\t\t\t\t\t <img align="absmiddle" src="{$machform_path}images/icons/attach.gif" class="file_attached">{$display_filename} ({$file_size}) \t\t\t\t\t\t\t</span> \t\t\t\t\t\t\t</div> EOT; } } } else { $file_token = md5(uniqid(rand(), true)); } //generate parameters for auto upload if (!empty($element->file_auto_upload)) { $auto_upload = 'true'; } else { $auto_upload = 'false'; $upload_link_show_tag = "\$(\"#element_{$element->id}_upload_link\").show();"; $upload_link_hide_tag = "\$(\"#element_{$element->id}_upload_link\").hide();"; } //generate parameters for multi upload if (!empty($element->file_enable_multi_upload)) { $multi_upload = 'true'; $queue_limit = $element->file_max_selection; } else { $multi_upload = 'false'; $queue_limit = 1; } //generate parameters for file size limit if (!empty($element->file_enable_size_limit)) { if (!empty($element->file_size_max)) { $file_size_max_bytes = 1048576 * $element->file_size_max; $size_limit = "'sizeLimit' : {$file_size_max_bytes},"; } else { $size_limit = "'sizeLimit' : 10485760,"; //default 10MB } } if (!empty($element->file_type_list) && !empty($element->file_enable_type_limit)) { if ($element->file_block_or_allow == 'a') { //if this is an allow list $allowed_file_types = explode(',', $element->file_type_list); array_walk($allowed_file_types, create_function('&$val', '$val = "*.".strtolower(trim($val));')); $allowed_file_types_joined = implode(';', $allowed_file_types); $file_type_limit_allow = <<<EOT \t\t\t\t\t 'fileExt' : '{$allowed_file_types_joined}', \t\t\t\t\t 'fileDesc' : '{$allowed_file_types_joined}', EOT; } else { if ($element->file_block_or_allow == 'b') { //if this is a block list $blocked_file_types = explode(',', $element->file_type_list); array_walk($blocked_file_types, create_function('&$val', '$val = strtolower(trim($val));')); $blocked_file_types_joined = implode(',', $blocked_file_types); $file_type_limit_block = "'fileExtBlocked' : '{$blocked_file_types_joined}',"; } } } $msg_queue_limited = sprintf($mf_lang['file_queue_limited'], $queue_limit); $msg_upload_max = sprintf($mf_lang['file_upload_max'], $element->file_size_max); $uploader_script = <<<EOT <script type="text/javascript"> \t\$(function(){ \t\t \t\tif (\$.browser.flash == true){ \t\t \$('#element_{$element->id}').uploadify({ \t\t 'uploader' \t : '{$machform_path}js/uploadify/uploadify.swf', \t\t 'script' \t : '{$machform_path}upload.php', \t\t 'cancelImg' \t : '{$machform_path}images/icons/stop.png', \t\t 'removeCompleted' : false, \t\t 'displayData' \t : 'percentage', \t\t 'scriptData' : { \t\t \t\t\t\t 'form_id': {$element->form_id}, \t\t \t\t\t\t 'element_id': {$element->id}, \t\t \t\t\t\t 'file_token': '{$file_token}' \t\t\t\t\t\t\t\t}, \t\t\t\t{$file_type_limit_allow} \t\t\t\t{$file_type_limit_block} \t\t 'auto' : {$auto_upload}, \t\t 'multi' : {$multi_upload}, \t\t 'queueSizeLimit' : {$queue_limit}, \t\t 'onQueueFull' : function (event,queueSizeLimit) { \t\t\t\t alert('{$msg_queue_limited}'); \t\t\t\t }, \t\t 'queueID'\t : 'element_{$element->id}_queue', \t\t {$size_limit} \t\t 'buttonImg' : '{$machform_path}images/upload_button.png', \t\t 'onError' : function (event,ID,fileObj,errorObj) { \t\t\t \tif(errorObj.type == 'file_size_limited'){ \t\t\t \t\t\$("#element_{$element->id}" + ID + " span.percentage").text(' - {$msg_upload_max}'); \t\t\t\t\t}else if(errorObj.type == 'file_type_blocked'){ \t\t\t\t\t\t\$("#element_{$element->id}" + ID + " span.percentage").text(' - {$mf_lang['file_type_limited']}'); \t\t\t\t\t} \t\t \t{$upload_link_hide_tag} \t\t\t }, \t\t 'onSelectOnce' : function(event,data) { \t\t\t\t {$upload_link_show_tag} \t\t\t\t check_upload_queue({$element->id},{$multi_upload},{$queue_limit},'{$msg_queue_limited}'); \t\t\t\t \t\t\t\t if(\$("html").hasClass("embed")){ \t\t\t\t \t\t\$.postMessage({mf_iframe_height: \$('body').outerHeight(true)}, '*', parent ); \t\t\t\t \t } \t\t\t\t }, \t\t\t\t'onAllComplete' : function(event,data) { \t\t\t\t \$("#element_{$element->id}_upload_link").hide(); \t\t\t\t \t\t\t\t if(\$("#form_{$element->form_id}").data('form_submitting') === true){ \t\t\t\t \t\tupload_all_files(); \t\t\t\t\t } \t\t\t\t }, \t\t\t\t'onComplete' : function(event, ID, fileObj, response, data) { \t\t\t\t\tvar is_valid_response = false; \t\t\t\t\ttry{ \t\t\t\t\t\tvar response_json = jQuery.parseJSON(response); \t\t\t\t\t\tis_valid_response = true; \t\t\t\t\t}catch(e){ \t\t\t\t\t\tis_valid_response = false; \t\t\t\t\t} \t\t\t\t\t \t\t\t\t\tif(is_valid_response == true && response_json.status == "ok"){ \t\t\t\t\t\tvar remove_link = "<a href=\\"javascript:remove_attachment('" + response_json.message + "',{$element->form_id},{$element->id},'element_{$element->id}" + ID + "',0,'{$file_token}');\\"><img border=\\"0\\" src=\\"{$machform_path}images/icons/delete.png\\" /></a>"; \t\t\t\t\t\t\$("#element_{$element->id}" + ID + " > div.cancel > a").replaceWith(remove_link); \t\t\t\t \$("#element_{$element->id}" + ID + " > span.fileName").prepend('<img align="absmiddle" class="file_attached" src="{$machform_path}images/icons/attach.gif">'); \t\t\t }else{ \t\t\t \t\$("#element_{$element->id}" + ID).addClass('uploadifyError'); \t\t\t \t\$("#element_{$element->id}" + ID + " div.cancel > a ").replaceWith('<img border="0" src="{$machform_path}images/icons/exclamation.png" />'); \t\t\t\t\t\t\$("#element_{$element->id}" + ID + " span.percentage").text(' - {$mf_lang['file_error_upload']}'); \t\t\t\t\t} \t\t\t } \t\t }); \t }else{ \t \t\$("#element_{$element->id}_token").remove(); \t\t } }); </script> <input type="hidden" id="element_{$element->id}_token" name="element_{$element->id}_token" value="{$file_token}" /> <a id="element_{$element->id}_upload_link" style="display: none" href="javascript:\$('#element_{$element->id}').uploadifyUpload();">{$mf_lang['file_attach']}</a> EOT; $file_queue = "<div id=\"element_{$element->id}_queue\" class=\"file_queue\">{$queue_content}</div>"; } if (!empty($queue_content)) { $file_queue = "<div id=\"element_{$element->id}_queue\" class=\"file_queue uploadifyQueue\">{$queue_content}</div>"; } //build the li class if (!empty($el_class)) { foreach ($el_class as $value) { $li_class .= $value . ' '; } $li_class = 'class="' . rtrim($li_class) . '"'; } $element_markup = <<<EOT \t\t<li id="li_{$element->id}" {$li_class}> \t\t<label class="description" for="element_{$element->id}">{$element->title} {$span_required}</label> \t\t<div> \t\t\t<input id="element_{$element->id}" name="element_{$element->id}" class="element file" type="file" /> \t\t\t{$file_queue} \t\t\t{$uploader_script} \t\t</div>{$file_option} {$guidelines} {$error_message} \t\t</li> EOT; return $element_markup; }
function mf_get_entry_details($dbh, $form_id, $entry_id, $options = array()) { $mf_settings = mf_get_settings($dbh); $admin_clause = ''; if (!empty($options['review_mode'])) { //hide admin fields in review page $admin_clause = ' and element_is_private=0 '; } if (!empty($options['checkbox_image'])) { $checkbox_image = $options['checkbox_image']; } else { $checkbox_image = $options['machform_path'] . 'images/icons/checkbox_16.gif'; } //get form elements $query = "select \r\n\t\t\t\t\t\t element_id,\r\n\t\t\t\t\t\t element_type,\r\n\t\t\t\t\t\t element_constraint,\r\n\t\t\t\t\t\t element_title,\r\n\t\t\t\t\t\t element_file_as_attachment,\r\n\t\t\t\t\t\t element_time_showsecond,\r\n\t\t\t\t\t\t element_time_24hour,\r\n\t\t\t\t\t\t (select if(element_matrix_parent_id=0,\r\n\t\t\t\t\t\t\t \t\telement_matrix_allow_multiselect,\r\n\t\t\t\t\t\t\t\t\t(select \r\n\t\t\t\t\t\t\t\t\t\t\tB.element_matrix_allow_multiselect \r\n\t\t\t\t\t\t\t\t\t from \r\n\t\t\t\t\t\t\t\t\t \t\t" . MF_TABLE_PREFIX . "form_elements B \r\n\t\t\t\t\t\t\t\t\t where \r\n\t\t\t\t\t\t\t\t\t \t\tB.form_id=A.form_id and \r\n\t\t\t\t\t\t\t\t\t \t\tB.element_id=A.element_matrix_parent_id\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t )\r\n\t\t\t\t\t\t ) matrix_multiselect_status \r\n\t\t\t\t\t from \r\n\t\t\t\t\t \t `" . MF_TABLE_PREFIX . "form_elements` A\r\n\t\t\t\t\twhere \r\n\t\t\t\t\t\t form_id=? and \r\n\t\t\t\t\t\t element_status = 1 and\r\n\t\t\t\t\t\t element_type <> 'section'\r\n\t\t\t\t\t\t {$admin_clause} \r\n\t\t\t\t order by \r\n\t\t\t\t \t\t element_position asc"; $params = array($form_id); $sth = mf_do_query($query, $params, $dbh); $i = 0; while ($row = mf_do_fetch_result($sth)) { $form_elements[$i]['element_id'] = $row['element_id']; $form_elements[$i]['element_type'] = $row['element_type']; $form_elements[$i]['element_constraint'] = $row['element_constraint']; $form_elements[$i]['element_file_as_attachment'] = $row['element_file_as_attachment']; $form_elements[$i]['element_time_showsecond'] = $row['element_time_showsecond']; $form_elements[$i]['element_time_24hour'] = $row['element_time_24hour']; $form_elements[$i]['element_matrix_allow_multiselect'] = $row['matrix_multiselect_status']; //store element title into array for reference later $element_title_lookup[$row['element_id']] = $row['element_title']; $i++; } if (!empty($options['review_mode'])) { $table_suffix = '_review'; } else { $table_suffix = ''; } //get whole entry for current id $query = "select * from `" . MF_TABLE_PREFIX . "form_{$form_id}{$table_suffix}` where id=? limit 1"; $params = array($entry_id); $sth = mf_do_query($query, $params, $dbh); $row = mf_do_fetch_result($sth); foreach ($row as $column_name => $column_data) { $entry_data[$column_name] = htmlspecialchars($column_data, ENT_QUOTES); } //get form element options $query = "select element_id,option_id,`option` from " . MF_TABLE_PREFIX . "element_options where form_id=? and live=1 order by position asc"; $params = array($form_id); $sth = mf_do_query($query, $params, $dbh); while ($row = mf_do_fetch_result($sth)) { $element_id = $row['element_id']; $option_id = $row['option_id']; $element_option_lookup[$element_id][$option_id] = $row['option']; //array index will hold option_id } //get element options for matrix fields $query = "select \r\n\t\t\t\t\t\tA.element_id,\r\n\t\t\t\t\t\tA.option_id,\r\n\t\t\t\t\t\t(select if(B.element_matrix_parent_id=0,A.option,\r\n\t\t\t\t\t\t\t(select \r\n\t\t\t\t\t\t\t\t\tC.`option` \r\n\t\t\t\t\t\t\t from \r\n\t\t\t\t\t\t\t \t\t" . MF_TABLE_PREFIX . "element_options C \r\n\t\t\t\t\t\t\t where \r\n\t\t\t\t\t\t\t \t\tC.element_id=B.element_matrix_parent_id and \r\n\t\t\t\t\t\t\t \t\tC.form_id=A.form_id and \r\n\t\t\t\t\t\t\t \t\tC.live=1 and \r\n\t\t\t\t\t\t\t \t\tC.option_id=A.option_id))\r\n\t\t\t\t\t\t) 'option_label'\r\n\t\t\t\t\tfrom \r\n\t\t\t\t\t\t" . MF_TABLE_PREFIX . "element_options A left join " . MF_TABLE_PREFIX . "form_elements B on (A.element_id=B.element_id and A.form_id=B.form_id)\r\n\t\t\t\t where \r\n\t\t\t\t \t\tA.form_id=? and A.live=1 and B.element_type='matrix' and B.element_status=1\r\n\t\t\t\torder by \r\n\t\t\t\t\t\tA.element_id,A.option_id asc"; $params = array($form_id); $sth = mf_do_query($query, $params, $dbh); while ($row = mf_do_fetch_result($sth)) { $element_id = $row['element_id']; $option_id = $row['option_id']; $matrix_element_option_lookup[$element_id][$option_id] = htmlspecialchars($row['option_label'], ENT_QUOTES); } //loop through each element to get the values $i = 0; foreach ($form_elements as $element) { $element_type = $element['element_type']; $element_id = $element['element_id']; $element_constraint = $element['element_constraint']; $element_file_as_attachment = $element['element_file_as_attachment']; $element_time_24hour = $element['element_time_24hour']; $element_time_showsecond = $element['element_time_showsecond']; $element_matrix_allow_multiselect = $element['element_matrix_allow_multiselect']; $entry_details[$i]['label'] = $element_title_lookup[$element_id]; $entry_details[$i]['value'] = ' '; //default value $entry_details[$i]['element_id'] = $element_id; $entry_details[$i]['element_type'] = $element_type; if ('simple_name' == $element_type) { //Simple Name - 2 elements $simple_name_value = trim($entry_data['element_' . $element_id . '_1'] . ' ' . $entry_data['element_' . $element_id . '_2']); if (!empty($simple_name_value)) { $entry_details[$i]['value'] = $simple_name_value; } } elseif ('simple_name_wmiddle' == $element_type) { //Simple Name with Middle - 3 elements $simple_name_wmiddle_value = trim($entry_data['element_' . $element_id . '_1'] . ' ' . $entry_data['element_' . $element_id . '_2'] . ' ' . $entry_data['element_' . $element_id . '_3']); if (!empty($simple_name_wmiddle_value)) { $entry_details[$i]['value'] = $simple_name_wmiddle_value; } } elseif ('name' == $element_type) { //Extended Name - 4 elements $name_value = trim($entry_data['element_' . $element_id . '_1'] . ' ' . $entry_data['element_' . $element_id . '_2'] . ' ' . $entry_data['element_' . $element_id . '_3'] . ' ' . $entry_data['element_' . $element_id . '_4']); if (!empty($name_value)) { $entry_details[$i]['value'] = $name_value; } } elseif ('name_wmiddle' == $element_type) { //Extended Name with Middle- 5 elements $name_wmiddle_value = trim($entry_data['element_' . $element_id . '_1'] . ' ' . $entry_data['element_' . $element_id . '_2'] . ' ' . $entry_data['element_' . $element_id . '_3'] . ' ' . $entry_data['element_' . $element_id . '_4'] . ' ' . $entry_data['element_' . $element_id . '_5']); if (!empty($name_wmiddle_value)) { $entry_details[$i]['value'] = $name_wmiddle_value; } } elseif ('time' == $element_type) { //Time - 4 elements //convert into time and split into 4 elements if (!empty($entry_data['element_' . $element_id]) && $entry_data['element_' . $element_id] != '00:00:00') { $time_value = $entry_data['element_' . $element_id]; if (!empty($element_time_24hour)) { if (!empty($element_time_showsecond)) { $time_value = date("H:i:s", strtotime($time_value)); } else { $time_value = date("H:i", strtotime($time_value)); } } else { if (!empty($element_time_showsecond)) { $time_value = date("h:i:s A", strtotime($time_value)); } else { $time_value = date("h:i A", strtotime($time_value)); } } $entry_details[$i]['value'] = $time_value; } } elseif ('address' == $element_type) { //Address - 6 elements if (!empty($entry_data['element_' . $element_id . '_3'])) { $entry_data['element_' . $element_id . '_3'] = $entry_data['element_' . $element_id . '_3'] . ','; } $entry_details[$i]['value'] = $entry_data['element_' . $element_id . '_1'] . ' ' . $entry_data['element_' . $element_id . '_2'] . '<br />' . $entry_data['element_' . $element_id . '_3'] . ' ' . $entry_data['element_' . $element_id . '_4'] . ' ' . $entry_data['element_' . $element_id . '_5'] . '<br />' . $entry_data['element_' . $element_id . '_6']; //if empty, shows blank instead of breaks if (trim(str_replace("<br />", "", $entry_details[$i]['value'])) == "") { $entry_details[$i]['value'] = ' '; } } elseif ('money' == $element_type) { //Price switch ($element_constraint) { case 'pound': $currency = '£'; break; case 'euro': $currency = '€'; break; case 'yen': $currency = '¥'; break; case 'baht': $currency = '฿'; break; case 'rupees': $currency = 'Rs'; break; case 'rand': $currency = 'R'; break; case 'forint': $currency = 'Ft'; break; case 'franc': $currency = 'CHF'; break; case 'koruna': $currency = 'Kč'; break; case 'krona': $currency = 'kr'; break; case 'pesos': $currency = '$'; break; case 'ringgit': $currency = 'RM'; break; case 'zloty': $currency = 'zł'; break; case 'riyals': $currency = '﷼'; break; default: $currency = '$'; break; } if (!empty($entry_data['element_' . $element_id]) || $entry_data['element_' . $element_id] === 0 || $entry_data['element_' . $element_id] === '0') { $entry_details[$i]['value'] = $currency . $entry_data['element_' . $element_id]; } } elseif ('date' == $element_type) { //date with format MM/DD/YYYY if (!empty($entry_data['element_' . $element_id]) && $entry_data['element_' . $element_id] != '0000-00-00') { $date_value = $entry_data['element_' . $element_id]; $date_value = date("M d, Y", strtotime($date_value)); $entry_details[$i]['value'] = $date_value; } } elseif ('europe_date' == $element_type) { //date with format DD/MM/YYYY if (!empty($entry_data['element_' . $element_id]) && $entry_data['element_' . $element_id] != '0000-00-00') { $date_value = $entry_data['element_' . $element_id]; $date_value = date("d M Y", strtotime($date_value)); $entry_details[$i]['value'] = $date_value; } } elseif ('phone' == $element_type) { //Phone - 3 elements $phone_value = $entry_data['element_' . $element_id]; $phone_1 = substr($phone_value, 0, 3); $phone_2 = substr($phone_value, 3, 3); $phone_3 = substr($phone_value, -4); if (!empty($phone_value)) { $entry_details[$i]['value'] = "({$phone_1}) {$phone_2}-{$phone_3}"; } } elseif ('checkbox' == $element_type) { //Checkbox - multiple elements $checkbox_childs = $element_option_lookup[$element_id]; $checkbox_content = ''; if ($checkbox_childs) { foreach ($checkbox_childs as $option_id => $option_label) { if (!empty($entry_data['element_' . $element_id . '_' . $option_id])) { if (empty($options['strip_checkbox_image'])) { $checkbox_content .= '<img src="' . $checkbox_image . '" align="absmiddle" /> ' . $option_label . '<br />'; } else { $checkbox_content .= '- ' . $option_label . '<br />'; } } } } if (!empty($entry_data['element_' . $element_id . '_other'])) { if (empty($options['strip_checkbox_image'])) { $checkbox_content .= '<img src="' . $checkbox_image . '" align="absmiddle" /> ' . $entry_data['element_' . $element_id . '_other']; } else { $checkbox_content .= '- ' . $entry_data['element_' . $element_id . '_other']; } } if (!empty($checkbox_content)) { $entry_details[$i]['value'] = $checkbox_content; } } elseif ('file' == $element_type) { //File $filename_record = $entry_data['element_' . $element_id]; $filename_array = array(); if (!empty($filename_record)) { $filename_array = explode('|', $filename_record); } if (!empty($filename_array)) { $entry_details[$i]['value'] = ''; $j = 0; foreach ($filename_array as $filename_value) { $filename_md5 = md5($filename_value); $filename_path = $options['machform_data_path'] . $mf_settings['upload_dir'] . "/form_{$form_id}/files/{$filename_value}.tmp"; if (!file_exists($filename_path)) { $filename_path = $options['machform_data_path'] . $mf_settings['upload_dir'] . "/form_{$form_id}/files/{$filename_value}"; } $file_size = @mf_format_bytes(filesize($filename_path)); $file_1 = substr($filename_value, strpos($filename_value, '-') + 1); $filename_value = substr($file_1, strpos($file_1, '-') + 1); //encode the long query string for more readibility $q_string = base64_encode("form_id={$form_id}&id={$entry_id}&el=element_{$element_id}&hash={$filename_md5}"); if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') { $ssl_suffix = 's'; } else { $ssl_suffix = ''; } //'show_attach_image' is being called on review page if (!empty($options['show_attach_image'])) { //trim filename if more than 30 characters if (strlen($filename_value) > 30) { $filename_value = substr($filename_value, 0, 30) . "..."; } $entry_details[$i]['value'] .= '<img src="' . $options['machform_path'] . 'images/icons/185.png" align="absmiddle" style="vertical-align: middle" /> ' . "{$filename_value} ({$file_size})<br/>"; } else { //provide a markup to download the file if (!empty($options['machform_base_path'])) { //if the form is called from advanced form code $entry_details[$i]['value'] .= '<img src="' . $options['machform_path'] . 'images/icons/185.png" align="absmiddle" style="vertical-align: middle" /> <a class="entry_link" href="' . $options['machform_base_path'] . 'download.php?q=' . $q_string . '">' . $filename_value . '</a><br/>'; } else { $entry_details[$i]['value'] .= '<img src="' . $options['machform_path'] . 'images/icons/185.png" align="absmiddle" style="vertical-align: middle" /> <a class="entry_link" href="http' . $ssl_suffix . '://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/download.php?q=' . $q_string . '">' . $filename_value . '</a><br/>'; } if (!empty($options['strip_download_link'])) { $entry_details[$i]['value'] .= $filename_value . '<br/>'; } if (!empty($element_file_as_attachment)) { $entry_details[$i]['filedata'][$j]['filename_path'] = $filename_path; $entry_details[$i]['filedata'][$j]['filename_value'] = $filename_value; } } $j++; } $entry_details[$i]['value'] = rtrim($entry_details[$i]['value'], '<br/>'); } } elseif ('select' == $element_type) { if (!empty($entry_data['element_' . $element_id])) { $entry_details[$i]['value'] = $element_option_lookup[$element_id][$entry_data['element_' . $element_id]]; } } elseif ('radio' == $element_type) { if (!empty($entry_data['element_' . $element_id])) { $entry_details[$i]['value'] = $element_option_lookup[$element_id][$entry_data['element_' . $element_id]]; } else { if (!empty($entry_data['element_' . $element_id . '_other'])) { $entry_details[$i]['value'] = $entry_data['element_' . $element_id . '_other']; } else { $entry_details[$i]['value'] = ' '; } } } elseif ('matrix' == $element_type) { if (!empty($element_matrix_allow_multiselect)) { //this is checkbox matrix $checkbox_childs = $element_option_lookup[$element_id]; $checkbox_content = ''; foreach ($checkbox_childs as $option_id => $option_label) { if (!empty($entry_data['element_' . $element_id . '_' . $option_id])) { if (empty($options['strip_checkbox_image'])) { $checkbox_content .= '<img src="' . $checkbox_image . '" align="absmiddle" /> ' . $option_label . '<br />'; } else { $checkbox_content .= '- ' . $option_label . '<br />'; } } } if (!empty($entry_data['element_' . $element_id . '_other'])) { $checkbox_content .= '<img src="' . $checkbox_image . '" align="absmiddle" /> ' . $entry_data['element_' . $element_id . '_other']; } if (!empty($checkbox_content)) { $entry_details[$i]['value'] = $checkbox_content; } } else { //this is radio matrix if (!empty($entry_data['element_' . $element_id])) { $entry_details[$i]['value'] = $matrix_element_option_lookup[$element_id][$entry_data['element_' . $element_id]]; } else { $entry_details[$i]['value'] = ' '; } } } elseif ('url' == $element_type) { if (!empty($entry_data['element_' . $element_id])) { $entry_details[$i]['value'] = "<a class=\"entry_link\" href=\"{$entry_data['element_' . $element_id]}\">{$entry_data['element_' . $element_id]}</a>"; } } elseif ('page_break' == $element_type) { $entry_details[$i]['value'] = 'mf_page_break'; $entry_details[$i]['label'] = 'mf_page_break'; } else { //element with only 1 input if (isset($entry_data['element_' . $element_id])) { $entry_details[$i]['value'] = $entry_data['element_' . $element_id]; } } $i++; } return $entry_details; }