Code Duplication    Length = 26-26 lines in 2 locations

PHPDaemon/Clients/Redis/Connection.php 2 locations

@@ 435-460 (lines=26) @@
432
				$this->sendCommand($name, $channels, $opcb);
433
			}
434
		}
435
		elseif ($name === 'UNSUBSCRIBEREAL') {
436
			
437
			/* Race-condition-free UNSUBSCRIBE */
438
439
			$old = $this->subscribeCb;
440
			$this->sendCommand('UNSUBSCRIBE', $args, function($redis) use ($cb, $args, $old) {
441
				if (!$redis) {
442
					call_user_func($cb, $redis);
443
					return;
444
				}
445
				foreach ($args as $arg) {
446
					if (!isset($this->subscribeCb[$arg])) {
447
						continue;
448
					}
449
					foreach ($old[$arg] as $oldcb) {
450
						CallbackWrapper::removeFromArray($this->subscribeCb[$arg], $oldcb);
451
					}
452
					if (!sizeof($this->subscribeCb[$arg])) {
453
						unset($this->subscribeCb[$arg]);
454
					}
455
				}
456
				if ($cb !== null) {
457
					call_user_func($cb, $this);
458
				}
459
			});
460
		}
461
		elseif ($name === 'PUNSUBSCRIBE') {
462
			$channels = [];
463
			foreach ($args as $arg) {
@@ 483-508 (lines=26) @@
480
				$this->sendCommand($name, $channels, $opcb);
481
			}
482
		}
483
		elseif ($name === 'PUNSUBSCRIBEREAL') {
484
			
485
			/* Race-condition-free PUNSUBSCRIBE */
486
487
			$old = $this->psubscribeCb;
488
			$this->sendCommand('PUNSUBSCRIBE', $args, function($redis) use ($cb, $args, $old) {
489
				if (!$redis) {
490
					call_user_func($cb, $redis);
491
					return;
492
				}
493
				foreach ($args as $arg) {
494
					if (!isset($this->psubscribeCb[$arg])) {
495
						continue;
496
					}
497
					foreach ($old[$arg] as $oldcb) {
498
						CallbackWrapper::removeFromArray($this->psubscribeCb[$arg], $oldcb);
499
					}
500
					if (!sizeof($this->psubscribeCb[$arg])) {
501
						unset($this->psubscribeCb[$arg]);
502
					}
503
				}
504
				if ($cb !== null) {
505
					call_user_func($cb, $this);
506
				}
507
			});
508
		} else {
509
			if ($name === 'MGET') {
510
				$this->resultTypeStack->push(static::RESULT_TYPE_ARGSVALS);
511
				$this->argsStack->push($args);