summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSashi202020-03-20 13:40:13 +0530
committerGitHub2020-03-20 13:40:13 +0530
commiteb9e82620fbc72b9c906ca8ad76cd0ebbd1f88b5 (patch)
tree2b89217db9f524c59f2602a3d94ebd6edfe14b8d
parentbef4041072ed70892826ec97e7ee6d992109487a (diff)
parent00a56d9c9f3e99e6d86506943449b43af69713df (diff)
downloadom_pssp-eb9e82620fbc72b9c906ca8ad76cd0ebbd1f88b5.tar.gz
om_pssp-eb9e82620fbc72b9c906ca8ad76cd0ebbd1f88b5.tar.bz2
om_pssp-eb9e82620fbc72b9c906ca8ad76cd0ebbd1f88b5.zip
Merge pull request #14 from Sashi20/master
Provision to download mentor certificate by the reviewer
-rwxr-xr-xom_pssp.module11
-rwxr-xr-xpdf/images/bg_cert_mentor.pngbin0 -> 17983 bytes
-rwxr-xr-xpdf/list_mentor_certificates.inc55
-rwxr-xr-xpdf/mentor_cert_pdf.inc323
-rwxr-xr-xpdf/verify_certificates.inc8
5 files changed, 389 insertions, 8 deletions
diff --git a/om_pssp.module b/om_pssp.module
index fc4da49..065dd6b 100755
--- a/om_pssp.module
+++ b/om_pssp.module
@@ -1,5 +1,8 @@
<?php
// $Id$
+/*error_reporting(E_ALL);
+ini_set('display_errors', TRUE);
+ini_set('display_startup_errors', TRUE);*/
require_once('general_deletion.inc');
require_once('email.inc');
/**
@@ -280,7 +283,7 @@ function om_pssp_menu()
),
'file' => 'pdf/cert_new.inc'
);
- /*$items['powersystems/pssp/certificates-custom'] = array(
+ $items['powersystems/pssp/certificates-custom'] = array(
'title' => 'List of Power System Simulation Custom Certificates',
'description' => 'List of Power System Simulation Custom Certificates',
'page callback' => '_list_pssp_custom_certificates',
@@ -301,7 +304,7 @@ function om_pssp_menu()
'generate pdf'
),
'file' => 'pdf/mentor_cert_pdf.inc'
- );*/
+ );
$items["powersystems/pssp/certificates/verify"] = array(
"title" => "Certificate Verification",
"page callback" => "verify_certificates",
@@ -371,10 +374,10 @@ function om_pssp_permission()
"title" => t("list Power System Simulation certificates"),
"description" => t("Allows users to list Power System Simulation certificates.")
),
- /*"list Power System Simulation custom certificates" => array(
+ "list Power System Simulation custom certificates" => array(
"title" => t("list Power System Simulation custom certificates"),
"description" => t("Allows users to list Power System Simulation custom certificates.")
- ),*/
+ ),
"generate pdf" => array(
"title" => t("Generate pdf"),
"description" => t("Allows users to Generate pdf.")
diff --git a/pdf/images/bg_cert_mentor.png b/pdf/images/bg_cert_mentor.png
new file mode 100755
index 0000000..478dc8e
--- /dev/null
+++ b/pdf/images/bg_cert_mentor.png
Binary files differ
diff --git a/pdf/list_mentor_certificates.inc b/pdf/list_mentor_certificates.inc
new file mode 100755
index 0000000..123a843
--- /dev/null
+++ b/pdf/list_mentor_certificates.inc
@@ -0,0 +1,55 @@
+<?php
+function _list_pssp_custom_certificates()
+{
+ global $user;
+ $query_id = db_query("SELECT id FROM om_pssp_proposal WHERE approval_status=3");
+ $exist_id = $query_id->fetchObject();
+ if ($exist_id){
+ if ($exist_id->id) {
+ if ($exist_id->id < 1) {
+ drupal_set_message('<strong>You need to propose a flowsheet <a href="http://dwsim.fossee.in/flowsheeting-project/proposal">Flowsheet Proposal</a></strong> or if you have already proposed then your flowsheet is under reviewing process', 'status');
+ return '';
+ } //$exist_id->id < 3
+ else {
+ $search_rows = array();
+ global $output;
+ $output = '';
+ $query3 = db_query("SELECT id,project_guide_name,project_guide_university,project_title FROM
+om_pssp_proposal WHERE project_guide_name != '' AND project_guide_university != '' AND approval_status=3");
+ $i = 1;
+ while ($search_data3 = $query3->fetchObject()) {
+ $search_rows[] = array(
+ $i,
+ $search_data3->project_title,
+ $search_data3->project_guide_name,
+ l('Download Certificate', 'powersystems/pssp/certificates-custom/pdf/' . $search_data3->id)
+ );
+ $i++;
+ //$search_data3->id
+ } //$search_data3 = $query3->fetchObject()
+ if ($search_rows) {
+ $search_header = array(
+ 'No',
+ 'Project Title',
+ 'Project Guide Name',
+ 'Download Certificates'
+ );
+ $output = theme('table', array(
+ 'header' => $search_header,
+ 'rows' => $search_rows
+ ));
+ return $output;
+ } //$search_rows
+ else {
+ echo ("Error");
+ return '';
+ }
+ }
+ }
+ } //$exist_id->id
+ else {
+ drupal_set_message('<strong>You need to propose a flowsheet <a href="http://dwsim.fossee.in/flowsheeting-project/proposal">Flowsheet Proposal</a></strong> or if you have already proposed then your flowsheet is under reviewing process', 'status');
+ $page_content = "<span style='color:red;'> No certificate available </span>";
+ return $page_content;
+ }
+}
diff --git a/pdf/mentor_cert_pdf.inc b/pdf/mentor_cert_pdf.inc
new file mode 100755
index 0000000..19945e6
--- /dev/null
+++ b/pdf/mentor_cert_pdf.inc
@@ -0,0 +1,323 @@
+<?php
+function generate_pdf()
+{
+ $mpath = drupal_get_path('module', 'om_pssp');
+ require($mpath . '/pdf/fpdf/fpdf.php');
+ require($mpath . '/pdf/phpqrcode/qrlib.php');
+ global $user;
+ $x = $user->uid;
+ $proposal_id = arg(4);
+ $query3 = db_query("SELECT * FROM om_pssp_proposal WHERE approval_status=3 AND id=:proposal_id", array(
+ ':proposal_id'=>$proposal_id
+ ));
+ $data3 = $query3->fetchObject();
+ $gender = array(
+ 'salutation' => 'Mr. /Ms.',
+ 'gender' => 'He/She'
+ );
+ if ($data3->gender) {
+ if ($data3->gender == 'M') {
+ $gender = array(
+ 'salutation' => 'Mr.',
+ 'gender' => 'He'
+ );
+ } //$data3->gender == 'M'
+ else {
+ $gender = array(
+ 'salutation' => 'Ms.',
+ 'gender' => 'She'
+ );
+ }
+ } //$data3->gender
+ $pdf = new FPDF('L', 'mm', 'Letter');
+ if (!$pdf) {
+ echo "Error!";
+ } //!$pdf
+ $pdf->AddPage();
+ $image_bg = $mpath . "/pdf/images/bg_cert_mentor.png";
+ $pdf->Image($image_bg, 0, 0, $pdf->w, $pdf->h);
+ $pdf->SetMargins(18, 1, 18);
+ $path = drupal_get_path('module', 'om_pssp');
+ $pdf->Ln(43);
+ $pdf->SetFont('Times', 'I', 12);
+ $pdf->SetTextColor(13, 5, 130);
+ $pdf->Cell(240, 20, 'This certificate recognizes the valuable mentorship of', '0', '1', 'C');
+ $pdf->Ln(-6);
+ $pdf->SetFont('Times', 'BI', 16);
+ $pdf->SetTextColor(13, 5, 130);
+ $pdf->Cell(240, 8, $data3->project_guide_name, '0', '1', 'C');
+ $pdf->Ln(0);
+ $pdf->SetFont('Times', 'I', 12);
+ if (strtolower($data3->branch) != "others") {
+ $pdf->SetTextColor(13, 5, 130);
+ $pdf->SetFont('Times', 'I', 12);
+ $pdf->Cell(240, 8, 'from', '0', '1', 'C');
+ $pdf->Ln(0);
+ $pdf->SetFont('Times','BI',16);
+ $pdf->Cell(240, 8, $data3->project_guide_university, '0','1','C');
+ $pdf->Ln(0);
+ $pdf->SetFont('Times', 'I', 12);
+ $pdf->Cell(240, 8, 'who has mentored', '0', '1', 'C');
+ $pdf->Ln(0);
+ $pdf->SetFont('Times', 'BI', 16);
+ $pdf->Cell(240, 8, $data3->contributor_name, '0', '1', 'C');
+ $pdf->Ln(0);
+ $pdf->SetFont('Times', 'I', 12);
+ $pdf->Cell(240, 8, 'for successfully completing internship under the Power System Simulation Project. The intern(s) has created a Simulation titled', '0', '1', 'C');
+ $pdf->Ln(0);
+ $pdf->SetFont('Times', 'BI', 16);
+ $pdf->SetTextColor(13, 5, 130);
+ $pdf->Cell(240, 8, $data3->project_title, '0', '1', 'C');
+ $pdf->SetTextColor(13, 5, 130);
+ $pdf->Ln(0);
+ $pdf->SetFont('Times', 'I', 12);
+ $pdf->Cell(240, 8, ' using OpenModelica .The work done is available at', '0', '1', 'C');
+ $pdf->Cell(240, 4, '', '0', '1', 'C');
+ $pdf->SetX(105);
+ $pdf->SetFont('', 'U');
+ $pdf->SetTextColor(13, 5, 130);
+ $pdf->SetFont('Times', 'I', 12);
+ $pdf->write(0, 'https://om.fossee.in/powersystems/pssp', 'https://om.fossee.in/powersystems/pssp');
+ $pdf->Ln(0);
+ }
+ else {
+ $pdf->SetTextColor(13, 5, 130);
+ $pdf->Cell(240, 8, 'from ' . $data3->project_guide_university . ' has successfully', '0', '1', 'C');
+ $pdf->Ln(0);
+ $pdf->Cell(240, 8, 'completed Internship under DWSIM Flowsheeting Project', '0', '1', 'C');
+ $pdf->Ln(0);
+ }
+ $proposal_get_id = 0;
+ $UniqueString = "";
+ $tempDir = $path . "/pdf/temp_prcode/";
+ $query = db_select('om_pssp_qr_code');
+ $query->fields('om_pssp_qr_code');
+ $query->condition('proposal_id', $proposal_id);
+ $result = $query->execute();
+ $data = $result->fetchObject();
+ $proposal_get_id = $data->proposal_id;
+ $qrstring = $data->qr_code;
+ $codeContents = 'https://om.fossee.in/powersystems/pssp/certificates/verify/' . $qrstring;
+ $fileName = 'generated_qrcode.png';
+ $pngAbsoluteFilePath = $tempDir . $fileName;
+ $urlRelativeFilePath = $path . "/pdf/temp_prcode/" . $fileName;
+ QRcode::png($codeContents, $pngAbsoluteFilePath);
+ $pdf->SetFont('Times', 'B', 12);
+ $pdf->SetY(-75);
+ $pdf->Ln(20);
+ $pdf->SetX(100);
+ $pdf->Cell(0, 0, $qrstring, '0', '0', 'L');
+ $pdf->SetX(29);
+ $pdf->SetY(-65);
+ $pdf->Ln(13);
+ $pdf->Image($pngAbsoluteFilePath, $pdf->GetX() + 75, $pdf->GetY(), 30, 0);
+ $filename = str_replace(' ', '-', $data3->project_guide_name) . '-OpenModelica-PSSP-Mentor-Certificate.pdf';
+ $file = $path . '/pdf/temp_certificate/' . $proposal_id . '_' . $filename;
+ $pdf->Output($file, 'F');
+ header("Content-Type: application/octet-stream");
+ header("Content-Disposition: attachment; filename=" . $filename);
+ header("Content-Type: application/octet-stream");
+ header("Content-Type: application/download");
+ header("Content-Description: File Transfer");
+ header("Content-Length: " . filesize($file));
+ flush();
+ $fp = fopen($file, "r");
+ while (!feof($fp)) {
+ echo fread($fp, 65536);
+ flush();
+ } //!feof($fp)
+ fclose($fp);
+ unlink($file);
+ //drupal_goto('flowsheeting-project/certificate');
+ return;
+}
+function generateRandomString($length = 5)
+{
+ $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
+ $charactersLength = strlen($characters);
+ $randomString = '';
+ for ($i = 0; $i < $length; $i++) {
+ $randomString .= $characters[rand(0, $charactersLength - 1)];
+ } //$i = 0; $i < $length; $i++
+ return $randomString;
+}
+function generate_copyright_form_pdf()
+{
+ $mpath = drupal_get_path('module', 'om_pssp');
+ require($mpath . '/pdf/fpdf/fpdf.php');
+ global $user;
+ $x = $user->uid;
+ $proposal_id = arg(3);
+ $query2 = db_query("SELECT id FROM om_pssp_proposal WHERE approval_status=3 AND uid= :uid", array(
+ ':uid' => $user->uid
+ ));
+ $data2 = $query2->fetchObject();
+ $query3 = db_query("SELECT * FROM om_pssp_proposal WHERE approval_status=3 AND uid= :uid", array(
+ ':uid' => $user->uid
+ ));
+ $data3 = $query3->fetchObject();
+ $gender = array(
+ 'salutation' => 'Mr. /Ms.',
+ 'gender' => 'He/She'
+ );
+ if ($data3->gender) {
+ if ($data3->gender == 'M') {
+ $gender = array(
+ 'salutation' => 'Mr.',
+ 'gender' => 'He'
+ );
+ } //$data3->gender == 'M'
+ else {
+ $gender = array(
+ 'salutation' => 'Ms.',
+ 'gender' => 'She'
+ );
+ }
+ } //$data3->gender
+ $pdf = new FPDF('P', 'mm', 'Letter');
+ if (!$pdf) {
+ echo "Error!";
+ } //!$pdf
+ $pdf->AddPage();
+ $path = drupal_get_path('module', 'om_pssp');
+ $pdf->SetFont('Times', 'B', 25);
+ $pdf->Ln(30);
+ $pdf->Cell(200, 8, 'Copyright Transfer Form', 0, 1, 'C');
+ $pdf->Ln(20);
+ $pdf->SetFont('Times', '', 12);
+ $pdf->MultiCell(200, 8, 'I hereby transfer the copyrights of the DWSIM Flowsheeting Project for ' . $data2->project_title . ' to FOSSEE Project, IIT Bombay.', 0);
+ $pdf->Ln(10);
+ $pdf->MultiCell(200, 8, 'I understand that the FOSSEE project will release the Flowsheet under the Creative Commons (CC) license.');
+ $pdf->SetX(75);
+ $pdf->SetFont('', 'U');
+ $pdf->SetTextColor(0, 0, 255);
+ $pdf->SetFont('', '');
+ $pdf->SetTextColor(0, 0, 0);
+ $pdf->SetFont('', '');
+ $pdf->SetTextColor(0, 0, 0);
+ $pdf->SetY(-10);
+ $pdf->SetX(209);
+ $cur_date = date('jS F, Y');
+ $pdf->SetY(140);
+ $pdf->SetFont('', '');
+ $pdf->Ln(0);
+ $pdf->Cell(200, 0, ' Date: ' . $cur_date . '', 0, 1, 'L');
+ $pdf->Cell(200, 20, ' Place: _________________', 0, 1, 'L');
+ $pdf->SetY(140);
+ $pdf->SetX(120);
+ $pdf->Cell(180, 0, 'Signature: _________________', 0, 1, 'L');
+ $pdf->SetY(144);
+ $pdf->SetX(120);
+ $pdf->multicell(140, 14, 'Name: ' . $gender['salutation'] . ' ' . $data3->full_name . '', 0, '');
+ $filename = str_replace(' ', '-', $data3->full_name) . '-DWSIM-Flowsheet-copyright-form.pdf';
+ $file = $path . '/pdf/temp_certificate/' . $proposal_id . '_' . $filename;
+ $pdf->Output($file, 'F');
+ header("Content-Type: application/octet-stream");
+ header("Content-Disposition: attachment; filename=" . $filename);
+ header("Content-Type: application/octet-stream");
+ header("Content-Type: application/download");
+ header("Content-Description: File Transfer");
+ header("Content-Length: " . filesize($file));
+ flush();
+ $fp = fopen($file, "r");
+ while (!feof($fp)) {
+ echo fread($fp, 65536);
+ flush();
+ } //!feof($fp)
+ fclose($fp);
+ unlink($file);
+ drupal_goto('Summer_Internship_Forms/forms');
+ return;
+}
+function generate_undertaking_form_pdf()
+{
+ $mpath = drupal_get_path('module', 'textbook_companion');
+ require($mpath . '/pdf/fpdf/fpdf.php');
+ global $user;
+ $x = $user->uid;
+ $proposal_id = arg(3);
+ $query2 = db_query("SELECT id FROM om_pssp_proposal WHERE approval_status=3 AND uid= :uid", array(
+ ':uid' => $user->uid
+ ));
+ $data2 = $query2->fetchObject();
+ $query3 = db_query("SELECT * FROM om_pssp_proposal WHERE approval_status=3 AND uid= :uid", array(
+ ':uid' => $user->uid
+ ));
+ $data3 = $query3->fetchObject();
+ $gender = array(
+ 'salutation' => 'Mr. /Ms.',
+ 'gender' => 'He/She'
+ );
+ if ($data3->gender) {
+ if ($data3->gender == 'M') {
+ $gender = array(
+ 'salutation' => 'Mr.',
+ 'gender' => 'He'
+ );
+ } //$data3->gender == 'M'
+ else {
+ $gender = array(
+ 'salutation' => 'Ms.',
+ 'gender' => 'She'
+ );
+ }
+ } //$data3->gender
+ $pdf = new FPDF('P', 'mm', 'Letter');
+ if (!$pdf) {
+ echo "Error!";
+ } //!$pdf
+ $pdf->AddPage();
+ $path = drupal_get_path('module', 'om_pssp');
+ $pdf->SetFont('Times', 'B', 25);
+ $pdf->Ln(30);
+ $pdf->Cell(200, 8, 'Undertaking Form', 0, 1, 'C');
+ $pdf->Ln(0);
+ $pdf->SetFont('Times', 'B', 10);
+ $pdf->Cell(200, 8, '(To be signed by college teacher)', 0, 1, 'C');
+ $pdf->Ln(20);
+ $pdf->SetFont('Times', '', 12);
+ $pdf->MultiCell(200, 8, 'I hereby certify that all the codes written by ' . $gender['salutation'] . ' ' . $data3->full_name . ' under the DWSIM Textbook Companion Project for the book ' . $data2->book . ' ( Author: ' . $data2->author . ', Edition: ' . $data2->edition . ', Publisher: ' . $data2->publisher . ', Year: ' . $data2->year . ') are correctly reproducing the results given in the aforementioned book.', 0);
+ $pdf->Ln(10);
+ $pdf->MultiCell(200, 8, 'I understand that the DWSIM Textbook Companion created is a part of FOSSEE project, IIT Bombay, and is sponsored by the National Mission on Education through Information and Communication Technology (NMEICT), under MHRD, Govt. of India. The project requires that the textbook companion is made available for public access as an open source document. Hence I undertake that this DWSIM Textbook Companion can be made public along with the information that I have certified all the codes as giving the correct answer.');
+ $pdf->SetX(75);
+ $pdf->SetFont('', 'U');
+ $pdf->SetTextColor(0, 0, 255);
+ $pdf->SetFont('', '');
+ $pdf->SetTextColor(0, 0, 0);
+ $pdf->SetFont('', '');
+ $pdf->SetTextColor(0, 0, 0);
+ $pdf->SetY(-10);
+ $pdf->SetX(209);
+ $cur_date = date('jS F, Y');
+ $pdf->SetY(180);
+ $pdf->SetFont('', '');
+ $pdf->Ln(0);
+ $pdf->Cell(200, 0, ' Date: ' . $cur_date . '', 0, 1, 'L');
+ $pdf->Cell(200, 20, ' Place: _________________', 0, 1, 'L');
+ $pdf->SetY(180);
+ $pdf->SetX(120);
+ $pdf->Cell(140, 0, 'Signature: _________________', 0, 1, 'L');
+ $pdf->SetX(120);
+ $pdf->multicell(140, 14, 'Name: ' . '____________________', 0, '');
+ $pdf->SetX(120);
+ $pdf->multicell(140, 14, 'Designation: ' . '______________', 0, '');
+ $filename = str_replace(' ', '-', $data3->full_name) . '-DWSIM-Textbook-Companion-undertaking-form.pdf';
+ $file = $path . '/pdf/temp_certificate/' . $proposal_id . '_' . $filename;
+ $pdf->Output($file, 'F');
+ header("Content-Type: application/octet-stream");
+ header("Content-Disposition: attachment; filename=" . $filename);
+ header("Content-Type: application/octet-stream");
+ header("Content-Type: application/download");
+ header("Content-Description: File Transfer");
+ header("Content-Length: " . filesize($file));
+ flush();
+ $fp = fopen($file, "r");
+ while (!feof($fp)) {
+ echo fread($fp, 65536);
+ flush();
+ } //!feof($fp)
+ fclose($fp);
+ unlink($file);
+ drupal_goto('Summer_Internship_Forms/forms');
+ return;
+} \ No newline at end of file
diff --git a/pdf/verify_certificates.inc b/pdf/verify_certificates.inc
index 562e290..4e5473c 100755
--- a/pdf/verify_certificates.inc
+++ b/pdf/verify_certificates.inc
@@ -86,8 +86,8 @@ function verify_qrcode_fromdb($qr_code)
$page_content .= "<h4>Participation Details</h4><table><tr><td>Name</td>";
$page_content .= "<td>" . $data3->contributor_name . "</td></tr>";
$page_content .= "<tr><td>Project</td>";
- $page_content .= "<td>OpenModelica pssping Project</td></tr>";
- $page_content .= "<tr><td>OpenModelica pssping completed</td>";
+ $page_content .= "<td>OpenModelica Power System Simulation Project</td></tr>";
+ $page_content .= "<tr><td>OpenModelica Power System Simulation completed</td>";
$page_content .= "<td>" . $data3->project_title . "</td></tr>";
$page_content .= "<tr><td>Project Guide</td>";
$page_content .= "<td>" . $data3->project_guide_name . "</td></tr>";
@@ -98,8 +98,8 @@ function verify_qrcode_fromdb($qr_code)
$page_content .= "<h4>Participation Details</h4><table><tr><td>Name</td>";
$page_content .= "<td>" . $data3->contributor_name . "</td></tr>";
$page_content .= "<tr><td>Project</td>";
- $page_content .= "<td>OpenModelica pssping Project</td></tr>";
- $page_content .= "<tr><td>OpenModelica pssping completed</td>";
+ $page_content .= "<td>OpenModelica Power System Simulation Project</td></tr>";
+ $page_content .= "<tr><td>OpenModelica Power System Simulation completed</td>";
$page_content .= "<td>" . $data3->project_title . "</td></tr>";
$page_content .= "</table>";
}