Пример #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];
 }
 /**
  * Retrieve multiple objects by partner id.
  *
  * @param      string $objectType
  * @param      int $partnerId
  * @param      PropelPDO $con the connection to use
  * @return AuditTrailConfig
  */
 public static function retrieveByObjectType($objectType, $partnerId = null, PropelPDO $con = null)
 {
     $criteria = new Criteria();
     $criteria->add(AuditTrailConfigPeer::OBJECT_TYPE, $objectType);
     if (!is_null($partnerId)) {
         $criteria->add(AuditTrailConfigPeer::PARTNER_ID, $partnerId);
     }
     return AuditTrailConfigPeer::doSelectOne($criteria, $con);
 }
 public static function cleanMemory()
 {
     AuditTrailPeer::clearInstancePool();
     AuditTrailConfigPeer::clearInstancePool();
     //	    AuditTrailDataPeer::clearInstancePool();
 }
Пример #4
0
 /**
  * Exports the object as an array.
  *
  * You can specify the key type of the array by passing one of the class
  * type constants.
  *
  * @param      string $keyType (optional) One of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME
  *                        BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM. Defaults to BasePeer::TYPE_PHPNAME.
  * @param      boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns.  Defaults to TRUE.
  * @return     an associative array containing the field names (as keys) and field values
  */
 public function toArray($keyType = BasePeer::TYPE_PHPNAME, $includeLazyLoadColumns = true)
 {
     $keys = AuditTrailConfigPeer::getFieldNames($keyType);
     $result = array($keys[0] => $this->getId(), $keys[1] => $this->getPartnerId(), $keys[2] => $this->getObjectType(), $keys[3] => $this->getDescriptors(), $keys[4] => $this->getActions());
     return $result;
 }
 /**
  * Retrieve multiple objects by pkey.
  *
  * @param      array $pks List of primary keys
  * @param      PropelPDO $con the connection to use
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(AuditTrailConfigPeer::DATABASE_NAME);
         $criteria->add(AuditTrailConfigPeer::ID, $pks, Criteria::IN);
         $objs = AuditTrailConfigPeer::doSelect($criteria, $con);
     }
     return $objs;
 }
Пример #6
0
<?php

$partnerId = 1;
chdir(dirname(__FILE__));
require_once dirname(__FILE__) . '/../bootstrap.php';
$objectsToTrack = array(KalturaAuditTrailObjectType::ACCESS_CONTROL => array('actions' => array(KalturaAuditTrailAction::CREATED, KalturaAuditTrailAction::CHANGED, KalturaAuditTrailAction::DELETED), 'descriptors' => array(accessControlPeer::NAME, accessControlPeer::SITE_RESTRICT_TYPE, accessControlPeer::SITE_RESTRICT_LIST, accessControlPeer::COUNTRY_RESTRICT_TYPE, accessControlPeer::COUNTRY_RESTRICT_LIST, accessControlPeer::KS_RESTRICT_PRIVILEGE, accessControlPeer::PRV_RESTRICT_PRIVILEGE, accessControlPeer::PRV_RESTRICT_LENGTH, accessControlPeer::KDIR_RESTRICT_TYPE)), KalturaAuditTrailObjectType::CONVERSION_PROFILE_2 => array('actions' => array(KalturaAuditTrailAction::CREATED, KalturaAuditTrailAction::CHANGED, KalturaAuditTrailAction::DELETED), 'descriptors' => array(conversionProfile2Peer::NAME)), KalturaAuditTrailObjectType::ENTRY => array('actions' => array(KalturaAuditTrailAction::CREATED, KalturaAuditTrailAction::COPIED, KalturaAuditTrailAction::CHANGED, KalturaAuditTrailAction::DELETED, KalturaAuditTrailAction::VIEWED, KalturaAuditTrailAction::CONTENT_VIEWED, KalturaAuditTrailAction::RELATION_ADDED, KalturaAuditTrailAction::RELATION_REMOVED), 'descriptors' => array(entryPeer::NAME, entryPeer::TAGS, entryPeer::STATUS, entryPeer::LENGTH_IN_MSECS, entryPeer::PARTNER_DATA, entryPeer::ADMIN_TAGS, entryPeer::MODERATION_STATUS, entryPeer::PUSER_ID, entryPeer::ACCESS_CONTROL_ID, entryPeer::CONVERSION_PROFILE_ID, entryPeer::CATEGORIES, entryPeer::START_DATE, entryPeer::END_DATE, entryPeer::FLAVOR_PARAMS_IDS, entryPeer::AVAILABLE_FROM, "conversion_quality", "current_kshow_version", "encodingIP1", "encodingIP2", "streamUsername", "streamPassword", "streamRemoteId", "streamRemoteBackupId", "streamUrl", "streamBitrates", "ismVersion", "dynamicFlavorAttributes", "height", "width", "puserId", "thumb_offset")), KalturaAuditTrailObjectType::FLAVOR_ASSET => array('actions' => array(KalturaAuditTrailAction::CREATED, KalturaAuditTrailAction::CHANGED, KalturaAuditTrailAction::DELETED, KalturaAuditTrailAction::VIEWED, KalturaAuditTrailAction::CONTENT_VIEWED, KalturaAuditTrailAction::RELATION_ADDED, KalturaAuditTrailAction::RELATION_REMOVED), 'descriptors' => array(assetPeer::TAGS, assetPeer::FLAVOR_PARAMS_ID, assetPeer::STATUS, assetPeer::VERSION, assetPeer::WIDTH, assetPeer::HEIGHT, assetPeer::BITRATE, assetPeer::FRAME_RATE, assetPeer::SIZE, assetPeer::FILE_EXT, assetPeer::CONTAINER_FORMAT, assetPeer::VIDEO_CODEC_ID)), KalturaAuditTrailObjectType::FLAVOR_PARAMS_CONVERSION_PROFILE => array('actions' => array(KalturaAuditTrailAction::CREATED, KalturaAuditTrailAction::CHANGED, KalturaAuditTrailAction::DELETED), 'descriptors' => array(flavorParamsConversionProfilePeer::READY_BEHAVIOR, flavorParamsConversionProfilePeer::FORCE_NONE_COMPLIED)), KalturaAuditTrailObjectType::KSHOW_KUSER => array('actions' => array(KalturaAuditTrailAction::CREATED, KalturaAuditTrailAction::CHANGED, KalturaAuditTrailAction::DELETED), 'descriptors' => array(KshowKuserPeer::SUBSCRIPTION_TYPE, KshowKuserPeer::ALERT_TYPE)), KalturaAuditTrailObjectType::MEDIA_INFO => array('actions' => array(KalturaAuditTrailAction::CREATED), 'descriptors' => array()), KalturaAuditTrailObjectType::PARTNER => array('actions' => array(KalturaAuditTrailAction::CHANGED, KalturaAuditTrailAction::DELETED), 'descriptors' => array(PartnerPeer::PARTNER_NAME, PartnerPeer::URL1, PartnerPeer::URL2, PartnerPeer::ADMIN_NAME, PartnerPeer::ADMIN_EMAIL, PartnerPeer::NOTIFY, PartnerPeer::STATUS, PartnerPeer::ADULT_CONTENT, "allowQuickEdit", "defConversionProfileType", "curConvProfType", "defaultAccessControlId", "defaultConversionProfileId", "notificationsConfig", "allowMultiNotification", "defThumbOffset", "host", "forceCdnHost", "rtmpUrl", "iisHost", "landingPage", "userLandingPage")), KalturaAuditTrailObjectType::METADATA => array('actions' => array(KalturaAuditTrailAction::CREATED, KalturaAuditTrailAction::CHANGED, KalturaAuditTrailAction::DELETED), 'descriptors' => array(MetadataPeer::VERSION, MetadataPeer::STATUS)), KalturaAuditTrailObjectType::METADATA_PROFILE => array('actions' => array(KalturaAuditTrailAction::CREATED, KalturaAuditTrailAction::CHANGED, KalturaAuditTrailAction::DELETED), 'descriptors' => array(MetadataProfilePeer::VERSION, MetadataProfilePeer::STATUS)));
KalturaLog::setLogger(new KalturaStdoutLogger());
$dbConf = kConf::getDB();
DbManager::setConfig($dbConf);
DbManager::initialize();
$partner = PartnerPeer::retrieveByPK($partnerId);
$partner->setPluginEnabled(AuditPlugin::PLUGIN_NAME, true);
$partner->save();
foreach ($objectsToTrack as $objectType => $objectConfig) {
    $actions = implode(',', $objectConfig['actions']);
    $descriptors = isset($objectConfig['descriptors']) ? implode(',', $objectConfig['descriptors']) : null;
    $auditTrailConfig = AuditTrailConfigPeer::retrieveByObjectType($objectType, $partnerId);
    if (!$auditTrailConfig) {
        $auditTrailConfig = new AuditTrailConfig();
        $auditTrailConfig->setPartnerId($partnerId);
    }
    $auditTrailConfig->setObjectType($objectType);
    $auditTrailConfig->setActions($actions);
    $auditTrailConfig->setDescriptors($descriptors);
    $auditTrailConfig->save();
}