Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 6 |
CRAP | |
0.00% |
0 / 88 |
ExcludedMenuService | |
0.00% |
0 / 1 |
|
0.00% |
0 / 6 |
702.00 | |
0.00% |
0 / 88 |
__construct | n/a |
0 / 0 |
1 | n/a |
0 / 0 |
|||||
__clone | n/a |
0 / 0 |
1 | n/a |
0 / 0 |
|||||
getInstance | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 5 |
|||
getExcludedMenu | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 11 |
|||
permissionToggleExcludedMenu | |
0.00% |
0 / 1 |
72.00 | |
0.00% |
0 / 21 |
|||
settingsExcludedMenu | |
0.00% |
0 / 1 |
30.00 | |
0.00% |
0 / 21 |
|||
inarrayExcludedMenu | |
0.00% |
0 / 1 |
20.00 | |
0.00% |
0 / 15 |
|||
menuCanShow | |
0.00% |
0 / 1 |
20.00 | |
0.00% |
0 / 15 |
<?php | |
namespace com\linways\core\ams\professional\service; | |
use com\linways\core\ams\professional\service\BaseService; | |
use com\linways\core\ams\professional\constant\ExcludingMenuArray; | |
use com\linways\core\ams\professional\toggles\PermissionToggle; | |
use com\linways\core\ams\professional\dto\SettingsConstents; | |
use com\linways\core\ams\professional\service\CommonService; | |
use com\linways\core\ams\professional\service\MenuService; | |
use ReflectionClass; | |
class ExcludedMenuService extends BaseService { | |
// /Condition 1 - Presence of a static member variable | |
private static $_instance = null; | |
// /Condition 2 - Locked down the constructor | |
private function __construct() {} | |
// Prevent any oustide instantiation of this class | |
// /Condition 3 - Prevent any object or instance of that class to be cloned | |
private function __clone() {} | |
// Prevent any copy of this object | |
// /Condition 4 - Have a single globally accessible static method | |
public static function getInstance() { | |
if (! is_object(self::$_instance)) { | |
// or if( is_null(self::$_instance) ) or if( self::$_instance == null ) | |
self::$_instance = new self(); | |
} | |
return self::$_instance; | |
} | |
/** | |
* @param String $type - "ADMIN", "STAFF" etc | |
* @return Array $excludedMenuArray | |
* @author Vishnu M | |
*/ | |
public function getExcludedMenu ( $type ) { | |
$type = $this->realEscapeString($type); | |
$excludedMenuArray = []; | |
$settingsExcludedMenu = []; | |
$toggleExcludedMenu = []; | |
$toggleExcludedMenu = $this->permissionToggleExcludedMenu ( $type ); | |
$settingsExcludedMenu = $this->settingsExcludedMenu ( $type ); | |
$inarrayExcludedMenu = $this->inarrayExcludedMenu ( $type ); | |
$canShowExcludedMenu = $this->menuCanShow ( $type ); | |
$excludedMenuArray = array_merge ( $toggleExcludedMenu, $settingsExcludedMenu, $inarrayExcludedMenu, $canShowExcludedMenu ); | |
return $excludedMenuArray; | |
} | |
/** | |
* @param String $type - "ADMIN", "STAFF" etc | |
* @return Array $excludedMenuArray | |
* @author Vishnu M | |
*/ | |
public function permissionToggleExcludedMenu ( $type ) { | |
$type = $this->realEscapeString($type); | |
$excludedMenuArray = []; | |
if ( $type == "ADMIN" ) { | |
$toggleExcludedMenu = ExcludingMenuArray::ADMIN_PERMISSION_TOGGLE_ENABLED; | |
foreach ($toggleExcludedMenu as $key => $arr) { | |
if ( !PermissionToggle::isEnabled ( $key ) ) { | |
$excludedMenuArray = array_merge ( $excludedMenuArray, $arr ); | |
} | |
if($key == "COURSE" || $key == "OPEN_COURSE"){ | |
$excludedMenuArray = array_merge ( $excludedMenuArray, $arr ); | |
} | |
} | |
$toggleExcludedMenu = ExcludingMenuArray::ADMIN_PERMISSION_TOGGLE_DISABLED; | |
foreach ($toggleExcludedMenu as $key => $arr) { | |
if ( PermissionToggle::isEnabled ( $key ) ) { | |
$excludedMenuArray = array_merge ( $excludedMenuArray, $arr ); | |
} | |
} | |
} | |
return $excludedMenuArray; | |
} | |
/** | |
* @param String $type - "ADMIN", "STAFF" etc | |
* @return Array $excludedMenuArray | |
* @author Vishnu M | |
*/ | |
public function settingsExcludedMenu ( $type ) { | |
$type = $this->realEscapeString($type); | |
$reflectionClass = new ReflectionClass("com\linways\core\ams\professional\dto\SettingsConstents"); | |
$excludedMenuArray = []; | |
$status = null; | |
if ( $type == "ADMIN" ) { | |
$settingsExcludedMenuArray = ExcludingMenuArray::ADMIN_SETTINGS; | |
foreach ($settingsExcludedMenuArray as $key => $arr) { | |
list ( $settingsType, $settingsName ) = explode ( ":", $key ); | |
$status = CommonService::getInstance()->getSettings ( $settingsType, $settingsName ); | |
// To verify null ie; Settings is available in the 'SettingsConstents' class | |
if ( $status === null ) { | |
$settingsType = $reflectionClass->getConstant($settingsType); | |
$settingsName = $reflectionClass->getConstant($settingsName); | |
$status = CommonService::getInstance()->getSettings ( $settingsType, $settingsName ); | |
} | |
if ( $status == 0 ) { | |
$excludedMenuArray = array_merge ( $excludedMenuArray, $arr ); | |
} | |
} | |
} | |
return $excludedMenuArray; | |
} | |
/** | |
* @param String $type - "ADMIN", "STAFF" etc | |
* @return Array $excludedMenuArray | |
* @author Vishnu M | |
*/ | |
public function inarrayExcludedMenu ( $type ) { | |
$type = $this->realEscapeString($type); | |
global $COLLEGE_CODE; | |
global $messEnabled; | |
global $NBAaccreditation; | |
$excludedMenuArray = []; | |
if ( $type == "ADMIN" ) { | |
if ( !in_array ( $COLLEGE_CODE, $messEnabled ) ) { | |
$excludedMenuArray = array_merge ( $excludedMenuArray, ExcludingMenuArray::ADMIN_MESS_ENABLED ); | |
} | |
if ( !in_array ( $COLLEGE_CODE, $NBAaccreditation ) ) { | |
$excludedMenuArray = array_merge ( $excludedMenuArray, ExcludingMenuArray::ADMIN_NBA_ACCREDITATION ); | |
} | |
} | |
return $excludedMenuArray; | |
} | |
/** | |
* @param String $type - "ADMIN", "STAFF" etc | |
* @return Array $excludedMenuArray | |
* @author Vishnu M | |
*/ | |
public function menuCanShow ( $type ) { | |
$type = $this->realEscapeString($type); | |
$menuService = Menuservice::getInstance(); | |
$excludedMenuArray = []; | |
if ( $type == "ADMIN" ) { | |
$reflectionClass = new ReflectionClass("com\linways\core\ams\professional\constant\AdminMenu"); | |
$canShowMenuArray = ExcludingMenuArray::ADMIN_MENU_CAN_SHOW; | |
foreach ($canShowMenuArray as $key => $menuArray) { | |
$menuConstant = $reflectionClass->getConstant ( $key ); | |
if ( !$menuService->canShow ( $menuConstant ) ) { | |
$excludedMenuArray = array_merge ( $excludedMenuArray, $menuArray ); | |
} | |
} | |
} | |
return $excludedMenuArray; | |
} | |
} | |
?> |