/** * @param int $partnerId * @param string $objectType * @return AuditTrailConfig */ protected static function getAuditTrailConfig($partnerId, $objectType) { $config = null; if (isset(self::$cachedPartnerConfig[$partnerId])) { $config = self::$cachedPartnerConfig[$partnerId]; } else { $cacheFolder = kConf::get("cache_root_path") . "/audit"; if (!is_dir($cacheFolder)) { mkdir($cacheFolder, 0777); } $cachePath = "{$cacheFolder}/{$partnerId}.cfg"; if (file_exists($cachePath)) { $config = unserialize(file_get_contents($cachePath)); } else { $auditTrailConfigs = AuditTrailConfigPeer::retrieveByPartnerId($partnerId); $config = array(); if (count($auditTrailConfigs)) { foreach ($auditTrailConfigs as $auditTrailConfig) { $config[$auditTrailConfig->getObjectType()] = $auditTrailConfig; } } file_put_contents($cachePath, serialize($config)); } self::$cachedPartnerConfig[$partnerId] = $config; } if (!isset($config[$objectType])) { KalturaLog::info("Object type [{$objectType}] not audited"); return null; } return $config[$objectType]; }