Advertisement
Guest User

olhaae

a guest
Apr 30th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.02 KB | None | 0 0
  1. <?
  2. include "".$_SERVER['DOCUMENT_ROOT']."/AdminClickV/functions_gerais.php";
  3. include "".$_SERVER['DOCUMENT_ROOT']."/urlify.php";
  4.  
  5. $id_noticia = $_GET['id_noticia'];
  6.  
  7. $verific_faq_dados = array(':id_noticia' => $id_noticia);
  8. $verific_faq = $dbconnect->prepare("SELECT * FROM noticias WHERE id_noticia=:id_noticia");
  9. $verific_faq->execute($verific_faq_dados);
  10. $total_faq = $verific_faq->rowCount();
  11. $resut_faq = $verific_faq->fetch(PDO::FETCH_OBJ);
  12. $nome_noticia=$resut_faq->nome_noticia;
  13. $url_noticia=$resut_faq->url_noticia;
  14. $url_video=$resut_faq->url_video;
  15. $status_noticia=$resut_faq->status_noticia;
  16. $img_noticia=$resut_faq->img_noticia;
  17. $resumo_noticia=$resut_faq->resumo;
  18. if($total_faq == 0){
  19. header("Location: /AdminClickV/editar-noticias/");
  20. }
  21. include "".$_SERVER['DOCUMENT_ROOT']."/AdminClickV/include_header.php";
  22. include "".$_SERVER['DOCUMENT_ROOT']."/AdminClickV/include_head.php";
  23.  
  24. if (isset($_POST['form-nova-noticiax'])){
  25. /**
  26. * Upload de Imagens com Segurança
  27. */
  28. // Prepara a variável caso o formulário tenha sido postado
  29. $arquivo[0] = isset($_FILES["img_noticia1"]) ? $_FILES["img_noticia1"] : FALSE;
  30. $arquivo[1] = isset($_FILES["img_noticia2"]) ? $_FILES["img_noticia2"] : FALSE;
  31. $arquivo[2] = isset($_FILES["img_noticia3"]) ? $_FILES["img_noticia3"] : FALSE;
  32. $arquivo[3] = isset($_FILES["img_noticia4"]) ? $_FILES["img_noticia4"] : FALSE;
  33. $arquivo[4] = isset($_FILES["img_noticia5"]) ? $_FILES["img_noticia5"] : FALSE;
  34.  
  35. $config = array();
  36. // Tamano máximo da imagem, em bytes
  37. $config["tamanho"] = 1100000;
  38. // Largura Máxima, em pixels
  39. $config["largura"] = 3264;
  40. // Altura Máxima, em pixels
  41. $config["altura"] = 2448;
  42. // Diretório onde a imagem será salva
  43. $config["diretorio"] = "".$_SERVER['DOCUMENT_ROOT']."/images/noticias/";
  44.  
  45. // Gera um nome para a imagem e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente..
  46. // Função Recursiva
  47. function nome($extensao){
  48. global $config;
  49.  
  50. // Gera um nome único para a imagem
  51. $temp = substr(md5(uniqid(time())), 0, 10);
  52. $imagem_nome = $temp . "." . $extensao;
  53.  
  54. // Verifica se o arquivo já existe, caso positivo, chama essa função novamente
  55. if(file_exists($config["diretorio"] . $imagem_nome)){
  56. $imagem_nome = nome($extensao);
  57. }
  58. return $imagem_nome;
  59. }
  60. for($i=0; $i<count($arquivo); $i++){
  61.  
  62. if($arquivo[$i]["size"] > 0){
  63. $erro = array();
  64. // Verifica o mime-type do arquivo para ver se é de imagem.
  65. // Caso fosse verificar a extensão do nome de arquivo, o código deveria ser:
  66. //
  67. // if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) {
  68. // $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }
  69. //
  70. // Mas, o que ocorre é que alguns usuários mal-intencionados, podem pegar um vírus .exe e simplesmente mudar a extensão
  71. // para alguma das imagens e enviar. Então, não adiantaria em nada verificar a extensão do nome do arquivo.
  72.  
  73. if(!in_array($arquivo[$i]['type'], array('image/gif', 'image/png', 'image/bmp', 'image/jpeg'))){
  74. $erro[] = "Arquivo em formato inválido! A imagem deve estar em algum desses formatos: jpg, jpeg, bmp, gif ou png";
  75. }
  76. else{
  77. // Verifica tamanho do arquivo
  78. if($arquivo[$i]["size"] > $config["tamanho"]){
  79. $erro[] = "Arquivo em tamanho muito grande! A imagem deve ter no máximo 1MB.";
  80. }
  81.  
  82. // Para verificar as dimensões da imagem
  83. $tamanhos = getimagesize($arquivo[$i]["tmp_name"]);
  84.  
  85. // Verifica largura
  86. if($tamanhos[0] > $config["largura"]){
  87. $erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels";
  88. }
  89.  
  90. // Verifica altura
  91. if($tamanhos[1] > $config["altura"]){
  92. $erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels";
  93. }
  94. }
  95.  
  96. if(!sizeof($erro)){
  97. // Pega extensão do arquivo, o indice 1 do array conterá a extensão
  98. preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo[$i]["name"], $ext);
  99.  
  100. // Gera nome único para a imagem
  101. $imagem_nome[$i] = nome($ext[1]);
  102.  
  103. // Caminho de onde a imagem ficará
  104. $imagem_dir[$i] = $config["diretorio"] . $imagem_nome[$i];
  105.  
  106. // Faz o upload da imagem
  107. move_uploaded_file($arquivo[$i]["tmp_name"], $imagem_dir[$i]);
  108. }
  109. }
  110. } //aquiii
  111.  
  112. if(!sizeof($erro)){
  113. //Salva no Banco de Dados
  114. $img_final = '';
  115. for($i=0; $i<count($imagem_nome); $i++){
  116. if($arquivo[$i])
  117. $img_final .= $i == 0 ? $imagem_nome[$i] : ';'.$imagem_nome[$i];
  118. }
  119.  
  120. if($img_final == ''){
  121. $img_final = $img_noticia;
  122. }
  123.  
  124. $verifica_noticias = $dbconnect->prepare("select id from sites_AdminClickV order by rand() limit 1");
  125. $verifica_noticias->execute($verifica_noticias_dados);
  126. $id_site_AdminClickV = $verifica_noticias->fetchAll(PDO::FETCH_OBJ);
  127.  
  128. $nome_noticia = $_POST['titulo'];
  129. $url_noticia = "";
  130.  
  131. $url_video = $_POST['video'];
  132. if($url_video){
  133. $itens_x = parse_url ($url_video);
  134. parse_str($itens_x['query'], $video_g);
  135. $link_video = $video_g['v'];
  136. }else{
  137. $link_video = "";
  138. }
  139.  
  140. $nome_noticia = $_POST['titulo'];
  141. $status_noticia = $_POST['status'];
  142. $id_noticia = $_POST['id_noticia'];
  143. $resumo_noticia = $_POST['descricao'];
  144. $parte_url = URLify::filter ($nome_noticia);
  145. $parte_url = "/$parte_url/";
  146.  
  147. if( isset( $_POST['titulo'] ) && isset( $_POST['status'] ) && isset( $_POST['descricao'] ) ) {
  148. $dados = array(':status_noticia' => $status_noticia, ':nome_noticia' => $nome_noticia, ':parte_url' => $parte_url, ':img_noticia' => $img_final, ':resumo_noticia' => $resumo_noticia, ':id_noticia' => $id_noticia);
  149. $cadastrando = $dbconnect->prepare('UPDATE noticias SET status_noticia=:status_noticia, nome_noticia=:nome_noticia, parte_url=:parte_url, img_noticia=:img_noticia, resumo=:resumo_noticia WHERE id_noticia=:id_noticia');
  150. $cadastrando->execute($dados);
  151. $total_cadas = $cadastrando->rowCount();
  152. }
  153.  
  154. }
  155. }
  156.  
  157. ?>
  158.  
  159.  
  160. <div class="page-wrapper">
  161. <? include "".$_SERVER['DOCUMENT_ROOT']."/AdminClickV/include_menu.php";?>
  162.  
  163. <div class="page-content">
  164. <div class="page-subheading page-subheading-md">
  165. <ol class="breadcrumb">
  166. <li><a href="javascript:;">Dashboard</a></li>
  167. <li class="active"><a href="javascript:;">Editar Notícia</a></li>
  168. </ol>
  169. </div>
  170. <div class="page-heading page-heading-md">
  171. <h2>Editar Notícia</h2>
  172. </div>
  173.  
  174. <div class="col-md-12">
  175.  
  176. <form class="form-horizontal form-bordered" action="" method="post" enctype="multipart/form-data" name="form-nova-noticiax" id="form-nova-noticiax">
  177. <div class="panel panel-danger">
  178. <div class="panel-body">
  179. <input type="hidden" name="form-nova-noticiax" id="form-nova-noticiax">
  180. <input name="id_noticia" id="id_noticia" type="hidden" value="<?echo $id_noticia;?>">
  181. <div class="form-body">
  182. <div class="form-group">
  183. <label class="col-md-4 control-label">Título</label>
  184. <div class="col-md-8">
  185. <input name="titulo" id="titulo" value="<?echo $nome_noticia;?>" type="text" class="form-control input-inline input-large" placeholder="Título do Post" required="" aria-required="true">
  186. </div>
  187. </div>
  188. <div class="form-group">
  189. <label class="col-md-4 control-label">Imagem Principal</label>
  190. <div class="col-md-8">
  191. <div class="fileinput fileinput-new" data-provides="fileinput">
  192.  
  193. <div class="input-group input-large">
  194. <div class="form-control uneditable-input span3" data-trigger="fileinput">
  195. <i class="fa fa-file fileinput-exists"></i>&nbsp; <span class="fileinput-filename">
  196. <?echo $img_noticia;?>
  197. </span>
  198. </div>
  199. <span class="input-group-addon btn btn-info btn-file">
  200. <span class="fileinput-new">
  201. Selecionar arquivo </span>
  202. <span class="fileinput-exists">
  203. Alterar </span>
  204. <input type="file" name="img_noticia1" id="img_noticia1"/>
  205. </span>
  206. <a href="#" class="input-group-addon btn red fileinput-exists" data-dismiss="fileinput">
  207. Remover </a>
  208. </div>
  209. </div>
  210. </div>
  211. </div>
  212. <div class="form-group">
  213. <label class="col-md-4 control-label">URL Vídeo do Youtube</label>
  214. <div class="col-md-8">
  215. <input name="video" id="video" value="<?echo $url_video;?>" type="text" class="form-control input-inline input-large" placeholder="ex: https://www.youtube.com/watch?v=wt4VJlKe6J0">
  216. </div>
  217. </div>
  218. <div class="form-group">
  219. <label class="col-md-4 control-label">Descrição (Texto)</label>
  220. <div class="col-md-8">
  221. <textarea rows="10" name="descricao" id="descricao" type="text" class="form-control input-inline input-large" placeholder="Descrição do Post" required="" aria-required="true"><?echo $resumo_noticia;?></textarea>
  222. </div>
  223. </div>
  224. <div class="form-group">
  225. <label class="col-md-4 control-label">Imagem Adicional 01</label>
  226. <div class="col-md-8">
  227. <div class="fileinput fileinput-new" data-provides="fileinput">
  228.  
  229. <div class="input-group input-large">
  230. <div class="form-control uneditable-input span3" data-trigger="fileinput">
  231. <i class="fa fa-file fileinput-exists"></i>&nbsp; <span class="fileinput-filename">
  232. </span>
  233. </div>
  234. <span class="input-group-addon btn btn-info btn-file">
  235. <span class="fileinput-new">
  236. Selecionar arquivo </span>
  237. <span class="fileinput-exists">
  238. Alterar </span>
  239. <input type="file" name="img_noticia2" id="img_noticia2" aria-required="true"/>
  240. </span>
  241. <a href="#" class="input-group-addon btn red fileinput-exists" data-dismiss="fileinput">
  242. Remover </a>
  243. </div>
  244. </div>
  245. </div>
  246. </div>
  247. <div class="form-group">
  248. <label class="col-md-4 control-label">Imagem Adicional 02</label>
  249. <div class="col-md-8">
  250. <div class="fileinput fileinput-new" data-provides="fileinput">
  251.  
  252. <div class="input-group input-large">
  253. <div class="form-control uneditable-input span3" data-trigger="fileinput">
  254. <i class="fa fa-file fileinput-exists"></i>&nbsp; <span class="fileinput-filename">
  255. </span>
  256. </div>
  257. <span class="input-group-addon btn btn-info btn-file">
  258. <span class="fileinput-new">
  259. Selecionar arquivo </span>
  260. <span class="fileinput-exists">
  261. Alterar </span>
  262. <input type="file" name="img_noticia3" id="img_noticia3" aria-required="true"/>
  263. </span>
  264. <a href="#" class="input-group-addon btn red fileinput-exists" data-dismiss="fileinput">
  265. Remover </a>
  266. </div>
  267. </div>
  268. </div>
  269. </div>
  270. <div class="form-group">
  271. <label class="col-md-4 control-label">Imagem Adicional 03</label>
  272. <div class="col-md-8">
  273. <div class="fileinput fileinput-new" data-provides="fileinput">
  274.  
  275. <div class="input-group input-large">
  276. <div class="form-control uneditable-input span3" data-trigger="fileinput">
  277. <i class="fa fa-file fileinput-exists"></i>&nbsp; <span class="fileinput-filename">
  278. </span>
  279. </div>
  280. <span class="input-group-addon btn btn-info btn-file">
  281. <span class="fileinput-new">
  282. Selecionar arquivo </span>
  283. <span class="fileinput-exists">
  284. Alterar </span>
  285. <input type="file" name="img_noticia4" id="img_noticia4" aria-required="true"/>
  286. </span>
  287. <a href="#" class="input-group-addon btn red fileinput-exists" data-dismiss="fileinput">
  288. Remover </a>
  289. </div>
  290. </div>
  291. </div>
  292. </div>
  293. <div class="form-group">
  294. <label class="col-md-4 control-label">Imagem Adicional 04</label>
  295. <div class="col-md-8">
  296. <div class="fileinput fileinput-new" data-provides="fileinput">
  297.  
  298. <div class="input-group input-large">
  299. <div class="form-control uneditable-input span3" data-trigger="fileinput">
  300. <i class="fa fa-file fileinput-exists"></i>&nbsp; <span class="fileinput-filename">
  301. </span>
  302. </div>
  303. <span class="input-group-addon btn btn-info btn-file">
  304. <span class="fileinput-new">
  305. Selecionar arquivo </span>
  306. <span class="fileinput-exists">
  307. Alterar </span>
  308. <input type="file" name="img_noticia5" id="img_noticia5" aria-required="true"/>
  309. </span>
  310. <a href="#" class="input-group-addon btn red fileinput-exists" data-dismiss="fileinput">
  311. Remover </a>
  312. </div>
  313. </div>
  314. </div>
  315. </div>
  316. <div class="form-group">
  317. <label class="control-label col-sm-4">Status <span class="asterisk">*</span></label>
  318.  
  319. <div class="controls col-sm-8">
  320. <select class="form-control" name="status" id="status" required="" aria-required="true">
  321. <option value="0" <?if($status_noticia == 0){echo "selected";}?>>Em Análise</option>
  322. <option value="1" <?if($status_noticia == 1){echo "selected";}?>>Ativa</option>
  323. <option value="2" <?if($status_noticia == 2){echo "selected";}?>>Desativada</option>
  324. </select>
  325. </div>
  326. </div>
  327. </div>
  328. <div class="form-actions">
  329. <button type="submit" class="btn btn-primary">Salvar</button>
  330. </div>
  331. <div class="form-return">
  332. <?
  333. // Imagem foi enviada com sucesso, mostra mensagem de SUCESSO
  334. if($total_cadastrando_bv > 0 && !sizeof($erro))
  335. {
  336. echo "<div class='alert alert-success alert-dismissable' style='margin-top: 12px;'>Notícia cadastrada com sucesso!</div>";
  337. }
  338.  
  339. // Ocorreu algum erro ou ainda o formulário não foi postado
  340. else
  341. {
  342. if(sizeof($erro))
  343. {
  344. echo "<div class='alert alert-danger alert-dismissable' style='margin-top: 12px;'><h4>Erro(s):</h4>";
  345. foreach($erro as $err)
  346. {
  347. echo " <b>*</b> " . $err . "<BR>";
  348. }
  349. echo "</div>";
  350. }
  351. }
  352. ?>
  353. </div>
  354. </div>
  355. </div>
  356. </form>
  357.  
  358. <div class="container-fluid-md">
  359. <? include "".$_SERVER['DOCUMENT_ROOT']."/AdminClickV/include_publicidade.php";?>
  360. </div>
  361.  
  362. </div>
  363. </div>
  364. <link rel="stylesheet" href="/painel/assets/file-upload/bootstrap-fileinput.css"><!-- bootstrap file upload CSS -->
  365. <script src="/AdminClickV/dist/assets/libs/jquery/jquery.min.js"></script>
  366. <script src="/AdminClickV/dist/assets/bs3/js/bootstrap.min.js"></script>
  367. <script src="/AdminClickV/dist/assets/plugins/jquery-navgoco/jquery.navgoco.js"></script>
  368. <script src="/AdminClickV/dist/js/main.js"></script>
  369.  
  370. <script src="/painel/assets/file-upload/bootstrap-fileinput.js"></script><!--bootstrap file upload JS -->
  371. <script src="/AdminClickV/dist/assets/plugins/jquery-validation/jquery.validate.min.js"></script>
  372. <script src="/AdminClickV/validate/validate-editar-noticia.js"></script>
  373.  
  374. <!--[if lt IE 9]>
  375. <script src="/AdminClickV/dist/assets/plugins/flot/excanvas.min.js"></script>
  376. <![endif]-->
  377. <script src="/AdminClickV/dist/assets/plugins/jquery-sparkline/jquery.sparkline.js"></script>
  378. <script src="/AdminClickV/demo/js/demo.js"></script>
  379. </body>
  380. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement