modifs.mineures sans commentaires
This commit is contained in:
		
							parent
							
								
									06b1bce249
								
							
						
					
					
						commit
						5e140610c1
					
				@ -172,6 +172,13 @@ class CapacitorChannel {
 | 
				
			|||||||
    return array_combine($keys, [$value, $sum]);
 | 
					    return array_combine($keys, [$value, $sum]);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  function wasSumModified(string $key, $value, array $prowValues): bool {
 | 
				
			||||||
 | 
					    $sumKey = $this->getSumKeys($key)[1];
 | 
				
			||||||
 | 
					    $sum = $this->getSum($key, $value)[$sumKey];
 | 
				
			||||||
 | 
					    $psum = $prowValues[$sumKey] ?? sha1(serialize($prowValues[$key] ?? null));
 | 
				
			||||||
 | 
					    return $sum !== $psum;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  function _wasSumModified(string $key, array $row, array $prow): bool {
 | 
					  function _wasSumModified(string $key, array $row, array $prow): bool {
 | 
				
			||||||
    $sumKey = $this->getSumKeys($key)[1];
 | 
					    $sumKey = $this->getSumKeys($key)[1];
 | 
				
			||||||
    $sum = $row[$sumKey] ?? null;
 | 
					    $sum = $row[$sumKey] ?? null;
 | 
				
			||||||
@ -179,13 +186,6 @@ class CapacitorChannel {
 | 
				
			|||||||
    return $sum !== $psum;
 | 
					    return $sum !== $psum;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  function wasSumModified(string $key, array $rowValues, array $prowValues): bool {
 | 
					 | 
				
			||||||
    $sumKey = $this->getSumKeys($key)[1];
 | 
					 | 
				
			||||||
    $sum = $this->getSum($key, $rowValues[$key] ?? null)[$sumKey];
 | 
					 | 
				
			||||||
    $psum = $prowValues[$sumKey] ?? sha1(serialize($prowValues[$key] ?? null));
 | 
					 | 
				
			||||||
    return $sum !== $psum;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * méthode appelée lors du chargement avec {@link Capacitor::charge()} pour
 | 
					   * méthode appelée lors du chargement avec {@link Capacitor::charge()} pour
 | 
				
			||||||
   * créer un nouvel élément
 | 
					   * créer un nouvel élément
 | 
				
			||||||
 | 
				
			|||||||
@ -58,11 +58,14 @@ abstract class CapacitorStorage {
 | 
				
			|||||||
      $key = $col;
 | 
					      $key = $col;
 | 
				
			||||||
      if ($key === $index) {
 | 
					      if ($key === $index) {
 | 
				
			||||||
        $index++;
 | 
					        $index++;
 | 
				
			||||||
      } elseif (!array_key_exists($key, $values)) {
 | 
					 | 
				
			||||||
      } elseif ($channel->isSerialKey($key)) {
 | 
					      } elseif ($channel->isSerialKey($key)) {
 | 
				
			||||||
        A::merge($row, $channel->getSum($key, $values[$key]));
 | 
					        if (array_key_exists($key, $values)) {
 | 
				
			||||||
 | 
					          A::merge($row, $channel->getSum($key, $values[$key]));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        $row[$col] = $values[$key];
 | 
					        if (array_key_exists($key, $values)) {
 | 
				
			||||||
 | 
					          $row[$col] = $values[$key];
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return $row;
 | 
					    return $row;
 | 
				
			||||||
 | 
				
			|||||||
@ -200,22 +200,17 @@ class MysqlStorage extends CapacitorStorage {
 | 
				
			|||||||
    $commitThreshold = $channel->getEachCommitThreshold();
 | 
					    $commitThreshold = $channel->getEachCommitThreshold();
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
      $args ??= [];
 | 
					      $args ??= [];
 | 
				
			||||||
      foreach ($this->_all($channel, $filter) as $row) {
 | 
					      foreach ($this->_all($channel, $filter) as $rowValues) {
 | 
				
			||||||
        $rowIds = $this->getRowIds($channel, $row);
 | 
					        $rowIds = $this->getRowIds($channel, $rowValues);
 | 
				
			||||||
        $updates = func::_call($onEach, [$row["item"], $row, ...$args]);
 | 
					        $updates = func::_call($onEach, [$rowValues["item"], $rowValues, ...$args]);
 | 
				
			||||||
        if (is_array($updates)) {
 | 
					        if (is_array($updates)) {
 | 
				
			||||||
          $updates = $this->serialize($channel, $updates);
 | 
					          if (!array_key_exists("modified_", $updates)) {
 | 
				
			||||||
          if (array_key_exists("item__", $updates)) {
 | 
					            $updates["modified_"] = date("Y-m-d H:i:s");
 | 
				
			||||||
            # si item a été mis à jour, il faut mettre à jour sum_
 | 
					 | 
				
			||||||
            $updates["sum_"] = sha1($updates["item__"]);
 | 
					 | 
				
			||||||
            if (!array_key_exists("modified_", $updates)) {
 | 
					 | 
				
			||||||
              $updates["modified_"] = date("Y-m-d H:i:s");
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          $mysql->exec([
 | 
					          $mysql->exec([
 | 
				
			||||||
            "update",
 | 
					            "update",
 | 
				
			||||||
            "table" => $tableName,
 | 
					            "table" => $tableName,
 | 
				
			||||||
            "values" => $updates,
 | 
					            "values" => $this->serialize($channel, $updates),
 | 
				
			||||||
            "where" => $rowIds,
 | 
					            "where" => $rowIds,
 | 
				
			||||||
          ]);
 | 
					          ]);
 | 
				
			||||||
          if ($commitThreshold !== null) {
 | 
					          if ($commitThreshold !== null) {
 | 
				
			||||||
 | 
				
			|||||||
@ -198,22 +198,17 @@ class SqliteStorage extends CapacitorStorage {
 | 
				
			|||||||
    $commitThreshold = $channel->getEachCommitThreshold();
 | 
					    $commitThreshold = $channel->getEachCommitThreshold();
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
      $args ??= [];
 | 
					      $args ??= [];
 | 
				
			||||||
      foreach ($this->_all($channel, $filter) as $row) {
 | 
					      foreach ($this->_all($channel, $filter) as $rowValues) {
 | 
				
			||||||
        $rowIds = $this->getRowIds($channel, $row);
 | 
					        $rowIds = $this->getRowIds($channel, $rowValues);
 | 
				
			||||||
        $updates = func::_call($onEach, [$row["item"], $row, ...$args]);
 | 
					        $updates = func::_call($onEach, [$rowValues["item"], $rowValues, ...$args]);
 | 
				
			||||||
        if (is_array($updates)) {
 | 
					        if (is_array($updates) && $updates) {
 | 
				
			||||||
          $updates = $this->serialize($channel, $updates);
 | 
					          if (!array_key_exists("modified_", $updates)) {
 | 
				
			||||||
          if (array_key_exists("item__", $updates)) {
 | 
					            $updates["modified_"] = date("Y-m-d H:i:s");
 | 
				
			||||||
            # si item a été mis à jour, il faut mettre à jour sum_
 | 
					 | 
				
			||||||
            $updates["sum_"] = sha1($updates["item__"]);
 | 
					 | 
				
			||||||
            if (!array_key_exists("modified_", $updates)) {
 | 
					 | 
				
			||||||
              $updates["modified_"] = date("Y-m-d H:i:s");
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          $sqlite->exec([
 | 
					          $sqlite->exec([
 | 
				
			||||||
            "update",
 | 
					            "update",
 | 
				
			||||||
            "table" => $tableName,
 | 
					            "table" => $tableName,
 | 
				
			||||||
            "values" => $updates,
 | 
					            "values" => $this->serialize($channel, $updates),
 | 
				
			||||||
            "where" => $rowIds,
 | 
					            "where" => $rowIds,
 | 
				
			||||||
          ]);
 | 
					          ]);
 | 
				
			||||||
          if ($commitThreshold !== null) {
 | 
					          if ($commitThreshold !== null) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user