<?php 
 
require_once('include/KeePassWriter.inc.php'); 
 
$kpx=new KeePassWriter( 
    getenv("HOME") . "/sample.kdbx", // database to create 
    "letmein",                       // passphrase for new database  
    20,                              // timeout for writing to keepassxc-cli (optional) 
    '/usr/bin/keepassxc-cli');       // path to binary (optional)  
 
// groups are created automatically, but if we want to assign notes 
// or specific icons then we use 'addgroup' 
// addgroup($path, $notes, $icon=false) 
$kpx->addgroup("/home", "Home folder", KPX_ICON_HOME); 
$kpx->addgroup("/infrastructure/network", "Switches etc", KPX_ICON_NETWORK_BOXES); 
$kpx->addgroup("/infrastructure/linux", "Linux hosts", KPX_ICON_TUX); 
$kpx->addgroup("/infrastructure/external", "3rd Party services", KPX_ICON_CLOUD); 
$kpx->addgroup("/infrastructure/Microsoft", "MS Windows hosts", KPX_ICON_MSWINDOWS); 
$kpx->addgroup("/applications", "In-house apps", KPX_ICON_YELLOW_DOC); 
$kpx->addgroup("/database", "Admin accounts", KPX_ICON_DB_BURGER_KEY); 
$kpx->addgroup("/encryption", "Encryption keys", KPX_ICON_KEYRING); 
 
// add some entries 
// additem($path, $title, $username, $secret, $url, $notes) 
$kpx->additem("/infrastructure/linux", "[email protected]" 
    , "root", "sw0rd1sh", "ssh://[email protected]" 
    , "Assunming the host is configured to allow root logins via ssh"); 
$kpx->additem("/infrastructure/network", "[email protected](Cisco)" 
    , "admin", "pass123", "ssh://[email protected]" 
    , "Admin user on Cisco"); 
 
// we can display the generated XML.... 
// $kpx->writedata(STDOUT); 
 
$kpx->createdb(); 
 
 
 |