Merge branch 'master' of ssh://repo.or.cz/srv/git/recordtv
[recordtv.git] / playonwii / functions.php
blob1a0b5b2e643d3f82d643f80ab04d5bb73df23413
1 <?php
3 $videos_dir = "/home/andy/Videos/Wii";
4 $deleted_dir = "$videos_dir/deleted";
5 $videos_uri = "/filesvideo";
7 $allowed_chars_re = "/[\\/0-9a-zA-Z_-]/";
9 # Compare with rtv_utils.py's prepare_filename method
10 function prepare_filename( $filename )
12 global $allowed_chars_re;
14 $len = strlen( $filename );
15 $dotpos = strrpos( $filename, '.' );
16 $extension = substr( $filename, $dotpos );
17 $filename = substr( $filename, 0, $dotpos );
19 if ( $extension == ".mp4" )
21 $dotpos = strrpos( $filename, '.' );
22 $tmp = substr( $filename, $dotpos );
23 if ( $tmp == ".avi_high" )
25 $extension = $tmp . $extension;
26 $filename = substr( $filename, 0, $dotpos );
30 if ( $extension != ".flv" and
31 $extension != ".avi" and
32 $extension != ".mp4" and
33 $extension != ".avi_high.mp4" and
34 $extension != ".webm" )
36 return "not_an_flv";
39 $ans = sanitise_filename( $filename );
41 return $ans . $extension;
44 function sanitise_filename( $filename )
46 global $allowed_chars_re;
48 $len = strlen( $filename );
50 $ans = "";
52 for( $i = 0; $i < $len; $i++ )
54 $char = $filename[$i];
55 if( preg_match( $allowed_chars_re, $char ) )
57 $ans .= $char;
59 else
61 $ans .= "_";
65 return $ans;
68 function ends_with( $haystack, $needle )
70 return (
71 substr_compare(
72 $haystack,
73 $needle,
74 strlen( $haystack ) - strlen( $needle )
76 == 0