uid);
$proposal_data = db_fetch_object($proposal_q);*/
$query = db_select('arduino_projects_blog_proposal');
$query->fields('arduino_projects_blog_proposal');
$query->condition('uid', $user->uid);
$query->orderBy('id', 'DESC');
$query->range(0, 1);
$result = $query->execute();
$proposal_data = $result->fetchObject();
if (!$proposal_data)
{
drupal_set_message("Please submit a " . l('proposal', 'arduino-projects/proposal') . ".", 'error');
drupal_goto('arduino-projects');
}
$intro_query = db_select('arduino_projects_blog_introduction_step');
$intro_query->fields('arduino_projects_blog_introduction_step');
$intro_query->condition('proposal_id', $proposal_data->id);
$intro_query_result = $intro_query->execute();
$intro_query_data = $intro_query_result->fetchObject();
if ($proposal_data->approval_status != 1 && $proposal_data->approval_status != 4)
{
switch ($proposal_data->approval_status)
{
case 0:
drupal_set_message(t('We have already received your proposal. We will get back to you soon.'), 'status');
drupal_goto('');
return;
break;
case 2:
drupal_set_message(t('Your proposal has been marked for resubmission. Please update your proposal and submit.'), 'status');
drupal_goto('arduino-projects/my-proposals');
return;
break;
case 3:
drupal_set_message(t('Congratulations! You have completed your last book proposal. You have to create another proposal ' . l('here', 'arduino-projects/proposal') . '.'), 'status');
drupal_goto('');
return;
break;
default:
drupal_set_message(t('Invalid proposal state. Please contact site administrator for further information.'), 'error');
drupal_goto('');
return;
break;
}
}
/*$preference_q = db_query("SELECT * FROM {arduino_projects_blog_preference} WHERE proposal_id = %d AND approval_status = 1 LIMIT 1", $proposal_data->id);
$preference_data = db_fetch_object($preference_q);*/
/*$query = db_select('arduino_projects_blog_preference');
$query->fields('arduino_projects_blog_preference');
$query->condition('proposal_id', $proposal_data->id);
$query->condition('approval_status', 1);
$query->range(0, 1);
$result = $query->execute();
$preference_data = $result->fetchObject();
if ($preference_data->submited_all_examples_code == 1)
{
drupal_set_message(t('You have submited your all codes for this book to review, hence you can not upload more code, for any query please write us.'), 'status');
drupal_goto('');
return;
}
if (!$preference_data)
{
drupal_set_message(t('Invalid Book Preference status. Please contact site administrator for further information.'), 'error');
drupal_goto('');
return;
}*/
if ($proposal_data->submitted_steps == 1)
{
drupal_set_message(t('You have submited your all steps for this project to review, hence you can not upload more steps, for any query please write us.'), 'status');
drupal_goto('');
return;
}
/************************ end approve book details **************************/
$return_html = '';
$return_html .= 'Title of the Book:
' . $proposal_data->project_title . '
';
$return_html .= 'Contributor Name:
' . $proposal_data->contributor_name . '
';
if($intro_query_data){
if($intro_query_data->is_submitted == 1){
$return_html .= 'Introduction
';
$return_html .= 'Description:' . $intro_query_data->description;
$return_html .= 'Demo Video:
' . convertLinkToEmbed($intro_query_data->demo_video, 450, 350) . '
';
}
}
else{
$return_html .= l('Update Introduction', 'arduino-projects/code/update-introduction') . '
';
}
$return_html .= l('Upload Steps', 'arduino-projects/code/upload') . '
';
/* get step list */
$step_rows = array();
/*$step_q = db_query("SELECT * FROM {arduino_projects_blog_step} WHERE preference_id = %d ORDER BY number ASC", $preference_data->id);*/
$query = db_select('arduino_projects_blog_step');
$query->fields('arduino_projects_blog_step');
$query->condition('proposal_id', $proposal_data->id);
$query->orderBy('number', 'ASC');
$step_q = $query->execute();
while ($step_data = $step_q->fetchObject())
{
/* get example list */
/* $example_q = db_query("SELECT count(*) as example_count FROM {arduino_projects_blog_step_information} WHERE step_id = %d", $step_data->id);
$example_data = db_fetch_object($example_q);*/
$query = db_select('arduino_projects_blog_step_information');
$query->fields('arduino_projects_blog_step_information');
//$query->addExpression('count(*)', 'example_count');
$query->condition('step_id', $step_data->id);
$result = $query->execute();
$example_data = $result->fetchObject();
$step_rows[] = array(
$step_data->number,
$step_data->name,
//$step_data->name . ' (' . l('Edit', 'arduino-projects/code/step/edit/' . $step_data->id) . ')',
//$example_data->example_count,
l('Edit', 'arduino-projects/code/step/edit/' . $step_data->id) . ' | ' .l('View', 'arduino-projects/code/view-step/' . $step_data->id)
);
}
/* check if there are any steps */
if (!$step_rows)
{
drupal_set_message(t('No uploads found.'), 'status');
return $return_html;
}
$step_header = array(
'Step No.',
'Title of the Step',
//'Uploaded Examples',
'Actions'
);
$return_html .= theme('table', array(
'header' => $step_header,
'rows' => $step_rows
));
$return_html .= l('Upload Project Design files', 'arduino-projects/code/upload-design-files') . '
';
$step_count = $step_q->rowCount();
$df_query = db_select('arduino_projects_blog_project_files');
$df_query->fields('arduino_projects_blog_project_files');
$df_query->condition('proposal_id' , $proposal_data->id);
$df_query_q = $df_query->execute();
$df_query_data = $df_query_q->fetchObject();
if($step_count >= 5 && $df_query_data){
$submited_all_steps = drupal_get_form("all_steps_submitted_check_form",$proposal_data->id);
$return_html .= drupal_render($submited_all_steps);
}
return $return_html;
}
function update_introduction()
{
return drupal_get_form('update_introduction_form');
}
function update_introduction_form($form, &$form_state)
{
global $user;
/************************ start approve book details ************************/
/*$proposal_q = db_query("SELECT * FROM {arduino_projects_blog_proposal} WHERE uid = %d ORDER BY id DESC LIMIT 1", $user->uid);
$proposal_data = db_fetch_object($proposal_q);*/
$query = db_select('arduino_projects_blog_proposal');
$query->fields('arduino_projects_blog_proposal');
$query->condition('uid', $user->uid);
$query->orderBy('id', 'DESC');
$query->range(0, 1);
$result = $query->execute();
$proposal_data = $result->fetchObject();
if (!$proposal_data)
{
drupal_set_message("Please submit a " . l('proposal', 'arduino-projects/proposal') . ".", 'error');
drupal_goto('');
}
if ($proposal_data->approval_status != 1 && $proposal_data->approval_status != 4)
{
switch ($proposal_data->approval_status)
{
case 0:
drupal_set_message(t('We have already received your proposal. We will get back to you soon.'), 'status');
drupal_goto('');
return;
break;
case 2:
drupal_set_message(t('Your proposal has been dis-approved. Please create another proposal ' . l('here', 'arduino-projects/proposal') . '.'), 'error');
drupal_goto('');
return;
break;
case 3:
drupal_set_message(t('Congratulations! You have completed your last book proposal. You have to create another proposal ' . l('here', 'arduino-projects/proposal') . '.'), 'status');
drupal_goto('');
return;
break;
case 5:
drupal_set_message(t('You have submitted your all codes.'), 'status');
drupal_goto('');
return;
break;
default:
drupal_set_message(t('Invalid proposal state. Please contact site administrator for further information.'), 'error');
drupal_goto('');
return;
break;
}
}
$query_intro = db_select('arduino_projects_blog_introduction_step');
$query_intro->fields('arduino_projects_blog_introduction_step');
$query_intro->condition('proposal_id', $proposal_data->id);
$query_intro->condition('approval_status', 0);
$query_intro_q = $query_intro->execute();
$query_intro_data = $query_intro_q->fetchObject();
/*$preference_q = db_query("SELECT * FROM {arduino_projects_blog_preference} WHERE proposal_id = %d AND approval_status = 1 LIMIT 1", $proposal_data->id);
$proposal_data = db_fetch_object($preference_q);*/
/*$query = db_select('arduino_projects_blog_preference');
$query->fields('arduino_projects_blog_preference');
$query->condition('proposal_id', $proposal_data->id);
$query->condition('approval_status', 1);
$query->range(0, 1);
$result = $query->execute();
$proposal_data = $result->fetchObject();
if (!$proposal_data)
{
drupal_set_message(t('Invalid Book Preference status. Please contact site administrator for further information.'), 'error');
drupal_goto('');
return;
}*/
if($query_intro_data){
$form['#attributes'] = array(
'enctype' => "multipart/form-data"
);
$form['proposal_id'] =array(
'#type' => 'hidden',
'#default_value' => $proposal_data->id
);
$form['title'] = array(
'#type' => 'item',
'#markup' => t('Introduction'),
'#title' => t('Title'),
'#default_value' => t('Introduction')
);
$form['description'] = array(
'#type' => 'text_format',
'#title' => t('Description'),
'#required' => TRUE,
'#format' => $query_intro_data->description_type,
'#default_value' => $query_intro_data->description
);
$form['demo_video'] = array(
'#type' => 'textarea',
'#title' => t('Demo video'),
'#size' => 600,
'#maxlength' => 600,
'#required' => TRUE,
'#default_value' => $query_intro_data->demo_video
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit')
);
$form['cancel'] = array(
'#type' => 'item',
'#markup' => l('Cancel', 'arduino-projects/code')
);
}
else{
$form['#attributes'] = array(
'enctype' => "multipart/form-data"
);
$form['proposal_id'] =array(
'#type' => 'hidden',
'#default_value' => $proposal_data->id
);
$form['title'] = array(
'#type' => 'item',
'#markup' => t('Introduction'),
'#title' => t('Title'),
'#default_value' => t('Introduction')
);
$form['description'] = array(
'#type' => 'text_format',
'#title' => t('Description'),
'#required' => TRUE,
'#format' => 'contributor_format'
);
$form['demo_video'] = array(
'#type' => 'textarea',
'#title' => t('Demo video'),
'#size' => 600,
'#maxlength' => 600,
'#required' => TRUE,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit')
);
$form['cancel'] = array(
'#type' => 'item',
'#markup' => l('Cancel', 'arduino-projects/code')
);
}
return $form;
}
function update_introduction_form_submit($form, &$form_state)
{
global $user;
if (!$user->uid)
{
drupal_set_message('It is mandatory to login on this website to access the proposal form', 'error');
return;
} //!$user->uid
$query = db_select('arduino_projects_blog_proposal');
$query->fields('arduino_projects_blog_proposal');
$query->condition('uid', $user->uid);
$query->orderBy('id', 'DESC');
$query->range(0, 1);
$result = $query->execute();
$proposal_data = $result->fetchObject();
$query_intro = db_select('arduino_projects_blog_introduction_step');
$query_intro->fields('arduino_projects_blog_introduction_step');
$query_intro->condition('proposal_id', $proposal_data->id);
$query_intro_q = $query_intro->execute();
$query_intro_data = $query_intro_q->fetchObject();
$v = $form_state["values"];
if($query_intro_data){
$query = "UPDATE {arduino_projects_blog_introduction_step} SET description = :description, description_type = :description_type, demo_video = :demo_video, creation_date = :creation_date, is_submitted = :is_submitted WHERE id = :id";
$args = array(
":description" => $v['description']['value'],
":description_type" => $v['description']['format'],
":demo_video" => $v['demo_video'],
":creation_date" => time(),
":is_submitted" => 1,
":id" => $query_intro_data->id
);
$result = db_query($query, $args);
}
/* inserting the user proposal */
else{
$result = "INSERT INTO {arduino_projects_blog_introduction_step}
(
uid,
proposal_id,
title,
description,
description_type,
demo_video,
creation_date,
is_submitted
) VALUES
(
:uid,
:proposal_id,
:title,
:description,
:description_type,
:demo_video,
:creation_date,
:is_submitted
)";
$args = array(
":uid" => $user->uid,
":proposal_id" => $v['proposal_id'],
":title" => "Introduction",
":description" => $v['description']['value'],
":description_type" => $v['description']['format'],
":demo_video" => $v['demo_video'],
":creation_date" => time(),
":is_submitted" => 1
);
$intro_id = db_query($result, $args, array(
'return' => Database::RETURN_INSERT_ID
));
}
drupal_set_message(t('Introduction update successfully.'), 'status');
drupal_goto('arduino-projects/code');
}
/*****************************Upload Project Design files **********************************/
function upload_design_files()
{
return drupal_get_form('upload_design_files_form');
}
function upload_design_files_form($form, &$form_state)
{
global $user;
/************************ start approve book details ************************/
/*$proposal_q = db_query("SELECT * FROM {arduino_projects_blog_proposal} WHERE uid = %d ORDER BY id DESC LIMIT 1", $user->uid);
$proposal_data = db_fetch_object($proposal_q);*/
$query = db_select('arduino_projects_blog_proposal');
$query->fields('arduino_projects_blog_proposal');
$query->condition('uid', $user->uid);
$query->orderBy('id', 'DESC');
$query->range(0, 1);
$result = $query->execute();
$proposal_data = $result->fetchObject();
if (!$proposal_data)
{
drupal_set_message("Please submit a " . l('proposal', 'arduino-projects/proposal') . ".", 'error');
drupal_goto('');
}
if ($proposal_data->approval_status != 1 && $proposal_data->approval_status != 4)
{
switch ($proposal_data->approval_status)
{
case 0:
drupal_set_message(t('We have already received your proposal. We will get back to you soon.'), 'status');
drupal_goto('');
return;
break;
case 2:
drupal_set_message(t('Your proposal has been dis-approved. Please create another proposal ' . l('here', 'arduino-projects/proposal') . '.'), 'error');
drupal_goto('');
return;
break;
case 3:
drupal_set_message(t('Congratulations! You have completed your last book proposal. You have to create another proposal ' . l('here', 'arduino-projects/proposal') . '.'), 'status');
drupal_goto('');
return;
break;
case 5:
drupal_set_message(t('You have submitted your all codes.'), 'status');
drupal_goto('');
return;
break;
default:
drupal_set_message(t('Invalid proposal state. Please contact site administrator for further information.'), 'error');
drupal_goto('');
return;
break;
}
}
$query = db_select('arduino_projects_blog_project_files');
$query->fields('arduino_projects_blog_project_files');
$query->condition('proposal_id', $proposal_data->id);
$query->condition('approval_status', 0);
$query_q = $query->execute();
$query_data = $query_q->fetchObject();
/*$preference_q = db_query("SELECT * FROM {arduino_projects_blog_preference} WHERE proposal_id = %d AND approval_status = 1 LIMIT 1", $proposal_data->id);
$proposal_data = db_fetch_object($preference_q);*/
/*$query = db_select('arduino_projects_blog_preference');
$query->fields('arduino_projects_blog_preference');
$query->condition('proposal_id', $proposal_data->id);
$query->condition('approval_status', 1);
$query->range(0, 1);
$result = $query->execute();
$proposal_data = $result->fetchObject();
if (!$proposal_data)
{
drupal_set_message(t('Invalid Book Preference status. Please contact site administrator for further information.'), 'error');
drupal_goto('');
return;
}*/
if($query_data){
$form['#attributes'] = array(
'enctype' => "multipart/form-data"
);
$form['proposal_id'] =array(
'#type' => 'hidden',
'#default_value' => $proposal_data->id
);
$form['title'] = array(
'#type' => 'item',
'#markup' => t('Introduction'),
'#title' => t('Title'),
'#default_value' => t('Introduction')
);
$form['project_design_files'] = array(
'#type' => 'file',
'#title' => t('Upload the project file'),
'#description' => t('Current File : ' . $query_data->filename . '
Separate filenames with underscore. No spaces or any special characters allowed in filename.') . '
' . t('Allowed file extensions : ') . variable_get('project_design_files_extensions', '') . '',
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit')
);
$form['cancel'] = array(
'#type' => 'item',
'#markup' => l('Cancel', 'arduino-projects/code')
);
}
else{
$form['#attributes'] = array(
'enctype' => "multipart/form-data"
);
$form['proposal_id'] =array(
'#type' => 'hidden',
'#default_value' => $proposal_data->id
);
$form['project_design_files'] = array(
'#type' => 'file',
'#title' => t('Upload the project file'),
'#description' => t('Separate filenames with underscore. No spaces or any special characters allowed in filename.') . '
' . t('Allowed file extensions : ') . variable_get('project_design_files_extensions', '') . '',
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit')
);
$form['cancel'] = array(
'#type' => 'item',
'#markup' => l('Cancel', 'arduino-projects/code')
);
}
return $form;
}
function upload_design_files_form_submit($form, &$form_state){
global $user;
$v = $form_state['values'];
$root_path = arduino_projects_blog_files_path();
$proposal_data = arduino_projects_blog_get_proposal();
if (!$proposal_data) {
drupal_goto('arduino-projects/code');
return;
} //!$proposal_data
$proposal_id = $proposal_data->id;
$proposal_directory = $proposal_data->directory_name;
$dest_path = $proposal_directory . '/project_files/design_files/';
//var_dump($root_path . $dest_path);die;
/*if (!is_dir($root_path . $dest_path)){
if(!mkdir($root_path . $dest_path))
{
drupal_set_message(t('You cannot upload your code. Error in creating directory'), 'error');
}
}
*///$dest_path .= '/';
foreach ($_FILES['files']['name'] as $file_form_name => $file_name)
{
if ($file_name)
{
/* checking file type */
//$file_type = 'S';
//$dest_path = $filepath . 'images/';
//var_dump($root_path . $dest_path);die;
if (!is_dir($root_path . $dest_path))
mkdir($root_path . $dest_path);
if (file_exists($root_path . $dest_path . $_FILES['files']['name'][$file_form_name]))
{
drupal_set_message(t("Error uploading file. File !filename already exists.", array(
'!filename' => $_FILES['files']['name'][$file_form_name]
)), 'error');
return;
}
/* uploading file */
else if (move_uploaded_file($_FILES['files']['tmp_name'][$file_form_name], $root_path . $dest_path . $_FILES['files']['name'][$file_form_name]))
{
$query= "SELECT * FROM arduino_projects_blog_project_files WHERE proposal_id = :proposal_id";
$query_args = array(
":proposal_id" => $proposal_id,
);
$query_result = db_query($query, $query_args)->fetchObject();
if (!$query_result) {
$query = "INSERT INTO {arduino_projects_blog_project_files} (uid, proposal_id, filename, filepath,filemime, filesize, filetype, creation_date)
VALUES (:uid, :proposal_id, :filename ,:filepath,:filemime, :filesize, :filetype, :creation_date)";
$args = array(
":uid" => $user->uid,
":proposal_id" => $proposal_id,
":filename" => $_FILES['files']['name'][$file_form_name],
":filepath" => $dest_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],
":filetype" => 'D',
":creation_date" => time(),
);
$result = db_query($query, $args, array(
'return' => Database::RETURN_INSERT_ID
));
drupal_set_message($file_name . ' uploaded successfully.', 'status');
}
else {
unlink($root_path . $dest_path . $query_result->filename);
$query = "UPDATE {arduino_projects_blog_project_files} SET filename = :filename, filepath=:filepath, filemime=:filemime, filesize=:filesize, creation_date=:creation_date WHERE proposal_id = :proposal_id";
$args = array(
":filename" => $_FILES['files']['name'][$file_form_name],
":filepath" => $dest_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],
":creation_date" => time(),
":proposal_id" => $proposal_id
);
db_query($query, $args, array('return' => Database::RETURN_INSERT_ID,
));
drupal_set_message($file_name . ' file updated successfully.', 'status');
}
}
else
{
drupal_set_message('Error uploading file : ' . $dest_path . $file_name, 'error');
}
break;
}
}
}
/******************************** View Steps **************/
function view_steps()
{
global $user;
/************************ start approve book details ************************/
/*$proposal_q = db_query("SELECT * FROM {arduino_projects_blog_proposal} WHERE uid = %d ORDER BY id DESC LIMIT 1", $user->uid);
$proposal_data = db_fetch_object($proposal_q);*/
$query = db_select('arduino_projects_blog_proposal');
$query->fields('arduino_projects_blog_proposal');
$query->condition('uid', $user->uid);
$query->orderBy('id', 'DESC');
$query->range(0, 1);
$result = $query->execute();
$proposal_data = $result->fetchObject();
if (!$proposal_data)
{
drupal_set_message("Please submit a " . l('proposal', 'arduino-projects/proposal') . ".", 'error');
drupal_goto('');
}
if ($proposal_data->approval_status != 1 && $proposal_data->approval_status != 4 && $proposal_data->approval_status != 2)
{
switch ($proposal_data->approval_status)
{
case 0:
drupal_set_message(t('We have already received your proposal. We will get back to you soon.'), 'status');
drupal_goto('');
return;
break;
case 2:
drupal_set_message(t('Your proposal has been dis-approved. Please create another proposal ' . l('here', 'arduino-projects/proposal') . '.'), 'error');
drupal_goto('');
return;
break;
case 3:
drupal_set_message(t('Congratulations! You have completed your last book proposal. You have to create another proposal ' . l('here', 'arduino-projects/proposal') . '.'), 'status');
drupal_goto('');
return;
break;
default:
drupal_set_message(t('Invalid proposal state. Please contact site administrator for further information.'), 'error');
drupal_goto('');
return;
break;
}
}
/************************ end approve book details **************************/
/* get step details */
$step_id = arg(3);
/*$step_q = db_query("SELECT * FROM {arduino_projects_blog_step} WHERE id = %d AND preference_id = %d LIMIT 1", $step_id, $preference_data->id);*/
$query = db_select('arduino_projects_blog_step');
$query->fields('arduino_projects_blog_step');
$query->condition('id', $step_id);
$query->condition('proposal_id', $proposal_data->id);
$query->range(0, 1);
$step_q = $query->execute();
if ($step_data = $step_q->fetchObject())
{
$return_html = 'Title of the Book:
' . $proposal_data->project_title . '
';
$return_html .= 'Contributor Name:
' . $proposal_data->contributor_name . '
';
$return_html .= 'Step Number:
' . $step_data->number . '
';
$return_html .= 'Title of the step:
' . $step_data->name . '
';
}
else
{
drupal_set_message(t('Invalid step.'), 'error');
drupal_goto('arduino-projects/code');
return;
}
/* get example list */
$example_rows = array();
$query = db_select('arduino_projects_blog_step_information');
$query->fields('arduino_projects_blog_step_information');
$query->condition('step_id', $step_id);
$example_q = $query->execute();
$example_data = $example_q->fetchObject();
/* approval status */
$approval_status = '';
switch ($example_data->approval_status)
{
case 0:
$approval_status = 'Pending';
break;
case 1:
$approval_status = 'Approved';
break;
case 2:
$approval_status = 'Rejected';
break;
}
/* example files */
$example_files = '';
/*$example_files_q = db_query("SELECT * FROM {arduino_projects_blog_step_files} WHERE example_id = %d ORDER BY filetype", $example_data->id);*/
$query = db_select('arduino_projects_blog_step_files');
$query->fields('arduino_projects_blog_step_files');
$query->condition('step_id', $step_id);
$query->orderBy('filetype', 'ASC');
$example_files_q = $query->execute();
while ($example_files_data = $example_files_q->fetchObject())
{
$file_type = '';
switch ($example_files_data->filetype)
{
case 'I':
$file_type = 'Images';
break;
case 'G':
$file_type = 'Gifs';
break;
default:
}
$example_files .= l($example_files_data->filename, 'arduino-projects/download/file/' . $example_files_data->id) . ' (' . $file_type . ')
';
}
if ($example_data->approval_status == 0)
{
$example_rows[] = array(
'data' => array(
$example_data->description,
// $video,
$approval_status,
$example_files,
/*l('Edit', 'arduino-projects/code/edit/' . $example_data->id) . ' | ' . l('Delete', 'arduino-projects/code/delete/' . $example_data->id, array(
'attributes' => array(
'onClick' => 'return confirm("Are you sure you want to delete the example?")'
)
))*/
),
'valign' => 'top'
);
}
else
{
$example_rows[] = array(
'data' => array(
$example_data->description,
// $video,
$approval_status,
$example_files,
l('Download', 'arduino-projects/download/example/' . $example_data->id)
),
'valign' => 'top'
);
}
if(!$example_data->video){
$video = 'NA';
}
else{
$video = convertLinkToEmbed($example_data->video, 450, 350);
}
$example_header = array(
'Description',
// 'Video',
'Status',
'Files',
//'Action'
);
$return_html .= 'Description:
' . $example_data->description . '
';
$return_html .= 'Video:
' . $video . '
';
$return_html .= theme('table', array(
'header' => $example_header,
'rows' => $example_rows
));
$return_html .= '
' . l('Back to step List', 'arduino-projects/code');
return $return_html;
}
function all_steps_submitted_check_form($form,&$form_state,$proposal_id){
//$form = array();
$query = db_select('arduino_projects_blog_proposal');
$query->fields('arduino_projects_blog_proposal');
$query->condition('id', $proposal_id);
$query->condition('approval_status', 1);
$query->range(0, 1);
$result = $query->execute();
$proposal_data = $result->fetchObject();
$form['#attributes'] = array(
'enctype' => "multipart/form-data"
);
/*$form['project_design_files'] = array(
'#type' => 'file',
'#title' => t('Upload the project file')
);*/
$form['all_steps_submitted'] = array(
'#type' => 'checkbox',
'#title' => t('I have submitted steps for the project'),
'#description' => 'Once you have submited this option you are not able to upload more steps.',
'#required' => TRUE,
);
//var_dump($preference_data->approved_codable_example_files);die;
$form['hidden_preference_id'] = array(
'#type' => 'hidden',
'#value' => $proposal_id
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit')
);
return $form;
}
function all_steps_submitted_check_form_submit($form,&$form_state){
global $user;
$query = db_select('arduino_projects_blog_proposal');
$query->fields('arduino_projects_blog_proposal');
$query->condition('uid', $user->uid);
$query->orderBy('id', 'DESC');
$query->range(0, 1);
$result = $query->execute();
$proposal_data = $result->fetchObject();
if (!$proposal_data)
{
drupal_set_message("Please submit a " . l('proposal', 'arduino-projects/proposal') . ".", 'error');
drupal_goto('');
}
if ($proposal_data->approval_status != 1 && $proposal_data->approval_status != 4 && $proposal_data->approval_status != 2)
{
switch ($proposal_data->approval_status)
{
case 0:
drupal_set_message(t('We have already received your proposal. We will get back to you soon.'), 'status');
drupal_goto('');
return;
break;
case 2:
drupal_set_message(t('Your proposal has been dis-approved. Please create another proposal ' . l('here', 'arduino-projects/proposal') . '.'), 'error');
drupal_goto('');
return;
break;
case 3:
drupal_set_message(t('Congratulations! You have completed your last book proposal. You have to create another proposal ' . l('here', 'arduino-projects/proposal') . '.'), 'status');
drupal_goto('');
return;
break;
case 5:
drupal_set_message(t('You have submmited your all codes'), 'status');
drupal_goto('');
return;
break;
default:
drupal_set_message(t('Invalid proposal state. Please contact site administrator for further information.'), 'error');
drupal_goto('');
return;
break;
}
}
db_query('UPDATE arduino_projects_blog_proposal SET submitted_steps = 1 WHERE id = :proposal_id',array(':proposal_id' => $proposal_data->id));
}