';
/* get experiment list */
$query = db_select('esim_circuit_simulation_submitted_abstracts');
$query->fields('esim_circuit_simulation_submitted_abstracts');
$query->condition('proposal_id', $proposal_data->id);
$abstracts_q = $query->execute()->fetchObject();
if ($abstracts_q)
{
if ($abstracts_q->is_submitted == 1)
{
drupal_set_message(t('Your abstract is under review, you can not edit exisiting abstract without reviewer permission.'), 'error', $repeat = FALSE);
//drupal_goto('circuit-simulation-project/abstract-code');
//return;
} //$abstracts_q->is_submitted == 1
} //$abstracts_q
$query_pro = db_select('esim_circuit_simulation_proposal');
$query_pro->fields('esim_circuit_simulation_proposal');
$query_pro->condition('id', $proposal_data->id);
$abstracts_pro = $query_pro->execute()->fetchObject();
$query_pdf = db_select('esim_circuit_simulation_submitted_abstracts_file');
$query_pdf->fields('esim_circuit_simulation_submitted_abstracts_file');
$query_pdf->condition('proposal_id', $proposal_data->id);
$query_pdf->condition('filetype', 'A');
$abstracts_pdf = $query_pdf->execute()->fetchObject();
if ($abstracts_pdf == TRUE)
{
if ($abstracts_pdf->filename != "NULL" || $abstracts_pdf->filename != "")
{
$abstract_filename = $abstracts_pdf->filename;
} //$abstracts_pdf->filename != "NULL" || $abstracts_pdf->filename != ""
else
{
$abstract_filename = "File not uploaded";
}
} //$abstracts_pdf == TRUE
else
{
$abstract_filename = "File not uploaded";
}
$query_process = db_select('esim_circuit_simulation_submitted_abstracts_file');
$query_process->fields('esim_circuit_simulation_submitted_abstracts_file');
$query_process->condition('proposal_id', $proposal_data->id);
$query_process->condition('filetype', 'S');
$abstracts_query_process = $query_process->execute()->fetchObject();
if ($abstracts_query_process == TRUE)
{
if ($abstracts_query_process->filename != "NULL" || $abstracts_query_process->filename != "")
{
$abstracts_query_process_filename = $abstracts_query_process->filename;
} //$abstracts_query_process->filename != "NULL" || $abstracts_query_process->filename != ""
else
{
$abstracts_query_process_filename = "File not uploaded";
}
if ($abstracts_q->is_submitted == '')
{
$url = l('Upload abstract', 'circuit-simulation-project/abstract-code/upload');
} //$abstracts_q->is_submitted == ''
else if ($abstracts_q->is_submitted == 1)
{
$url = "";
} //$abstracts_q->is_submitted == 1
else if ($abstracts_q->is_submitted == 0)
{
$url = l('Edit abstract', 'circuit-simulation-project/abstract-code/upload');
} //$abstracts_q->is_submitted == 0
if ($abstracts_q->unit_operations_used_in_esim == '')
{
$unit_operations_used_in_esim = "Not entered";
} //$abstracts_q->unit_operations_used_in_esim == ''
else
{
$unit_operations_used_in_esim = $abstracts_q->unit_operations_used_in_esim;
}
if ($abstracts_q->thermodynamic_packages_used == '')
{
$thermodynamic_packages_used = "Not entered";
} //$abstracts_q->thermodynamic_packages_used == ''
else
{
$thermodynamic_packages_used = $abstracts_q->thermodynamic_packages_used;
}
if ($abstracts_q->logical_blocks_used == '')
{
$logical_blocks_used = "Not entered";
} //$abstracts_q->logical_blocks_used == ''
else
{
$logical_blocks_used = $abstracts_q->logical_blocks_used;
}
} //$abstracts_query_process == TRUE
else
{
$url = l('Upload abstract', 'circuit-simulation-project/abstract-code/upload');
$unit_operations_used_in_esim = "Not entered";
$thermodynamic_packages_used = "Not entered";
$logical_blocks_used = "Not entered";
$abstracts_query_process_filename = "File not uploaded";
}
$headers = array(
"Name of compound for which process development is carried out",
"CAS No."
);
$rows = array();
$item = array(
"{$proposal_data->process_development_compound_name}",
"{$proposal_data->process_development_compound_cas_number}"
);
array_push($rows, $item);
$prodata = theme('table', array(
'header' => $headers,
'rows' => $rows
));
$uploaded_user_defined_compound_filepath = basename($proposal_data->user_defined_compound_filepath) ? basename($proposal_data->user_defined_compound_filepath) : "Not uploaded";
$return_html .= 'Proposer Name: ' . $proposal_data->name_title . ' ' . $proposal_data->contributor_name . ' ';
$return_html .= 'Title of the Flowsheet Project: ' . $proposal_data->project_title . ' ';
$return_html .= 'eSim version: ' . $proposal_data->version . ' ';
$return_html .= 'Unit Operations used in eSim: ' . $unit_operations_used_in_esim . ' ';
$return_html .= 'Thermodynamic Packages Used: ' . $thermodynamic_packages_used . ' ';
$return_html .= 'Logical Blocks used: ' . $logical_blocks_used . ' ';
$return_html .= 'Name of compound for which process development is carried out: ' . $prodata . ' ';
$return_html .= 'List of compounds from eSim Database used in process circuit simulation: ' . $proposal_data->esim_database_compound_name . ' ';
$return_html .= 'List of user defined compounds used in process circuit simulation: ' . _circuit_simulation_list_of_user_defined_compound($proposal_data->id) . ' ';
$return_html .= 'Uploaded user defined compound file: ' . $uploaded_user_defined_compound_filepath . ' ';
$return_html .= 'Uploaded an abstract (brief outline) of the project: ' . $abstract_filename . ' ';
$return_html .= 'Upload the eSim circuit simulation for the developed process: ' . $abstracts_query_process_filename . ' ';
$return_html .= $url . ' ';
return $return_html;
}
function circuit_simulation_upload_abstract_code_form($form, &$form_state)
{
global $user;
$form['#attributes'] = array(
'enctype' => "multipart/form-data"
);
/* get current proposal */
//$proposal_id = (int) arg(3);
$uid = $user->uid;
//$proposal_q = db_query("SELECT * FROM {circuit_simulation_proposal} WHERE id = %d", $proposal_id);
$query = db_select('circuit_simulation_proposal');
$query->fields('circuit_simulation_proposal');
$query->condition('uid', $uid);
$query->condition('approval_status', '1');
$proposal_q = $query->execute();
if ($proposal_q)
{
if ($proposal_data = $proposal_q->fetchObject())
{
/* everything ok */
} //$proposal_data = $proposal_q->fetchObject()
else
{
drupal_set_message(t('Invalid proposal selected. Please try again.'), 'error');
drupal_goto('circuit-simulation-project/abstract-code');
return;
}
} //$proposal_q
else
{
drupal_set_message(t('Invalid proposal selected. Please try again.'), 'error');
drupal_goto('circuit-simulation-project/abstract-code');
return;
}
$query = db_select('circuit_simulation_submitted_abstracts');
$query->fields('circuit_simulation_submitted_abstracts');
$query->condition('proposal_id', $proposal_data->id);
$abstracts_q = $query->execute()->fetchObject();
if ($abstracts_q)
{
if ($abstracts_q->is_submitted == 1)
{
drupal_set_message(t('Your abstract is under review, you can not edit exisiting abstract without reviewer permission.'), 'error', $repeat = FALSE);
drupal_goto('circuit-simulation-project/abstract-code');
//return;
} //$abstracts_q->is_submitted == 1
} //$abstracts_q->is_submitted == 1
$form['project_title'] = array(
'#type' => 'item',
'#markup' => $proposal_data->project_title,
'#title' => t('Title of the Flowsheet Project')
);
$form['version'] = array(
'#type' => 'item',
'#title' => t('eSim version'),
'#markup' => $proposal_data->version
);
if ($abstracts_q == TRUE)
{
if ($abstracts_q->unit_operations_used_in_esim)
{
$existing_unit_operations_used_in_esim = default_value_for_selections("unit_operations_used_in_esim", $proposal_data->id);
$form['unit_operations_used_in_esim'] = array(
'#type' => 'select',
'#title' => t('Unit Operations used in eSim'),
'#options' => _df_list_of_unit_operations(),
'#required' => TRUE,
'#default_value' => $existing_unit_operations_used_in_esim,
'#size' => '20',
'#multiple' => TRUE,
'#description' => t('[You can select multiple options by holding ctrl + left key of mouse]')
);
} //$abstracts_q->unit_operations_used_in_esim
} //$abstracts_q->unit_operations_used_in_esim
else
{
$form['unit_operations_used_in_esim'] = array(
'#type' => 'select',
'#title' => t('Unit Operations used in eSim'),
'#options' => _df_list_of_unit_operations(),
'#required' => TRUE,
'#size' => '20',
'#multiple' => TRUE,
'#description' => t('[You can select multiple options by holding ctrl + left key of mouse]')
);
}
if ($abstracts_q == TRUE)
{
if ($abstracts_q->thermodynamic_packages_used)
{
$existing_thermodynamic_packages_used = default_value_for_selections("thermodynamic_packages_used", $proposal_data->id);
$form['thermodynamic_packages_used'] = array(
'#type' => 'select',
'#title' => t('Thermodynamic Packages Used'),
'#options' => _df_list_of_thermodynamic_packages(),
'#required' => TRUE,
'#size' => '20',
'#default_value' => $existing_thermodynamic_packages_used,
'#multiple' => TRUE,
'#description' => t('[You can select multiple options by holding ctrl + left key of mouse]')
);
} //$abstracts_q->thermodynamic_packages_used
} //$abstracts_q == TRUE
else
{
$form['thermodynamic_packages_used'] = array(
'#type' => 'select',
'#title' => t('Thermodynamic Packages Used'),
'#options' => _df_list_of_thermodynamic_packages(),
'#required' => TRUE,
'#size' => '20',
'#multiple' => TRUE,
'#description' => t('[You can select multiple options by holding ctrl + left key of mouse]')
);
}
if ($abstracts_q == TRUE)
{
//var_dump($abstracts_q->logical_blocks_used);die;
if ($abstracts_q->logical_blocks_used != "Not entered")
{
$existing_logical_blocks_used = default_value_for_selections("logical_blocks_used", $proposal_data->id);
$form['logical_blocks_used'] = array(
'#type' => 'select',
'#title' => t('Logical Blocks used (If any)'),
'#options' => _df_list_of_logical_block(),
'#default_value' => $existing_logical_blocks_used,
'#multiple' => TRUE,
'#description' => t('[You can select multiple options by holding ctrl + left key of mouse]')
);
} //$abstracts_q->logical_blocks_used != "Not entered"
else
{
$form['logical_blocks_used'] = array(
'#type' => 'select',
'#title' => t('Logical Blocks used (If any)'),
'#options' => _df_list_of_logical_block(),
'#multiple' => TRUE,
'#description' => t('[You can select multiple options by holding ctrl + left key of mouse]')
);
}
} //$abstracts_q == TRUE
else
{
$form['logical_blocks_used'] = array(
'#type' => 'select',
'#title' => t('Logical Blocks used (If any)'),
'#options' => _df_list_of_logical_block(),
'#multiple' => TRUE,
'#description' => t('[You can select multiple options by holding ctrl + left key of mouse]')
);
}
$headers = array(
"Name of compound for which process development is carried out",
"CAS No."
);
$rows = array();
$item = array(
"{$proposal_data->process_development_compound_name}",
"{$proposal_data->process_development_compound_cas_number}"
);
array_push($rows, $item);
$prodata = theme('table', array(
'header' => $headers,
'rows' => $rows
));
$form['process_development_compound_name'] = array(
'#type' => 'item',
'#title' => t('Name of compound for which process development is carried out'),
'#markup' => $prodata
);
if ($proposal_data->esim_database_compound_name)
{
$existing_esim_database_compound_name = default_value_for_selections("esim_database_compound_name", $proposal_data->id);
$form['list_of_compounds_from_esim_database_used_in_process_circuit_simulation'] = array(
'#type' => 'select',
'#title' => t('List of compounds from eSim Database used in process circuit simulation'),
'#options' => _df_list_of_esim_compound(),
'#default_value' => $existing_esim_database_compound_name,
'#size' => '20',
'#multiple' => TRUE,
'#description' => t('[You can select multiple options by holding ctrl + left key of mouse]')
);
} //$proposal_data->esim_database_compound_name
else
{
$form['list_of_compounds_from_esim_database_used_in_process_circuit_simulation'] = array(
'#type' => 'slect',
'#title' => t('List of compounds from eSim Database used in process circuit simulation'),
'#options' => _df_list_of_esim_compound(),
'#size' => '20',
'#multiple' => TRUE
);
}
/////////////////////////////////////////////////////
//Edit user defiend compounds
$query_u = db_select('circuit_simulation_user_defined_compound');
$query_u->fields('circuit_simulation_user_defined_compound');
$query_u->condition('proposal_id', $proposal_data->id);
$result_u = $query_u->execute();
$num_of_user_defined_compounds_results = $result_u->rowCount();
$form['user_defined_compound_fieldset'] = array(
'#type' => 'fieldset',
'#tree' => TRUE,
'#prefix' => '
',
'#suffix' => '
'
);
if ($num_of_user_defined_compounds_results != 0)
{
$form_state['num_user_defined_compounds'] = $num_of_user_defined_compounds_results;
$temp = 0;
$i = 0;
while ($row_udc = $result_u->fetchObject())
{
$temp = $i;
$form['user_defined_compound_fieldset'][$i]["s_text"] = array(
"#type" => "item",
"#markup" => "User defined compounds : " . ($temp + 1) . " "
);
$form['user_defined_compound_fieldset'][$i]["udc_id"] = array(
"#type" => "hidden",
"#default_value" => $row_udc->id
);
$form['user_defined_compound_fieldset'][$i]["user_defined_compound"] = array(
"#type" => "textfield",
"#title" => "Name of the user defined compound",
"#default_value" => $row_udc->user_defined_compound
);
$form['user_defined_compound_fieldset'][$i]["cas_no"] = array(
"#type" => "textfield",
"#title" => "CAS No.",
"#default_value" => $row_udc->cas_no
);
$i++;
} //$row_udc = $result_u->fetchObject()
$form['user_defined_compound_fieldset']["user_defined_compound_count"] = array(
"#type" => "hidden",
"#value" => $temp
);
/*$form['user_defined_compound_fieldset']['add_user_defined_compounds'] = array(
'#type' => 'submit',
'#value' => t('Add more compounds'),
'#limit_validation_errors' => array(),
'#submit' => array(
'user_defined_compounds_add_more_add_one'
),
'#ajax' => array(
'callback' => 'user_defined_compounds_add_more_callback',
'wrapper' => 'user-defined-compounds-fieldset-wrapper'
)
);*/
////////////////////////////
$existing_uploaded_udc_file = default_value_for_uploaded_files("UDC", $proposal_data->id);
if (!$existing_uploaded_udc_file)
{
$existing_uploaded_udc_file = new stdClass();
$existing_uploaded_udc_file->filename = "No file uploaded";
} //!$existing_uploaded_udc_file
if (basename($existing_uploaded_udc_file->user_defined_compound_filepath) == 'NULL' || basename($existing_uploaded_udc_file->user_defined_compound_filepath) == '')
{
$udcfilename = 'No file uploaded';
} //basename($existing_uploaded_udc_file->user_defined_compound_filepath) == 'NULL' || basename($existing_uploaded_udc_file->user_defined_compound_filepath) == ''
else
{
$udcfilename = basename($existing_uploaded_udc_file->user_defined_compound_filepath);
}
$form['upload_an_udc'] = array(
'#type' => 'file',
'#title' => t('Upload an user defiend compound.'),
'#description' => t('Current File : ' . $udcfilename . ' Separate filenames with underscore. No spaces or any special characters allowed in filename.') . ' ' . t('Allowed file extensions : ') . variable_get('circuit_simulation_user_defind_compound_source_extensions', '') . ' '
);
/////////////////////////////
} //$num_of_user_defined_compounds_results != 0
else
{
if (empty($form_state['num_user_defined_compounds']))
{
$form_state['num_user_defined_compounds'] = 1;
} //empty($form_state['num_user_defined_compounds'])
$temp = 0;
for ($i = 0; $i < $form_state['num_user_defined_compounds']; $i++)
{
$temp = $i;
$form['user_defined_compound_fieldset'][$i]["s_text"] = array(
"#type" => "item",
"#markup" => "User defined compounds : " . ($temp + 1) . " "
);
$form['user_defined_compound_fieldset'][$i]["udc_id"] = array(
"#type" => "hidden",
"#default_value" => ""
);
$form['user_defined_compound_fieldset'][$i]["user_defined_compound"] = array(
"#type" => "textfield",
"#title" => "Name of the user defined compound",
"#default_value" => ""
);
$form['user_defined_compound_fieldset'][$i]["cas_no"] = array(
"#type" => "textfield",
"#title" => "CAS No.",
"#default_value" => ""
);
} //$i = 0; $i < $form_state['num_user_defined_compounds']; $i++
$form['user_defined_compound_fieldset']["user_defined_compound_count"] = array(
"#type" => "hidden",
"#value" => $temp
);
$form['user_defined_compound_fieldset']['add_user_defined_compounds'] = array(
'#type' => 'submit',
'#value' => t('Add more compounds'),
'#limit_validation_errors' => array(),
'#submit' => array(
'user_defined_compounds_add_more_add_one'
),
'#ajax' => array(
'callback' => 'user_defined_compounds_add_more_callback',
'wrapper' => 'user-defined-compounds-fieldset-wrapper'
)
);
if ($form_state['num_user_defined_compounds'] > 1)
{
$form['user_defined_compound_fieldset']['remove_user_defined_compounds'] = array(
'#type' => 'submit',
'#value' => t('Remove compounds'),
'#limit_validation_errors' => array(),
'#submit' => array(
'user_defined_compounds_add_more_remove_one'
),
'#ajax' => array(
'callback' => 'user_defined_compounds_add_more_remove_one',
'wrapper' => 'user-defined-compounds-fieldset-wrapper'
)
);
} //$form_state['num_user_defined_compounds'] > 1
$existing_uploaded_udc_file = default_value_for_uploaded_files("UDC", $proposal_data->id);
if (!$existing_uploaded_udc_file)
{
$existing_uploaded_udc_file = new stdClass();
$existing_uploaded_udc_file->filename = "No file uploaded";
} //!$existing_uploaded_udc_file
if (basename($existing_uploaded_udc_file->user_defined_compound_filepath) == 'NULL' || basename($existing_uploaded_udc_file->user_defined_compound_filepath) == '')
{
$udcfilename = 'No file uploaded';
} //basename($existing_uploaded_udc_file->user_defined_compound_filepath) == 'NULL' || basename($existing_uploaded_udc_file->user_defined_compound_filepath) == ''
else
{
$udcfilename = basename($existing_uploaded_udc_file->user_defined_compound_filepath);
}
$form['upload_an_udc'] = array(
'#type' => 'file',
'#title' => t('Upload an user defiend compound.'),
'#description' => t('Current File : ' . $udcfilename . ' Separate filenames with underscore. No spaces or any special characters allowed in filename.') . ' ' . t('Allowed file extensions : ') . variable_get('circuit_simulation_user_defind_compound_source_extensions', '') . ' '
);
if ($no_js_use)
{
if (!empty($form['user_defined_compound_fieldset']['remove_user_defined_compounds']['#ajax']))
{
unset($form['user_defined_compound_fieldset']['remove_user_defined_compounds']['#ajax']);
} //!empty($form['user_defined_compound_fieldset']['remove_user_defined_compounds']['#ajax'])
unset($form['user_defined_compound_fieldset']['add_user_defined_compounds']['#ajax']);
} //$no_js_use
}
//////////////////////////////////////////////////////
$existing_uploaded_A_file = default_value_for_uploaded_files("A", $proposal_data->id);
if (!$existing_uploaded_A_file)
{
$existing_uploaded_A_file = new stdClass();
$existing_uploaded_A_file->filename = "No file uploaded";
} //!$existing_uploaded_A_file
$form['upload_an_abstract'] = array(
'#type' => 'file',
'#title' => t('Upload an abstract (brief outline) of the project.'),
'#description' => t('Current File : ' . $existing_uploaded_A_file->filename . ' Separate filenames with underscore. No spaces or any special characters allowed in filename.') . ' ' . t('Allowed file extensions : ') . variable_get('circuit_simulation_abstract_upload_extensions', '') . ' '
);
$existing_uploaded_S_file = default_value_for_uploaded_files("S", $proposal_data->id);
if (!$existing_uploaded_S_file)
{
$existing_uploaded_S_file = new stdClass();
$existing_uploaded_S_file->filename = "No file uploaded";
} //!$existing_uploaded_S_file
$form['upload_circuit_simulation_developed_process'] = array(
'#type' => 'file',
'#title' => t('Upload the eSim circuit simulation for the developed process.'),
'#description' => t('Current File : ' . $existing_uploaded_S_file->filename . ' Separate filenames with underscore. No spaces or any special characters allowed in filename.') . ' ' . t('Allowed file extensions : ') . variable_get('circuit_simulation_circuit_simulation_developed_process_source_extensions', '') . ' '
);
$form['prop_id'] = array(
'#type' => 'hidden',
'#value' => $proposal_data->id
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
'#submit' => array(
'circuit_simulation_upload_abstract_code_form_submit'
)
);
$form['cancel'] = array(
'#type' => 'item',
'#markup' => l(t('Cancel'), 'circuit-simulation-project/manage-proposal')
);
return $form;
}
////////////////////////////////
function user_defined_compounds_add_more_callback($form, $form_state)
{
return $form['user_defined_compound_fieldset'];
}
function user_defined_compounds_add_more_add_one($form, &$form_state)
{
$form_state['num_user_defined_compounds']++;
$form_state['rebuild'] = TRUE;
//$form_state['no_redirect'] = TRUE;
}
function user_defined_compounds_add_more_remove_one($form, &$form_state)
{
if ($form_state['num_user_defined_compounds'] > 1)
{
$form_state['num_user_defined_compounds']--;
} //$form_state['num_user_defined_compounds'] > 1
$form_state['rebuild'] = TRUE;
}
///////////////////////////////////////////////////////////////
function circuit_simulation_upload_abstract_code_form_validate($form, &$form_state)
{
if ($form_state['values']['unit_operations_used_in_esim'])
{
$unit_operations_used_in_esim = implode(", ", $_POST['unit_operations_used_in_esim']);
$form_state['values']['unit_operations_used_in_esim'] = $unit_operations_used_in_esim;
} //$form_state['values']['unit_operations_used_in_esim']
else
{
form_set_error('unit_operations_used_in_esim', t('Please select.'));
}
if ($form_state['values']['thermodynamic_packages_used'])
{
$thermodynamic_packages_used = implode(", ", $_POST['thermodynamic_packages_used']);
$form_state['values']['thermodynamic_packages_used'] = $thermodynamic_packages_used;
} //$form_state['values']['thermodynamic_packages_used']
else
{
form_set_error('thermodynamic_packages_used', t('Please select.'));
}
if ($form_state['values']['logical_blocks_used'] != "")
{
$logical_blocks_used_in = $_POST['logical_blocks_used'];
if ($logical_blocks_used_in != "")
{
if ($logical_blocks_used_in)
{
$logical_blocks_used = implode(", ", $logical_blocks_used_in);
$form_state['values']['logical_blocks_used'] = $logical_blocks_used;
} //$form_state['values']['logical_blocks_used']
} //$logical_blocks_used_in != ""
else
{
$form_state['values']['logical_blocks_used'] = "Not entered";
}
} //$form_state['values']['logical_blocks_used']
else
{
$form_state['values']['logical_blocks_used'] = "Not entered";
}
if ($form_state['values']['list_of_compounds_from_esim_database_used_in_process_circuit_simulation'])
{
$list_of_compounds_from_esim_database_used_in_process_circuit_simulation = implode("| ", $_POST['list_of_compounds_from_esim_database_used_in_process_circuit_simulation']);
$form_state['values']['list_of_compounds_from_esim_database_used_in_process_circuit_simulation'] = $list_of_compounds_from_esim_database_used_in_process_circuit_simulation;
} //$form_state['values']['list_of_compounds_from_esim_database_used_in_process_circuit_simulation']
if (isset($_FILES['files']))
{
/* check if file is uploaded */
$existing_uploaded_A_file = default_value_for_uploaded_files("A", $form_state['values']['prop_id']);
$existing_uploaded_S_file = default_value_for_uploaded_files("S", $form_state['values']['prop_id']);
$existing_uploaded_udc_file = default_value_for_uploaded_files("UDC", $form_state['values']['prop_id']);
if (!$existing_uploaded_S_file)
{
if (!($_FILES['files']['name']['upload_circuit_simulation_developed_process']))
form_set_error('upload_circuit_simulation_developed_process', t('Please upload the file.'));
} //!$existing_uploaded_S_file
if (!$existing_uploaded_A_file)
{
if (!($_FILES['files']['name']['upload_an_abstract']))
form_set_error('upload_an_abstract', t('Please upload the file.'));
} //!$existing_uploaded_A_file
if (!$existing_uploaded_udc_file)
{
if (!($_FILES['files']['name']['upload_an_udc']))
form_set_error('upload_an_udc', t('Please upload the file.'));
} //!$existing_uploaded_udc_file
/* check for valid filename extensions */
if ($_FILES['files']['name']['upload_an_udc'] || $_FILES['files']['name']['upload_an_abstract'] || $_FILES['files']['name']['upload_circuit_simulation_developed_process'])
{
foreach ($_FILES['files']['name'] as $file_form_name => $file_name)
{
if ($file_name)
{
/* checking file type */
if (strstr($file_form_name, 'upload_circuit_simulation_developed_process'))
$file_type = 'S';
else if (strstr($file_form_name, 'upload_an_abstract'))
$file_type = 'A';
else if (strstr($file_form_name, 'upload_an_udc'))
$file_type = 'UDC';
else
$file_type = 'U';
$allowed_extensions_str = '';
switch ($file_type)
{
case 'S':
$allowed_extensions_str = variable_get('circuit_simulation_circuit_simulation_developed_process_source_extensions', '');
break;
case 'A':
$allowed_extensions_str = variable_get('circuit_simulation_abstract_upload_extensions', '');
break;
case 'UDC':
$allowed_extensions_str = variable_get('circuit_simulation_user_defind_compound_source_extensions', '');
break;
} //$file_type
$allowed_extensions = explode(',', $allowed_extensions_str);
$tmp_ext = explode('.', strtolower($_FILES['files']['name'][$file_form_name]));
$temp_extension = end($tmp_ext);
if (!in_array($temp_extension, $allowed_extensions))
form_set_error($file_form_name, t('Only file with ' . $allowed_extensions_str . ' extensions can be uploaded.'));
if ($_FILES['files']['size'][$file_form_name] <= 0)
form_set_error($file_form_name, t('File size cannot be zero.'));
/* check if valid file name */
if (!circuit_simulation_check_valid_filename($_FILES['files']['name'][$file_form_name]))
form_set_error($file_form_name, t('Invalid file name specified. Only alphabets and numbers are allowed as a valid filename.'));
} //$file_name
} //$_FILES['files']['name'] as $file_form_name => $file_name
} //$_FILES['files']['name'] as $file_form_name => $file_name
} //isset($_FILES['files'])
// drupal_add_js('jQuery(document).ready(function () { alert("Hello!"); });', 'inline');
// drupal_static_reset('drupal_add_js') ;
}
function circuit_simulation_upload_abstract_code_form_submit($form, &$form_state)
{
global $user;
$v = $form_state['values'];
$root_path = circuit_simulation_path();
$proposal_data = circuit_simulation_get_proposal();
$proposal_id = $proposal_data->id;
if (!$proposal_data)
{
drupal_goto('');
return;
} //!$proposal_data
$proposal_id = $proposal_data->id;
$proposal_directory = $proposal_data->directory_name;
/* create proposal folder if not present */
$dest_path = $proposal_directory . '/';
$dest_path_udc = $proposal_directory . '/user_defined_compound/';
if (!is_dir($root_path . $dest_path))
mkdir($root_path . $dest_path);
if ($proposal_data)
{
$query = "UPDATE {circuit_simulation_proposal} SET
esim_database_compound_name = :esim_database_compound_name
WHERE id = :proposal_id
";
$args = array(
":esim_database_compound_name" => $v['list_of_compounds_from_esim_database_used_in_process_circuit_simulation'],
":proposal_id" => $proposal_id
);
$submitted_proposal_id = db_query($query, $args, array(
'return' => Database::RETURN_INSERT_ID
));
} //$proposal_data
$proposal_id = $proposal_data->id;
$query_s = "SELECT * FROM {circuit_simulation_submitted_abstracts} WHERE proposal_id = :proposal_id";
$args_s = array(
":proposal_id" => $proposal_id
);
$query_s_result = db_query($query_s, $args_s)->fetchObject();
if (!$query_s_result)
{
/* creating solution database entry */
$query = "INSERT INTO {circuit_simulation_submitted_abstracts} (
proposal_id,
approver_uid,
abstract_approval_status,
unit_operations_used_in_esim,
thermodynamic_packages_used,
logical_blocks_used,
abstract_upload_date,
abstract_approval_date,
is_submitted) VALUES (:proposal_id, :approver_uid, :abstract_approval_status, :unit_operations_used_in_esim,
:thermodynamic_packages_used, :logical_blocks_used, :abstract_upload_date, :abstract_approval_date, :is_submitted)";
$args = array(
":proposal_id" => $proposal_id,
":approver_uid" => 0,
":abstract_approval_status" => 0,
":unit_operations_used_in_esim" => $v['unit_operations_used_in_esim'],
":thermodynamic_packages_used" => $v['thermodynamic_packages_used'],
":logical_blocks_used" => $v['logical_blocks_used'],
":abstract_upload_date" => time(),
":abstract_approval_date" => 0,
":is_submitted" => 0
);
$submitted_abstract_id = db_query($query, $args, array(
'return' => Database::RETURN_INSERT_ID
));
drupal_set_message('Abstract uploaded successfully.', 'status');
} //!$query_s_result
else
{
$query = "UPDATE {circuit_simulation_submitted_abstracts} SET
unit_operations_used_in_esim= :unit_operations_used_in_esim,
thermodynamic_packages_used= :thermodynamic_packages_used,
logical_blocks_used=:logical_blocks_used,
abstract_upload_date =:abstract_upload_date,
is_submitted= :is_submitted
WHERE proposal_id = :proposal_id
";
$args = array(
":unit_operations_used_in_esim" => $v['unit_operations_used_in_esim'],
":thermodynamic_packages_used" => $v['thermodynamic_packages_used'],
":logical_blocks_used" => $v['logical_blocks_used'],
":abstract_upload_date" => time(),
":is_submitted" => 0,
":proposal_id" => $proposal_id
);
$submitted_abstract_id = db_query($query, $args, array(
'return' => Database::RETURN_INSERT_ID
));
drupal_set_message('Abstract updated successfully.', 'status');
}
// For editing user defiend compounds
$user_defined_compoundupload = 0;
for ($i = 0; $i <= $v['user_defined_compound_fieldset']["user_defined_compound_count"]; $i++)
{
$udc_id = $v['user_defined_compound_fieldset'][$i]["udc_id"];
if ($udc_id != "")
{
if ($v['user_defined_compound_fieldset'][$i]["user_defined_compound"] != "")
{
$query = db_update('circuit_simulation_user_defined_compound');
$query->fields(array(
'user_defined_compound' => $v['user_defined_compound_fieldset'][$i]["user_defined_compound"],
'cas_no' => $v['user_defined_compound_fieldset'][$i]["cas_no"]
));
$query->condition('id', $v['user_defined_compound_fieldset'][$i]["udc_id"]);
$result = $query->execute();
if ($result != 0)
{
$user_defined_compoundupload++;
} //$result != 0
} //$v['user_defined_compound_fieldset'][$i]["user_defined_compound"] != ""
} //$udc_id != ""
else
{
if ($v['user_defined_compound_fieldset'][$i]["user_defined_compound"] != "")
{
$user_defined_compoundquery = "
INSERT INTO circuit_simulation_user_defined_compound
(proposal_id,user_defined_compound,cas_no)
VALUES
(:proposal_id,:user_defined_compound,:cas_no)
";
$user_defined_compoundargs = array(
":proposal_id" => $proposal_id,
":user_defined_compound" => $v['user_defined_compound_fieldset'][$i]["user_defined_compound"],
":cas_no" => $v['user_defined_compound_fieldset'][$i]["cas_no"]
);
/* storing the row id in $result */
$user_defined_compoundresult = db_query($user_defined_compoundquery, $user_defined_compoundargs, array(
'return' => Database::RETURN_INSERT_ID
));
if ($user_defined_compoundresult != 0)
{
$user_defined_compoundupload++;
} //$user_defined_compoundresult != 0
} //$v['user_defined_compound_fieldset'][$i]["user_defined_compound"] != ""
}
} //$i = 0; $i <= $v["user_defined_compound_count"]; $i++
/* uploading files */
foreach ($_FILES['files']['name'] as $file_form_name => $file_name)
{
if ($file_name)
{
/* checking file type */
if (strstr($file_form_name, 'upload_circuit_simulation_developed_process'))
{
$file_type = 'S';
} //strstr($file_form_name, 'upload_circuit_simulation_developed_process')
else if (strstr($file_form_name, 'upload_an_abstract'))
{
$file_type = 'A';
} //strstr($file_form_name, 'upload_an_abstract')
else if (strstr($file_form_name, 'upload_an_udc'))
{
$file_type = 'UDC';
} //strstr($file_form_name, 'upload_an_udc')
else
{
$file_type = 'U';
}
switch ($file_type)
{
case 'S':
if (file_exists($root_path . $dest_path . $_FILES['files']['name'][$file_form_name]))
{
//unlink($root_path . $dest_path . $_FILES['files']['name'][$file_form_name]);
drupal_set_message(t("File !filename already exists hence overwirtten the exisitng file ", array(
'!filename' => $_FILES['files']['name'][$file_form_name]
)), 'error');
} //file_exists($root_path . $dest_path . $_FILES['files']['name'][$file_form_name])
/* uploading file */
else if (move_uploaded_file($_FILES['files']['tmp_name'][$file_form_name], $root_path . $dest_path . $_FILES['files']['name'][$file_form_name]))
{
/* for uploaded files making an entry in the database */
$query_ab_f = "SELECT * FROM circuit_simulation_submitted_abstracts_file WHERE proposal_id = :proposal_id AND filetype =
:filetype";
$args_ab_f = array(
":proposal_id" => $proposal_id,
":filetype" => $file_type
);
$query_ab_f_result = db_query($query_ab_f, $args_ab_f)->fetchObject();
if (!$query_ab_f_result)
{
$query = "INSERT INTO {circuit_simulation_submitted_abstracts_file} (submitted_abstract_id, proposal_id, uid, approvar_uid, filename, filepath, filemime, filesize, filetype, timestamp)
VALUES (:submitted_abstract_id, :proposal_id, :uid, :approvar_uid, :filename, :filepath, :filemime, :filesize, :filetype, :timestamp)";
$args = array(
":submitted_abstract_id" => $submitted_abstract_id,
":proposal_id" => $proposal_id,
":uid" => $user->uid,
":approvar_uid" => 0,
":filename" => $_FILES['files']['name'][$file_form_name],
":filepath" => $_FILES['files']['name'][$file_form_name],
":filemime" => mime_content_type($root_path . $dest_path . $_FILES['files']['name'][$file_form_name]),
":filesize" => $_FILES['files']['size'][$file_form_name],
":filetype" => $file_type,
":timestamp" => time()
);
db_query($query, $args);
drupal_set_message($file_name . ' uploaded successfully.', 'status');
} //!$query_ab_f_result
else
{
unlink($root_path . $dest_path . $query_ab_f_result->filename);
$query = "UPDATE {circuit_simulation_submitted_abstracts_file} SET filename = :filename, filepath=:filepath, filemime=:filemime, filesize=:filesize, timestamp=:timestamp WHERE proposal_id = :proposal_id AND filetype = :filetype";
$args = array(
":filename" => $_FILES['files']['name'][$file_form_name],
":filepath" => $file_path . $_FILES['files']['name'][$file_form_name],
":filemime" => mime_content_type($root_path . $dest_path . $_FILES['files']['name'][$file_form_name]),
":filesize" => $_FILES['files']['size'][$file_form_name],
":timestamp" => time(),
":proposal_id" => $proposal_id,
":filetype" => $file_type
);
db_query($query, $args);
drupal_set_message($file_name . ' file updated successfully.', 'status');
}
} //move_uploaded_file($_FILES['files']['tmp_name'][$file_form_name], $root_path . $dest_path . $_FILES['files']['name'][$file_form_name])
else
{
drupal_set_message('Error uploading file : ' . $dest_path . $file_name, 'error');
}
break;
case 'A':
if (file_exists($root_path . $dest_path . $_FILES['files']['name'][$file_form_name]))
{
//unlink($root_path . $dest_path . $_FILES['files']['name'][$file_form_name]);
drupal_set_message(t("File !filename already exists hence overwirtten the exisitng file ", array(
'!filename' => $_FILES['files']['name'][$file_form_name]
)), 'error');
} //file_exists($root_path . $dest_path . $_FILES['files']['name'][$file_form_name])
/* uploading file */
else if (move_uploaded_file($_FILES['files']['tmp_name'][$file_form_name], $root_path . $dest_path . $_FILES['files']['name'][$file_form_name]))
{
/* for uploaded files making an entry in the database */
$query_ab_f = "SELECT * FROM circuit_simulation_submitted_abstracts_file WHERE proposal_id = :proposal_id AND filetype =
:filetype";
$args_ab_f = array(
":proposal_id" => $proposal_id,
":filetype" => $file_type
);
$query_ab_f_result = db_query($query_ab_f, $args_ab_f)->fetchObject();
if (!$query_ab_f_result)
{
$query = "INSERT INTO {circuit_simulation_submitted_abstracts_file} (submitted_abstract_id, proposal_id, uid, approvar_uid, filename, filepath, filemime, filesize, filetype, timestamp)
VALUES (:submitted_abstract_id, :proposal_id, :uid, :approvar_uid, :filename, :filepath, :filemime, :filesize, :filetype, :timestamp)";
$args = array(
":submitted_abstract_id" => $submitted_abstract_id,
":proposal_id" => $proposal_id,
":uid" => $user->uid,
":approvar_uid" => 0,
":filename" => $_FILES['files']['name'][$file_form_name],
":filepath" => $_FILES['files']['name'][$file_form_name],
":filemime" => mime_content_type($root_path . $dest_path . $_FILES['files']['name'][$file_form_name]),
":filesize" => $_FILES['files']['size'][$file_form_name],
":filetype" => $file_type,
":timestamp" => time()
);
db_query($query, $args);
drupal_set_message($file_name . ' uploaded successfully.', 'status');
} //!$query_ab_f_result
else
{
unlink($root_path . $dest_path . $query_ab_f_result->filename);
$query = "UPDATE {circuit_simulation_submitted_abstracts_file} SET filename = :filename, filepath=:filepath, filemime=:filemime, filesize=:filesize, timestamp=:timestamp WHERE proposal_id = :proposal_id AND filetype = :filetype";
$args = array(
":filename" => $_FILES['files']['name'][$file_form_name],
":filepath" => $file_path . $_FILES['files']['name'][$file_form_name],
":filemime" => mime_content_type($root_path . $dest_path . $_FILES['files']['name'][$file_form_name]),
":filesize" => $_FILES['files']['size'][$file_form_name],
":timestamp" => time(),
":proposal_id" => $proposal_id,
":filetype" => $file_type
);
db_query($query, $args);
drupal_set_message($file_name . ' file updated successfully.', 'status');
}
} //move_uploaded_file($_FILES['files']['tmp_name'][$file_form_name], $root_path . $dest_path . $_FILES['files']['name'][$file_form_name])
else
{
drupal_set_message('Error uploading file : ' . $dest_path . $file_name, 'error');
}
break;
case 'UDC':
if (!is_dir($root_path . $dest_path_udc))
mkdir($root_path . $dest_path_udc);
if (file_exists($root_path . $dest_path_udc . $_FILES['files']['name'][$file_form_name]))
{
unlink($root_path . $dest_path_udc . $_FILES['files']['name'][$file_form_name]);
drupal_set_message(t("File !filename already exists directory hence overwirtten the exisitng file ", array(
'!filename' => $_FILES['files']['name'][$file_form_name]
)), 'error');
} //file_exists($root_path . $dest_path_udc . $_FILES['files']['name'][$file_form_name])
if (move_uploaded_file($_FILES['files']['tmp_name'][$file_form_name], $root_path . $dest_path_udc . $_FILES['files']['name'][$file_form_name]))
{
//////////////////////////////////
/* for uploaded files making an entry in the database */
$query_udc_f = "SELECT * FROM circuit_simulation_proposal WHERE id = :proposal_id";
$args_udc_f = array(
":proposal_id" => $proposal_id
);
$query_udc_f_result = db_query($query_udc_f, $args_udc_f)->fetchObject();
if ($query_udc_f_result)
{
unlink($root_path . $dest_path_udc . $query_ab_f_result->user_defined_compound_filepath);
$user_defined_compound_filepath = "user_defined_compound/" . $_FILES['files']['name'][$file_form_name];
$query_udc_f = "UPDATE circuit_simulation_proposal SET user_defined_compound_filepath = :user_defined_compound_filepath WHERE id= :proposal_id";
$args_udc_f = array(
":user_defined_compound_filepath" => $user_defined_compound_filepath,
":proposal_id" => $proposal_id
);
db_query($query_udc_f, $args_udc_f);
drupal_set_message($file_name . ' uploaded successfully.', 'status');
} //!$query_ab_f_result
else
{
drupal_set_message('Invalid proposal', 'error');
}
//////////////////////////////////
} //move_uploaded_file($_FILES['files']['tmp_name'][$file_form_name], $root_path . $dest_path_udc . $_FILES['files']['name'][$file_form_name])
else
{
drupal_set_message($file_name . " unable to move.");
}
break;
} //$file_type
} //$file_name
} //$_FILES['files']['name'] as $file_form_name => $file_name
/* sending email */
$email_to = $user->mail;
$from = variable_get('circuit_simulation_from_email', '');
$bcc = variable_get('circuit_simulation_emails', '');
$cc = variable_get('circuit_simulation_cc_emails', '');
$params['abstract_uploaded']['proposal_id'] = $proposal_id;
$params['abstract_uploaded']['submitted_abstract_id'] = $submitted_abstract_id;
$params['abstract_uploaded']['user_id'] = $user->uid;
$params['abstract_uploaded']['headers'] = array(
'From' => $from,
'MIME-Version' => '1.0',
'Content-Type' => 'text/plain; charset=UTF-8; format=flowed; delsp=yes',
'Content-Transfer-Encoding' => '8Bit',
'X-Mailer' => 'Drupal',
'Cc' => $cc,
'Bcc' => $bcc
);
if (!drupal_mail('circuit_simulation', 'abstract_uploaded', $email_to, language_default(), $params, $from, TRUE))
drupal_set_message('Error sending email message.', 'error');
drupal_goto('circuit-simulation-project/abstract-code');
}
function default_value_for_selections($opration, $proposal_id)
{
$query = db_select('circuit_simulation_submitted_abstracts');
$query->fields('circuit_simulation_submitted_abstracts');
$query->condition('proposal_id', $proposal_id);
$abstracts_q = $query->execute()->fetchObject();
$selected_pacakege_array = array();
if ($opration == "unit_operations_used_in_esim")
{
$uouid = explode(',', $abstracts_q->unit_operations_used_in_esim);
$ui = 0;
$unit_item = new stdClass();
foreach ($uouid as $unit_item->$ui)
{
$selected_pacakege_array[$ui] = trim($unit_item->$ui);
$ui++;
} //$uouid as $unit_item->$ui
} //$opration == "unit_operations_used_in_esim"
elseif ($opration == "thermodynamic_packages_used")
{
$tpuid = explode(',', $abstracts_q->thermodynamic_packages_used);
$tpui = 0;
$thermodynamic_item = new stdClass();
foreach ($tpuid as $thermodynamic_item->$tpui)
{
$selected_pacakege_array[$tpui] = trim($thermodynamic_item->$tpui);
$tpui++;
} //$tpuid as $thermodynamic_item->$tpui
} //$opration == "thermodynamic_packages_used"
elseif ($opration == "logical_blocks_used")
{
$lbuid = explode(',', $abstracts_q->logical_blocks_used);
$lbui = 0;
$logical_blocks = new stdClass();
foreach ($lbuid as $logical_blocks->$lbui)
{
$selected_pacakege_array[$logical_blocks->$lbui] = trim($logical_blocks->$lbui);
$lbui++;
} //$lbuid as $logical_blocks->$lbui
} //$opration == "logical_blocks_used"
elseif ($opration == "esim_database_compound_name")
{
$esim_database_compound_name = new stdClass();
$query = db_select('circuit_simulation_proposal');
$query->fields('circuit_simulation_proposal');
$query->condition('id', $proposal_id);
$proposal_q = $query->execute()->fetchObject();
$ddcm = explode('| ', $proposal_q->esim_database_compound_name);
$ddcmi = 0;
foreach ($ddcm as $esim_database_compound_name->$ddcmi)
{
$selected_pacakege_array[$esim_database_compound_name->$ddcmi] = trim($esim_database_compound_name->$ddcmi);
$ddcmi++;
} //$ddcm as $esim_database_compound_name->$ddcmi
} //$opration == "esim_database_compound_name"
else
{
return $selected_pacakege_array;
}
return $selected_pacakege_array;
}
function default_value_for_uploaded_files($filetype, $proposal_id)
{
$query = db_select('circuit_simulation_submitted_abstracts_file');
$query->fields('circuit_simulation_submitted_abstracts_file');
$query->condition('proposal_id', $proposal_id);
$selected_files_array = "";
if ($filetype == "A")
{
$query->condition('filetype', $filetype);
$filetype_q = $query->execute()->fetchObject();
return $filetype_q;
} //$filetype == "A"
elseif ($filetype == "S")
{
$query->condition('filetype', $filetype);
$filetype_q = $query->execute()->fetchObject();
return $filetype_q;
} //$filetype == "S"
elseif ($filetype == "UDC")
{
$query = db_select('circuit_simulation_proposal');
$query->fields('circuit_simulation_proposal');
$query->condition('id', $proposal_id);
$filetype_q = $query->execute()->fetchObject();
return $filetype_q;
} //$filetype == "S"
else
{
return;
}
return;
}