Code Duplication    Length = 46-47 lines in 3 locations

API/TeamSpeak3.php 3 locations

@@ 273-319 (lines=47) @@
270
  * @param		array	$permissions	permissions
271
  * @return     boolean success
272
  */
273
	function channelAddPerm($cid, $permissions) {
274
		if(!$this->runtime['selected']) { return $this->checkSelected(); }
275
		
276
		if(count($permissions) > 0) {
277
			//Permissions given
278
			
279
			//Errorcollector
280
			$errors = array();
281
			
282
			//Split Permissions to prevent query from overload
283
			$permissions = array_chunk($permissions, 50, true);
284
			
285
			//Action for each splitted part of permission
286
			foreach($permissions as $permission_part)
287
			{
288
				//Create command_string for each command that we could use implode later
289
				$command_string = array();
290
				
291
				foreach($permission_part as $key => $value)
292
				{
293
					$command_string[] = (is_numeric($key) ? "permid=" : "permsid=").$this->escapeText($key).' permvalue='.$value;
294
				}
295
				
296
				$result = $this->getData('boolean', 'channeladdperm cid='.$cid.' '.implode('|', $command_string));
297
				
298
				if(!$result['success'])
299
				{
300
					foreach($result['errors'] as $error)
301
					{
302
						$errors[] = $error;
303
					}
304
				}
305
			}
306
			
307
			if(count($errors) == 0)
308
			{
309
				return $this->generateOutput(true, array(), true);
310
			}else{
311
				return $this->generateOutput(false, $errors, false);
312
			}
313
			
314
		}else{
315
			// No permissions given
316
			$this->addDebugLog('no permissions given');
317
			return $this->generateOutput(false, array('Error: no permissions given'), false);
318
		}
319
	}
320
321
/**
322
  * channelClientAddPerm
@@ 340-386 (lines=47) @@
337
  * @param		array		$permissions	permissions
338
  * @return     boolean success
339
  */
340
	function channelClientAddPerm($cid, $cldbid, $permissions) {
341
		if(!$this->runtime['selected']) { return $this->checkSelected(); }
342
		
343
		if(count($permissions) > 0) {
344
			//Permissions given
345
				
346
			//Errorcollector
347
			$errors = array();
348
				
349
			//Split Permissions to prevent query from overload
350
			$permissions = array_chunk($permissions, 50, true);
351
				
352
			//Action for each splitted part of permission
353
			foreach($permissions as $permission_part)
354
			{
355
				//Create command_string for each command that we could use implode later
356
				$command_string = array();
357
		
358
				foreach($permission_part as $key => $value)
359
				{
360
					$command_string[] = (is_numeric($key) ? "permid=" : "permsid=").$this->escapeText($key).' permvalue='.$value;
361
				}
362
		
363
				$result = $this->getData('boolean', 'channelclientaddperm cid='.$cid.' cldbid='.$cldbid.' '.implode('|', $command_string));
364
		
365
				if(!$result['success'])
366
				{
367
					foreach($result['errors'] as $error)
368
					{
369
						$errors[] = $error;
370
					}
371
				}
372
			}
373
				
374
			if(count($errors) == 0)
375
			{
376
				return $this->generateOutput(true, array(), true);
377
			}else{
378
				return $this->generateOutput(false, $errors, false);
379
			}
380
				
381
		}else{
382
			// No permissions given
383
			$this->addDebugLog('no permissions given');
384
			return $this->generateOutput(false, array('Error: no permissions given'), false);
385
		}
386
	}
387
388
/**
389
  * channelClientDelPerm
@@ 643-688 (lines=46) @@
640
  * @param		array		$permissions	permissions
641
  * @return     boolean success
642
  */
643
	function channelGroupAddPerm($cgid, $permissions) {
644
		if(!$this->runtime['selected']) { return $this->checkSelected(); }
645
		
646
		if(count($permissions) > 0) {
647
			//Permissions given
648
		
649
			//Errorcollector
650
			$errors = array();
651
		
652
			//Split Permissions to prevent query from overload
653
			$permissions = array_chunk($permissions, 50, true);
654
		
655
			//Action for each splitted part of permission
656
			foreach($permissions as $permission_part)
657
			{
658
				//Create command_string for each command that we could use implode later
659
				$command_string = array();
660
		
661
				foreach($permission_part as $key => $value)
662
				{
663
					$command_string[] = (is_numeric($key) ? "permid=" : "permsid=").$this->escapeText($key).' permvalue='.$value;
664
				}
665
		
666
				$result = $this->getData('boolean', 'channelgroupaddperm cgid='.$cgid.' '.implode('|', $command_string));
667
		
668
				if(!$result['success'])
669
				{
670
					foreach($result['errors'] as $error)
671
					{
672
						$errors[] = $error;
673
					}
674
				}
675
			}
676
		
677
			if(count($errors) == 0) {
678
				return $this->generateOutput(true, array(), true);
679
			}else{
680
				return $this->generateOutput(false, $errors, false);
681
			}
682
		
683
		}else{
684
			// No permissions given
685
			$this->addDebugLog('no permissions given');
686
			return $this->generateOutput(false, array('Error: no permissions given'), false);
687
		}
688
	}
689
690
/**
691
  * channelGroupClientList