Changeset 235
- Timestamp:
- 02/06/07 16:26:07 (1 year ago)
- Files:
-
- trunk/build/star/compile-reader.ini (modified) (1 diff)
- trunk/build/star/compile-writer-archive.ini (modified) (1 diff)
- trunk/build/star/compile-writer-cli.ini (modified) (1 diff)
- trunk/build/stubbles/build.php (modified) (1 diff)
- trunk/lib/starReader.php (modified) (6 diffs)
- trunk/lib/xjconf.star (modified) (previous)
- trunk/src/main/php/net/stubbles/star/StarArchive.php (modified) (5 diffs)
- trunk/src/main/php/net/stubbles/star/StarClassRegistry.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/star/StarConsole.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/star/StarStreamWrapper.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/build/star/compile-reader.ini
r115 r235 7 7 [PREFACE] 8 8 preface.1="build/star/preface-reader.php" 9 10 [META-INF] 11 title = "Stubbles Archive Reader" 12 package = "net.stubbles.star" 13 version = "0.5.0" 14 author = "Stubbles Development Team <http://stubbles.net> 15 copyright = "© 2007 Stubbles Development Team" trunk/build/star/compile-writer-archive.ini
r218 r235 11 11 [PREFACE] 12 12 preface.1="build/star/preface-writer.php" 13 14 [META-INF] 15 title = "Stubbles Archive Writer" 16 package = "net.stubbles.star" 17 version = "0.5.0" 18 author = "Stubbles Development Team <http://stubbles.net> 19 copyright = "© 2007 Stubbles Development Team" trunk/build/star/compile-writer-cli.ini
r218 r235 12 12 preface.1="build/star/preface-writer.php" 13 13 preface.2="build/star/preface-writer-cli.php" 14 15 [META-INF] 16 title = "Stubbles Archive CLI Writer" 17 package = "net.stubbles.star" 18 version = "0.5.0" 19 author = "Stubbles Development Team <http://stubbles.net> 20 copyright = "© 2007 Stubbles Development Team" trunk/build/stubbles/build.php
r225 r235 48 48 $preface = "<?php require 'star://' . __FILE__ . '?net.stubbles.star.StarClassRegistry'; ?>" . file_get_contents(realpath(dirname(__FILE__) . '/../../src/main/php') . '/net/stubbles/stubClassLoader.php'); 49 49 $starArchive->setPreface($preface); 50 $starArchive->addMetaData('title', 'Stubbles'); 51 $starArchive->addMetaData('package', 'net.stubbles'); 52 $starArchive->addMetaData('version', '0.1.0'); 53 $starArchive->addMetaData('author', 'Stubbles Development Team <http://stubbles.net>'); 54 $starArchive->addMetaData('copyright', '© 2007 Stubbles Development Team'); 50 55 $starArchive->create(); 51 56 trunk/lib/starReader.php
r221 r235 87 87 } 88 88 89 $header = unpack('a4id/c1version/a8indexsize/a *reserved', fread($current['handle'], 0x0100));89 $header = unpack('a4id/c1version/a8indexsize/a14buildtime/a*reserved', fread($current['handle'], 0x0100)); 90 90 if (false === $header) { 91 91 // invalid star file … … 93 93 } 94 94 95 $current['index'] = array(); 95 $current['index'] = array(); 96 $current['header'] = $header; 97 if (__FILE__ == $archive && defined('__COMPILER_HALT_OFFSET__') == true) { 98 $current['header']['totalSize'] = __COMPILER_HALT_OFFSET__ + 0x0100; 99 } else { 100 $current['header']['totalSize'] = 0x0100; 101 } 96 102 for ($i = 0; $i < $header['indexsize']; $i++) { 97 103 $entry = unpack('a80id/a72filename/a80path/a8size/a8offset/a*reserved', … … 99 105 ); 100 106 101 $current['index'][$entry['id']]= array('size' => (int) $entry['size'], 'offset' => (int) $entry['offset']); 107 $current['index'][$entry['id']] = array('size' => (int) $entry['size'], 'offset' => (int) $entry['offset']); 108 $current['header']['totalSize'] += 0x0100 + ((int) $entry['size']); 102 109 } 103 110 } 104 111 105 112 return $archives[$archive]; 113 } 114 115 /** 116 * returns the metadata of an archive 117 * 118 * @param string $archive archive to retrieve metadata for 119 * @return array 120 */ 121 public static function getMetaData($archive) 122 { 123 $current = self::acquire($archive); 124 if (isset($current['index']) == false) { 125 throw new StarException('Star file ' . $archive . ' does not exist or is not a valid star file.'); 126 } 127 128 $metaData = array(); 129 fseek($current['handle'], $current['header']['totalSize']); 130 while (feof($current['handle']) == false) { 131 $line = trim(fgets($current['handle'], 4096)); 132 if (empty($line) == true) { 133 continue; 134 } 135 136 $lineData = explode(' => ', $line); 137 $metaData[$lineData[0]] = $lineData[1]; 138 } 139 140 return $metaData; 106 141 } 107 142 … … 215 250 ?><?php StarStreamWrapper::register(); ?><?php 216 251 require 'star://' . __FILE__ . '?net.stubbles.star.StarClassRegistry'; 217 ?><?php __halt_compiler();star1
