name; $i++; } $row = do_fetch_result($result); //store the result into array for($i=0;$i<$fields_num;$i++){ $column_name = $columns[$i]; $entry_data[$column_name] = htmlspecialchars($row[$column_name],ENT_QUOTES); } //get form element options $query = "select element_id,option_id,`option` from ap_element_options where form_id='$form_id' and live=1"; $result = do_query($query); while($row = do_fetch_result($result)){ $element_id = $row['element_id']; $option_id = $row['option_id']; $element_option_lookup[$element_id][$option_id] = true; //array index will hold option_id } //loop through each element to get the values foreach ($form_elements as $element){ $element_type = $element['element_type']; $element_id = $element['element_id']; $element_constraint = $element['element_constraint']; if('simple_name' == $element_type){ //Simple Name - 2 elements $form_values['element_'.$element_id.'_1']['default_value'] = $entry_data['element_'.$element_id.'_1']; $form_values['element_'.$element_id.'_2']['default_value'] = $entry_data['element_'.$element_id.'_2']; }elseif ('name' == $element_type){ //Extended Name - 4 elements $form_values['element_'.$element_id.'_1']['default_value'] = $entry_data['element_'.$element_id.'_1']; $form_values['element_'.$element_id.'_2']['default_value'] = $entry_data['element_'.$element_id.'_2']; $form_values['element_'.$element_id.'_3']['default_value'] = $entry_data['element_'.$element_id.'_3']; $form_values['element_'.$element_id.'_4']['default_value'] = $entry_data['element_'.$element_id.'_4']; }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]; $time_value = date("h/i/s/A",strtotime($time_value)); $exploded = array(); $exploded = explode('/',$time_value); $form_values['element_'.$element_id.'_1']['default_value'] = $exploded[0]; $form_values['element_'.$element_id.'_2']['default_value'] = $exploded[1]; $form_values['element_'.$element_id.'_3']['default_value'] = $exploded[2]; $form_values['element_'.$element_id.'_4']['default_value'] = $exploded[3]; } }elseif ('address' == $element_type){ //Address - 6 elements $form_values['element_'.$element_id.'_1']['default_value'] = $entry_data['element_'.$element_id.'_1']; $form_values['element_'.$element_id.'_2']['default_value'] = $entry_data['element_'.$element_id.'_2']; $form_values['element_'.$element_id.'_3']['default_value'] = $entry_data['element_'.$element_id.'_3']; $form_values['element_'.$element_id.'_4']['default_value'] = $entry_data['element_'.$element_id.'_4']; $form_values['element_'.$element_id.'_5']['default_value'] = $entry_data['element_'.$element_id.'_5']; $form_values['element_'.$element_id.'_6']['default_value'] = $entry_data['element_'.$element_id.'_6']; }elseif ('money' == $element_type){ //Price if($element_constraint == 'yen'){ //yen only has 1 element $form_values['element_'.$element_id]['default_value'] = $entry_data['element_'.$element_id]; }else{ //other has 2 fields $exploded = array(); $exploded = explode('.',$entry_data['element_'.$element_id]); $form_values['element_'.$element_id.'_1']['default_value'] = $exploded[0]; $form_values['element_'.$element_id.'_2']['default_value'] = $exploded[1]; } }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)); $exploded = array(); $exploded = explode('/',$date_value); $form_values['element_'.$element_id.'_1']['default_value'] = $exploded[0]; $form_values['element_'.$element_id.'_2']['default_value'] = $exploded[1]; $form_values['element_'.$element_id.'_3']['default_value'] = $exploded[2]; } }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)); $exploded = array(); $exploded = explode('/',$date_value); $form_values['element_'.$element_id.'_1']['default_value'] = $exploded[0]; $form_values['element_'.$element_id.'_2']['default_value'] = $exploded[1]; $form_values['element_'.$element_id.'_3']['default_value'] = $exploded[2]; } }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); $form_values['element_'.$element_id.'_1']['default_value'] = $phone_1; $form_values['element_'.$element_id.'_2']['default_value'] = $phone_2; $form_values['element_'.$element_id.'_3']['default_value'] = $phone_3; }elseif ('checkbox' == $element_type){ //Checkbox - multiple elements $checkbox_childs = $element_option_lookup[$element_id]; foreach ($checkbox_childs as $option_id=>$dumb){ $form_values['element_'.$element_id.'_'.$option_id]['default_value'] = $entry_data['element_'.$element_id.'_'.$option_id]; } }elseif ('file' == $element_type){ //File $filename_value = $entry_data['element_'.$element_id]; if(!empty($filename_value)){ $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}"); //special for file,just provide a markup to download or delete the file if($use_review_table == false){ $form_values['element_'.$element_id]['default_value'] =<< {$filename_value}   Download | Delete EOT; }else{ //if using review table, only show attached filename and delete file if(strpos($_SERVER['REQUEST_URI'],'?') === false){ $href_url = $_SERVER['REQUEST_URI']."?delete_file={$element_id}"; }else{ $href_url = $_SERVER['REQUEST_URI']."&delete_file={$element_id}"; } $form_values['element_'.$element_id]['default_value'] =<< {$filename_value}   Delete EOT; } } }else{ //element with only 1 input $form_values['element_'.$element_id]['default_value'] = $entry_data['element_'.$element_id]; } } return $form_values; } //get an array containing values from respective table for certain id //similar to get_entry_values() function, but this one is higher level and include labels function get_entry_details($form_id,$entry_id,$options=array()){ $admin_clause = ''; if(!empty($options['review_mode'])){ //hide admin fields in review page $admin_clause = ' and element_is_private=0 '; } //get form elements $query = "select element_id, element_type, element_constraint, element_title from `ap_form_elements` where form_id='$form_id' and element_type <> 'section' {$admin_clause} order by element_position asc"; $result = do_query($query); $i=0; while($row = do_fetch_result($result)){ $form_elements[$i]['element_id'] = $row['element_id']; $form_elements[$i]['element_type'] = $row['element_type']; $form_elements[$i]['element_constraint'] = $row['element_constraint']; //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 `ap_form_{$form_id}{$table_suffix}` where id='$entry_id' limit 1"; $result = do_query($query); //get actual field name from selected table $i = 0; $fields_num = mysql_num_fields($result); while($i < $fields_num){ $meta = mysql_fetch_field($result, $i); $columns[$i] = $meta->name; $i++; } $row = do_fetch_result($result); //store the result into array for($i=0;$i<$fields_num;$i++){ $column_name = $columns[$i]; $entry_data[$column_name] = htmlspecialchars($row[$column_name],ENT_QUOTES); } //get form element options $query = "select element_id,option_id,`option` from ap_element_options where form_id='$form_id' and live=1 order by position asc"; $result = do_query($query); while($row = do_fetch_result($result)){ $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 } //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']; $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 ('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 ('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($element_constraint == 'show_seconds'){ $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'].'
'.$entry_data['element_'.$element_id.'_3'].' '.$entry_data['element_'.$element_id.'_4'].' '.$entry_data['element_'.$element_id.'_5'].'
'.$entry_data['element_'.$element_id.'_6']; //if empty, shows blank instead of breaks if(trim(str_replace("
","",$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; 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 = ''; 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 .= ' '.$option_label.'
'; }else{ $checkbox_content .= '- '.$option_label.'
'; } } } if(!empty($checkbox_content)){ $entry_details[$i]['value'] = $checkbox_content; } }elseif ('file' == $element_type){ //File $filename_value = $entry_data['element_'.$element_id]; if(!empty($filename_value)){ $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}"); if(!empty($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] != 'off')){ $ssl_suffix = 's'; }else{ $ssl_suffix = ''; } //special for file,just provide a markup to download or delete the file if(!empty($options['machform_base_path'])){ //if the form is called from advanced form code $entry_details[$i]['value'] = ' '.$filename_value.''; }else{ $entry_details[$i]['value'] = ' '.$filename_value.''; } if(!empty($options['strip_download_link'])){ $entry_details[$i]['value'] = $filename_value; } if(!empty($options['show_attach_image'])){ $entry_details[$i]['value'] = ' '.$filename_value; } } }elseif('select' == $element_type || 'radio' == $element_type){ if(!empty($entry_data['element_'.$element_id])){ $entry_details[$i]['value'] = $element_option_lookup[$element_id][$entry_data['element_'.$element_id]]; } }elseif ('url' == $element_type){ if(!empty($entry_data['element_'.$element_id])){ $entry_details[$i]['value'] = "{$entry_data['element_'.$element_id]}"; } }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; } //delete a file element from an entry function delete_file_entry($form_id,$entry_id,$element_id){ //delete actual file $query = "select element_{$element_id} from `ap_form_{$form_id}` where id='$entry_id'"; $result = do_query($query); $row = do_fetch_result($result); $filename = $row['element_'.$element_id]; @unlink(UPLOAD_DIR."/form_{$form_id}/files/".$filename); //delete from table $query = "update `ap_form_{$form_id}` set element_{$element_id}=NULL where id='$entry_id'"; do_query($query); } //delete a file element from an entry in review table function delete_review_file_entry($form_id,$entry_id,$element_id,$options=array()){ //delete actual file $query = "select element_{$element_id} from `ap_form_{$form_id}_review` where id='$entry_id'"; $result = do_query($query); $row = do_fetch_result($result); $filename = $row['element_'.$element_id].'.tmp'; @unlink($options['machform_data_path'].UPLOAD_DIR."/form_{$form_id}/files/".$filename); //delete from table $query = "update `ap_form_{$form_id}_review` set element_{$element_id}=NULL where id='$entry_id'"; do_query($query); } //delete multiple entries and related uploads (if any) function delete_entries($form_id,$entries_id){ //delete from table $deleted_entry_id_joined = implode("','",$entries_id); do_query("delete from `ap_form_{$form_id}` where id in('{$deleted_entry_id_joined}')"); //get the element id for file fields $query = "select element_id from ap_form_elements where element_type='file' and form_id='{$form_id}'"; $result = do_query($query); while($row = do_fetch_result($result)){ $file_element_id_array[] = $row['element_id']; } //delete the files from data folder if(!empty($file_element_id_array)){ foreach ($entries_id as $entry_id){ foreach ($file_element_id_array as $element_id){ $filename = array(); $filename = glob(UPLOAD_DIR."/form_{$form_id}/files/element_{$element_id}_*-{$entry_id}-*"); @unlink($filename[0]); } } } return true; } ?>