| | |
| | | } |
| | | } |
| | | |
| | | function hasLine($filename, $search_pattern, $strict = 0) { |
| | | if($lines = @file($filename)) { |
| | | foreach($lines as $line) { |
| | | if($strict == 0) { |
| | | if(stristr($line, $search_pattern)) { |
| | | return true; |
| | | } |
| | | } else { |
| | | if(trim($line) == $search_pattern) { |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | function is_installed($appname) { |
| | | exec('which '.escapeshellcmd($appname).' 2> /dev/null', $out, $returncode); |
| | | if(isset($out[0]) && stristr($out[0], $appname) && $returncode == 0) { |
| | |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /* |
| | | * Compare ISPConfig version number. |
| | | * return values: |
| | | * -1 $current version is newer then $new version (downgrade) |
| | | * 0 $current version = $new version |
| | | * 1 $current version is older then new version (update) |
| | | |
| | | */ |
| | | function compare_ispconfig_version($current, $new) { |
| | | if( $current == $new) { |
| | | return 0; |
| | | } |
| | | |
| | | $p = explode('.', $current); |
| | | $tmp = ''; |
| | | $tmp .= str_pad(intval($p[0]), 3, '0', STR_PAD_LEFT); |
| | | $tmp .= (isset($p[1]))?str_pad(intval($p[1]), 3, '0', STR_PAD_LEFT):'000'; |
| | | $tmp .= (isset($p[2]))?str_pad(intval($p[2]), 3, '0', STR_PAD_LEFT):'000'; |
| | | $tmp .= (isset($p[3]))?str_pad(intval($p[3]), 3, '0', STR_PAD_LEFT):'000'; |
| | | $current = $tmp; |
| | | |
| | | $p = explode('.', $new); |
| | | $tmp = ''; |
| | | $tmp .= str_pad(intval($p[0]), 3, '0', STR_PAD_LEFT); |
| | | $tmp .= (isset($p[1]))?str_pad(intval($p[1]), 3, '0', STR_PAD_LEFT):'000'; |
| | | $tmp .= (isset($p[2]))?str_pad(intval($p[2]), 3, '0', STR_PAD_LEFT):'000'; |
| | | $tmp .= (isset($p[3]))?str_pad(intval($p[3]), 3, '0', STR_PAD_LEFT):'000'; |
| | | $new = $tmp; |
| | | |
| | | if($new > $current) { |
| | | return 1; |
| | | } else { |
| | | return -1; |
| | | } |
| | | |
| | | } |
| | | |
| | | /* |