content_deploy-1.0.1/src/Utility/AutoContentDeployHelper.php

src/Utility/AutoContentDeployHelper.php
<?php

namespace Drupal\content_deploy\Utility;

/**
 * Helper class for auto content deployments.
 */
class AutoContentDeployHelper {

  /**
   * Delete deployments.
   *
   * @param array $nodeUUIDs
   *   UUIDs of deployments node.
   *
   * @return
   */
  public static function deleteDeployments($nodeUUIDs) {

    if (!empty($nodeUUIDs)) {
      $autoDeployDltQuery = \Drupal::database()->delete('cd_auto_nodes_export');
      $autoDeployDltQuery->condition('node_uuid', $nodeUUIDs, 'IN');
      $autoDeployDltQuery->execute();
      return [
        'status' => 1,
      ];
    }
  }

  /**
   * Update deployments.
   *
   * @param array $nodeUUIDs
   *   UUIDs of deployments node.
   * @param string $targetEnv
   *   Target environment of deployments.
   * @param bool $targetNodeStatus
   *   Target node status of deployments.
   * @param $deploymentTime
   *   Deployment time.
   *
   * @return
   */
  public static function updateDeployments($nodeUUIDs, $targetEnv = NULL, $targetNodeStatus = NULL, $deploymentTime = NULL) {

    if (!empty($nodeUUIDs)) {

      $fields = [];

      if (!empty($targetEnv)) {
        $fields['target_environment'] = $targetEnv;
      }

      if ($targetNodeStatus !== NULL) {
        $fields['node_target_status'] = $targetNodeStatus;
      }

      if (!empty($deploymentTime)) {
        $fields['deployment_time'] = $deploymentTime;
      }

      if (!empty($fields)) {
        $currTimestamp = \Drupal::time()->getCurrentTime();
        $autoDeployUpdateQuery = \Drupal::database()->update('cd_auto_nodes_export');
        $autoDeployUpdateQuery->condition('node_uuid', $nodeUUIDs, 'IN');
        $autoDeployUpdateQuery->condition('deployment_time', $currTimestamp, '>');
        $autoDeployUpdateQuery->fields($fields);
        $autoDeployUpdateQuery->execute();
      }
      return [
        'status' => 1,
      ];
    }
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc