2020-05-16 20:18:32 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								< ? php 
							 
						 
					
						
							
								
									
										
										
										
											2020-08-12 17:50:25 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								require_once  './src/Database.php' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								require_once  './src/TMDBMovie.php' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								require_once  './src/SSettings.php' ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-03 18:26:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// allow UTF8 characters
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								setlocale ( LC_ALL ,  'en_US.UTF-8' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								writeLog ( " starting extraction! \n " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								$ffmpeg  =  'ffmpeg' ;  //or: /usr/bin/ffmpeg , or /usr/local/bin/ffmpeg - depends on your installation (type which ffmpeg into a console to find the install path)
 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-03 18:26:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								$tmdb  =  new  TMDBMovie (); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-12 20:09:54 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// initial load of all available movie genres
 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-08 17:52:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								$tmdbgenres  =  $tmdb -> getAllGenres (); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-23 23:47:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$conn  =  Database :: getInstance () -> getConnection (); 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-18 01:10:04 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								$settings  =  new  SSettings (); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-23 23:47:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-18 01:10:04 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// load video path from settings
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$scandir  =  " ../ "  .  $settings -> getVideoPath (); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-03 18:26:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								$arr  =  scandir ( $scandir ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-16 20:18:32 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-23 23:47:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								$all  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$added  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 21:35:02 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								$deleted  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-23 23:47:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								$failed  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-16 20:18:32 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								foreach  ( $arr  as  $elem )  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $ext  =  pathinfo ( $elem ,  PATHINFO_EXTENSION ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( $ext  ==  " mp4 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $moviename  =  substr ( $elem ,  0 ,  - 4 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $query  =  " SELECT * FROM videos WHERE movie_name = ' "  .  mysqli_real_escape_string ( $conn ,  $moviename )  .  " ' " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $result  =  $conn -> query ( $query ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        // insert if not available in db
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( ! mysqli_fetch_assoc ( $result ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $genres  =  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $poster  =  - 1 ;  // initially disable poster supp
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            // extract poster from video
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $pic  =  shell_exec ( " ffmpeg -hide_banner -loglevel panic -ss 00:04:00 -i  \" ../videos/prn/ $elem\ "  - vframes  1  - q : v  2  - f  singlejpeg  pipe : 1  2 >/ dev / null " );
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            // check if tmdb grabbing is enabled
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( $settings -> isTMDBGrabbingEnabled ())  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                // search in tmdb api
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  ( ! is_null ( $dta  =  $tmdb -> searchMovie ( $moviename )))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $poster  =  file_get_contents ( $tmdb -> picturebase  .  $dta -> poster_path ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    // error handling for download error
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    if  ( ! $poster )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        echo  " Failed to load Picture from TMDB!   \n " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-08 19:54:20 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    // store genre ids for parsing later
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $genres  =  $dta -> genre_ids ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    // nothing found with tmdb
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    echo  " nothing found with TMDB! \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    writeLog ( " nothing found with TMDB! \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-03 18:26:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-23 23:47:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            // convert video to base64
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $image  =  'data:image/jpeg;base64,'  .  base64_encode ( $pic ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-23 23:47:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            // extract other video attributes
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $video_attributes  =  _get_video_attributes ( $elem ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $duration  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $size  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $width  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 00:15:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            if  ( $video_attributes )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $duration  =  $video_attributes -> media -> track [ 0 ] -> Duration ;  // in seconds
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $size  =  $video_attributes -> media -> track [ 0 ] -> FileSize ;  // in Bytes
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $width  =  $video_attributes -> media -> track [ 1 ] -> Width ;  // width
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 00:15:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            if  ( ! $poster )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $poster_base64  =  'data:image/jpeg;base64,'  .  base64_encode ( $poster ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                $query  =  " INSERT INTO videos(movie_name,movie_url,poster,thumbnail,quality,length) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-03 18:26:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            VALUES  ( '" . mysqli_real_escape_string($conn, $moviename) . "' , 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            '" . mysqli_real_escape_string($conn, ' videos / prn / ' . $elem) . "' , 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 00:15:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            '$poster_base64' , 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            '$image' , 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 00:15:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            '$width' , 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            '$duration' ) " ;
 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $query  =  " INSERT INTO videos(movie_name,movie_url,thumbnail,quality,length) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 00:15:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            VALUES  ( '" . mysqli_real_escape_string($conn, $moviename) . "' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            '" . mysqli_real_escape_string($conn, ' videos / prn / ' . $elem) . "' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            '$image' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            '$width' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            '$duration' ) " ;
 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-08 17:52:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-03 18:26:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            if  ( $conn -> query ( $query )  ===  TRUE )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                echo ( 'successfully added '  .  $elem  .  "  to video gravity \n " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                writeLog ( 'successfully added '  .  $elem  .  "  to video gravity \n " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                // add this entry to the default tags
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $last_id  =  $conn -> insert_id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                // full hd
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  ( $width  >=  1900 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $query  =  " INSERT INTO video_tags(video_id,tag_id) VALUES ( $last_id ,2) " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    if  ( $conn -> query ( $query )  !==  TRUE )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        echo  " failed to add default tag here. \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        writeLog ( " failed to add default tag here. \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                // HD
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  ( $width  >=  1250  &&  $width  <  1900 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $query  =  " INSERT INTO video_tags(video_id,tag_id) VALUES ( $last_id ,4) " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    if  ( $conn -> query ( $query )  !==  TRUE )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        echo  " failed to add default tag here. \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        writeLog ( " failed to add default tag here. \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                // SD
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  ( $width  <  1250  &&  $width  >  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $query  =  " INSERT INTO video_tags(video_id,tag_id) VALUES ( $last_id ,3) " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    if  ( $conn -> query ( $query )  !==  TRUE )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        echo  " failed to add default tag here. \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        writeLog ( " failed to add default tag here. \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 16:45:24 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                // handle tmdb genres here!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  ( $genres  !=  - 1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    // transform genre ids in valid names
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    foreach  ( $genres  as  $genreid )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        // check if genre is already a tag in db if not insert it
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $tagname  =  array_column ( $tmdbgenres ,  'name' ,  'id' )[ $genreid ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $tagid  =  tagExists ( $tagname ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $query  =  " INSERT INTO video_tags(video_id,tag_id) VALUES ( $last_id , $tagid ) " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        if  ( $conn -> query ( $query )  !==  TRUE )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            echo  " failed to add  $genreid  tag here. \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            writeLog ( " failed to add  $genreid  tag here. \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 16:45:24 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 16:45:24 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                $added ++ ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-03 18:26:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                $all ++ ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                echo ( 'errored item: '  .  $elem  .  " \n " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                writeLog ( 'errored item: '  .  $elem  .  " \n " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                echo ( '{"data":"'  .  $conn -> error  .  '"}\n' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                writeLog ( '{"data":"'  .  $conn -> error  .  '"}\n' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $failed ++ ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-23 23:47:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 00:15:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            $all ++ ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-23 23:47:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo ( $elem  .  "  does not contain a .mp4 extension! - skipping  \n " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        writeLog ( $elem  .  "  does not contain a .mp4 extension! - skipping  \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-23 23:47:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-16 20:18:32 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-23 23:47:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-08 17:52:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// auto cleanup db entries
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 21:35:02 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								$query  =  " SELECT COUNT(*) as count FROM videos " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$result  =  $conn -> query ( $query ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$r  =  mysqli_fetch_assoc ( $result ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								if  ( $all  <  $r [ 'count' ])  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  " should be in gravity:  "  .  $all  .  " \n " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    writeLog ( " should be in gravity:  "  .  $all  .  " \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 21:35:02 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    echo  " really in gravity:  "  .  $r [ 'count' ]  .  " \n " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    writeLog ( " really in gravity:  "  .  $r [ 'count' ]  .  " \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 21:35:02 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    echo  " cleaning up gravity \n " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    writeLog ( " cleaning up gravity \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 21:35:02 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $query  =  " SELECT movie_id,movie_url FROM videos " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $result  =  $conn -> query ( $query ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    while  ( $r  =  mysqli_fetch_assoc ( $result ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( ! file_exists ( " ../ "  .  $r [ 'movie_url' ]))  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-23 22:20:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            $query  =  " SET foreign_key_checks = 0; DELETE FROM videos WHERE movie_id=' "  .  $r [ 'movie_id' ]  .  " ' " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 21:35:02 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            if  ( $conn -> query ( $query )  ===  TRUE )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                echo ( 'successfully deleted '  .  $r [ 'movie_url' ]  .  "  from video gravity \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                writeLog ( 'successfully deleted '  .  $r [ 'movie_url' ]  .  "  from video gravity \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 21:35:02 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                $deleted ++ ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                echo  " failed to delete  "  .  $r [ 'movie_url' ]  .  "  from gravity:  "  .  $conn -> error  .  " \n " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                writeLog ( " failed to delete  "  .  $r [ 'movie_url' ]  .  "  from gravity:  "  .  $conn -> error  .  " \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 21:35:02 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// calculate size of databse here
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$size  =  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$query  =  " SELECT table_schema AS  \" Database \" , 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        ROUND ( SUM ( data_length  +  index_length )  /  1024  /  1024 ,  3 )  AS  \ " Size \"  
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        FROM  information_schema . TABLES  
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 00:15:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        WHERE  TABLE_SCHEMA = '" . Database::getInstance()->getDatabaseName() . "' 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 21:35:02 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        GROUP  BY  table_schema ; " ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$result  =  $conn -> query ( $query ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								if  ( $result -> num_rows  ==  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $row  =  $result -> fetch_assoc (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $size  =  $row [ " Size " ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-23 23:47:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								echo  " Total gravity:  "  .  $all  .  " \n " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								writeLog ( " Total gravity:  "  .  $all  .  " \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 21:35:02 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								echo  " Size of Databse is:  "  .  $size  .  " MB \n " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								writeLog ( " Size of Databse is:  "  .  $size  .  " MB \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-23 23:47:15 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								echo  " added in this run:  "  .  $added  .  " \n " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								writeLog ( " added in this run:  "  .  $added  .  " \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 21:35:02 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								echo  " deleted in this run:  "  .  $deleted  .  " \n " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								writeLog ( " deleted in this run:  "  .  $deleted  .  " \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								echo  " errored in this run:  "  .  $failed  .  " \n " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								writeLog ( " errored in this run:  "  .  $failed  .  " \n " ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-08 17:52:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								writeLog ( " -42 " );  // terminating characters to stop webui requesting infos
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  get  all  videoinfos  of  a  video  file 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  $video  string  name  including  extension 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return  object  all  infos  as  object 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2020-08-12 17:50:25 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								function  _get_video_attributes ( $video )  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 00:15:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $command  =  " mediainfo  \" ../videos/prn/ $video\ "  -- Output = JSON " ;
 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $output  =  shell_exec ( $command ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 00:15:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    return  json_decode ( $output ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 16:15:12 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-08 17:52:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  write  a  line  to  the  output  log  file 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  string  $message  message  to  write 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2020-08-12 17:50:25 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								function  writeLog ( string  $message )  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-04 22:19:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    file_put_contents ( " /tmp/output.log " ,  $message ,  FILE_APPEND ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    flush (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-08 17:52:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  ckecks  if  tag  exists  --  if  not  creates  it 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ param  string  $tagname  the  name  of  the  tag 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ return  integer  the  id  of  the  inserted  tag 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2020-08-12 17:50:25 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								function  tagExists ( string  $tagname )  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-08 17:52:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    global  $conn ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $query  =  " SELECT * FROM tags WHERE tag_name=' $tagname ' " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $result  =  $conn -> query ( $query ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( $result -> num_rows  ==  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        // tag does not exist --> create it
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $query  =  " INSERT INTO tags (tag_name) VALUES (' $tagname ') " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( $conn -> query ( $query )  !==  TRUE )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            echo  " failed to create  $tagname  tag in database \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            writeLog ( " failed to create  $tagname  tag in database \n " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  $conn -> insert_id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  $result -> fetch_assoc ()[ 'tag_id' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}