Пример #1
0
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;
}
Пример #2
0
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'] = '&nbsp;';
        //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'] = '&nbsp;';
            }
        } elseif ('money' == $element_type) {
            //Price
            switch ($element_constraint) {
                case 'pound':
                    $currency = '&#163;';
                    break;
                case 'euro':
                    $currency = '&#8364;';
                    break;
                case 'yen':
                    $currency = '&#165;';
                    break;
                case 'baht':
                    $currency = '&#3647;';
                    break;
                case 'rupees':
                    $currency = 'Rs';
                    break;
                case 'rand':
                    $currency = 'R';
                    break;
                case 'forint':
                    $currency = '&#70;&#116;';
                    break;
                case 'franc':
                    $currency = 'CHF';
                    break;
                case 'koruna':
                    $currency = '&#75;&#269;';
                    break;
                case 'krona':
                    $currency = 'kr';
                    break;
                case 'pesos':
                    $currency = '&#36;';
                    break;
                case 'ringgit':
                    $currency = 'RM';
                    break;
                case 'zloty':
                    $currency = '&#122;&#322;';
                    break;
                case 'riyals':
                    $currency = '&#65020;';
                    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" />&nbsp;' . "{$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" />&nbsp;<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" />&nbsp;<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'] = '&nbsp;';
                }
            }
        } 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'] = '&nbsp;';
                }
            }
        } 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;
}