/** * Fetches user action logs of link_publishers type that are not yet processed in given environment * @param eZDB $db * @param string $environment * @return array */ function fetchNotProcessedLinkPublishersUserActionLogs( eZDB $db, $environment ) { $query = <<<'EOT' SELECT id, datetime, user_action_log.change, user_id, action, done FROM user_action_log WHERE action = '%s' AND done IN (%s) EOT; $environmentsToProcess = UserActionLog::getEnvironmentCodesToProcess( $environment ); $query = sprintf( $query, UserActionLog::ACTION_LINK_PUBLISHER, implode( $environmentsToProcess, ',' ) ); $result = $db->arrayQuery( $query ); return $result; }
public function setDoneByEnvironmentCode( $env ) { $envCode = UserActionLog::getEnvironmentProcessedCode( $env ); if ( $envCode == $this->attribute('done') ) { return; } switch ( $this->attribute('done') ) { case self::STATUS_PROCESSED_ERROR: case self::STATUS_PROCESSED_NOT: $this->setAttribute('done', $envCode); break; case self::STATUS_PROCESSED_PROD: case self::STATUS_PROCESSED_STAGING: $this->setAttribute('done', self::STATUS_PROCESSED_STAGING_AND_PROD); break; } }