xref: /plugin/statistics/vendor/mustangostang/spyc/php4/5to4.php (revision d5ef99ddb7dfb0cfae33e9257bd1d788f682c50f)
1*d5ef99ddSAndreas Gohr<?php
2*d5ef99ddSAndreas Gohr
3*d5ef99ddSAndreas Gohrphp5to4 ("../spyc.php", 'spyc-latest.php4');
4*d5ef99ddSAndreas Gohr
5*d5ef99ddSAndreas Gohrfunction php5to4 ($src, $dest) {
6*d5ef99ddSAndreas Gohr  $code = file_get_contents ($src);
7*d5ef99ddSAndreas Gohr  $code = preg_replace ('#(public|private|protected)\s+\$#i', 'var \$', $code);
8*d5ef99ddSAndreas Gohr  $code = preg_replace ('#(public|private|protected)\s+static\s+\$#i', 'var \$', $code);
9*d5ef99ddSAndreas Gohr  $code = preg_replace ('#(public|private|protected)\s+function#i', 'function', $code);
10*d5ef99ddSAndreas Gohr  $code = preg_replace ('#(public|private|protected)\s+static\s+function#i', 'function', $code);
11*d5ef99ddSAndreas Gohr  $code = preg_replace ('#throw new Exception\\(([^)]*)\\)#i', 'trigger_error($1,E_USER_ERROR)', $code);
12*d5ef99ddSAndreas Gohr  $code = str_replace ('self::', '$this->', $code);
13*d5ef99ddSAndreas Gohr  $f = fopen ($dest, 'w');
14*d5ef99ddSAndreas Gohr  fwrite($f, $code);
15*d5ef99ddSAndreas Gohr  fclose ($f);
16*d5ef99ddSAndreas Gohr  print "Written to $dest.\n";
17*d5ef99ddSAndreas Gohr}