NewsletterController   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 50
Duplicated Lines 28 %

Coupling/Cohesion

Components 2
Dependencies 2

Importance

Changes 0
Metric Value
dl 14
loc 50
rs 10
c 0
b 0
f 0
wmc 5
lcom 2
cbo 2

3 Methods

Rating   Name   Duplication   Size   Complexity  
A listar_cadastros() 0 14 1
A excluir_newsletter() 14 14 2
A newsletter_cadastro() 0 14 2

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
3
class NewsletterController extends AppController {
4
5
6
	public function listar_cadastros() 
7
	{
8
		$newsletters = $this->Newsletter->find('all', 
9
			array('conditions' => 
10
				array('ativo' => 1,
11
					  'usuario_id' => $this->instancia
12
				)
13
			)
14
		);
15
		
16
		$this->set('newsletters', $newsletters);
17
18
		$this->layout = 'wadmin';
19
	}
20
21 View Code Duplication
	public function excluir_newsletter($id)
22
	{
23
		$dados['ativo'] = 0;
0 ignored issues
show
Coding Style Comprehensibility introduced by
$dados was never initialized. Although not strictly required by PHP, it is generally a good practice to add $dados = array(); before regardless.

Adding an explicit array definition is generally preferable to implicit array definition as it guarantees a stable state of the code.

Let’s take a look at an example:

foreach ($collection as $item) {
    $myArray['foo'] = $item->getFoo();

    if ($item->hasBar()) {
        $myArray['bar'] = $item->getBar();
    }

    // do something with $myArray
}

As you can see in this example, the array $myArray is initialized the first time when the foreach loop is entered. You can also see that the value of the bar key is only written conditionally; thus, its value might result from a previous iteration.

This might or might not be intended. To make your intention clear, your code more readible and to avoid accidental bugs, we recommend to add an explicit initialization $myArray = array() either outside or inside the foreach loop.

Loading history...
24
25
		$this->Newsletter->id = $id;
26
27
		if ($this->Newsletter->save($dados)) {
28
			$this->Session->setFlash('Cadastro de newsletter excluido com sucesso!');
29
            return $this->redirect('/newsletter/listar_cadastros');
30
		} else {
31
			$this->Session->setFlash('Ocorreu algum erro ao excluir o cadastro de newsletter!');
32
            return $this->redirect('/newsletter/listar_cadastros');
33
		}
34
	}
35
36
37
	public function newsletter_cadastro($nome, $email, $usuario_id)
38
	{
39
		$dados['ativo'] 	 = 1;
0 ignored issues
show
Coding Style Comprehensibility introduced by
$dados was never initialized. Although not strictly required by PHP, it is generally a good practice to add $dados = array(); before regardless.

Adding an explicit array definition is generally preferable to implicit array definition as it guarantees a stable state of the code.

Let’s take a look at an example:

foreach ($collection as $item) {
    $myArray['foo'] = $item->getFoo();

    if ($item->hasBar()) {
        $myArray['bar'] = $item->getBar();
    }

    // do something with $myArray
}

As you can see in this example, the array $myArray is initialized the first time when the foreach loop is entered. You can also see that the value of the bar key is only written conditionally; thus, its value might result from a previous iteration.

This might or might not be intended. To make your intention clear, your code more readible and to avoid accidental bugs, we recommend to add an explicit initialization $myArray = array() either outside or inside the foreach loop.

Loading history...
40
		$dados['email'] 	 = $email;
41
		$dados['nome']  	 = $nome;
42
		$dados['usuario_id'] = $usuario_id;
43
44
		if ($this->Newsletter->save($dados))
45
		{
46
			return true;
47
		}
48
49
		return false;
50
	}
51
52
}