Пример #1
0
 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;
 }
Пример #2
0
 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));
     }
 }
Пример #3
0
// 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) {
Пример #4
0
     } 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;
Пример #5
0
	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;
	}
Пример #6
0
 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));
     }
 }