/**
* print_profile_fields
*
* prints profile input fields in right format;
* used in object/user/group/etc edit-popup window;
* prints 2 columns: 1) profile label 2) input field
*
* Note: function "print_profile_fields()" is used for EDITING profile fields,
* function "format_profile_values()" is used for just SHOWING profile fields
*
* @package CMS
*
* @param array field_values - array of object values, $field_values['field_name'] = $field_value
* @param array profile_fields - array of profile fields, already unserialized data
* @param fields_width - width of cell, where field located. Can be used as integer or with % (150 or 50%)
* @param boolean return_fields - 0: print hml (default); 1: return fields html as array
*
*/
function print_profile_fields()
{
    global $site;
    $args = func_get_arg(0);
    $profile_fields = $args['profile_fields'];
    $field_values = $args['field_values'];
    $fields_width = $args['fields_width'] ? $args['fields_width'] : '';
    $return_fields = $args['return_fields'] ? true : false;
    $load_defaults = $args['load_defaults'] ? true : false;
    $fields_html = array();
    ## for gathering fields html into array (if "return_fields" is true)
    $row_html = '';
    ## row html generated in this function
    $field_html = '';
    ## one field html generated in this function
    $form_error = $site->fdat['form_error'];
    # is array of errors, keys are fieldnames and values are error messages
    ###################
    # loop over attributes / profile fields
    if (is_array($profile_fields)) {
        foreach ($profile_fields as $field => $value) {
            $field = strtolower($field);
            #Bug #2560
            # if field is active
            if ($value['is_active']) {
                ########## label
                if ($value['sys_sona'] && $value['sys_sona_tyyp']) {
                    $label = $site->sys_sona(array('sona' => $value['sys_sona'], 'tyyp' => $value['sys_sona_tyyp'], 'lang_id' => $site->glossary_id));
                } else {
                    $label = $site->sys_sona(array('sona' => $value['name'], 'tyyp' => "custom", 'lang_id' => $site->glossary_id));
                }
                $label = $label != '[' . $profile_info["name"] . ']' ? $label : '';
                # kui s???steemis???na puudub
                ########### value
                # 1) if page was saved and field has error then show uncorrect field value
                if ($form_error[$field]) {
                    $field_values[$field] = $site->fdat[$field];
                } elseif ($site->fdat['refresh']) {
                    ##			$field_values[$field] =  $site->fdat[$field];
                }
                # for select lists, get profile id
                $source_profile_id = $value['source_object'];
                ####################
                # get selectlist
                $sel_list = array();
                if ($source_profile_id) {
                    # mis on tabeli nimi??
                    ## get profile -st tabeli nimi!!
                    $sql_table = $site->db->prepare("SELECT source_table FROM object_profiles WHERE profile_id =?", $source_profile_id);
                    $sth_table = new SQL($sql_table);
                    list($source_profile_table) = $sth_table->fetch();
                    #print "--".$source_profile_table."--";
                    ########### get all users
                    if ($source_profile_table == 'users') {
                        # if data source is system table "users"
                        $sql_select = $site->db->prepare("\r\n\t\t\t\t\tSELECT CONCAT(users.firstname,' ',users.lastname) AS pealkiri, users.user_id AS id\r\n\t\t\t\t\tFROM users WHERE profile_id LIKE ?\r\n\t\t\t\t\tORDER BY pealkiri ", $source_profile_id == '38' ? '%' : $source_profile_id);
                    } elseif (substr($source_profile_table, 0, 4) == 'ext_') {
                        # prefix is "ext_"
                        $sql_select = $site->db->prepare("\r\n\t\t\t\t\tSELECT name AS pealkiri, id\r\n\t\t\t\t\tFROM " . $source_profile_table . "\r\n\t\t\t\t\tWHERE profile_id LIKE ?\r\n\t\t\t\t\tORDER BY name ", $source_profile_id);
                    } elseif ($source_profile_table == 'obj_asset') {
                        # for compability with version 3: field "varchar_1" is used as additional field for title (for same title values). bug #1582
                        if (version_compare($site->cms_min_version, "4.0.0") < 0) {
                            # if coming from version 3
                            $select_add = ", obj_asset.varchar_1 as pealkiri2";
                        }
                        #NB! maha v???etud: WHERE ---> objekt.keel=? AND <---   + $site->keel,
                        # Bug #2611
                        $sql_select = $site->db->prepare("\r\n\t\t\t\t\tSELECT objekt.pealkiri,obj_asset.objekt_id AS id " . $select_add . "\r\n\t\t\t\t\tFROM objekt\r\n\t\t\t\t\tLEFT JOIN objekt_objekt on objekt.objekt_id=objekt_objekt.objekt_id\r\n\t\t\t\t\tLEFT JOIN obj_asset on objekt.objekt_id=obj_asset.objekt_id\r\n\t\t\t\t\tWHERE objekt.tyyp_id=? AND obj_asset.profile_id=? AND objekt_objekt.parent_id<>?\r\n\t\t\t\t\tORDER BY objekt.pealkiri ", "20", $source_profile_id, $site->alias("trash"));
                    } elseif ($source_profile_table == 'obj_artikkel') {
                        $sql_select = $site->db->prepare("\r\n\t\t\t\t\tSELECT objekt.pealkiri,obj_artikkel.objekt_id AS id " . $select_add . "\r\n\t\t\t\t\tFROM objekt\r\n\t\t\t\t\tLEFT JOIN objekt_objekt on objekt.objekt_id=objekt_objekt.objekt_id\r\n\t\t\t\t\tLEFT JOIN obj_artikkel on objekt.objekt_id=obj_artikkel.objekt_id\r\n\t\t\t\t\tWHERE objekt.tyyp_id=? AND obj_artikkel.profile_id=? AND objekt_objekt.parent_id<>?\r\n\t\t\t\t\tORDER BY objekt.pealkiri ", "2", $source_profile_id, $site->alias("trash"));
                    }
                    # if source_object
                    #print $sql_select;
                    $sth_select = new SQL($sql_select);
                    ######## 1. add record to array
                    $tmp_title = '';
                    while ($tmp = $sth_select->fetch()) {
                        # if asset titles are equal, then remember these titles
                        if ($tmp_title == $tmp['pealkiri']) {
                            $rememb_titles[] = $tmp['pealkiri'];
                        }
                        $sel_list[] = $tmp;
                        $tmp_title = $tmp['pealkiri'];
                    }
                    # while asset list
                    #printr($rememb_titles);
                    ######### 2. rare case (for compability with version 3): if asset titles are equal, then show additional title after / symbol
                    # ( info is taken from the field obj_asset.varchar_1)
                    for ($i = 0; $i < sizeof($sel_list); $i++) {
                        if (is_array($rememb_titles) && in_array($sel_list[$i]['pealkiri'], $rememb_titles)) {
                            # get additional asset name:
                            $sql_select2 = $site->db->prepare("SELECT objekt.pealkiri FROM objekt \t\t\t\tLEFT JOIN objekt_objekt on objekt.objekt_id=objekt_objekt.objekt_id\t\t\t\t\tLEFT JOIN obj_asset on objekt.objekt_id=obj_asset.objekt_id\tWHERE objekt.keel=? AND objekt.tyyp_id=? AND objekt_objekt.parent_id<>? AND objekt.objekt_id=?\tORDER BY objekt_objekt.sorteering DESC ", $site->keel, "20", $site->alias("trash"), $sel_list[$i]['pealkiri2']);
                            $sth_select2 = new SQL($sql_select2);
                            $tmp_pealkiri2 = $sth_select2->fetchsingle();
                            if ($tmp_pealkiri2) {
                                $sel_list[$i]['pealkiri'] .= ' / ' . $tmp_pealkiri2;
                            }
                        }
                        # rare case: if titles are equal
                    }
                    # 2. if asset titles are equal
                }
                # / get selectlist
                ####################
                # set FIELDNAME: html fieldname can be given as parameter, usually its the same with field value. or with prefix
                if ($value['html_fieldname']) {
                    $fieldname = $value['html_fieldname'];
                } else {
                    $fieldname = $field;
                }
                # set FIELDVALUE: if error then show previous value, if no error => show object value or default value
                # fixed Bug #2044: Profiili v???lja vaikev??????rtus ei m???junud tavalise tekstiv???lja korral
                if (($site->fdat['op'] == 'new' || $load_defaults) && $value['default_value']) {
                    $fieldvalue = $value['default_value'];
                    # default value
                } elseif ($site->fdat['op'] == 'new' && $site->fdat[$field]) {
                    $fieldvalue = $site->fdat[$field];
                } elseif ($field_values[$field] && !$form_error[$field] || $field_values[$field] == "0") {
                    # fixed Bug #2600: Profiilis kohustuslikuks m��ratud v�lja ei saa sisestada v��rtuseks 0
                    $fieldvalue = $field_values[$field];
                    # object value
                } else {
                    # if error
                    $fieldvalue = $site->fdat[$fieldname];
                    # entered form value
                }
                ########################### START ROW HTML
                $row_html = '<tr>';
                ######## LABEL + required #######
                $row_html .= '<td nowrap valign=top>' . ($value['is_required'] ? '*' : '') . $label . ':' . '<input type=hidden name="required_' . $fieldname . '" value="' . $value['is_required'] . '"></td>';
                ####### FIELD #######
                $row_html .= '<td width="100%">';
                $field_html = '';
                #### 1) kui v???li pole read-only, siis n???ita input elementi:
                if (!$value['is_readonly']) {
                    #### vali vastavalt t??????bile ???ige html v???ljastuskuju: #####
                    ########### TEXTAREA ###########
                    if ($value['type'] == "TEXTAREA") {
                        # replace line breaks
                        $fieldvalue = str_replace("<br />", "\n", $fieldvalue);
                        $fieldvalue = str_replace("<br>", "\n", $fieldvalue);
                        /* bug #2230 */
                        $field_html = '<textarea name="' . $fieldname . '" id="' . $field . '" rows="10" style="width:100%">' . stripslashes($fieldvalue) . '</textarea>';
                        ########### SELECT ###########
                    } elseif ($value['type'] == "SELECT") {
                        $field_html = '<select name="' . $fieldname . '" id="' . $field . '" style="width:100%">
				<option value="" ' . ($field_values[$field] ? "" : "selected") . '></option>';
                        foreach ($sel_list as $sel_item) {
                            $field_html .= '<option value="' . $sel_item['id'] . '" ' . ($fieldvalue == $sel_item['id'] || ($site->fdat['op'] == 'new' || $load_defaults) && $value['default_value'] == $sel_item['id'] ? "selected" : "") . '>' . htmlspecialchars(stripslashes($sel_item['pealkiri'])) . '</option>';
                        }
                        $field_html .= '</select>';
                        ########### MULTIPLE SELECT ###########
                    } elseif ($value['type'] == "MULTIPLE SELECT") {
                        $field_html = '<select name="' . $fieldname . '[]" id="' . $field . '" multiple style="WIDTH: 99%; height: 70px" size=7>';
                        foreach ($sel_list as $sel_item) {
                            $field_html .= '<option value="' . $sel_item['id'] . '" ' . (in_array($sel_item['id'], split(",", $fieldvalue)) ? "selected" : "") . '>' . htmlspecialchars(stripslashes($sel_item['pealkiri'])) . '</option>';
                        }
                        $field_html .= '</select>';
                        ########### BROWSE ###########
                    } elseif ($value['type'] == "BROWSE") {
                        ##### DISABLE invalid data sources by disabling browse button:
                        # right now allow BROWSE only for system table "users" and "groups",
                        # because similar file to "admin/select_group.php" is always needed to open browse popup
                        if (!($source_profile_table == 'users' || $source_profile_table == 'groups')) {
                            $disabled = ' disabled';
                        }
                        if (!$value) {
                            # if default value was passed as parameter
                            $value = $site->fdat[$fieldname];
                        }
                        ####### show value : user readable value
                        $show_value = $field_values[$field];
                        # show value: if data source is system table "users" or "groups", do extra splitting
                        if ($source_profile_table == 'users' || $source_profile_table == 'groups') {
                            # split value 'user_id:65' or 'group_id:20'
                            list($sel_type, $sel_id) = split(":", $field_values[$field]);
                            if ($sel_type == 'group_id') {
                                $group = new Group(array(group_id => $sel_id));
                                $show_value = $group->name;
                            } elseif ($sel_type == 'user_id') {
                                $user = new User(array(user_id => $sel_id));
                                $show_value = $user->name;
                            }
                            # if user ID
                        }
                        ####### / show value : user readable value
                        $js = "javascript:void(openpopup('" . $site->CONF['wwwroot'] . $site->CONF['adm_path'] . "/select_group.php?select_one=1&paste2box=" . $fieldname . "&pastename2box=tmptmp_" . $fieldname . "','selectgroup','500','500'))";
                        $field_html = '<input type="text" name="tmptmp_' . $fieldname . '" id="tmptmp_' . $fieldname . '" value="' . $show_value . '" class="scms_flex_input" style="width:80%" onchange="javascript:if(this.value==\'\'){document.getElementById(\'' . $fieldname . '\').value=\'\';}"><input type="hidden" name="' . $fieldname . '" id="' . $fieldname . '" value="' . $field_values[$field] . '">&nbsp;<INPUT TYPE="button" value="..." onclick="' . $js . '" ' . $disabled . '>';
                        ########### RADIO ###########
                    } elseif ($value['type'] == "RADIO") {
                        $field_html = '<table border="0" cellspacing="0" cellpadding="0">';
                        foreach ($sel_list as $sel_item) {
                            $z++;
                            $field_html .= '<tr>
                <td style="padding:0px">
				<input id="' . $fieldname . $z . '" type=radio name="' . $fieldname . '" value="' . $sel_item['id'] . '" ' . (in_array($sel_item['id'], split(",", $fieldvalue)) || ($site->fdat['op'] == 'new' || $load_defaults) && $value['default_value'] == $sel_item['id'] ? "checked" : "") . '>
				</td>
                <td style="padding:0px"><label for="' . $fieldname . $z . '">' . htmlspecialchars(stripslashes($sel_item['pealkiri'])) . '</label></td>
			  </tr>';
                        }
                        $field_html .= '</table>';
                        ########### CHECKBOX ###########
                    } elseif ($value['type'] == "CHECKBOX") {
                        $field_html = '<table border="0" cellspacing="0" cellpadding="0">';
                        foreach ($sel_list as $sel_item) {
                            $z++;
                            ########### undocumented feature: field with value "[separator]" is seprating line
                            if ($sel_item['pealkiri'] == '[separator]') {
                                $field_html .= '<tr><td colspan=2 style="padding:0px"><hr "size=1px"></td></tr>';
                            } else {
                                $field_html .= '<tr>
                <td style="padding:0px"><input id="' . $fieldname . $z . '" type=checkbox name="' . $fieldname . '[]" value="' . $sel_item['id'] . '" ' . (in_array($sel_item['id'], split(",", $fieldvalue)) || ($site->fdat['op'] == 'new' || $load_defaults) && $value['default_value'] == $sel_item['id'] ? "checked" : "") . '>
					</td>
		            <td style="padding:0px"><label for="' . $fieldname . $z . '">' . htmlspecialchars(stripslashes($sel_item['pealkiri'])) . '</label></td>
			  </tr>';
                            }
                        }
                        $field_html .= '</table>';
                        ########### BOOLEAN ###########
                    } elseif ($value['type'] == "BOOLEAN") {
                        $field_html = '<table border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td style="padding:0px">
				<input type=checkbox id="tmptmp_' . $fieldname . '" name="tmptmp_' . $fieldname . '" value="1" ' . ($fieldvalue || ($site->fdat['op'] == 'new' || $load_defaults) && $value['default_value'] ? "checked" : "") . ' onclick="if(this.checked){document.getElementById(\'' . $fieldname . '\').value=\'1\';}else {document.getElementById(\'' . $fieldname . '\').value=\'0\';}">
				<input type=hidden id="' . $fieldname . '" name="' . $fieldname . '" value="' . ($fieldvalue || ($site->fdat['op'] == 'new' || $load_defaults) && $value['default_value'] ? "1" : "0") . '">
				</td>
                <td style="padding:0px"><label for="tmptmp_' . $fieldname . '">' . $site->sys_sona(array(sona => "yes", tyyp => "editor")) . '</label></td>
			  </tr>
			</table>';
                        ########### FILE ###########
                    } elseif ($value['type'] == "FILE") {
                        // setup file insert
                        $_SESSION['scms_filemanager_settings']['scms_profile_file_' . $fieldname] = array('select_mode' => 1, 'action_text' => $site->sys_sona(array('sona' => 'fm_choose_file_into_profile_field', 'tyyp' => 'editor')), 'action_trigger' => $site->sys_sona(array('sona' => 'fm_insert_file_into_profile_field', 'tyyp' => 'editor')), 'callback' => 'window.opener.profile_file_callback_' . $fieldname);
                        $field_html = '<script type="text/javascript">var filemanager; function profile_file_callback_' . $fieldname . '(data) { document.getElementById("' . $fieldname . '").value = ".." + data.files[0].folder + "/" + data.files[0].filename; filemanager.window.close();}</script>
			<table border="0" cellspacing="0" cellpadding="0" width="100%">
              <tr>
                <td style="padding:0px" width="90%">
					<input type="text" id="' . $fieldname . '" name="' . $fieldname . '" value="' . $fieldvalue . '" class="scms_flex_input" style="' . ($fields_width ? "width:" . $fields_width : "") . '">
				</td>
				<td style="padding:0px">
					<a href="javascript:void(0);" onclick="filemanager = openpopup(\'' . $site->CONF['wwwroot'] . '/admin/filemanager.php?setup=scms_profile_file_' . $fieldname . '\',\'filemanager\', 980, 600);"><IMG title="' . $site->sys_sona(array(sona => "nupp: Lisa pilt", tyyp => "editor")) . '"  alt="" src="' . $site->CONF['wwwroot'] . $site->CONF['adm_img_path'] . '/image.gif"  border=0></a>
				</td>
			  </tr>
			</table>';
                        ########### DATE ###########
                    } elseif ($value['type'] == "DATE") {
                        $date = $fieldvalue;
                        ### format date but only if there's no error and the date is not already formatted
                        $date = $date && $date != '0000-00-00' ? !$form_error[$field] && !strpos($date, '.') ? $site->db->MySQL_ee($date) : $date : ($date = "");
                        $field_html = '<table border="0" cellspacing="0" cellpadding="0">
              <tr>';
                        ######### date box
                        $field_html .= '<td style="padding:0px">
					<input type="text" id="' . $fieldname . '" name="' . $fieldname . '" value="' . $date . '" class="scms_flex_input" style="width:80px; text-align: right;">
				</td>
                <td style="padding:0px">&nbsp;</td>';
                        ######### calendar
                        $field_html .= '<td style="padding:0px"><a href="#"><img src="' . $site->CONF['wwwroot'] . $site->CONF['styles_path'] . '/gfx/calendar/cal.gif" width="16" height="15" hspace="4" border="0" alt="Calendar" onclick="init_datepicker(\'' . $fieldname . '\')"></a></td>
              </tr>
            </table>';
                        ########### DATETIME ###########
                    } elseif ($value['type'] == "DATETIME") {
                        ### format date but only if there's no error and the date is not already formatted
                        $datetime = $fieldvalue;
                        $datetime = $datetime && $datetime != '0000-00-00 00:00:00' ? !$form_error[$field] && !strpos($datetime, '.') ? $site->db->MySQL_ee_long($datetime) : $datetime : "";
                        # datetime is now in format dd.mm.yyyy hh:mm => split it
                        if (!$form_error[$field]) {
                            $date = substr($datetime, 0, 10);
                            $time = substr($datetime, 11, 5);
                        } else {
                            //split from space
                            $date = trim(substr($datetime, 0, strpos($datetime, ' ')));
                            $time = trim(substr($datetime, strpos($datetime, ' ')));
                        }
                        $field_html = '<table border="0" cellspacing="0" cellpadding="0">
              <tr>';
                        ######### generate result refreshing js
                        $refresh_result = 'document.getElementById(\'' . $fieldname . '\').value=document.getElementById(\'tmp_datedate' . $fieldname . '\').value+ \' \'+document.getElementById(\'tmp_time' . $fieldname . '\').value';
                        ######### date box
                        $field_html .= '<td style="padding:0px">
					<input type="text" id="tmp_datedate' . $fieldname . '" name="tmp_datedate' . $fieldname . '" value="' . $date . '" class="scms_flex_input" style="width:80px; text-align: right;" onkeyup="' . $refresh_result . '" onfocus="' . $refresh_result . '" onblur="' . $refresh_result . '">
				</td>
                <td style="padding:0px">&nbsp;</td>';
                        ######### time box
                        $field_html .= '<td style="padding:0px">
                  <input type="text" id="tmp_time' . $fieldname . '" name="tmp_time' . $fieldname . '"  class="scms_flex_input" style="width:40px; text-align: right;" value="' . $time . '" onkeyup="' . $refresh_result . '" onblur="' . $refresh_result . '">';
                        ######### hidden field with result value
                        $field_html .= ' <input type="hidden" id="' . $fieldname . '" name="' . $fieldname . '" value="' . $datetime . '" >
                </td>';
                        ######### calendar
                        $field_html .= '<td style="padding:0px"><a href="#" onblur="' . $refresh_result . '" onclick="init_datepicker(\'tmp_datedate' . $fieldname . '\')"><img src="' . $site->CONF['wwwroot'] . $site->CONF['styles_path'] . '/gfx/calendar/cal.gif" width="16" height="15" hspace="4" border="0" alt="Calendar"></a></td>
              </tr>
            </table>';
                        ########### INTEGER/FLOAT => TEXT (short) ###########
                    } elseif ($value['db_type'] == "integer" || $value['db_type'] == "float") {
                        $field_html = '<input type="text" name="' . $fieldname . '" id="' . $fieldname . '" value="' . htmlspecialchars(stripslashes($fieldvalue)) . '" class="scms_flex_input" style="width:80px; text-align: right;">';
                        ########### addition type PASSWORD ###########
                    } elseif ($value['type'] == "password" || $value['name'] == 'password') {
                        $field_html = '<input type="password" name="' . $fieldname . '" id="' . $fieldname . '" value="" class="scms_flex_input" style="' . ($fields_width ? "width:" . $fields_width : "") . '">';
                        ########### else => TEXT (long) ###########
                    } else {
                        $field_html = '<input type="text" name="' . $fieldname . '" id="' . $fieldname . '" value="' . htmlspecialchars(stripslashes($fieldvalue)) . '" class="scms_flex_input" style="' . ($fields_width ? "width:" . $fields_width : "") . '">';
                    }
                    ######## error message ######
                    $field_html .= $form_error[$field] ? '<br><font color=red><b>' . $form_error[$field] . '</b></font>' : '';
                } else {
                    $formatted_values = format_profile_values(array("profile_data" => $args['profile_fields'], "data" => $args['field_values']));
                    $field_html = $formatted_values[$value['name']];
                    ## show hidden field with correct value
                    if ($value['type'] == "DATE") {
                        $fieldvalue = $fieldvalue ? $site->db->MySQL_ee($fieldvalue) : "";
                    } elseif ($value['type'] == "DATETIME") {
                        $fieldvalue = $fieldvalue ? $site->db->MySQL_ee_long($fieldvalue) : "";
                    }
                    #			elseif($value['type'] == "BOOLEAN") {
                    #				$fieldvalue = ($fieldvalue == $site->sys_sona(array(sona => "yes", tyyp=>"editor")) ? 1 : 0);
                    #			}
                    $field_html .= '<input type="hidden" name="' . $fieldname . '" value="' . htmlspecialchars(stripslashes($fieldvalue)) . '">';
                }
                # if read-only
                ####### / field html
                $row_html .= $field_html;
                $row_html .= '</td></tr>';
                ########################### / END ROW HTML
                ### depending on parameter "return_fields" either print html out or gather into variable
                if ($return_fields) {
                    # gather variable
                    $fields_html[$value['name']] = $field_html;
                } else {
                    echo $row_html;
                }
                # print html or save it
            }
            # if active
            ### reset html values
            $field_html = '';
            $row_html = '';
        }
        # foreach
    }
    # if array
    # / loop over attributes
    ###################
    if ($return_fields) {
        # if gather variable
        return $fields_html;
        # return html-array
    }
}
                echo $href;
                ?>
"><?php 
                echo $asset['pealkiri'] ? $asset['pealkiri'] : '&nbsp;';
                echo $buttons;
                ?>
</a></td>
			<?php 
            }
            # asset 'pealkiri' cell
            ?>
			<?php 
            if (is_array($profile_data)) {
                # if is array
                ######### get field values in right format
                $formatted_values = format_profile_values(array("profile_data" => &$profile_data, "data" => &$asset));
                #########################
                # loop over asset fields
                foreach ($profile_data as $field => $value) {
                    # if field is active
                    if ($value['is_active']) {
                        ########## field value
                        $field_value = $formatted_values[$field];
                        if (strlen($field_value) > 50) {
                            #  strip if necessary
                            $field_value = substr($field_value, 0, 50) . "...";
                        }
                        # Bug #2567: FILE v�li ajab html-i katki
                        ?>
				<td  width="<?php 
                        echo $td_width;