public static function DoCreateProfile($sName, $sDescription) { if (is_null(self::$m_aCacheProfiles)) { self::$m_aCacheProfiles = array(); $oFilterAll = new DBObjectSearch('URP_Profiles'); $oSet = new DBObjectSet($oFilterAll); while ($oProfile = $oSet->Fetch()) { self::$m_aCacheProfiles[$oProfile->Get('name')] = $oProfile->GetKey(); } } $sCacheKey = $sName; if (isset(self::$m_aCacheProfiles[$sCacheKey])) { return self::$m_aCacheProfiles[$sCacheKey]; } $oNewObj = MetaModel::NewObject("URP_Profiles"); $oNewObj->Set('name', $sName); $oNewObj->Set('description', $sDescription); $iId = $oNewObj->DBInsertNoReload(); self::$m_aCacheProfiles[$sCacheKey] = $iId; return $iId; }
public static function DoCreateStimulusGrant($iProfile, $sStimulusCode, $sClass) { if (is_null(self::$m_aCacheStimulusGrants)) { self::$m_aCacheStimulusGrants = array(); $oFilterAll = new DBObjectSearch('URP_StimulusGrant'); $oSet = new DBObjectSet($oFilterAll); while ($oGrant = $oSet->Fetch()) { self::$m_aCacheStimulusGrants[$oGrant->Get('profileid') . '-' . $oGrant->Get('stimulus') . '-' . $oGrant->Get('class')] = $oGrant->GetKey(); } } $sCacheKey = "{$iProfile}-{$sStimulusCode}-{$sClass}"; if (isset(self::$m_aCacheStimulusGrants[$sCacheKey])) { return self::$m_aCacheStimulusGrants[$sCacheKey]; } $oNewObj = MetaModel::NewObject("URP_StimulusGrant"); $oNewObj->Set('profileid', $iProfile); $oNewObj->Set('permission', 'yes'); $oNewObj->Set('class', $sClass); $oNewObj->Set('stimulus', $sStimulusCode); $iId = $oNewObj->DBInsertNoReload(); self::$m_aCacheStimulusGrants[$sCacheKey] = $iId; return $iId; }