public static function isOwner($path) { mimport('framework.filesystem.file'); $tmp = md5(MUserHelper::genRandomPassword(16)); $ssp = ini_get('session.save_path'); $jtp = MPATH_SITE . '/tmp'; // Try to find a writable directory $dir = is_writable('/tmp') ? '/tmp' : false; $dir = !$dir && is_writable($ssp) ? $ssp : false; $dir = !$dir && is_writable($jtp) ? $jtp : false; if ($dir) { $test = $dir . '/' . $tmp; // Create the test file $blank = ''; MFile::write($test, $blank, false); // Test ownership $return = fileowner($test) == fileowner($path); // Delete the test file MFile::delete($test); return $return; } return false; }