Add OnlyOfficeTemplates module
This commit is contained in:
58
modules/OnlyOfficeTemplates/install.php
Normal file
58
modules/OnlyOfficeTemplates/install.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
/**
|
||||
* One-time install: register OnlyOfficeTemplates in vtiger_tab and run schema + links.
|
||||
* Run from browser: index.php?module=OnlyOfficeTemplates&action=Install
|
||||
* Or from CLI: php modules/OnlyOfficeTemplates/install.php
|
||||
* Requires admin user when run from browser.
|
||||
*/
|
||||
|
||||
$rootDir = dirname(dirname(__DIR__));
|
||||
if (php_sapi_name() === 'cli') {
|
||||
require_once $rootDir . '/config.inc.php';
|
||||
require_once $rootDir . '/vtlib/Vtiger/Module.php';
|
||||
require_once $rootDir . '/includes/utils/utils.php';
|
||||
$current_user = Users::getActiveAdminUser();
|
||||
if (!$current_user) {
|
||||
die("Admin user not found.\n");
|
||||
}
|
||||
} else {
|
||||
require_once $rootDir . '/config.inc.php';
|
||||
require_once $rootDir . '/vtlib/Vtiger/Module.php';
|
||||
require_once $rootDir . '/includes/utils/utils.php';
|
||||
if (!isPermitted('Settings', 'Edit', '')) {
|
||||
die('Access denied.');
|
||||
}
|
||||
}
|
||||
require_once __DIR__ . '/OnlyOfficeTemplates.php';
|
||||
|
||||
$adb = PearDatabase::getInstance();
|
||||
|
||||
// Check if already registered
|
||||
$r = $adb->pquery("SELECT tabid FROM vtiger_tab WHERE name = ?", ['OnlyOfficeTemplates']);
|
||||
if ($adb->num_rows($r) > 0) {
|
||||
if (php_sapi_name() === 'cli') {
|
||||
echo "OnlyOfficeTemplates already registered. Running schema and links.\n";
|
||||
}
|
||||
} else {
|
||||
$maxId = $adb->query_result($adb->pquery("SELECT COALESCE(MAX(tabid),0) AS m FROM vtiger_tab", []), 0, 'm');
|
||||
$tabid = $maxId + 1;
|
||||
$maxSeq = $adb->query_result($adb->pquery("SELECT COALESCE(MAX(tabsequence),0) AS m FROM vtiger_tab", []), 0, 'm');
|
||||
$adb->pquery(
|
||||
"INSERT INTO vtiger_tab (tabid, name, presence, tabsequence, tablabel, modifiedby, modifiedtime, customized, ownedby, isentitytype, version, parent) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)",
|
||||
[$tabid, 'OnlyOfficeTemplates', 0, $maxSeq + 1, 'OnlyOffice Templates', null, null, 0, 0, 0, '1.0', 'Tools']
|
||||
);
|
||||
if (php_sapi_name() === 'cli') {
|
||||
echo "Registered OnlyOfficeTemplates (tabid=$tabid).\n";
|
||||
}
|
||||
}
|
||||
|
||||
$mod = new OnlyOfficeTemplates();
|
||||
$mod->executeSql();
|
||||
$mod->addLinksToEntityModules();
|
||||
|
||||
if (php_sapi_name() === 'cli') {
|
||||
echo "Done. Schema and widget links applied.\n";
|
||||
} else {
|
||||
header('Location: index.php?module=Settings&parent=Settings&view=Index');
|
||||
exit;
|
||||
}
|
||||
Reference in New Issue
Block a user