-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnoticia.class.php
110 lines (80 loc) · 2.01 KB
/
noticia.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
include_once('config.class.php');
include_once('redesSociais.class.php');
class Template {
private $templateName;
function __construct(){
$this->templateName = 'padrao';
}
public function applyTemplate(){
echo "aplicando o template $this->templateName";
}
public function setTemplateName ( $templateName ) {
$this->templateName = $templateName;
}
}
interface iRender{
public function renderizar($conteudo);
}
class Render implements iRender{
private $deviceType = array("0" => 'Desktop', "1" => 'Tablet', "2" => 'Smartphone');
public function renderizar($conteudo){
$conteudo->getTemplate()->applyTemplate();
$device = rand(0,2);
echo "\n renderizando no " . $this->deviceType[$device];
echo "\n " . $conteudo->getConteudo();
}
}
interface iConteudo {
public function getTitulo();
}
abstract class Conteudo implements iConteudo {
private $titulo;
private $id;
protected $template;
protected $socializador;
protected $config;
protected $renderizador;
function __construct(){
$this->template = new Template();
$this->socializador = new Socializador('');
$this->config = new Config();
$this->renderizador = new Render();
$this->template->setTemplateName = $this->config->getTemplateName();
}
abstract protected function gerarPermalink();
public function getTitulo(){
$this->titulo = "titulo";
return $this->titulo;
}
public function getTemplate(){
return $this->template;
}
public function render(){
$this->renderizador->renderizar($this);
//$this->getConteudo();
echo "\n";
$this->socializador->socializar($this->config->getRedesSociaisAtivas(), $this->getConteudo());
}
}
class Noticia extends Conteudo {
function __construct(){
parent::__construct();
}
public function gerarPermalink(){
return 'permalink://noticia/';
}
public function getConteudo(){
return 'noticia';
}
}
class Video extends Conteudo {
private $embed;
public function gerarPermalink(){
return 'permalink';
}
public function getConteudo(){
return 'video';
}
}
?>