#!/usr/bin/env php
<?php
//devt.version 1.0
require dirname(__FILE__) . '/includes/classVault.php';

function usage()
{
	echo "createKeys Usage:\n";
	echo "  createKeys -i <installation name> -m <modules>\n";
	echo "  For help:\n";
	echo "  createKeys -h\n";
}

//Start
$options = getopt("hi:m:");
if (isset($options['h']))
{
	usage();
	exit;
}

//Check mandatory options
if (!isset($options['i']))
{
	echo "Error: No installation name specified\n";
	echo "Run with php createVaultShelf.php -i <installation name> -m <modules>\n"; 
	exit(1);
}

if (!isset($options['m']))
{
	echo "Error: no modules specified\n";
	echo "Run with php createVaultShelf.php -i <installation name> -m <modules>\n"; 
	exit(1);
}

$modules = $options['m'];
$installtion_name = $options['i'];

$keys = array();
$keys['PEPPER'] = bin2hex(openssl_random_pseudo_bytes(32));
$keys['MODULES'] = $modules;
$keys['DATABASE_NAME'] = $installtion_name;
$keys['DATABASE_HOST'] = "127.0.0.1";
$keys['DATABASE_USER'] = bin2hex(openssl_random_pseudo_bytes(8));
$keys['DATABASE_PW'] = bin2hex(openssl_random_pseudo_bytes(8));
$keys['ATTACHKEY'] = base64_encode(openssl_random_pseudo_bytes(32));
$keys['BACKUPKEY'] = base64_encode(openssl_random_pseudo_bytes(32));
$keys['VERIFY_USER_KEY'] = base64_encode(openssl_random_pseudo_bytes(32));
$keys['CONTROL_KEY'] = "920b211f8ece4a57";
$keys['DOC_STORE'] = "/docstore/{$installtion_name}/dataroom";
$keys['BACKUPDIR'] = "/docstore/{$installtion_name}/backups";
$keys['SMS_KEY'] = "d451d391856119ebaaae550d2f891d50";
$keys['REPORTS_DIR'] = "/var/nvaluate/{$installtion_name}/reports";
$keys['TEMPLATES_DIR'] = "/var/nvaluate/{$installtion_name}/templates";
$keys['GRAPHS_DIR'] = "/var/nvaluate/{$installtion_name}/graphs";
$keys['PORTAL_KEY'] = "6956642437083850";

$keysjson = json_encode($keys);

//Write these to a memory file
$memFileId = 314159;
if ($r = @shmop_open ($memFileId,"a" ,0 , 0 ))
{
	shmop_delete($r);
}
			
if ($r = shmop_open ($memFileId,"c" , 0644 , strlen($keysjson) ))
{
	$rslt  = shmop_write($r,$keysjson,0);    
}
exit(0);
?>