Annotation of cdn/www/sources.html, revision 1.37

1.9       cdn         1: <!-- MAIN CONTENT -->
                      2: <h5 class="page-header">Source Code</h5>
                      3: 
                      4: <p>
                      5:   The cdn source code can be accessed in either of the following ways:
                      6: </p>
                      7: 
                      8: <ul>
                      9: <li>View the source using the CVS <a href="http://www.mozdev.org/source/browse/cdn/">web interface</a></li>
                     10: <li>Check out the source using anonymous CVS with the following commands (password is guest):
                     11: 
                     12: <pre>
                     13: cvs -d :pserver:guest@mozdev.org:/cvs login
                     14: cvs -d :pserver:guest@mozdev.org:/cvs co cdn
                     15: </pre>
                     16: 
                     17: </li>
1.11      cdn        18: </ul><?php $doNotCapitalise = 1; ?>
1.9       cdn        19: 
1.2       cdn        20: <?php 
1.1       cdn        21: 
1.36      cdn        22: // $Id: sources.html,v 1.35 2003/02/20 22:46:43 cdn Exp $
1.2       cdn        23:   
                     24:   require("include/CVS_PATHS");
1.1       cdn        25: 
1.2       cdn        26:   define(MAX_READ_SIZE, 500000);
                     27:   define(MAX_READ, 100000);
                     28: 
1.36      cdn        29:   $today              = date("y/m/d");
                     30:   $day = (int)date('d');
                     31:   --$day;
1.37    ! cdn        32:   $yesterday          = date("y/m/" . sprintf('%2u', $day));
1.2       cdn        33:   $commit_log         = "cvs@$project.mozdev.org";
                     34: 
1.8       cdn        35: //  show_source(COMMIT_PATH.$commit_log);
1.7       cdn        36: 
1.2       cdn        37:   if(!$local_conf_commits) 
                     38:     print '<span id="CVS-local-conf-commits">' . $local_conf_commits_msg . "</span>\n";
                     39: 
                     40:   //BEGIN BLOCK
                     41:   if(file_exists(COMMIT_PATH.$commit_log) && $local_conf_commits) { 
                     42: 
                     43:     $size = filesize(COMMIT_PATH.$commit_log);
                     44:     $contents = array();
                     45:     if ($size > MAX_READ_SIZE) {
                     46:       // print "<!-- Log File is greater than 500K -->\n";
                     47: 
                     48:       $fp = fopen (COMMIT_PATH.$commit_log, "r");
                     49:       fseek($fp, $size - MAX_READ);
                     50:       if ($contents) {
                     51:         print "$contents\n";
                     52:         exit;
                     53:       }
                     54:       $tok = strtok(fread($fp, MAX_READ),"\n");
                     55:       while ($tok) {
                     56:         array_push($contents, $tok);
                     57:         $tok = strtok("\n");
                     58:       }
                     59:       fclose($fp);
1.7       cdn        60:     } // echo '<pre>' . $contents[0] . '</pre>';
1.2       cdn        61:     if (!$contents)
                     62:       $contents = file(COMMIT_PATH.$commit_log);
                     63:     $len=count($contents);
                     64:     $r            = -1;
                     65:   
1.9       cdn        66:    // echo '<pre style="color: red;">' . $contents[0] . '</pre>';
1.5       cdn        67:     
1.11      cdn        68:     $_project = $project;
                     69:     
                     70:     if ( !isset($doNotCapitalise) )
                     71:     {
                     72:       $_project = PROJECT;
                     73:     }
                     74:    
1.36      cdn        75:    // print '<h4 id="CVS-h4">' . "Today's CVS Commits for " . $_project . " Project</h4>\n";
                     76:     print '<h4 id="CVS-h4">' . "Yesterday's CVS Commits for " . $_project . " Project</h4>\n";
1.2       cdn        77:     print '<table border="0" cellpadding="0" cellspacing="2" id="CVS-table">' . "\n";
                     78: 
                     79:     if($len) {
                     80:       for($i=0;$i<$len;$i++) {
                     81:         if(ereg("Modified:    www", $contents[$l]) && !$local_conf_commits)
                     82:           break;
                     83: 
1.36      cdn        84:         if(ereg("  Date: $yesterday", $contents[$i])) {
                     85:        // if(ereg("  Date: $today", $contents[$i])) {
1.2       cdn        86:           $r++;
                     87:           $result[$r] = 
                     88:           '<tr class="CVS-tr-header" valign="top"><td class="CVS-td-900">' . "\n" .
                     89:           "<strong>" . htmlspecialchars($contents[$i-1]) . "</strong>\n" .
                     90:           "</td></tr>\n" .
1.9       cdn        91:           '<tr class="CVS-tr-date">' .
1.4       cdn        92:           '<td class="CVS-td-f90">' . "\n" . htmlspecialchars($contents[$i]) .
1.2       cdn        93:           "\n</td></tr>\n" .
1.10      cdn        94:           '<tr class="CVS-tr-checkins"><td class="CVS-td-checkins">' . "\n";
1.2       cdn        95: 
                     96:           for($l=$i+1;$l<$len;$l++) {
                     97:             if(ereg("  Revision  Changes    Path", $contents[$l]))
                     98:               break;
                     99: 
                    100:             if(ereg("  User:", $contents[$l]))
                    101:               break;
                    102: 
1.12      cdn       103:             $checkins = eregi_replace("((https|http|mailto|ftp):\/\/[^[:space:]<>]{1,})", 
1.18      cdn       104:             "<a href='\\1'>\\1</a>", htmlspecialchars($contents[$l]));
1.14      cdn       105: 
                    106:             // '  Added:       www/img  background.png' 
                    107:             // '  Modified:    www      cdn.css' 
                    108:             // '  Removed:     www/protected sources.html'
1.18      cdn       109:             // '               www/compact index.html' ?
1.14      cdn       110: 
1.15      cdn       111:             $webcvs = 'http://www.mozdev.org/source/browse/' . $project; // . '/';
1.14      cdn       112: 
1.31      cdn       113:             if ( ereg("((Added|Modified|Removed):)", $checkins) || ereg("[[:space:]]{9}", $checkins) )
1.15      cdn       114:             {
1.31      cdn       115:              // $checkins = trim($checkins);
1.18      cdn       116: 
1.31      cdn       117:               $identifier = trim(substr($checkins, 0, 14));
                    118: 
                    119:               $checkins = ereg_replace('[[:space:]]{1,}', ' ', substr($checkins, 14) );
1.23      cdn       120: 
1.15      cdn       121:               $checkinsA = explode(' ', $checkins);
1.14      cdn       122: 
1.15      cdn       123:               unset($checkins);
1.14      cdn       124: 
1.15      cdn       125:               for($z=0; $z < count($checkinsA); ++$z)
                    126:               {
                    127:                 $checkinsA[$z] = trim($checkinsA[$z]);
                    128:               }
1.12      cdn       129: 
1.31      cdn       130:               $checkins = $identifier;
                    131: 
                    132:               $chkA1 = $checkinsA[0];
1.28      cdn       133: 
1.35      cdn       134:              // $webcvs .= '/' . $checkinsA[0];
1.29      cdn       135: 
1.34      cdn       136:               $webcvs = str_replace('//', '/', $webcvs);
                    137:               $webcvs = str_replace(':/', '://', $webcvs);
1.33      cdn       138: 
1.34      cdn       139:              // $webcvs = ereg_replace('[^\:]+//', '/', $webcvs); // sillier : )
1.32      cdn       140: 
1.31      cdn       141:               if(!empty($chkA1))
1.28      cdn       142:               {
1.31      cdn       143:                 $checkins .= ' <a href="' . $webcvs;
                    144:                 $checkins .= '">' . $chkA1 . '</a>';
1.28      cdn       145:               }
1.25      cdn       146: 
1.20      cdn       147:              // reset($checkinsA);
1.34      cdn       148: 
1.35      cdn       149:               $webcvs .= array_shift($checkinsA);
1.34      cdn       150: 
                    151:               for($y=0; $y < count($checkinsA); ++$y)
1.15      cdn       152:               {
1.32      cdn       153:                 $checkins .= ' <a href="' . $webcvs . '/' . $chkA1 . $checkinsA[$y] . '">';
1.31      cdn       154:                 $checkins .= $checkinsA[$y] . '</a>';
1.15      cdn       155:               }
1.14      cdn       156:             }
1.12      cdn       157: 
                    158:             $result[$r] .= '<div class="CVS-div-checkins">' . $checkins .
1.11      cdn       159:             "</div>\n";
1.2       cdn       160:           }
                    161: 
                    162:           $result[$r]     .= "</td></tr>\n";
                    163:         }
                    164:       }
                    165:     }
                    166: 
                    167:   if(!$result) {  
1.3       cdn       168:     print '<tr><td id="CVS-no-commits">There are no new commits today</td></tr>' . "\n";
1.2       cdn       169:   } else {
                    170:     $reversed=array_reverse($result);
                    171:     for($i=0;$i<count($result);$i++)
                    172:       PRINT $reversed[$i];
                    173:   }
                    174: 
                    175:     print "</table>\n\n";
                    176: 
                    177:   } //END BLOCK
1.1       cdn       178: ?>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>