[ Index ] |
PHP Cross Reference of MediaWiki-1.24.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Portions taken from phpwiki-1.3.3. 4 * 5 * Copyright © 2000, 2001 Geoffrey T. Dairiki <[email protected]> 6 * You may copy this code freely under the conditions of the GPL. 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License along 19 * with this program; if not, write to the Free Software Foundation, Inc., 20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 * http://www.gnu.org/copyleft/gpl.html 22 * 23 * @file 24 * @ingroup DifferenceEngine 25 */ 26 27 /** 28 * A pseudo-formatter that just passes along the Diff::$edits array 29 * @ingroup DifferenceEngine 30 */ 31 class ArrayDiffFormatter extends DiffFormatter { 32 33 /** 34 * @param Diff $diff A Diff object. 35 * 36 * @return array[] List of associative arrays, each describing a difference. 37 */ 38 public function format( $diff ) { 39 $oldline = 1; 40 $newline = 1; 41 $retval = array(); 42 foreach ( $diff->getEdits() as $edit ) { 43 switch ( $edit->getType() ) { 44 case 'add': 45 foreach ( $edit->getClosing() as $line ) { 46 $retval[] = array( 47 'action' => 'add', 48 'new' => $line, 49 'newline' => $newline++ 50 ); 51 } 52 break; 53 case 'delete': 54 foreach ( $edit->getOrig() as $line ) { 55 $retval[] = array( 56 'action' => 'delete', 57 'old' => $line, 58 'oldline' => $oldline++, 59 ); 60 } 61 break; 62 case 'change': 63 foreach ( $edit->getOrig() as $key => $line ) { 64 $retval[] = array( 65 'action' => 'change', 66 'old' => $line, 67 'new' => $edit->getClosing( $key ), 68 'oldline' => $oldline++, 69 'newline' => $newline++, 70 ); 71 } 72 break; 73 case 'copy': 74 $oldline += count( $edit->getOrig() ); 75 $newline += count( $edit->getOrig() ); 76 } 77 } 78 79 return $retval; 80 } 81 82 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 14:03:12 2014 | Cross-referenced by PHPXref 0.7.1 |