Changeset 19198
- Timestamp:
- 09/11/08 23:14:24 (4 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/php/Diggin_CDDB/library/Diggin/CDDB/Application/CDex.php
r19091 r19198 115 115 //cdex comment is /^#FILE/ 116 116 if (preg_match("/^$end.*/i", $splFileObject->current())) { 117 $end = $splFileObject->key();117 $endkey = $splFileObject->key(); 118 118 } 119 119 if (preg_match("/^$start.*/i", $splFileObject->current())) { 120 return array('start' => ($line - $i), 'end' => $end); 120 if (isset($endkey)) { 121 return array('start' => ($line - $i), 'end' => $endkey); 122 } 121 123 } 122 124 } 123 125 124 126 //if none 125 127 require_once 'Diggin/CDDB/Application/Exception.php'; 128 throw new Diggin_CDDB_Application_Exception("there is no seek points, $splFileObject,(start:$start, end:$end)"); 126 129 } 127 130 … … 194 197 public function getRewriteStr(SplFileInfo $file, $rewrite_points, $disc) 195 198 { 199 $fileArray = file($file); 200 196 201 //extract rewritepart string 197 $rewriteStr = implode('', array_slice( file($file), $rewrite_points['start'] +1 , $rewrite_points['end']));202 $rewriteStr = implode('', array_slice($fileArray, $rewrite_points['start'] +1 , $rewrite_points['end'])); 198 203 199 204 $decode = Diggin_CDDB_Disc_Decoder::decode($rewriteStr, Diggin_CDDB_Disc_Decoder::TYPE_ARRAY, 'SJIS'); … … 213 218 $rewriteStr = Diggin_CDDB_Disc_Encoder::encode($decode); 214 219 220 215 221 //#filename line add 216 222 $splFileObject = $file->openFile(); 217 223 $splFileObject->seek($rewrite_points['start'] ); 218 $rewriteStr = $splFileObject->current().$rewriteStr.PHP_EOL; 219 220 return $rewriteStr; 224 $rewriteStr = $splFileObject->current().$rewriteStr; 225 226 //if rewriting is not first(head of file), add before of rewrite 227 if ($rewrite_points['start'] !== 0) { 228 $before = implode('', array_slice($fileArray, 0, $rewrite_points['start'])); 229 $rewriteStr = $before.$rewriteStr; 230 } 231 232 if ($rewrite_points['end'] !== count($fileArray)-1 ) { 233 $after = implode('', array_slice($fileArray, $rewrite_points['end']+1)); 234 $rewriteStr = $rewriteStr.PHP_EOL.$after; 235 $end = ''; //afterをつける場合、EOFの行まで含まれるので調整。 236 } else { 237 $end = PHP_EOL; 238 } 239 240 return $rewriteStr.$end; 221 241 } 222 242
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)