mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-13 20:41:04 +00:00
97 lines
2.2 KiB
PHP
97 lines
2.2 KiB
PHP
<?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;
|
|
}
|
|
}
|
|
?>
|