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

/resources/views/single.blade.php

https://gitlab.com/infancyit/legaats
PHP | 241 lines | 148 code | 47 blank | 46 comment | 1 complexity | f02acd8a2e4d1c7a7c5c0b99483b0d5d MD5 | raw file
  1. @extends('layouts.default')
  2. @section('content')
  3. <?php use Carbon\Carbon; ?>
  4. <div class="row">
  5. <div class="col-md-8 main">
  6. <div class="row">
  7. <div class="col-md-12">
  8. <!-- Start Cart content -->
  9. <article class="br2 ba b--black-10 mv8 w-100 w-50-m mw0 center post_{{$post->id}}">
  10. <div style="padding:1.5rem;">
  11. <!-- Action Menu -->
  12. @if($post->isOwner)
  13. @include('sections.post_actions')
  14. @endif
  15. <!-- Action Menu End -->
  16. <div class="dtc v-mid">
  17. <img src="{{asset($post->user->avatar)}}" alt="" class="img-circle" width="60" height="60"/>
  18. </div>
  19. <div class="dtc v-mid pl3">
  20. <p class="lh-copy">
  21. <a target="_blank" href="{{route('other.profile', $post->user_id)}}">{{$post->user->fullname}}</a> <!-- <span class="light-text">in</span> <a href="#">FuckHard18</a> -->
  22. <br><span class="light-text"><a target="_blank" href="{{route('single', $post->id)}}">{{Carbon::parse($post->created_at)->diffForHumans()}}</a></span>
  23. <br><span class="light-text">{{$post->allCategories}}</span>
  24. </p>
  25. </div>
  26. </div>
  27. <div style="padding-left:1.5rem;padding-right:1.5rem;">
  28. <?php
  29. $urlPattern = "/(?:http|https)?(?:\:\/\/)?(?:www.)?(([A-Za-z0-9-]+\.)*[A-Za-z0-9-]+\.[A-Za-z]+)(?:\/.*)?/im";
  30. ?>
  31. <p>{!!preg_replace($urlPattern, "<a target=\"_blank\" href=\"$0\">$0</a>", $post->text)!!}</p>
  32. @if($post->image)
  33. <img src="{{asset($post->image->url)}}" style="width:100%;" class="img-responsive"><br>
  34. @endif
  35. </div>
  36. <br>
  37. @if($post->scrape)
  38. @include('sections.scrape')
  39. @endif
  40. @if(!$post->isOwner)
  41. <div style="padding:1.5rem;">
  42. @if(!$post->isQueued)
  43. <a class="btn btn-default my-btn queue-button" data-post-id="{{$post->id}}" href="#" style="">For Later</a>
  44. @endif
  45. @if(!$post->isSaved)
  46. <a class="btn btn-default my-btn save-button" data-toggle="modal" data-target="#myModal" data-post-id="{{$post->id}}" href="#" style="">Save</a>
  47. @endif
  48. </div>
  49. @endif
  50. @include('sections.like_comment_button_section')
  51. @include('sections.comment')
  52. </article>
  53. <!-- End Card Content -->
  54. </div>
  55. </div>
  56. </div>
  57. <div class="col-md-4">
  58. <div class="row">
  59. <div class="col-md-12">
  60. <div class="right">
  61. @include('includes.rightSideBar')
  62. </div>
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. <!-- Modal -->
  68. @include('sections.modals')
  69. @stop
  70. @section('script')
  71. <script type="text/javascript">
  72. $(document).ready(function(){
  73. var baseURL = "{{asset("/")}}";
  74. var saveButtonReference = null;
  75. $('#photo-file-btn').click(function(){
  76. $('#photo').trigger('click');
  77. console.log('CLick');
  78. return false;
  79. });
  80. $('#photo').change(function(){
  81. var fileName = $(this).val();
  82. $('.image-preview').html('File Selected');
  83. });
  84. $('#post-btn').click(function(){
  85. $('#post-form').trigger('submit');
  86. return false;
  87. });
  88. $('.save-button').click(function(){
  89. var postId = $(this).data('post-id');
  90. $('.save-changes-btn').data('post-id', postId);
  91. saveButtonReference = $(this);
  92. });
  93. $('.save-changes-btn').click(function(){
  94. var postId = $(this).data('post-id');
  95. var categories = new Array();//$("input[name='category_id[]']:checked").serializeArray();
  96. // console.log(postId);
  97. // console.log($('.category-input').val());
  98. $("input[name='category_id[]']:checked").each(function(i) {
  99. categories.push($(this).val());
  100. });
  101. if(categories.length > 3){
  102. var message = "You can select at most 3 Categories";
  103. var success = '<div class="alert alert-danger alert-dismissable fade in"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'+message+'</div>'
  104. $('#error').html(success);
  105. return;
  106. }
  107. var requestUrl = baseURL+"savedpost/store";
  108. // categories = JSON.stringify(categories);
  109. // console.log(categories);
  110. // return;
  111. // return;
  112. // Ajax Call
  113. $.ajax({
  114. url: requestUrl,
  115. data :{
  116. post_id : postId,
  117. category_id : categories
  118. },
  119. method : 'POST',
  120. dataType : 'json',
  121. success: function(response){
  122. // var message = response.data.message;
  123. // var success = '<div class="alert alert-success alert-dismissable fade in"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'+message+'</div>'
  124. // this.span.html('');
  125. // console.log(response);
  126. // return;
  127. saveButtonReference.hide(500);
  128. $('#myModal').modal('toggle');
  129. $("input[name='category_id[]']").attr('checked', false);
  130. $('#error').html('');
  131. },
  132. error: function(errorResponse){
  133. // var message = "";
  134. var messages = jQuery.parseJSON(errorResponse.responseText);
  135. console.log(messages);
  136. // if(messages.error.http_status == 400){
  137. // $.each(messages.error.message, function(i, item) {
  138. // message += item+"<br>";
  139. // })
  140. // }
  141. // else
  142. // {
  143. // message = messages.error.message;
  144. // }
  145. // var error = '<div class="alert alert-danger alert-dismissable fade in"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'+message+'</div>';
  146. // this.span.html('');
  147. // this.span.append(error);
  148. }
  149. });
  150. // Ajax Call End
  151. return false;
  152. });
  153. $('.queue-button').click(function(){
  154. var postId = $(this).data('post-id');
  155. var requestUrl = baseURL+"queue/store/"+postId;
  156. // Ajax Call
  157. $.ajax({
  158. url: requestUrl,
  159. data :{
  160. },
  161. method : 'POST',
  162. dataType : 'json',
  163. queueButton : $(this),
  164. success: function(response){
  165. // var message = response.data.message;
  166. // var success = '<div class="alert alert-success alert-dismissable fade in"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'+message+'</div>'
  167. // this.span.html('');
  168. console.log('success');
  169. this.queueButton.hide(500);
  170. },
  171. error: function(errorResponse){
  172. // var message = "";
  173. // var messages = jQuery.parseJSON(errorResponse.responseText);
  174. // console.log(messages);
  175. // if(messages.error.http_status == 400){
  176. // $.each(messages.error.message, function(i, item) {
  177. // message += item+"<br>";
  178. // })
  179. // }
  180. // else
  181. // {
  182. // message = messages.error.message;
  183. // }
  184. // var error = '<div class="alert alert-danger alert-dismissable fade in"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'+message+'</div>';
  185. // this.span.html('');
  186. // this.span.append(error);
  187. }
  188. });
  189. // Ajax Call End
  190. return false;
  191. });
  192. });
  193. </script>
  194. @stop