chimera-mark2-core-release/cli/initialize.php

75 lines
1.5 KiB
PHP
Executable File

#!/usr/bin/php
<?php
/**
*
* Script initialize.php
*
* @copyright MX STAR LLC 2018-2022
* @version 4.0.0
* @author Pavel Dmitriev
* @license GPLv3
*
**/
use fox\modules;
use fox\moduleInfo;
use fox\company;
use fox\user;
use fox\userGroup;
use fox\config;
include(__DIR__."/../Autoloader.php");
$m = fox\modules::list();
$initUser=empty(config::get("INIT_USERNAME"))?"admin":config::get("INIT_USERNAME");
$initPass=empty(config::get("INIT_PASSWORD"))?"chimera":config::get("INIT_PASSWORD");
// installing modules
foreach ($m as $mod) {
if (array_key_exists($mod->name, modules::pseudoModules) && !$mod->getInstances()) {
print "Install module ".$mod->name."...";
$mod->save();
print "OK\n";
}
}
if (company::getCount()==0) {
$c = new fox\company();
$c->name="Default company";
$c->qName="Company";
print "Create company ".$c->name."...";
$c->save();
print "OK\n";
}
// create user
if (user::getCount()==0 && userGroup::getCount()==0) {
$u = new fox\user();
$u->fullName="Administrator";
$u->login=$initUser;
$u->setPassword($initPass);
$u->authType="internal";
print "Create user ".$u->login."...";
$u->save();
print "OK\n";
$ug = new fox\userGroup();
$ug->name="Administrators";
$ug->addAccessRule("isRoot");
print "Create usergroup ".$ug->name."...";
$ug->save();
print "OK\n";
print "Join user into ".$u->login." group ".$ug->name."...";
$ug->join($u);
print "OK\n";
}
?>