Open2
YetiForceCRMコードリーディングViewまわり
- modules/Calendar/views/CalendarExtended.php
<?php
/**
* Calendar view Class.
*
* @package View
*
* @copyright YetiForce Sp. z o.o
* @license YetiForce Public License 3.0 (licenses/LicenseEN.txt or yetiforce.com)
* @author Arkadiusz Adach <a.adach@yetiforce.com>
*/
class Calendar_CalendarExtended_View extends Calendar_Calendar_View
{
/**
* {@inheritdoc}
*/
protected function getTpl(string $tplFile)
{
return "Extended/$tplFile";
}
/**
* {@inheritdoc}
*/
public function preProcess(App\Request $request, $display = true)
{
parent::preProcess($request, $display);
$moduleName = $request->getModule();
$viewer = $this->getViewer($request);
$mid = false;
if ($request->has('mid')) {
$mid = $request->getInteger('mid');
}
$viewer->assign('CUSTOM_VIEWS', CustomView_Record_Model::getAllByGroup($moduleName, $mid));
}
/**
* {@inheritdoc}
*/
protected function preProcessTplName(App\Request $request)
{
return 'Calendar/PreProcess.tpl';
}
/**
* {@inheritdoc}
*/
public function postProcess(App\Request $request, $display = true)
{
$viewer = $this->getViewer($request);
$moduleName = $request->getModule();
$calendarFilters = Calendar_CalendarFilters_Model::getCleanInstance();
$viewer->assign('FILTERS', ['Events', 'Filter']);
$viewer->assign('SHOW_TYPE', true);
$viewer->assign('CALENDAR_FILTERS', $calendarFilters);
$viewer->view('Calendar/PostProcess.tpl', $moduleName);
parent::postProcess($request);
}
/**
* {@inheritdoc}
*/
public function getFooterScripts(App\Request $request)
{
return array_merge(parent::getFooterScripts($request), $this->checkAndConvertJsScripts([
'~libraries/fullcalendar/dist/fullcalendar.js',
'~libraries/css-element-queries/src/ResizeSensor.js',
'~libraries/css-element-queries/src/ElementQueries.js',
'~layouts/resources/Calendar.js',
'~layouts/resources/YearView.js',
'modules.Calendar.resources.Standard.CalendarView',
'modules.Calendar.resources.Extended.CalendarView',
]));
}
}
- app/Controller/View/Base.php
/**
* Static function to get the Instance of the Vtiger_Viewer.
*
* @param \App\Request $request
*
* @return \Vtiger_Viewer
*/
public function getViewer(\App\Request $request)
{
if (!isset($this->viewer)) {
$user = \App\User::getCurrentUserModel();
$this->viewer = \Vtiger_Viewer::getInstance();
$this->viewer->assign('APPTITLE', \App\Language::translate('APPTITLE'));
$this->viewer->assign('YETIFORCE_VERSION', \App\Version::get());
$this->viewer->assign('MODULE_NAME', $request->getModule());
$this->viewer->assign('NONCE', \App\Session::get('CSP_TOKEN'));
$this->viewer->assign('IS_IE', \App\RequestUtil::getBrowserInfo()->ie);
$this->viewer->assign('USER_MODEL', \Users_Record_Model::getCurrentUserModel());
$this->viewer->assign('CURRENT_USER', $user);
$this->viewer->assign('WIDTHTYPE', $user->getDetail('rowheight'));
$this->viewer->assign('WIDTHTYPE_GROUP', ['narrow' => 'input-group-sm', 'wide' => 'input-group-lg'][$user->getDetail('rowheight')] ?? '');
if ($request->isAjax()) {
if (!$request->isEmpty('parent', true) && 'Settings' === $request->getByType('parent', 2)) {
$this->viewer->assign('QUALIFIED_MODULE', $request->getModule(false));
}
}
}
return $this->viewer;
}
- include/runtime/Viewer.php
public function __construct($media = '')
{
/**
array(2) {
[0]=>
string(49) "/var/www/html/include/runtime/../../layouts/basic"
[1]=>
string(49) "/var/www/html/include/runtime/../../layouts/basic"
}
*/
$this->setTemplateDir(array_unique($templateDir));
/**
string(59) "/var/www/html/include/runtime/../../cache/templates_c/basic"
*/
$this->setCompileDir($compileDir);
}
- include/runtime/Viewer.php
/**
* Function to display/fetch the smarty file contents.
*
* @param string $templateName
* @param string $moduleName
* @param bool $fetch
*
* @return html data
*/
public function view($templateName, $moduleName = '', $fetch = false)
{
$templatePath = $this->getTemplatePath($templateName, $moduleName);
if (\App\Cache::has('ViewerTemplateExists', $templatePath)) {
$templateFound = \App\Cache::get('ViewerTemplateExists', $templatePath);
} else {
$templateFound = $this->templateExists($templatePath);
\App\Cache::save('ViewerTemplateExists', $templatePath, $templateFound, \App\Cache::LONG);
}
// END
if ($templateFound) {
if (!empty(App\Config::debug('SMARTY_ERROR_REPORTING'))) {
$this->error_reporting = App\Config::debug('SMARTY_ERROR_REPORTING');
}
if ($fetch) {
return $this->fetch($templatePath);
}
$this->display($templatePath);
return true;
}
return false;
}
-
modules/Vtiger/views/List.php extends modules/Vtiger/views/Index.php
- preProcess
- process
- postProcess
- getFooterScripts
-
modules/Vtiger/views/Index.php extends app/Controller/View/Page.php
- preProcess
- process
- postProcess
- getFooterScripts
- validateRequest
-
app/Controller/View/Page.php extends app/Controller/View/Base.php
- showBodyHeader
- showFooter
-
app/Controller/View/Base.php (abstract) extends app/Controller/Base.php
- getViewer
- getPageTitle
- getBreadcrumbTitle
-
app/Controller/Base.php (abstract)
- include/CRMEntity.php::__construct (63)
- app/QueryGenerator.php::getInstance (127)
- modules/Vtiger/models/ListView.php::__construct (44)
- modules/Vtiger/views/List.php::getInstance (92)
- include/main/WebUI.php::preProcess (268)
- include/main/WebUI.php::triggerPreProcess (188)