1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | <?php /** * GitPHP Util * * Utility functions * * @author Christopher Han <xiphux@gmail.com> * @copyright Copyright (c) 2010 Christopher Han * @package GitPHP */ /** * Util class * * @package GitPHP */ class GitPHP_Util { /** * AddSlash * * Adds a trailing slash to a directory path if necessary * * @access public * @static * @param string $path path to add slash to * @param $filesystem true if this is a filesystem path (to also check for backslash for windows paths) * @return string $path with a trailing slash */ public static function AddSlash($path, $filesystem = true) { if (empty($path)) return $path; $end = substr($path, -1); if (!(( ($end == '/') || ($end == ':')) || ($filesystem && GitPHP_Util::IsWindows() && ($end == '\\')))) { if (GitPHP_Util::IsWindows() && $filesystem) { $path .= '\\'; } else { $path .= '/'; } } return $path; } /** * IsWindows * * Tests if this is running on windows * * @access public * @static * @return bool true if on windows */ public static function IsWindows() { return (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'); } /** * Is64Bit * * Tests if this is a 64 bit machine * * @access public * @static * @return bool true if on 64 bit */ public function Is64Bit() { return (strpos(php_uname('m'), '64') !== false); } /** * MakeSlug * * Turn a string into a filename-friendly slug * * @access public * @param string $str string to slugify * @static * @return string slug */ public static function MakeSlug($str) { $from = array( '/' ); $to = array( '-' ); return str_replace($from, $to, $str); } } |