Advertisement
ma39isy

Untitled

Aug 8th, 2024
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.41 KB | None | 0 0
  1. <?php
  2.  
  3. $importType=$_POST['importType'];
  4. $schoolYear = $_POST['schoolYear'];
  5. $arrSchoolYear = explode('/',$schoolYear);
  6. if(((substr($_FILES[userfile][name],-3)=="csv")||(substr($_FILES[userfile][name],-3)=="xls")||(substr($_FILES[userfile][name],-4)=="xlsx"))){
  7.  
  8.  
  9.                 if($_FILES[userfile][tmp_name]&&$importType!=0&&$schoolYear!=""){
  10.                 //exit;
  11.                 echo "<br />";
  12.  
  13.                 $objPHPExcel = PHPExcel_IOFactory::load($_FILES[userfile][tmp_name]);
  14.                 $objPHPExcel->setActiveSheetIndex(0);
  15.  
  16.                 echo date('H:i:s') . " Load from Excel file\n";
  17.                 echo "<br/>Reading sheet <br />";
  18.                 echo "<br />";
  19.                 $objWorksheet = $objPHPExcel->getActiveSheet();
  20.  
  21.                 $i=1;
  22.  
  23.                 $no=$i-1;
  24.                 $countError=0;
  25.  
  26.                 $dataSchedule = array();
  27.  
  28.                     //looping bwt nampilin 
  29.                            
  30.                         function xls2Date($date) {
  31.                             return date('Y-m-d',(((++$date > 25568) ? $date : 25569) * 86400) - ((70 * 365 + 19) * 86400));
  32.                         }
  33.                         function xls2Time($date) {
  34.                             return date('H:I:S',(((++$date > 25568) ? $date : 25569) * 86400) - ((70 * 365 + 19) * 86400));
  35.                         }
  36.                         foreach ($objWorksheet->getRowIterator() as $row) {
  37.                                
  38.                           $cellIterator = $row->getCellIterator();
  39.                           $cellIterator->setIterateOnlyExistingCells(false); // This loops all cells,
  40.                                                                              // even if it is not set.
  41.                                                                              // By default, only cells
  42.                                                                              // that are set will be
  43.                                                                              // iterated.
  44.                           $v=$objPHPExcel->getActiveSheet()->getCell('A'.$i)->getValue();
  45.                           if($i>1){
  46.                          
  47.                             $id=$objPHPExcel->getActiveSheet()->getCell('A'.$i)->getValue();
  48.                             $room=$objPHPExcel->getActiveSheet()->getCell('H'.$i)->getValue();
  49.                             $day=$objPHPExcel->getActiveSheet()->getCell('B'.$i)->getValue();
  50.                             $hour=$objPHPExcel->getActiveSheet()->getCell('C'.$i)->getValue();
  51.                             $class=$objPHPExcel->getActiveSheet()->getCell('D'.$i)->getValue();
  52.                             $subject=$objPHPExcel->getActiveSheet()->getCell('E'.$i)->getValue();
  53.                             $lecturer=$objPHPExcel->getActiveSheet()->getCell('F'.$i)->getValue();
  54.                            
  55.                            
  56.                            
  57.                            
  58.                             $roomPecah = explode('-',$room);
  59.                            
  60.                             if(count($roomPecah)>2 && is_int($roompecah[0])){
  61.                                 $roomId = str_replace(' ','',$roomPecah[0]);
  62.                             }else{
  63.                                 $room = strtolower($room);
  64.                                 $byRoomName = $schedule->GetRoombyRoomName($room);
  65.                                
  66.                                 $roomId = $byRoomName[0]['ROOMID'];
  67.                             }
  68.  
  69.  
  70.                             // $subjectPecah = explode('-',$subject);
  71.                             // $countSP = count($subjectPecah);
  72.                             // echo $id;
  73.                             // echo "<br/>";
  74.                             // if($countSP>2){
  75.                                 // $subjectId = str_replace(' ','',$subjectPecah[1]);
  76.                                 // $subjectCode = str_replace(' ','',$subjectPecah[1]);
  77.                                 // $subjectName = str_replace(' ','',$subjectPecah[2]);
  78.                                 // $courseData = $course->GetCourseIdOutStudyProgram('',$subjectCode,$class,'1415');
  79.                             // }else{
  80.                                 // $subjectCode = $subjectPecah[0];
  81.                                 // $subjectName = $subjectPecah[1];
  82.                                 // $courseData = $course->GetCourseIdOutStudyProgram('',$subjectCode,$class,'1415');
  83.                                 // echo "haha";
  84.                             // }
  85.                            
  86.                             // print_r($courseData);
  87.                            
  88.                             // $courseData = $course->GetCourseIdOutStudyProgram('',$subject,$class,'1415');
  89.  
  90.  
  91.  
  92.                             $subjectCode=$subject;
  93.                             $courseData = $course->GetCourseIdOutStudyProgram('',$subjectCode,$class,$arrSchoolYear[0],$arrSchoolYear[1]);
  94.                             $courseId = $courseData[0]['COURSEID'];
  95.                             $courseData[0]['SEMESTER'];
  96.                            
  97.                             if(($roomId=="")||($courseId=="")||($day=="")||($hour=="")||strlen($day)==1){
  98.                                
  99.                                 echo "<div class='navailable'>";
  100.                                 echo $no." ".$courseId." ".$subjectCode." ".$class." ".$studyProgram." ".$lecturer." ".$day." ".$hour." ".$room;
  101.                                 echo "</div> ";
  102.                                 $countError++;
  103.                                
  104.                             }
  105.                             else if(($roomId!="")||($hour!="")||($day!="")){
  106.                                 echo "<div>";
  107.                                 echo $no." ".$courseId." ".$subjectCode." ".$class." ".$studyProgram." ".$lecturer." ".$day." ".$hour." ".$room;
  108.                                 echo "</div> ";
  109.                             }              
  110.                            
  111.                            
  112.                             if(strlen($hour)==7 || strlen($hour)==4){
  113.                                 $hour = '0'.$hour;
  114.                             }
  115.                             IF(strlen($hour)==5){
  116.                                 $hour = $hour.":00";
  117.                                 $hour = str_replace(".", ":", $hour);
  118.                             }
  119.  
  120.  
  121.                             $dataSchedule[$no]=array($courseId,$roomId,strtoupper($day),$hour,$id);
  122.                            
  123.                            
  124.                             // echo strlen($hour);
  125.                             echo "<br>";
  126.                            
  127.                            }
  128.                          
  129.                           $i++;
  130.                           $no++;
  131.                           // break;
  132.                         }
  133.                        
  134.                         $totalData=$no-1;
  135.                        
  136.                         echo "There are <font color='red'>".$countError."</font> errors in ".$totalData." data.";
  137.                        
  138.                         // print_r($dataCourse);
  139.                        
  140.                             // bwt insert/ga ($countError==0)
  141.                                     if($countError==0){
  142.                                     $newid = $schedule->GetNextNewScheduleId();
  143.                                    
  144.                                     if($importType==1){
  145.                                     // $newid=0;
  146.                                         // echo $totalData;
  147.                                         for($j=1;$j<=$totalData;$j++){
  148.                                                
  149.                                                 $courseIdData=$dataSchedule[$j][0];
  150.                                                 $roomIdData=$dataSchedule[$j][1];
  151.                                                 $dayData=strtoupper(trim($dataSchedule[$j][2],' '));
  152.                                                 $hour=$dataSchedule[$j][3];
  153.                                                 $schid=$dataSchedule[$j][4];
  154.                                                 // echo $dayData;
  155.                                                 // echo $hour;
  156.                                                 $dayHourId = $schedule->getDayHourId($dayData,$hour);
  157.                                                 // print_r($dayHourId);
  158.                                                 $dataDayHourId = $dayHourId[0]['DAYHOURID'];
  159.                                                 $INDONESIADAYNAME = $dayHourId[0]['INDONESIADAYNAME'];
  160.                                                    
  161.                                                     $userid = $_SESSION['userid'];
  162.                                                     $scheduleId = $courseIdData."".$schid;
  163.                                                     $data = array(
  164.                                                             'SCHEDULESID' => $scheduleId,
  165.                                                             'DAYHOURID' => $dataDayHourId,
  166.                                                             'ROOMID' => $roomIdData,   
  167.                                                             'COURSEID' => $courseIdData,
  168.                                                             'DAY' => "'".@StrToDb($INDONESIADAYNAME,'upper')."'",
  169.                                                             'USERID' => "'".$userid."'",
  170.                                                            
  171.                                                         );
  172.                                                        
  173.                                                         if($courseIdData!=""){
  174.                                                             echo "<br>".$j.". ".$courseIdData;
  175.                                                             $schedule->InsertNewSchedule($data);
  176.                                                            
  177.                                                         }
  178.                                                        
  179.                                                        
  180.                                                         $rowsAff = $schedule->GetAffectedRows();
  181.                                                         if($rowsAff>0){
  182.                                                                 $msg = @GetMessage(@GetLang('new_schedule_successfully_added','ucfirst'),"success");
  183.                                                         }
  184.                                                         else{
  185.                                                                 $msg = @GetMessage(@GetLang('new_schedule_successfully_to_be_added','ucfirst'),"failed");
  186.                                                         }                      
  187.                                                        
  188.                                                 // break;
  189.                                         }  
  190.                                         echo $msg;
  191.                                     }else if($importType==2){
  192.                                         for($j=1;$j<=$totalData;$j++){
  193.                                                 $courseIdData=$dataSchedule[$j][0];
  194.                                                 $roomIdData=$dataSchedule[$j][1];
  195.                                                 $dayData=strtoupper(trim($dataSchedule[$j][2],' '));
  196.                                                 $hour=$dataSchedule[$j][3];
  197.                                                 $schid=$dataSchedule[$j][4];
  198.                                                
  199.                                                 $dayHourId = $schedule->getDayHourId($dayData,$hour);
  200.                                                
  201.                                                 $dataDayHourId = $dayHourId[0]['DAYHOURID'];
  202.                                                 $INDONESIADAYNAME = $dayHourId[0]['INDONESIADAYNAME'];
  203.                                                
  204.                                                 // echo $courseIdData."<br/>";
  205.                                                 $schedule->DeleteNewScheduleByImport($courseIdData);
  206.                                                            
  207.                                                 $userid = $_SESSION['userid'];
  208.                                                
  209.                                                 $data = array(
  210.                                                     'SCHEDULESID' => $courseIdData."".$schid,
  211.                                                     'DAYHOURID' => $dataDayHourId,
  212.                                                     'ROOMID' => $roomIdData,
  213.                                                     'COURSEID' => $courseIdData,
  214.                                                     'DAY' => "'".@StrToDb($INDONESIADAYNAME,'upper')."'",
  215.                                                     'USERID' => "'".$userid."'",
  216.                                                 );
  217.  
  218.                                                
  219.  
  220.                                                 $schedule->InsertNewSchedule($data);
  221.                                                            
  222.                                                        
  223.                                                        
  224.                                                 $rowsAff = $schedule->GetAffectedRows();
  225.                                                 if($rowsAff>0){
  226.                                                         $msg = @GetMessage(@GetLang('new_schedule_successfully_added','ucfirst'),"success");
  227.                                                 }
  228.                                                 else{
  229.                                                         $msg = @GetMessage(@GetLang('new_schedule_successfully_to_be_added','ucfirst'),"failed");
  230.                                                 }                      
  231.                                    
  232.                                                    
  233.                                                 }
  234.                                                        
  235.                                         }
  236.                                     }
  237.                                    
  238.                                     else{
  239.                                                     $msg = @GetMessage(@GetLang('new_schedule_failed_to_be_added','ucfirst'),"failed");
  240.                                             }
  241.                                            
  242.                 } else {
  243.                         $msg=@GetMessage(@GetLang('please_choose_import_type','ucfirst'),"failed");
  244.                 }
  245. }
  246.  
  247. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement