public function deleteFileByField($value, $field) { global $settingsManager; error_log("Delete file by field: {$field} / value: {$value}"); $file = new File(); $file->Load("{$field} = ?", array($value)); if ($file->{$field} == $value) { $ok = $file->Delete(); if ($ok) { $uploadFilesToS3 = $settingsManager->getSetting("Files: Upload Files to S3"); if ($uploadFilesToS3 == "1") { $uploadFilesToS3Key = $settingsManager->getSetting("Files: Amazon S3 Key for File Upload"); $uploadFilesToS3Secret = $settingsManager->getSetting("Files: Amazone S3 Secret for File Upload"); $s3Bucket = $settingsManager->getSetting("Files: S3 Bucket"); $uploadname = CLIENT_NAME . "/" . $file->filename; error_log("Delete from S3:" . $uploadname); $s3FileSys = new S3FileSystem($uploadFilesToS3Key, $uploadFilesToS3Secret); $res = $s3FileSys->deleteObject($s3Bucket, $uploadname); } else { error_log("Delete:" . CLIENT_BASE_PATH . 'data/' . $file->filename); unlink(CLIENT_BASE_PATH . 'data/' . $file->filename); } } else { return false; } } return true; }
private function generateReport($report, $data) { global $employeeCurrent; global $settingsManager; $fileFirst = "Report_" . str_replace(" ", "_", $report->name) . "-" . date("Y-m-d_H-i-s"); $file = $fileFirst . ".csv"; $fileName = CLIENT_BASE_PATH . 'data/' . $file; $fp = fopen($fileName, 'w'); foreach ($data as $fields) { fputcsv($fp, $fields); } fclose($fp); $uploadedToS3 = false; $uploadFilesToS3 = $settingsManager->getSetting("Files: Upload Files to S3"); $uploadFilesToS3Key = $settingsManager->getSetting("Files: Amazon S3 Key for File Upload"); $uploadFilesToS3Secret = $settingsManager->getSetting("Files: Amazone S3 Secret for File Upload"); $s3Bucket = $settingsManager->getSetting("Files: S3 Bucket"); $s3WebUrl = $settingsManager->getSetting("Files: S3 Web Url"); if ($uploadFilesToS3 . '' == '1' && !empty($uploadFilesToS3Key) && !empty($uploadFilesToS3Secret) && !empty($s3Bucket) && !empty($s3WebUrl)) { $uploadname = CLIENT_NAME . "/" . $file; $s3FileSys = new S3FileSystem($uploadFilesToS3Key, $uploadFilesToS3Secret); $res = $s3FileSys->putObject($s3Bucket, $uploadname, $fileName, 'authenticated-read'); if (empty($res)) { return array("ERROR", $file); } unlink($fileName); $file_url = $s3WebUrl . $uploadname; $file_url = $s3FileSys->generateExpiringURL($file_url); $uploadedToS3 = true; } $fileObj = new File(); $fileObj->name = $fileFirst; $fileObj->filename = $file; $fileObj->file_group = "Report"; $ok = $fileObj->Save(); if (!$ok) { error_log($fileObj->ErrorMsg()); return array("ERROR", "Error generating report"); } $headers = array_shift($data); if ($uploadedToS3) { return array("SUCCESS", array($file_url, $headers, $data)); } else { return array("SUCCESS", array($file, $headers, $data)); } }
// to pass data through iframe you will need to encode all html tags $uploadFilesToS3 = SettingsManager::getInstance()->getSetting("Files: Upload Files to S3"); $uploadFilesToS3Key = SettingsManager::getInstance()->getSetting("Files: Amazon S3 Key for File Upload"); $uploadFilesToS3Secret = SettingsManager::getInstance()->getSetting("Files: Amazone S3 Secret for File Upload"); $s3Bucket = SettingsManager::getInstance()->getSetting("Files: S3 Bucket"); $s3WebUrl = SettingsManager::getInstance()->getSetting("Files: S3 Web Url"); $uploadedToS3 = false; LogManager::getInstance()->info($uploadFilesToS3 . "|" . $uploadFilesToS3Key . "|" . $uploadFilesToS3Secret . "|" . $s3Bucket . "|" . $s3WebUrl . "|" . CLIENT_NAME); if ($uploadFilesToS3 . '' == '1' && !empty($uploadFilesToS3Key) && !empty($uploadFilesToS3Secret) && !empty($s3Bucket) && !empty($s3WebUrl)) { $localFile = CLIENT_BASE_PATH . 'data/' . $result['filename']; $f_size = filesize($localFile); $uploadname = CLIENT_NAME . "/" . $result['filename']; LogManager::getInstance()->info("Upload file to s3:" . $uploadname); LogManager::getInstance()->info("Local file:" . $localFile); LogManager::getInstance()->info("Local file size:" . $f_size); $s3FileSys = new S3FileSystem($uploadFilesToS3Key, $uploadFilesToS3Secret); $res = $s3FileSys->putObject($s3Bucket, $uploadname, $localFile, 'authenticated-read'); $file_url = $s3WebUrl . $uploadname; $file_url = $s3FileSys->generateExpiringURL($file_url); LogManager::getInstance()->info("Response from s3 file sys:" . print_r($res, true)); unlink($localFile); $uploadedToS3 = true; } if ($result['success'] == 1) { $file->name = $saveFileName; $file->filename = $result['filename']; $signInMappingField = SIGN_IN_ELEMENT_MAPPING_FIELD_NAME; $file->{$signInMappingField} = $_POST['user'] == "_NONE_" ? null : $_POST['user']; $file->file_group = $_POST['file_group']; $file->Save(); if ($uploadedToS3) {
} else { $ret = array("status" => "ERROR"); LogManager::getInstance()->info("File dosen't exist :" . $apiFile); } } else { if ($action == 'file') { $name = $_REQUEST['name']; $file = new File(); $file->Load("name =?", array($name)); $ret = array(); if ($file->name == $name) { $ret['status'] = "SUCCESS"; if (SettingsManager::getInstance()->getSetting("Files: Upload Files to S3") == '1') { $uploadFilesToS3Key = SettingsManager::getInstance()->getSetting("Files: Amazon S3 Key for File Upload"); $uploadFilesToS3Secret = SettingsManager::getInstance()->getSetting("Files: Amazone S3 Secret for File Upload"); $s3FileSys = new S3FileSystem($uploadFilesToS3Key, $uploadFilesToS3Secret); $s3WebUrl = SettingsManager::getInstance()->getSetting("Files: S3 Web Url"); $fileUrl = $s3WebUrl . CLIENT_NAME . "/" . $file->filename; $fileUrl = $s3FileSys->generateExpiringURL($fileUrl); $file->filename = $fileUrl; } $ret['data'] = $file; } else { $ret['status'] = "ERROR"; } } else { if ($action == 'download') { $fileName = $_REQUEST['file']; $fileName = str_replace("..", "", $fileName); $fileName = str_replace("/", "", $fileName); $fileName = CLIENT_BASE_PATH . 'data/' . $fileName;
public function deleteFileByField($value, $field){ LogManager::getInstance()->info("Delete file by field: $field / value: $value"); $file = new File(); $file->Load("$field = ?",array($value)); if($file->$field == $value){ $ok = $file->Delete(); if($ok){ $uploadFilesToS3 = SettingsManager::getInstance()->getSetting("Files: Upload Files to S3"); if($uploadFilesToS3 == "1"){ $uploadFilesToS3Key = SettingsManager::getInstance()->getSetting("Files: Amazon S3 Key for File Upload"); $uploadFilesToS3Secret = SettingsManager::getInstance()->getSetting("Files: Amazone S3 Secret for File Upload"); $s3Bucket = SettingsManager::getInstance()->getSetting("Files: S3 Bucket"); $uploadname = CLIENT_NAME."/".$file->filename; LogManager::getInstance()->info("Delete from S3:".$uploadname); $s3FileSys = new S3FileSystem($uploadFilesToS3Key, $uploadFilesToS3Secret); $res = $s3FileSys->deleteObject($s3Bucket, $uploadname); }else{ LogManager::getInstance()->info("Delete:".CLIENT_BASE_PATH.'data/'.$file->filename); unlink(CLIENT_BASE_PATH.'data/'.$file->filename); } }else{ return false; } } return true; }
private function generateReport($report, $data) { $fileFirst = "Report_" . str_replace(" ", "_", $report->name) . "-" . date("Y-m-d_H-i-s"); $file = $fileFirst . ".csv"; if ($report->query == "EmployeeAttendanceReport") { //echo MODULE_PATH.'\reportClasses\xlswriter.class.php'; $file = $fileFirst . ".xlsx"; require_once APP_BASE_PATH . '\\classes\\PHPExcel.php'; $objPHPExcel = new PHPExcel(); $objPHPExcel->getProperties()->setCreator("HRIS SGTSI")->setTitle("Employee Attendance"); $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->setTitle('Sheet1'); $objPHPExcel->getActiveSheet()->setCellValue('A1', 'Employee ID'); $objPHPExcel->getActiveSheet()->setCellValue('B1', $data[1][0]); $objPHPExcel->getActiveSheet()->setCellValue('A2', 'Name'); $objPHPExcel->getActiveSheet()->setCellValue('B2', $data[1][1]); $objPHPExcel->getActiveSheet()->setCellValue('A3', 'From ' . date("M d, Y", strtotime($_REQUEST['date_start']))); $objPHPExcel->getActiveSheet()->setCellValue('B3', 'To ' . date("M d, Y", strtotime($_REQUEST['date_end']))); $objPHPExcel->getActiveSheet()->setCellValue('A4', 'Date'); $objPHPExcel->getActiveSheet()->setCellValue('B4', 'Time In'); $objPHPExcel->getActiveSheet()->setCellValue('C4', 'Time Out'); $objPHPExcel->getActiveSheet()->setCellValue('D4', 'Notes'); $column = 5; foreach ($data as $key => $row) { if ($key != 0) { //echo PHPExcel_Shared_Date::PHPToExcel( strtotime($row[2]) ).",".strtotime($row[2])." <br/> "; //echo "<br/>".PHPExcel_Shared_Date::PHPToExcel( strtotime($row[2]) ); $objPHPExcel->getActiveSheet()->setCellValue('A' . $column, PHPExcel_Shared_Date::PHPToExcel(strtotime($row[2]))); $objPHPExcel->getActiveSheet()->getStyle('A' . $column)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2); $objPHPExcel->getActiveSheet()->setCellValue('B' . $column, PHPExcel_Shared_Date::PHPToExcel(strtotime($row[2]))); $objPHPExcel->getActiveSheet()->getStyle('B' . $column)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME1); $objPHPExcel->getActiveSheet()->setCellValue('C' . $column, PHPExcel_Shared_Date::PHPToExcel(strtotime($row[3]))); $objPHPExcel->getActiveSheet()->getStyle('C' . $column)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME1); $objPHPExcel->getActiveSheet()->setCellValue('D' . $column, $row[4]); $column++; } } $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save(CLIENT_BASE_PATH . 'data/' . $file); // require_once MODULE_PATH.'\reportClasses\xlsxwriter.class.php'; // $file=$fileFirst.".xlsx"; // $writer=new XLSXWriter(); // $writer->setAuthor('SPARK HRIS'); // $writer->writeSheetRow('Sheet1',array('Employee ID',$data[1][0])); // $writer->writeSheetRow('Sheet1',array('Name',$data[1][1])); // $writer->writeSheetRow('Sheet1',array('From '.date("M d, Y",strtotime($_REQUEST['date_start'])),'To '.date("M d, Y",strtotime($_REQUEST['date_end'])))); // $writer->writeSheetRow('Sheet1',array('Date','Tme IN','TimeOUT','Notes')); // // $sheetdata=array(); // // $sheetdata[]=array('Employee ID',$data[1][0]); // // $sheetdata[]=array('Name',$data[1][1])); // //$sheetdata[]=array('From '.date("M d, Y",strtotime($_REQUEST['date_start'])),'To '.date("M d, Y",strtotime($_REQUEST['date_end']))); // //$sheetdata[]=array('Date','Tme IN','TimeOUT','Notes'); // foreach ($data as $key=>$fields) { // if ($key<>0){ // $row=array(); // // $row[]=date("n/d/Y",strtotime($fields[2])); // // $row[]=date("g:i A",strtotime($fields[2])); // // $row[]=date("g:i A",strtotime($fields[3])); // $d1=new DateTime($fields[2]); // $d2=new DateTime($fields[2]); // $d3=new DateTime($fields[3]); // $row[]=$d1->format('n/d/Y'); // $row[]=$d2->format('g:i A'); // $row[]=$d3->format('g:i A'); // $row[]=$fields[4]; // $writer->MywriteSheetRow('Sheet1',$row); // } // } // $writer->writeToFile( CLIENT_BASE_PATH.'data/'.$file); } else { $fileName = CLIENT_BASE_PATH . 'data/' . $file; $fp = fopen($fileName, 'w'); foreach ($data as $fields) { fputcsv($fp, $fields); } fclose($fp); } $uploadedToS3 = false; $uploadFilesToS3 = SettingsManager::getInstance()->getSetting("Files: Upload Files to S3"); $uploadFilesToS3Key = SettingsManager::getInstance()->getSetting("Files: Amazon S3 Key for File Upload"); $uploadFilesToS3Secret = SettingsManager::getInstance()->getSetting("Files: Amazone S3 Secret for File Upload"); $s3Bucket = SettingsManager::getInstance()->getSetting("Files: S3 Bucket"); $s3WebUrl = SettingsManager::getInstance()->getSetting("Files: S3 Web Url"); if ($uploadFilesToS3 . '' == '1' && !empty($uploadFilesToS3Key) && !empty($uploadFilesToS3Secret) && !empty($s3Bucket) && !empty($s3WebUrl)) { $uploadname = CLIENT_NAME . "/" . $file; $s3FileSys = new S3FileSystem($uploadFilesToS3Key, $uploadFilesToS3Secret); $res = $s3FileSys->putObject($s3Bucket, $uploadname, $fileName, 'authenticated-read'); if (empty($res)) { return array("ERROR", $file); } unlink($fileName); $file_url = $s3WebUrl . $uploadname; $file_url = $s3FileSys->generateExpiringURL($file_url); $uploadedToS3 = true; } $fileObj = new File(); $fileObj->name = $fileFirst; $fileObj->filename = $file; $fileObj->file_group = "Report"; $ok = $fileObj->Save(); if (!$ok) { LogManager::getInstance()->info($fileObj->ErrorMsg()); return array("ERROR", "Error generating report"); } $headers = array_shift($data); if ($uploadedToS3) { return array("SUCCESS", array($file_url, $headers, $data)); } else { return array("SUCCESS", array($file, $headers, $data)); } }