Passed
Push — developer ( 6b5868...bed0f9 )
by Radosław
22:42 queued 03:39
created

Settings_OSSMailScanner_Index_View   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 50
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 6
eloc 36
c 1
b 0
f 0
dl 0
loc 50
ccs 0
cts 33
cp 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A process() 0 38 5
A getFooterScripts() 0 4 1
1
<?php
2
3
/**
4
 * @copyright YetiForce S.A.
5
 * @license   YetiForce Public License 6.5 (licenses/LicenseEN.txt or yetiforce.com)
6
 * @author    Mariusz Krzaczkowski <[email protected]>
7
 * @author    Radosław Skrzypczak <[email protected]>
8
 */
9
class Settings_OSSMailScanner_Index_View extends Settings_Vtiger_Index_View
10
{
11
	private $prefixesForModules = ['Project', 'HelpDesk', 'SSalesProcesses', 'Campaigns'];
12
13
	/** {@inheritdoc} */
14
	public function getFooterScripts(App\Request $request)
15
	{
16
		return array_merge(parent::getFooterScripts($request), $this->checkAndConvertJsScripts([
17
			'~layouts/resources/libraries/jstree.checkbox.js',
18
		]));
19
	}
20
21
	public function process(App\Request $request)
22
	{
23
		$moduleName = $request->getModule();
24
		$mailModuleActive = \App\Module::getModuleId('OSSMail');
25
		$mailScannerRecordModel = Vtiger_Record_Model::getCleanInstance('OSSMailScanner');
26
		$identityList = [];
27
		if ($mailModuleActive) {
28
			$accountsList = OSSMail_Record_Model::getAccountsList(false, false, false, false);
29
			foreach ($accountsList as $account) {
30
				$identityList[$account['user_id']] = OSSMailScanner_Record_Model::getIdentities($account['user_id']);
31
			}
32
		}
33
		$actionsList = OSSMailScanner_Record_Model::getActionsList();
34
		$ConfigFolderList = OSSMailScanner_Record_Model::getConfigFolderList();
35
		$emailSearch = OSSMailScanner_Record_Model::getEmailSearch(false, false);
0 ignored issues
show
Bug introduced by
false of type false is incompatible with the type string expected by parameter $module of OSSMailScanner_Record_Model::getEmailSearch(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

35
		$emailSearch = OSSMailScanner_Record_Model::getEmailSearch(/** @scrutinizer ignore-type */ false, false);
Loading history...
36
		$emailSearchList = OSSMailScanner_Record_Model::getEmailSearchList();
37
		$widgetCfg = OSSMailScanner_Record_Model::getConfig(false);
38
		$supportedModules = Settings_RecordNumbering_Module_Model::getSupportedModules();
39
		foreach ($supportedModules as $supportedModule) {
40
			if (\in_array($supportedModule->name, $this->prefixesForModules)) {
41
				$numbering[$supportedModule->name] = \App\Fields\RecordNumber::getInstance($supportedModule->name);
42
			}
43
		}
44
		$checkCron = OSSMailScanner_Record_Model::getCron();
45
		$viewer = $this->getViewer($request);
46
		$viewer->assign('RECORD_MODEL', $mailScannerRecordModel);
47
		$viewer->assign('ACCOUNTS_LIST', $accountsList);
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable $accountsList does not seem to be defined for all execution paths leading up to this point.
Loading history...
48
		$viewer->assign('ACTIONS_LIST', $actionsList);
49
		$viewer->assign('CONFIGFOLDERLIST', $ConfigFolderList);
50
		$viewer->assign('WIDGET_CFG', $widgetCfg);
51
		$viewer->assign('EMAILSEARCH', $emailSearch);
52
		$viewer->assign('EMAILSEARCHLIST', $emailSearchList);
53
		$viewer->assign('RECORDNUMBERING', $numbering ?? []);
54
		$viewer->assign('ERRORNOMODULE', !$mailModuleActive);
55
		$viewer->assign('MODULE_NAME', $moduleName);
56
		$viewer->assign('IDENTITYLIST', $identityList);
57
		$viewer->assign('CHECKCRON', $checkCron);
58
		echo $viewer->view('Index.tpl', $request->getModule(false), true);
59
	}
60
}
61