Пример #1
0
 /**
  * @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];
 }