42 lines
1.9 KiB
PHP
42 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* Install OnlyOfficeTemplates: register in vtiger_tab, create tables, add widget links.
|
|
* Open in browser (as admin): index.php?module=OnlyOfficeTemplates&action=Install
|
|
*/
|
|
|
|
class OnlyOfficeTemplates_Install_Action extends Vtiger_Action_Controller
|
|
{
|
|
public function checkPermission(Vtiger_Request $request)
|
|
{
|
|
if (!isPermitted('Settings', 'Edit', '')) {
|
|
throw new AppException('LBL_PERMISSION_DENIED');
|
|
}
|
|
}
|
|
|
|
public function process(Vtiger_Request $request)
|
|
{
|
|
$adb = PearDatabase::getInstance();
|
|
|
|
$r = $adb->pquery("SELECT tabid FROM vtiger_tab WHERE name = ?", ['OnlyOfficeTemplates']);
|
|
if ($adb->num_rows($r) > 0) {
|
|
$msg = 'OnlyOfficeTemplates уже зарегистрирован. Таблицы и виджеты обновлены.';
|
|
} 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']
|
|
);
|
|
$msg = 'Модуль OnlyOfficeTemplates зарегистрирован (tabid=' . $tabid . '). Таблицы и виджеты созданы.';
|
|
}
|
|
|
|
$mod = new OnlyOfficeTemplates();
|
|
$mod->executeSql();
|
|
$mod->addLinksToEntityModules();
|
|
|
|
header('Location: index.php?module=Settings&parent=Settings&view=Index&install_oot=1&install_msg=' . urlencode($msg));
|
|
exit;
|
|
}
|
|
}
|