PageRenderTime 25ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/add_noticias.php

https://bitbucket.org/dougg0k/s-d-curriculos-cms
PHP | 149 lines | 130 code | 18 blank | 1 comment | 7 complexity | 9e1472aa98ec8490dd200b3489c3e8c1 MD5 | raw file
  1. <?php
  2. require('includes/config.php');
  3. ob_start("sanitize_output");
  4. //Se n達o estiver logado redirecionar para pagina de Login
  5. if(!$user->is_logged_in()){ header('Location: /'); }
  6. $title = 'CMS - Adicionar Noticias';
  7. require('layout/header.php');
  8. if(isset($_POST['submit'])){
  9. try {
  10. $stmt = $db->prepare('INSERT INTO noticias (titulo,area_texto) VALUES (:titulo, :area_texto)');
  11. $stmt->execute(array(
  12. ':titulo' => $_POST['titulo'],
  13. ':area_texto' => $_POST['area_texto']
  14. ));
  15. } catch(PDOException $e) {
  16. $error[] = $e->getMessage();
  17. }
  18. }
  19. ?>
  20. <script src="js/jquery-1.10.2.js"></script>
  21. <script src="js/bootstrap.min.js"></script>
  22. <script src="js/jquery.metisMenu.js"></script>
  23. <script src="js/sb-admin.js"></script>
  24. <link href="css/summernote.css" rel="stylesheet">
  25. <script src="js/summernote.min.js"></script>
  26. <script src="js/summernote-pt-BR.js"></script>
  27. <div id="wrapper">
  28. <nav class="navbar navbar-default navbar-fixed-top" role="navigation" style="margin-bottom: 0">
  29. <div id="logo" class="col-xs-4 col-sm-2">
  30. <a href="/" id="sd-logo">S&D Enterprise - CMS</a>
  31. </div>
  32. <ul class="nav navbar-top-links navbar-right">
  33. <li><a href="logout.php" id="logout-btn"><i class="fa fa-sign-out fa-fw"></i> Sair</a></li>
  34. </ul>
  35. <div class="navbar-default navbar-static-side" role="navigation">
  36. <div id="sidebar-left">
  37. <div class="sidebar-collapse">
  38. <ul class="nav main-menu" id="side-menu">
  39. <li>
  40. <a href="noticias.php" class="active"><i class="fa fa-list" id="icons-color"></i><span
  41. id="icons-color"> Noticias</span></a>
  42. </li>
  43. <li>
  44. <a href="vagas.php" class="not-active"><i class="fa fa-briefcase" id="icons-color"></i><span
  45. id="icons-color"> Vagas</span></a>
  46. </li>
  47. <li>
  48. <a href="parceiros.php" class="not-active"><i class="fa fa-phone fa-fw" id="icons-color"></i><span id="icons-color">Parceiros</span></a>
  49. </li>
  50. </ul>
  51. </div>
  52. </div>
  53. </div>
  54. </nav>
  55. <div id="page-wrapper">
  56. <div class="row">
  57. <div class="col-lg-12">
  58. <h3 class="page-header">Adicionar Noticia</h3>
  59. </div>
  60. </div>
  61. <div class="row">
  62. <div class="col-lg-12">
  63. <?php
  64. if(count($_FILES) > 0) {
  65. if(is_uploaded_file($_FILES['userfile']['tmp_name']) && getimagesize($_FILES['userfile']['tmp_name']) != false)
  66. {
  67. $size = getimagesize($_FILES['userfile']['tmp_name']);
  68. $type = $size['mime'];
  69. $imgfp = fopen($_FILES['userfile']['tmp_name'], 'rb');
  70. $size = $size[3];
  71. $name = $_FILES['userfile']['name'];
  72. $maxsize = 1048576;
  73. if($_FILES['userfile']['size'] < $maxsize )
  74. {
  75. $dbh = new PDO("mysql:host=HOST/IP;dbname=NOMEDOBANCO;charset=utf8", 'USUARIO', 'SENHA');
  76. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  77. $stmt = $dbh->prepare("INSERT INTO images (image_type ,image_data, image_size, image_name) VALUES (? ,?, ?, ?)");
  78. $stmt->bindParam(1, $type);
  79. $stmt->bindParam(2, $imgfp, PDO::PARAM_LOB);
  80. $stmt->bindParam(3, $size);
  81. $stmt->bindParam(4, $name);
  82. $stmt->execute();
  83. }
  84. else
  85. {
  86. throw new Exception("Tamanho Maximo <= 1MB!");
  87. }
  88. }
  89. else
  90. {
  91. throw new Exception("Formato de imagem n達o suportado!");
  92. }
  93. $_SESSION['success'] = "<div class='alert alert-success'><span style='font-weight: bold'>SUCESSO!</span> Noticia Adicionada.</div>";
  94. header('Location: /');
  95. exit();
  96. }
  97. ?>
  98. <form data-role="form" id="form-noticias" method="post" action="" enctype="multipart/form-data">
  99. <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
  100. <div class="form-group">
  101. <label for="titulo">Titulo</label>
  102. <input type="text" class="form-control" id="titulo" name="titulo" maxlength="100" required>
  103. </div>
  104. <div class="form-group">
  105. <label for="area_texto">Conteudo</label>
  106. <textarea name="area_texto" id="area_texto" maxlength="2000" class="form-control"></textarea>
  107. </div>
  108. <div class="form-group">
  109. <label for="images">Imagem</label>
  110. <input type="file" id="images" name="userfile" class="file" required>
  111. <span class="help-block">(.gif|.png|.jpeg|.jpg)(Tamanho Max. <= 1MB)</span>
  112. </div>
  113. <button type="submit" id="submitAdd" name="submit" class="btn btn-primary"><span
  114. class="glyphicon glyphicon-ok"></span> Postar</button>
  115. </form>
  116. </div>
  117. </div>
  118. </div>
  119. </div>
  120. <script>
  121. $(document).ready(function(){
  122. $('#area_texto').summernote({
  123. height: 300,
  124. focus: true,
  125. lang: 'pt-BR'
  126. });
  127. });
  128. </script>
  129. <?php
  130. require('layout/footer.php');
  131. ?>