'select',
'#title' => t('Title of the Project'),
'#options' => _list_of_project_titles(),
'#default_value' => $selected,
'#ajax' => array(
'callback' => 'arduino_project_details_callback'
)
);
if (!$url_project_id) {
$form['arduino_project_details'] = array(
'#type' => 'item',
'#markup' => '
'
);
$form['intro_selected_project'] = array(
'#type' => 'item',
'#markup' => ''
);
$form['step'] = array(
'#type' => 'select',
'#title' => t('Title of the Step'),
'#options' => _step_information($selected),
//'#default_value' => $chapter_default_value,
'#prefix' => '',
'#suffix' => '
',
'#validated' => TRUE,
'#tree' => TRUE,
'#ajax' => array(
'callback' => 'ajax_bulk_step_details_list_callback'
),
'#states' => array(
'invisible' => array(
':input[name="arduino_project"]' => array(
'value' => 0
)
)
)
);
$form['step_selected_project'] = array(
'#type' => 'item',
'#markup' => ''
);
$form['selected_step_images'] = array(
'#type' => 'item',
'#markup' => ''
);
} //!$url_project_id
else {
$project_default_value = $url_project_id;
$form['arduino_project_details'] = array(
'#type' => 'item',
'#markup' => '' . _project_details($project_default_value) . '
'
);
$form['intro_selected_project'] = array(
'#type' => 'item',
'#markup' => '' . _project_intro_information($project_default_value) . '
'
);
$form['step'] = array(
'#type' => 'select',
'#title' => t('Title of the Step'),
'#options' => _step_information($project_default_value),
//'#default_value' => $chapter_default_value,
'#prefix' => '',
'#suffix' => '
',
'#validated' => TRUE,
'#tree' => TRUE,
'#ajax' => array(
'callback' => 'ajax_bulk_step_details_list_callback'
),
'#states' => array(
'invisible' => array(
':input[name="arduino_project"]' => array(
'value' => 0
)
)
)
);
$form['step_selected_project'] = array(
'#type' => 'item',
'#markup' => ''
);
$form['selected_step_images'] = array(
'#type' => 'item',
'#markup' => ''
);
}
return $form;
}
function ajax_bulk_step_details_list_callback($form, $form_state)
{
$commands = array();
$project_default_value = $form_state['values']['arduino_project'];
$step_default_value = $form_state['values']['step'];
if ($step_default_value != 0)
{
$commands[] = ajax_command_html('#ajax_step_selected_project', _step_project_details($project_default_value, $step_default_value));
$commands[] = ajax_command_html('#ajax_selected_step_images', _selected_step_image_details($step_default_value));
} //$step_default_value != 0
else
{
$commands[] = ajax_command_html('#ajax_selected_step', '');
$commands[] = ajax_command_data('#ajax_selected_step', 'form_state_value_select', $form_state['values']['step']);
}
return array(
'#type' => 'ajax',
'#commands' => $commands
);
}
function _step_information($project_default_value)
{
$proposal_id = $project_default_value;
$steps_list = array(
'0' => 'Please select...'
);
/*$book_chapters_q = db_query("SELECT * FROM {textbook_companion_chapter} WHERE preference_id = %d ORDER BY number ASC", $preference_id);*/
$query = db_select('arduino_projects_blog_step');
$query->fields('arduino_projects_blog_step');
$query->condition('proposal_id', $proposal_id);
$query->condition('approval_status', 1);
$query->orderBy('number', 'ASC');
$steps_q = $query->execute();
while ($steps_data = $steps_q->fetchObject()) {
$steps_list[$steps_data->number] = $steps_data->number . '. ' . $steps_data->name;
}
return $steps_list;
}
function arduino_project_details_callback($form, $form_state)
{
$commands = array();
$project_default_value = $form_state['values']['arduino_project'];
if ($project_default_value != 0) {
$form['arduino_project_details']['#markup'] = _project_details($project_default_value);
$arduino_project_details = _project_information($project_default_value);
$provider = user_load($arduino_project_details->uid);
if ($arduino_project_details->uid > 0) {
$commands[] = ajax_command_html('#ajax_selected_project', _project_intro_information($project_default_value));
$form['step']['#options'] = _step_information($project_default_value);
$commands[] = ajax_command_replace('#ajax_select_step_list', drupal_render($form['step']));
} //$arduino_project_details->uid > 0
else {
$commands[] = ajax_command_html('#ajax_selected_project', _project_intro_information($project_default_value));
$form['step']['#options'] = _step_information($project_default_value);
$commands[] = ajax_command_replace('#ajax_select_step_list', drupal_render($form['step']));
//$commands[] = ajax_command_html('#ajax_selected_project', '');
}
$commands[] = ajax_command_html('#ajax_project_details', _project_details($project_default_value));
$form['step']['#options'] = _step_information($project_default_value);
$commands[] = ajax_command_replace('#ajax_select_step_list', drupal_render($form['step']));
//$commands[] = ajax_command_html('#ajax_step_selected_project', _step_project_details($project_default_value));
$commands[] = ajax_command_html('#ajax_selected_project', _project_intro_information($project_default_value));
} //$project_default_value != 0
else {
// $form['lab_experiment_list']['#options'] = _ajax_get_experiment_list();
// $commands[] = ajax_command_replace('#ajax_selected_experiment', drupal_render($form['lab_experiment_list']));
$commands[] = ajax_command_html('#ajax_project_details', '');
$commands[] = ajax_command_html('#ajax_selected_project', '');
//$commands[] = ajax_command_html('#ajax_selected_project', '');
//$commands[] = ajax_command_html('#ajax_selected_project', '');
//$commands[] = ajax_command_data('#ajax_selected_project', 'form_state_value_select', $form_state['values']['arduino_project']);
}
return array(
'#type' => 'ajax',
'#commands' => $commands
);
}
function bootstrap_table_format($headers, $rows)
{
$thead = "";
$tbody = "";
foreach ($headers as $header) {
$thead .= "{$header} | ";
} //$headers as $header
foreach ($rows as $row) {
$tbody .= "";
foreach ($row as $data) {
$tbody .= "{$data} | ";
} //$row as $data
$tbody .= "
";
} //$rows as $row
$table = "
";
return $table;
}
/*****************************************************/
function _list_of_project_titles()
{
$arduino_project_titles = array(
'0' => 'Please select...'
);
//$lab_titles_q = db_query("SELECT * FROM {arduino_projects_blog_proposal} WHERE solution_display = 1 ORDER BY lab_title ASC");
$query = db_select('arduino_projects_blog_proposal');
$query->fields('arduino_projects_blog_proposal');
$query->condition('approval_status', 3);
$query->orderBy('project_title', 'ASC');
$arduino_project_titles_q = $query->execute();
while ($arduino_project_titles_data = $arduino_project_titles_q->fetchObject()) {
$arduino_project_titles[$arduino_project_titles_data->id] = $arduino_project_titles_data->project_title . ' (Proposed by ' . $arduino_project_titles_data->contributor_name . ')';
} //$arduino_project_titles_data = $arduino_project_titles_q->fetchObject()
return $arduino_project_titles;
}
function _project_information($proposal_id)
{
$query = db_select('arduino_projects_blog_proposal');
$query->fields('arduino_projects_blog_proposal');
$query->condition('id', $proposal_id);
$query->condition('approval_status', 3);
$arduino_project_q = $query->execute();
$project_data = $arduino_project_q->fetchObject();
if ($project_data) {
return $project_data;
} //$project_data
else {
return 'Not found';
}
}
function _project_details($project_default_value)
{
$arduino_project_details = _project_information($project_default_value);
if ($project_default_value != 0) {
if($arduino_project_details->reference != NULL){
$url = '~(?:(https?)://([^\s<]+)|(www\.[^\s<]+?\.[^\s<]+))(?$0', $arduino_project_details->reference);
}else{
$reference = 'Not provided';
}
$form['arduino_project_details']['#markup'] = 'About the Project ' . '' . '- Proposer Name: ' . $arduino_project_details->contributor_name . '
' . '- Title of the Project: ' . $arduino_project_details->project_title . '
' . '- University: ' . $arduino_project_details->university . '
' . '- '.'Reference: ' . $reference .'
'.' ';
$details = $form['arduino_project_details']['#markup'];
return $details;
} //$project_default_value != 0
}
function _project_intro_information($project_default_value){
$proposal_id = $project_default_value;
$intro_query = db_select('arduino_projects_blog_introduction_step');
$intro_query->fields('arduino_projects_blog_introduction_step');
$intro_query->condition('proposal_id', $proposal_id);
$intro_query_result = $intro_query->execute();
$intro_query_data = $intro_query_result->fetchObject();
$form['intro_selected_project']['#markup'] = convertLinkToEmbed($intro_query_data->demo_video, 750, 350) . ' ' . $intro_query_data->description;
$details = $form['intro_selected_project']['#markup'];
return $details;
}
function _step_project_details($project_default_value, $step_default_value)
{
$proposal_id = $project_default_value;
$step_id = $step_default_value;
//var_dump($proposal_id);die;
$query = db_select('arduino_projects_blog_step');
$query->fields('arduino_projects_blog_step');
$query->condition('proposal_id', $proposal_id);
$query->condition('number', $step_id);
$query->orderBy('number', 'ASC');
$steps_q = $query->execute();
$steps_data = $steps_q->fetchObject();
$step_info_query = db_select('arduino_projects_blog_step_information');
$step_info_query->fields('arduino_projects_blog_step_information');
$step_info_query->condition('step_id', $steps_data->id);
$step_info_query->condition('approval_status', 1);
$steps_info_data = $step_info_query->execute()->fetchObject();
if($steps_info_data->video) {
$form['step_selected_project']['#markup'] = 'Step ' . $steps_data->number . ': ' . $steps_data->name . ' Description: ' . $steps_info_data->description . ' ' . convertLinkToEmbed($steps_info_data->video, 750, 350);
}
else{
$form['step_selected_project']['#markup'] = 'Step ' . $steps_data->number . ': ' . $steps_data->name . ' Description: ' . $steps_info_data->description . ' ';
}
$details = $form['step_selected_project']['#markup'];
return $details;
}
function _selected_step_image_details($step_default_value){
$id = $step_default_value;
$query = db_select('arduino_projects_blog_step');
$query->fields('arduino_projects_blog_step');
$query->condition('proposal_id', $id);
$query->orderBy('number', 'ASC');
$steps_q = $query->execute();
$steps_data = $steps_q->fetchObject();
$step_images_query = db_select('arduino_projects_blog_step_files');
$step_images_query->fields('arduino_projects_blog_step_files');
$step_images_query->condition('step_id', $steps_data->id);
$step_images_result = $step_images_query->execute();
//var_dump($step_images_result->rowCount());die;
while($step_images_data = $step_images_result->fetchObject()){
if($step_images_data){
$form['selected_step_images' . $step_images_data->id]['#markup'] = 'filepath . ' />';
}
}
$details = $form['selected_step_images']['#markup'];
return $details;
} |