Exemplo n.º 1
0
             $diffcheck .= '<span class="' . $difference['color'] . '">' . $difference['action'] . '</span>';
             $diffcheck .= '</td><td class="membersRow' . $row_color . '">';
             if (isset($difference['from'])) {
                 $diffcheck .= highlight_php(implode("\n", $difference['from']), $rowfile1[0]);
             }
             $diffcheck .= '</td><td class="membersRowRight' . $row_color . '">';
             if (isset($difference['to'])) {
                 $diffcheck .= highlight_php(implode("\n", $difference['to']), $rowfile2[0]);
             }
             $diffcheck .= '</td>';
             $diffcheck .= '</tr>';
         }
         $diffcheck .= '</table>';
     }
 } else {
     if (check_if_image($filename)) {
         $svnurl = parse_url(ROSTER_SVNREMOTE);
         $svnpath = pathinfo($svnurl['path'], PATHINFO_DIRNAME);
         $svnurl = $svnurl['scheme'] . '://' . $svnurl['host'] . $svnpath . '/';
         $diffcheck = '<table width="100%" border="0" cellspacing="0">' . '<tr><th class="membersHeaderRight">SVN Image</th></tr>' . '<tr><td class="membersRowRight1"><img src="' . $svnurl . $filename . '" alt="" /></td></tr>' . '<tr><td class="membersRowRight2">&nbsp;</td></tr></table>';
     } else {
         $diffcheck = '<table width="100%" border="0" cellspacing="0">' . '<tr><th class="membersHeaderRight">SVN File</th></tr>' . '<tr><td class="membersRowRight1">' . highlight_php(str_replace("\r\n", "\n", $filesvnsource)) . '</td></tr>' . '</table>';
     }
 }
 print '<table border="0" cellspacing="6"><tr><td valign="top" align="right">' . "\n";
 print border('syellow', 'start', 'MD5 Information for file: ' . $filename) . "\n";
 print '<table width="100%" cellspacing="0" border="0" class="bodyline">';
 print '<tr><td class="membersRow1">Remote:</td><td class="membersRowRight1">' . $md5remote . "</td></tr>\n";
 print '<tr><td class="membersRow2">Local:</td><td class="membersRowRight2">' . $md5local . "</td></tr>\n";
 print "</table>\n";
 print border('syellow', 'end');
Exemplo n.º 2
0
function _getsha($file, $filefullpath)
{
    if (check_if_image($file)) {
        $d = file_get_contents($filefullpath);
        $s = filesize($filefullpath);
        //strlen( $encoded_image );
        $x = sha1("blob " . $s . "" . $d);
    } else {
        $d = str_replace("\r\n", "\n", file_get_contents_utf8($filefullpath));
        $s = strlen($d);
        $x = sha1("blob " . $s . "" . $d);
    }
    return $x;
}
Exemplo n.º 3
0
/**
 * Verify version info
 *
 */
function VerifyVersions()
{
    global $files, $directories, $problemsev, $severity, $rollups, $totalrollup, $totalseverity, $newerfilesev;
    // Process verification for all directories, Local and SVN
    foreach ($files as $directory => $filedata) {
        // Initialize the Directory severity
        $files[$directory]['severity'] = 0;
        // Initialize the File tooltip
        $files[$directory]['tooltip'] = '';
        $files[$directory]['newer'] = 0;
        $nosvn = 0;
        $nolocal = 0;
        foreach ($filedata as $filename => $file) {
            // Initialize the File severity
            $files[$directory][$filename]['severity'] = 0;
            // Initialize the File tooltip
            $files[$directory][$filename]['tooltip'] = '';
            $files[$directory][$filename]['rogue'] = 0;
            $files[$directory][$filename]['update'] = 0;
            $files[$directory][$filename]['missing'] = 0;
            $files[$directory][$filename]['diff'] = 0;
            $files[$directory][$filename]['newer'] = 0;
            // Check if Both Local and SVN files are present
            if (isset($file['local']) && isset($file['remote'])) {
                // Check if the local description matches the SVN description
                if (strcmp($file['local']['versionDesc'], $file['remote']['versionDesc'])) {
                    $files[$directory][$filename]['severity'] += $severity[$problemsev['description']]['weight'];
                    $files[$directory][$filename]['tooltip'] .= 'Local Description does NOT match with SVN<br />';
                }
                // Check if the local version matches the SVN version
                if (version_compare($file['local']['versionRev'], $file['remote']['versionRev']) < 0) {
                    $files[$directory][$filename]['severity'] += $severity[$problemsev['revisiongreater']]['weight'];
                    $files[$directory][$filename]['newer'] = 1;
                    $files[$directory][$filename]['tooltip'] .= 'Local Version: ' . $file['local']['versionRev'] . ' is HIGHER than SVN Version: ' . $file['remote']['versionRev'] . '<br />';
                    $files[$directory][$filename]['rev'] = $file['local']['versionRev'] . ' < ' . $file['remote']['versionRev'];
                    $files[$directory][$filename]['update'] = 1;
                    $files[$directory][$filename]['diff'] = 1;
                } elseif (version_compare($file['local']['versionRev'], $file['remote']['versionRev']) > 0) {
                    $files[$directory][$filename]['severity'] += $severity[$problemsev['revisiongreater']]['weight'];
                    $files[$directory][$filename]['tooltip'] .= 'Local Version: ' . $file['local']['versionRev'] . ' is HIGHER than SVN Version: ' . $file['remote']['versionRev'] . '<br />';
                    $files[$directory][$filename]['rev'] = $file['local']['versionRev'] . ' > ' . $file['remote']['versionRev'];
                    $files[$directory][$filename]['diff'] = 1;
                } elseif (version_compare($file['local']['versionRev'], $file['remote']['versionRev']) == 0) {
                    $files[$directory][$filename]['rev'] = $file['local']['versionRev'];
                }
                // Check if the local date matches the SVN date
                if ($file['local']['versionDate'] < $file['remote']['versionDate'] && !check_if_image($filename)) {
                    $files[$directory][$filename]['severity'] += $severity[$problemsev['dateolder']]['weight'];
                    $files[$directory][$filename]['tooltip'] .= 'Local Date: ' . gmdate('Y/m/d H:i', $file['local']['versionDate']) . ' is OLDER than SVN Date: ' . gmdate('Y/m/d H:i', $file['remote']['versionDate']) . '<br />';
                    $files[$directory][$filename]['date'] = gmdate('Y/m/d H:i', $file['local']['versionDate']) . ' < ' . gmdate('Y/m/d H:i', $file['remote']['versionDate']);
                    $files[$directory][$filename]['update'] = 1;
                    $files[$directory][$filename]['diff'] = 1;
                } elseif ($file['local']['versionDate'] > $file['remote']['versionDate'] && !check_if_image($filename)) {
                    $files[$directory][$filename]['severity'] += $severity[$problemsev['dateyounger']]['weight'];
                    $files[$directory][$filename]['newer'] = 1;
                    $files[$directory][$filename]['tooltip'] .= 'Local Date: ' . gmdate('Y/m/d H:i', $file['local']['versionDate']) . ' is NEWER than SVN Date: ' . gmdate('Y/m/d H:i', $file['remote']['versionDate']) . '<br />';
                    $files[$directory][$filename]['date'] = gmdate('Y/m/d H:i', $file['local']['versionDate']) . ' > ' . gmdate('Y/m/d H:i', $file['remote']['versionDate']);
                    $files[$directory][$filename]['diff'] = 1;
                } elseif ($file['local']['versionDate'] == $file['remote']['versionDate'] || check_if_image($filename)) {
                    $files[$directory][$filename]['date'] = gmdate('Y/m/d H:i', $file['local']['versionDate']);
                }
                // Check if the local author matches the SVN author
                if (strcmp($file['local']['versionAuthor'], $file['remote']['versionAuthor'])) {
                    $files[$directory][$filename]['severity'] += $severity[$problemsev['author']]['weight'];
                    $files[$directory][$filename]['tooltip'] .= 'Local Author does NOT match with SVN<br />';
                    $files[$directory][$filename]['author'] = preg_replace('/@(.+)/i', '', $file['local']['versionAuthor']) . ' != ' . preg_replace('/@(.+)/i', '', $file['remote']['versionAuthor']);
                    $files[$directory][$filename]['diff'] = 1;
                } else {
                    $files[$directory][$filename]['author'] = preg_replace('/@(.+)/i', '', $file['local']['versionAuthor']);
                }
                // Check if the local MD5 matches the SVN MD5
                if (strcmp($file['local']['versionMD5'], $file['remote']['versionMD5'])) {
                    if (check_if_image($filename)) {
                        $files[$directory][$filename]['severity'] += $severity[$problemsev['MD5binary']]['weight'];
                        $files[$directory][$filename]['tooltip'] .= 'Local MD5 does not match with SVN<br />';
                        $files[$directory][$filename]['update'] = 1;
                    } else {
                        $files[$directory][$filename]['severity'] += $severity[$problemsev['MD5']]['weight'];
                        $files[$directory][$filename]['tooltip'] .= 'Local MD5 does not match with SVN<br />';
                    }
                    $files[$directory][$filename]['md5'] = 'MD5 String does NOT match';
                    $files[$directory][$filename]['diff'] = 1;
                } else {
                    $files[$directory][$filename]['md5'] = 'MD5 String Matches';
                }
            } elseif (isset($file['local']) && !isset($file['remote'])) {
                $files[$directory][$filename]['severity'] += $severity[$problemsev['nosvn']]['weight'];
                $files[$directory][$filename]['tooltip'] .= 'Local file does not exist in SVN<br />';
                $files[$directory][$filename]['rogue'] = 1;
                $files[$directory][$filename]['rev'] = $file['local']['versionRev'];
                $files[$directory][$filename]['date'] = gmdate('Y/m/d H:i', $file['local']['versionDate']);
                $files[$directory][$filename]['author'] = preg_replace('/@(.+)/i', '', $file['local']['versionAuthor']);
            } elseif (!isset($file['local']) && isset($file['remote'])) {
                $files[$directory][$filename]['severity'] += $severity[$problemsev['nolocal']]['weight'];
                $files[$directory][$filename]['tooltip'] .= 'Local file is missing but is present in SVN<br />';
                $files[$directory][$filename]['update'] = 1;
                $files[$directory][$filename]['missing'] = 1;
            } else {
                $files[$directory][$filename]['severity'] += $severity[$problemsev['unknown']]['weight'];
                $files[$directory][$filename]['tooltip'] .= 'Unknown Issue<br />';
            }
            $files[$directory][$filename]['rollup'] = 0;
            foreach ($rollups as $rollupkey => $rollup) {
                if ($files[$directory][$filename]['severity'] > $rollup['rollup']) {
                    $files[$directory][$filename]['rollup'] = $rollup['severity'];
                }
            }
            $files[$directory]['severity'] += $files[$directory][$filename]['severity'];
            if (!$files[$directory][$filename]['severity'] && $files[$directory][$filename]['newer']) {
                $files[$directory][$filename]['rollup'] = $newerfilesev;
                $files[$directory]['newer'] = 1;
            }
            if ($files[$directory][$filename]['tooltip'] == '' && !$files[$directory][$filename]['severity'] && !$files[$directory][$filename]['rogue'] && !$files[$directory][$filename]['diff'] && !$files[$directory][$filename]['newer']) {
                $files[$directory][$filename]['tooltip'] .= 'Local file same as SVN<br />';
            }
            if ($files[$directory][$filename]['rogue']) {
                $files[$directory][$filename]['rollup'] = $problemsev['nosvn'];
                $nosvn = 1;
            }
            if ($files[$directory][$filename]['missing']) {
                $files[$directory][$filename]['rollup'] = $problemsev['nolocal'];
                $nolocal = 1;
            }
            if ($files[$directory][$filename]['rollup']) {
                $files[$directory]['tooltip'] .= 'File: ' . $filename . ' - Severity: ' . $files[$directory][$filename]['rollup'] . '<br />';
            }
        }
        if ($files[$directory]['tooltip'] == '') {
            $files[$directory]['tooltip'] = 'No File Version Issues!';
        }
        $files[$directory]['rollup'] = 0;
        foreach ($rollups as $rollupkey => $rollup) {
            if ($files[$directory]['severity'] > $rollup['rollup']) {
                $files[$directory]['rollup'] = $rollup['severity'];
            }
        }
        if (!$files[$directory]['severity']) {
            if ($files[$directory]['newer']) {
                $files[$directory]['rollup'] = $newerfilesev;
            }
            if ($nosvn) {
                $files[$directory]['rollup'] = $problemsev['nosvn'];
            }
            if ($nolocal) {
                $files[$directory]['rollup'] = $problemsev['nolocal'];
            }
        }
        $totalseverity += $files[$directory]['severity'];
    }
    $totalrollup = 0;
    foreach ($rollups as $rollupkey => $rollup) {
        if ($files[$directory]['severity'] > $rollup['rollup']) {
            $totalrollup = $rollup['severity'];
        }
    }
}