notes_excel.php 5.63 KB
<?php
require_once (dirname ( __FILE__ ) . '/../../config.php');
require_once(dirname( __FILE__ ) .'/../../lib/phpexcel/PHPExcel.php');
global $OUTPUT, $title;

require_login ();
$context = context_system::instance ();
$PAGE->set_context ( $context );

function download_excel(){
	
	global $DB, $CFG,$USER , $PAGE;
	
	$parameter = array ($USER->id);
	$sql="select * from {block_mynotes} where userid=?";
	$allNotes = $DB->get_records_sql ( $sql, $parameter );
	
	$fullNotes = array ();
	
	$i=0;
	foreach ($allNotes as $notes ) {
			$courseid=$notes->courseid;
			
			$parameter = array ($courseid);
			$sql="select fullname from {course} where id=?";
			$coursename = $DB->get_record_sql ( $sql, $parameter );
			
			
			
		$fullNotes [$i]['Sl.no']=$i+1;
		$fullNotes [$i]['Course']=$coursename->fullname;
		if($notes->activityname){
		$fullNotes [$i]['activityname']=$notes->activityname;
		}
		$fullNotes [$i]['Content']=$notes->content;
		
		$time=date('d M Y H:i A (T)', $notes->timecreated);
		$fullNotes [$i]['Timecreated']=$time;
		$fullNotes [$i]['Videotime']=$notes->notestime;
		$fullNotes [$i]['Notesurl']=$notes->notesurl;

		$i=$i+1;
	}

/* 	   xls format
	$fileName = "user_full_notes" . rand(1,100) . ".xls";
	
	if ($fullNotesssss){
		
		function filterData(&$str) {
			$str = preg_replace("/\t/", "\\t", $str);
			$str = preg_replace("/\r?\n/", "\\n", $str);
			if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
		}
		
		// headers for download
		header("Content-Disposition: attachment; filename=\"$fileName\"");
		header("Content-Type: application/vnd.ms-excel");
		
		$flag = false;
		$i=0;
		foreach($fullNotes as $row) {
			
			if(!$flag) {
				// display column names as first row
				echo implode("\t", array_keys($row)) . "\n";
				
				$i=$i+1;
				$flag = true;
			}
			// filter data
			array_walk($row, 'filterData');
			echo implode("\t", array_values($row)) . "\n";
		}
		exit;
		}
		 */
		
	$name = "Student_notes";
	
	$objPHPExcel = new PHPExcel();
	$objPHPExcel->setActiveSheetIndex(0);
	$objPHPExcel->getActiveSheet()->setTitle('Notes');

	$default_border = array(
			'style' => PHPExcel_Style_Border::BORDER_THIN,
			'color' => array('rgb'=>'9999ff')
	);
	
	$style_header = array(
			'borders' => array(
					'bottom' => $default_border,
					'left' => $default_border,
					'top' => $default_border,
					'right' => $default_border,
			),
			'fill' => array(
					'type' => PHPExcel_Style_Fill::FILL_SOLID,
					'color' => array('rgb'=>'E1E0F7'),
			),
			'font' => array(
					'bold' => true,
			)
	);
	
	
	$default_border1 = array(
			'style' => PHPExcel_Style_Border::BORDER_THIN,
			'color' => array('rgb'=>'ff9999')
	);
	
	$style_header1 = array(
			'borders' => array(
					'bottom' => $default_border1,
					'left' => $default_border1,
					'top' => $default_border1,
					'right' => $default_border1,
			),
			'fill' => array(
					'type' => PHPExcel_Style_Fill::FILL_SOLID,
					'color' => array('rgb'=>'ff9999'),
			),
			'font' => array(
					'bold' => true,
			)
	);
	
    $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(5);
	$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(25);
	$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(30);
	$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(25);	
	$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(25);
	$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);
	$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(50);
	
	$objPHPExcel->getActiveSheet()->getCell("A1")->setValue("SL.No");
	$objPHPExcel->getActiveSheet()->getCell("A1")->getStyle('A1')->applyFromArray($style_header);
	$objPHPExcel->getActiveSheet()->getCell("B1")->setValue("Course");
	$objPHPExcel->getActiveSheet()->getCell("B1")->getStyle('B1')->applyFromArray($style_header);
	$objPHPExcel->getActiveSheet()->getCell("C1")->setValue("Activity");
	$objPHPExcel->getActiveSheet()->getCell("C1")->getStyle('C1')->applyFromArray($style_header);
	$objPHPExcel->getActiveSheet()->getCell("D1")->setValue("Note");
	$objPHPExcel->getActiveSheet()->getCell("D1")->getStyle('D1')->applyFromArray($style_header);
	$objPHPExcel->getActiveSheet()->getCell("E1")->setValue("Time Created");
	$objPHPExcel->getActiveSheet()->getCell("E1")->getStyle('E1')->applyFromArray($style_header);
	$objPHPExcel->getActiveSheet()->getCell("F1")->setValue("Time in Clip");
	$objPHPExcel->getActiveSheet()->getCell("F1")->getStyle('F1')->applyFromArray($style_header);
	$objPHPExcel->getActiveSheet()->getCell("G1")->setValue("URL");
	$objPHPExcel->getActiveSheet()->getCell("G1")->getStyle('G1')->applyFromArray($style_header);
	
	
	for($i=1;$i<=count($fullNotes)+1;$i++){

		$objPHPExcel->getActiveSheet()->getCell('A'.($i+1))->setValue($i);
		$objPHPExcel->getActiveSheet()->getCell('B'.($i+1))->setValue($fullNotes[$i-1]['Course']);
		$objPHPExcel->getActiveSheet()->getCell('C'.($i+1))->setValue($fullNotes[$i-1]['activityname']);
		$objPHPExcel->getActiveSheet()->getCell('D'.($i+1))->setValue($fullNotes[$i-1]['Content']);
		$objPHPExcel->getActiveSheet()->getCell('E'.($i+1))->setValue($fullNotes[$i-1]['Timecreated']);
		$objPHPExcel->getActiveSheet()->getCell('F'.($i+1))->setValue($fullNotes[$i-1]['Videotime']);
		$objPHPExcel->getActiveSheet()->getCell('G'.($i+1))->setValue($fullNotes[$i-1]['Notesurl']);
		
	}
	
	$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
	$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
	ob_end_clean();
	
	header("Content-Disposition: attachment; filename=$name.xlsx");
	header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
	$objWriter->save('php://output');
	exit();
	
}
download_excel();