Changeset 815 for trunk/includes
- Timestamp:
- Feb 22, 2015, 11:05:49 PM (10 years ago)
- Location:
- trunk/includes
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/includes/Application.php
r577 r815 5 5 var $Name; 6 6 var $System; 7 7 8 8 function Run() 9 9 { 10 10 11 11 } 12 12 } -
trunk/includes/Base.php
r573 r815 6 6 var $Config; 7 7 var $System; 8 8 9 9 function __construct($System) 10 10 { … … 17 17 class Model extends Base 18 18 { 19 19 20 20 } 21 21 -
trunk/includes/FileStream.php
r553 r815 7 7 private $Handle; 8 8 private $FileName; 9 9 10 10 function __construct() 11 11 { 12 12 $this->Handle = false; 13 } 14 15 function __destruct() 13 } 14 15 function __destruct() 16 16 { 17 17 if($this->Handle) 18 18 fclose($this->Handle); 19 19 } 20 20 21 21 public function OpenFile($FileName) 22 22 { … … 24 24 $this->CloseFile(); 25 25 $this->Handle = fopen($FileName, 'rb'); 26 if(!$this->Handle) die(str_replace('%s', $FileName, FILE_NOT_FOUND)); 26 if(!$this->Handle) die(str_replace('%s', $FileName, FILE_NOT_FOUND)); 27 27 } 28 28 … … 32 32 $this->CloseFile(); 33 33 $this->Handle = fopen($FileName, 'wb+'); 34 if(!$this->Handle) die(str_replace('%s', $FileName, FILE_NOT_FOUND)); 34 if(!$this->Handle) die(str_replace('%s', $FileName, FILE_NOT_FOUND)); 35 35 } 36 36 37 37 public function CloseFile() 38 38 { 39 39 if($this->Handle) 40 fclose($this->Handle); 40 fclose($this->Handle); 41 41 } 42 42 43 43 public function ReadBlock($Count) 44 44 { 45 45 return(fread($this->Handle, $Count)); 46 46 } 47 47 48 48 public function ReadByte() 49 49 { 50 50 return(fread($this->Handle, 1)); 51 } 52 51 } 52 53 53 public function ReadUint() 54 54 { … … 56 56 return($val[1]); 57 57 } 58 58 59 59 public function ReadInt() 60 60 { 61 61 $val = unpack('I*', fread($this->Handle, 4)); 62 62 return($val[1]); 63 } 64 63 } 64 65 65 public function ReadFloat() 66 66 { … … 68 68 return($val[1]); 69 69 } 70 70 71 71 public function ReadChar() 72 72 { … … 77 77 { 78 78 return(fgets($this->Handle)); 79 } 79 } 80 80 81 81 public function ReadTextLine() 82 82 { 83 83 return(fgets($this->Handle)); 84 } 85 84 } 85 86 86 public function WriteBlock($Value, $Count) 87 87 { 88 88 fwrite($this->Handle, $Value, $Count); 89 } 90 89 } 90 91 91 public function WriteByte($Value) 92 92 { 93 93 fwrite($this->Handle, pack('C*', $Value), 1); 94 } 95 94 } 95 96 96 public function WriteUint($Value) 97 97 { 98 98 fwrite($this->Handle, pack('V*', $Value), 4); 99 99 } 100 100 101 101 public function WriteInt($Value) 102 102 { 103 103 fwrite($this->Handle, pack('I*', $Value), 4); 104 } 105 104 } 105 106 106 public function WriteFloat($Value) 107 107 { 108 108 fwrite($this->Handle, pack('f*', $Value), 4); 109 109 } 110 110 111 111 public function WriteChar($Value) 112 112 { 113 113 fwrite($this->Handle, $Value, 1); 114 } 115 114 } 115 116 116 public function WriteString($Value) 117 117 { … … 128 128 fseek($this->Handle, $Position, SEEK_SET); 129 129 } 130 130 131 131 public function GetPosition() 132 132 { 133 133 return(ftell($this->Handle)); 134 134 } 135 135 136 136 public function GetSize() 137 137 { -
trunk/includes/Locale.php
r619 r815 1 1 <?php 2 2 3 class LocaleText 3 class LocaleText 4 4 { 5 5 var $Data; … … 12 12 $this->Code = 'en'; 13 13 $this->Title = 'English'; 14 } 15 14 } 15 16 16 function Load() 17 17 { 18 18 } 19 19 20 20 function Translate($Text) 21 { 21 { 22 22 if(array_key_exists($Text, $this->Data) and ($this->Data[$Text] != '')) 23 23 return($this->Data[$Text]); 24 24 else return($Text); 25 } 25 } 26 26 } 27 27 … … 30 30 var $Texts; 31 31 var $Dir; 32 32 33 33 function __construct($System) 34 34 { … … 36 36 $this->Texts = new LocaleText(); 37 37 } 38 38 39 39 function Load($Language) 40 40 { … … 42 42 if(file_exists($FileName)) { 43 43 include_once($FileName); 44 $ClassName = 'LocaleText'.$Language; 44 $ClassName = 'LocaleText'.$Language; 45 45 $this->Texts = new $ClassName(); 46 46 } else throw new Exception('Language file '.$FileName.' not found'); 47 47 $this->Texts->Load(); 48 48 } 49 49 50 50 function AnalyzeCode($Path) 51 51 { … … 60 60 else if(file_exists($FullName)) 61 61 { 62 if(substr($FullName, -4) == '.php') 62 if(substr($FullName, -4) == '.php') 63 63 { 64 64 $Content = file_get_contents($FullName); 65 65 // Search occurence of T() function 66 66 while(strpos($Content, 'T(') !== false) 67 { 67 { 68 68 $Previous = strtolower(substr($Content, strpos($Content, 'T(') - 1, 1)); 69 69 $Content = substr($Content, strpos($Content, 'T(') + 2); … … 71 71 //echo($Ord.','); 72 72 if(!(($Ord >= ord('a')) and ($Ord <= ord('z')))) 73 { 74 // Do for non-alpha previous character 73 { 74 // Do for non-alpha previous character 75 75 $Original = substr($Content, 0, strpos($Content, ')')); 76 76 $Original2 = ''; 77 if((substr($Original, 0, 1) == "'") and (substr($Original, -1, 1) == "'")) 77 if((substr($Original, 0, 1) == "'") and (substr($Original, -1, 1) == "'")) 78 78 $Original2 = substr($Original, 1, -1); 79 if((substr($Original, 0, 1) == '"') and (substr($Original, -1, 1) == '"')) 80 $Original2 = substr($Original, 1, -1); 81 if($Original2 != '') 79 if((substr($Original, 0, 1) == '"') and (substr($Original, -1, 1) == '"')) 80 $Original2 = substr($Original, 1, -1); 81 if($Original2 != '') 82 82 { 83 83 if(!array_key_exists($Original2, $this->Texts->Data)) 84 84 $this->Texts->Data[$Original2] = ''; 85 } 85 } 86 86 } 87 } 88 } 89 } 87 } 88 } 89 } 90 90 } 91 91 } 92 92 93 93 function SaveToFile($FileName) 94 94 { … … 111 111 file_put_contents($FileName, $Content); 112 112 } 113 113 114 114 function LoadFromDatabase($Database, $LangCode) 115 115 { … … 150 150 $Database->update('Locale', '(`Language`='.($Language['Id']).') AND '. 151 151 '(`Original` ='.$Database->quote($Index).')', array('Translated' => $Item)); 152 else $Database->insert('Locale', array('Language' => $Language['Id'], 152 else $Database->insert('Locale', array('Language' => $Language['Id'], 153 153 'Original' => $Index, 'Translated' => $Item)); 154 154 } … … 162 162 var $Codes; 163 163 var $Dir; 164 164 165 165 function __construct($System) 166 166 { 167 167 parent::__construct($System); 168 168 $this->Codes = array('en'); 169 $this->CurrentLocale = new LocaleFile($System); 170 } 171 169 $this->CurrentLocale = new LocaleFile($System); 170 } 171 172 172 function LoadAvailable() 173 173 { … … 177 177 { 178 178 if(substr($FileName, -4) == '.php') 179 { 179 { 180 180 $Code = substr($FileName, 0, -4); 181 181 $Locale = new LocaleFile($this->System); … … 183 183 $Locale->Load($Code); 184 184 $this->Available['Code'] = array('Code' => $Code, 'Title' => $Locale->Texts->Title); 185 } 185 } 186 186 } 187 187 } 188 188 189 189 function UpdateAll($Directory) 190 190 { … … 195 195 { 196 196 if(substr($FileName, -4) == '.php') 197 { 197 { 198 198 $FileLocale = new LocaleFile($this->System); 199 $FileLocale->Dir = $this->Dir; 199 $FileLocale->Dir = $this->Dir; 200 200 $FileLocale->Load(substr($FileName, 0, -4)); 201 201 202 202 // Add new 203 203 foreach($Locale->Texts->Data as $Index => $Item) … … 215 215 $this->CurrentLocale->Load($this->CurrentLocale->Texts->Code); 216 216 } 217 217 218 218 function LoadLocale($Code) 219 219 { … … 227 227 { 228 228 global $LocaleManager; 229 229 230 230 if(isset($LocaleManager)) return($LocaleManager->CurrentLocale->Texts->Translate($Text)); 231 231 else return($Text); -
trunk/includes/MemoryStream.php
r553 r815 5 5 public $Data; 6 6 public $Position; 7 7 8 8 function __construct() 9 9 { 10 10 $this->Data = ''; 11 11 $this->Position = 0; 12 } 13 14 function __destruct() 12 } 13 14 function __destruct() 15 15 { 16 16 } 17 17 18 18 public function ReadBlock($Count) 19 19 { … … 22 22 return($Result); 23 23 } 24 24 25 25 public function ReadByte() 26 26 { … … 28 28 $this->Position = $this->Position + 1; 29 29 return($Result); 30 } 31 30 } 31 32 32 public function ReadUint() 33 33 { … … 36 36 return($val[1]); 37 37 } 38 38 39 39 public function ReadInt() 40 40 { … … 42 42 $this->Position = $this->Position + 4; 43 43 return($val[1]); 44 } 45 44 } 45 46 46 public function ReadFloat() 47 47 { … … 50 50 return($val[1]); 51 51 } 52 52 53 53 public function ReadChar() 54 54 { … … 75 75 $this->Data = substr_replace($this->Data, $Value, $this->Position, $Count); 76 76 $this->Position = $this->Position + $Count; 77 } 77 } 78 78 79 79 public function WriteByte($Value) … … 81 81 $this->Data[$this->Position] = pack('C*', $Value); 82 82 $this->Position++; 83 } 84 83 } 84 85 85 public function WriteUint($Value) 86 86 { 87 87 $this->WriteBlock(pack('V*', $Value), 4); 88 88 } 89 89 90 90 public function WriteInt($Value) 91 91 { 92 92 $this->WriteBlock(pack('I*', $Value), 4); 93 } 94 93 } 94 95 95 public function WriteFloat($Value) 96 96 { 97 97 $this->WriteBlock(pack('f*', $Value), 4); 98 98 } 99 99 100 100 public function WriteChar($Value) 101 101 { 102 102 $this->Data[$this->Position] = pack('C*', $Value); 103 103 $this->Position++; 104 } 105 104 } 105 106 106 public function WriteLine($Value) 107 107 { … … 113 113 $this->Position = $Position; 114 114 } 115 115 116 116 public function GetPosition() 117 117 { 118 118 return($this->Position); 119 119 } 120 120 121 121 public function GetSize() 122 122 { -
trunk/includes/Update.php
r805 r815 8 8 var $Database; 9 9 var $InstallMethod; 10 10 11 11 function __construct() 12 12 { … … 15 15 $this->VersionTable = 'DbVersion'; 16 16 } 17 17 18 18 function GetDbVersion() 19 19 { 20 20 $DbResult = $this->Database->select('DbVersion', '*', 'Id=1'); 21 $Version = $DbResult->fetch_assoc(); 21 $Version = $DbResult->fetch_assoc(); 22 22 return($Version['Revision']); 23 23 } 24 24 25 25 function IsInstalled() 26 { 26 { 27 27 $DbResult = $this->Database->query('SHOW TABLES LIKE "'.$this->VersionTable.'"'); 28 28 return($DbResult->num_rows > 0); … … 33 33 return($this->Revision <= $this->GetDbVersion()); 34 34 } 35 35 36 36 function Update() 37 37 { 38 38 $DbRevision = $this->GetDbVersion(); 39 $Output = 'Počáteční revize databáze: '.$DbRevision.'<br/>'; 39 $Output = 'Počáteční revize databáze: '.$DbRevision.'<br/>'; 40 40 while($this->Revision > $DbRevision) 41 41 { 42 42 $TraceItem = $this->Trace[$DbRevision]; 43 $Output .= 'Aktualizace na verzi: '.$TraceItem['Revision'].'<br/>'; 44 $RevUpdate = $TraceItem['Function']; 43 $Output .= 'Aktualizace na verzi: '.$TraceItem['Revision'].'<br/>'; 44 $RevUpdate = $TraceItem['Function']; 45 45 $RevUpdate($this); 46 46 $DbRevision = $TraceItem['Revision']; 47 47 $this->Database->query('UPDATE `DbVersion` SET `Revision`= '.$TraceItem['Revision'].' WHERE `Id`=1'); 48 48 } 49 return($Output); 49 return($Output); 50 50 } 51 51 52 52 function Install() 53 { 54 $InstallMethod = $this->InstallMethod; 53 { 54 $InstallMethod = $this->InstallMethod; 55 55 $InstallMethod($this); 56 56 $this->Update(); 57 57 } 58 58 59 59 function Uninstall() 60 60 { 61 61 62 62 } 63 63 64 64 function Execute($Query) 65 65 { -
trunk/includes/Version.php
r813 r815 6 6 // and system will need database update. 7 7 8 $Revision = 81 3; // Subversion revision8 $Revision = 815; // Subversion revision 9 9 $DatabaseRevision = 811; // Database structure revision 10 $ReleaseTime = '201 4-06-03';10 $ReleaseTime = '2015-02-22'; -
trunk/includes/dbc.php
r553 r815 24 24 private $ColumnFormat; // Array (Index => Type) 25 25 private $EndOffset; // Calculated RecordSize according columns type 26 26 27 27 private $RecordSize; 28 28 private $RecordCount; 29 29 private $StringBlockSize; 30 30 private $FieldCount; 31 31 32 32 public function OpenFile($FileName, $ColumnFormat = array()) 33 33 { 34 34 parent::OpenFile($FileName); 35 35 36 36 $this->ColumnFormat = $ColumnFormat; 37 37 if($this->ReadUint() != DBC_SIGNATURE) die(NOT_DBC_FILE); 38 38 39 39 $this->RecordCount = $this->ReadUint(); 40 40 $this->FieldCount = $this->ReadUint(); 41 41 $this->RecordSize = $this->ReadUint(); 42 42 $this->StringBlockSize = $this->ReadUint(); 43 43 44 44 $this->GenerateOffsetTable(); 45 45 if($this->EndOffset != $this->RecordSize) 46 die(RECORD_SIZE_NOT_MATCH.$this->EndOffset.' <> '.$this->RecordSize); 46 die(RECORD_SIZE_NOT_MATCH.$this->EndOffset.' <> '.$this->RecordSize); 47 47 } 48 48 … … 50 50 { 51 51 parent::CreateFile($FileName); 52 52 53 53 $this->WriteUint(DBC_SIGNATURE); 54 54 55 55 $this->StringList = array(); 56 56 $this->StringOffset = 1; … … 65 65 $this->WriteUint($this->FieldCount); 66 66 $this->WriteUint($this->RecordSize); 67 $this->WriteUint($this->StringBlockSize); 68 } 69 67 $this->WriteUint($this->StringBlockSize); 68 } 69 70 70 private function GenerateOffsetTable() 71 71 { 72 72 // Preallocate array 73 if($this->FieldCount > 0) $this->Offsets = array_fill(0, $this->FieldCount, 0); 73 if($this->FieldCount > 0) $this->Offsets = array_fill(0, $this->FieldCount, 0); 74 74 else $this->Offsets = array(); 75 75 76 76 $Offset = 0; 77 77 $I = 0; … … 83 83 switch($Format) 84 84 { 85 case FORMAT_BYTE: 86 $Offset += 1; 87 break; 88 case FORMAT_UINT32: 89 case FORMAT_SINT32: 90 case FORMAT_SINGLE: 91 case FORMAT_STRING: 92 $Offset += 4; 93 break; 94 } 85 case FORMAT_BYTE: 86 $Offset += 1; 87 break; 88 case FORMAT_UINT32: 89 case FORMAT_SINT32: 90 case FORMAT_SINGLE: 91 case FORMAT_STRING: 92 $Offset += 4; 93 break; 94 } 95 95 $I++; 96 } 96 } 97 97 $this->EndOffset = $Offset; 98 98 } 99 99 100 100 private function CellPos($Row, $Column) 101 101 { 102 102 return($this->HeaderSize + $Row * $this->RecordSize + $this->Offsets[$Column]); 103 103 } 104 104 105 105 public function GetByte($Row, $Column) 106 106 { 107 $this->SetPosition($this->CellPos($Row, $Column)); 107 $this->SetPosition($this->CellPos($Row, $Column)); 108 108 return($this->ReadByte()); 109 } 110 109 } 110 111 111 public function GetUInt($Row, $Column) 112 112 { 113 $this->SetPosition($this->CellPos($Row, $Column)); 113 $this->SetPosition($this->CellPos($Row, $Column)); 114 114 return($this->ReadUint()); 115 115 } 116 116 117 117 public function GetInt($Row, $Column) 118 118 { 119 $this->SetPosition($this->CellPos($Row, $Column)); 119 $this->SetPosition($this->CellPos($Row, $Column)); 120 120 return($this->ReadInt()); 121 } 122 121 } 122 123 123 public function GetFloat($Row, $Column) 124 124 { 125 $this->SetPosition($this->CellPos($Row, $Column)); 125 $this->SetPosition($this->CellPos($Row, $Column)); 126 126 return($this->ReadFloat()); 127 127 } … … 129 129 public function SetByte($Row, $Column, $Value) 130 130 { 131 $this->SetPosition($this->CellPos($Row, $Column)); 131 $this->SetPosition($this->CellPos($Row, $Column)); 132 132 $this->WriteByte($Value); 133 } 134 133 } 134 135 135 public function SetUint($Row, $Column, $Value) 136 136 { 137 $this->SetPosition($this->CellPos($Row, $Column)); 137 $this->SetPosition($this->CellPos($Row, $Column)); 138 138 $this->WriteUint($Value); 139 139 } 140 140 141 141 public function SetInt($Row, $Column, $Value) 142 142 { 143 $this->SetPosition($this->CellPos($Row, $Column)); 143 $this->SetPosition($this->CellPos($Row, $Column)); 144 144 $this->WriteInt($Value); 145 } 146 145 } 146 147 147 public function SetFloat($Row, $Column, $Value) 148 148 { 149 $this->SetPosition($this->CellPos($Row, $Column)); 149 $this->SetPosition($this->CellPos($Row, $Column)); 150 150 $this->WriteFloat($Value); 151 151 } 152 152 153 153 public function GetString($Row, $Column) 154 154 { 155 155 $Offset = $this->GetUint($Row, $Column); 156 156 157 157 $Position = $this->HeaderSize + $this->RecordCount * $this->RecordSize + $Offset; 158 158 if($Position >= $this->GetSize()) return(''); 159 159 $this->SetPosition($Position); 160 160 161 161 $String = ''; 162 162 while(($Char = $this->ReadChar()) != "\0") … … 165 165 } 166 166 return($String); 167 } 168 167 } 168 169 169 public function SetString($Row, $Column, $Value) 170 170 { 171 171 if(in_array($Value, $this->StringList)) 172 { 172 { 173 173 $this->SetUint($Row, $Column, $this->StringListOffset[array_search($Value, $this->StringList)]); 174 } else 174 } else 175 175 { 176 176 $this->SetUint($Row, $Column, $this->StringOffset); … … 189 189 $this->WriteUint($this->FieldCount); 190 190 $this->WriteUint($this->RecordSize); 191 $this->WriteUint($this->StringOffset); 191 $this->WriteUint($this->StringOffset); 192 192 $this->SetPosition($this->HeaderSize + $this->RecordCount * $this->RecordSize); 193 193 $this->WriteByte(0); 194 194 foreach($this->StringList as $Index => $Item) 195 { 195 { 196 196 $this->WriteString($Item."\0"); 197 197 } 198 } 199 198 } 199 200 200 public function GetLine($Row) 201 201 { … … 204 204 $this->SetPosition($this->CellPos($Row, 0)); 205 205 $Record->Data = $this->ReadBlock($this->RecordSize); 206 206 207 207 // Preallocate array 208 if($this->FieldCount > 0) $Line = array_fill(0, $this->FieldCount, 0); 208 if($this->FieldCount > 0) $Line = array_fill(0, $this->FieldCount, 0); 209 209 else $Line = array(); 210 210 for($I = 0; $I < $this->FieldCount; $I++) … … 212 212 if(array_key_exists($I, $this->ColumnFormat)) $Format = $this->ColumnFormat[$I]; 213 213 else $Format = FORMAT_UINT32; 214 $Record->SetPosition($this->Offsets[$I]); 214 $Record->SetPosition($this->Offsets[$I]); 215 215 switch($Format) 216 216 { 217 case FORMAT_BYTE: 218 $Line[$I] = $Record->ReadByte(); 219 break; 220 case FORMAT_UINT32: 221 $Line[$I] = $Record->ReadUInt(); 222 break; 223 case FORMAT_SINT32: 224 $Line[$I] = $Record->ReadInt(); 225 break; 226 case FORMAT_SINGLE: 227 $Line[$I] = $Record->ReadFloat(); 228 break; 229 case FORMAT_STRING: 217 case FORMAT_BYTE: 218 $Line[$I] = $Record->ReadByte(); 219 break; 220 case FORMAT_UINT32: 221 $Line[$I] = $Record->ReadUInt(); 222 break; 223 case FORMAT_SINT32: 224 $Line[$I] = $Record->ReadInt(); 225 break; 226 case FORMAT_SINGLE: 227 $Line[$I] = $Record->ReadFloat(); 228 break; 229 case FORMAT_STRING: 230 230 $Offset = $Record->ReadUint(); 231 231 232 232 $Position = $this->HeaderSize + $this->RecordCount * $this->RecordSize + $Offset; 233 233 if($Position >= $this->GetSize()) $String = ''; 234 else 234 else 235 235 { 236 $this->SetPosition($Position); 236 $this->SetPosition($Position); 237 237 $String = ''; 238 238 while(($Char = $this->ReadChar()) != "\0") … … 241 241 $Line[$I] = $String; 242 242 break; 243 default: 243 default: 244 244 break; 245 245 } … … 252 252 // Cache record data 253 253 $Record = new MemoryStream(); 254 254 255 255 for($I = 0; $I < $this->FieldCount; $I++) 256 256 { 257 257 if(array_key_exists($I, $this->ColumnFormat)) $Format = $this->ColumnFormat[$I]; 258 258 else $Format = FORMAT_UINT32; 259 $Record->SetPosition($this->Offsets[$I]); 259 $Record->SetPosition($this->Offsets[$I]); 260 260 switch($Format) 261 261 { 262 case FORMAT_BYTE: 263 $Record->WriteByte($Line[$I]); 264 break; 265 case FORMAT_UINT32: 266 $Record->WriteUint($Line[$I]); 267 break; 268 case FORMAT_SINT32: 269 $Record->WriteInt($Line[$I]); 270 break; 271 case FORMAT_SINGLE: 272 $Record->WriteFloat($Line[$I]); 273 break; 274 case FORMAT_STRING: 262 case FORMAT_BYTE: 263 $Record->WriteByte($Line[$I]); 264 break; 265 case FORMAT_UINT32: 266 $Record->WriteUint($Line[$I]); 267 break; 268 case FORMAT_SINT32: 269 $Record->WriteInt($Line[$I]); 270 break; 271 case FORMAT_SINGLE: 272 $Record->WriteFloat($Line[$I]); 273 break; 274 case FORMAT_STRING: 275 275 if(in_array($Line[$I], $this->StringList)) 276 { 276 { 277 277 $Record->WriteUint($this->StringListOffset[array_search($Line[$I], $this->StringList)]); 278 } else 278 } else 279 279 { 280 280 $Record->WriteUint($this->StringOffset); … … 284 284 } 285 285 break; 286 default: 286 default: 287 287 break; 288 288 } 289 289 } 290 290 291 291 $this->SetPosition($this->CellPos($Row, 0)); 292 292 $this->WriteBlock($Record->Data, $this->RecordSize); 293 293 return($Line); 294 } 295 296 public function GetRecordCount() 297 { 298 return($this->RecordCount); 299 } 300 301 public function SetRecordCount($Value) 302 { 294 } 295 296 public function GetRecordCount() 297 { 298 return($this->RecordCount); 299 } 300 301 public function SetRecordCount($Value) 302 { 303 303 $this->RecordCount = $Value; 304 304 } 305 305 306 public function GetFieldCount() 307 { 308 return($this->FieldCount); 309 } 310 311 public function SetFieldCount($Value) 312 { 306 public function GetFieldCount() 307 { 308 return($this->FieldCount); 309 } 310 311 public function SetFieldCount($Value) 312 { 313 313 $this->FieldCount = $Value; 314 314 $this->GenerateOffsetTable();
Note:
See TracChangeset
for help on using the changeset viewer.