+++ /dev/null
-<?php
-
-/**
- * Description of Settings
- *
- * @author Sander
- */
-class Settings {
- /**
- * Values of the settings
- * @var array
- */
- public $values;
-
- /**
- * Construct a Settings object with the default settings. If necessary,
- * those settings can be extended with additional settings
- * @param array $additionalSettings Additional settings to add (should
- * be added with a key/value pair format.
- */
- public function __construct($additionalSettings = array()) {
- // Most values shouldn't be changed (the result will be an invalid file)
- $this->values = array(
- "attributes"=>0,
- "version"=>0,
- "creationTime"=>time()+94694400,
- "modificationTime"=>time()+94694400,
- "backupTime"=>0,
- "modificationNumber"=>0,
- "appInfoID"=>0,
- "sortInfoID"=>0,
- "prcType"=>"BOOK",
- "creator"=>"MOBI",
- "uniqueIDSeed"=>rand(),
- "nextRecordListID"=>0,
- "recordAttributes"=>0,
- "compression"=>NO_COMPRESSION,
- "recordSize"=>RECORD_SIZE,
- "encryptionType"=>NO_ENCRYPTION,
- "mobiIdentifier"=>"MOBI",
- "mobiHeaderLength"=>0xe8,
- "mobiType"=>MOBIPOCKET_BOOK,
- "textEncoding"=>UTF8,
- "uniqueID"=>rand(),
- "fileVersion"=>6,
- "locale"=>0x09,
- "inputLanguage"=>0,
- "outputLanguage"=>0,
- "minimumVersion"=>6,
- "huffmanRecordOffset"=>0,
- "huffmanRecordCount"=>0,
- "exthFlags"=>0x40,
- "drmOffset"=>0xFFFFFFFF,
- "drmCount"=>0,
- "drmSize"=>0,
- "drmFlags"=>0,
- "extraDataFlags"=>0,
- "exthIdentifier"=>"EXTH",
- // These can be changed without any risk
- "title"=>"Unknown title",
- "author"=>"Unknown author",
- "subject"=>"Unknown subject"
- );
-
- foreach($additionalSettings as $key=>$value){
- $this->values[$key] = $value;
- }
- }
-
- /**
- * Get a value from the settings
- * @param string $key Key of the setting
- * @return mixed The value of the setting
- */
- public function get($key){
- return $this->values[$key];
- }
-
- /**
- * Checks if a value is set
- * @param string $key Key of the setting
- * @return bool True if the value exists
- */
- public function exists($key){
- return isset($this->values[$key]);
- }
-
- public function __toString() {
- $out = "Settings: {\n";
- foreach($this->values as $key=>$value){
- $out .= "\t".$key.": ".$value."\n";
- }
- $out .= "}";
- return $out;
- }
-}
-?>