svn: /web/doc-editor/trunk/php/ File.php

[email protected] (Yannick Torres)
Newsgroups php.doc.web
Message-ID <[email protected]>
yannick                                  Fri, 07 May 2010 22:26:07 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=299130

Log:
When we display the diff of a patch for a new file, we display only 'This is a new file.'

Changed paths:
    U   web/doc-editor/trunk/php/File.php

Modified: web/doc-editor/trunk/php/File.php
===================================================================
--- web/doc-editor/trunk/php/File.php	2010-05-07 22:21:04 UTC (rev 299129)
+++ web/doc-editor/trunk/php/File.php	2010-05-07 22:26:07 UTC (rev 299130)
@@ -358,6 +358,8 @@
         $appConf = $am->appConf;
         $project = $am->project;

+        $output = array();
+
         if( $type == 'vcs' ) {

             $output = VCSFactory::getInstance()->diff(
@@ -368,19 +370,24 @@
         } elseif( $type == 'file' || $type == 'patch' ) {

             $ext = ( $options['type'] == 'patch' ) ? '.' . $options['uniqID'] . '.patch' : '.new';
-            $cmd = 'cd '.$appConf[$project]['vcs.path'].$this->lang.$this->path.'; '
-                  .'diff -u '.$this->name.' '.$this->name.$ext;
+
+            // If this patch is for new file, we only display "This is a new file."
+            if( $type == 'patch' && !is_file($appConf[$project]['vcs.path'].$this->lang.$this->path.$this->name) ) {
+               return '<div style="size: 10px; text-align:center;margin-top:10px;">This is a new file.</div>';
+            } else {

-            $output = array();
-            $trial_threshold = 3;
-            while ($trial_threshold-- > 0) {
-                $output = array();
-                exec($cmd, $output);
-                if (strlen(trim(implode('', $output))) != 0) break;
+                $cmd = 'cd '.$appConf[$project]['vcs.path'].$this->lang.$this->path.'; '
+                      .'diff -u '.$this->name.' '.$this->name.$ext;
+
+                $trial_threshold = 3;
+                while ($trial_threshold-- > 0) {
+                    $output = array();
+                    exec($cmd, $output);
+                    if (strlen(trim(implode('', $output))) != 0) break;
+                }
             }

         }
-
         $output = htmlentities(join("\n", $output), ENT_QUOTES, 'UTF-8');
         $match = array();
         preg_match_all('/@@([^@]+)@@(.*?)(?=@@|\z)/si', $output, $match);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.