|
1 | 1 | <?php
|
2 |
| -ob_start(); |
3 |
| -session_set_cookie_params(2592000); |
4 |
| -session_start(); |
| 2 | + ob_start(); |
| 3 | + session_set_cookie_params(2592000); |
| 4 | + session_start(); |
| 5 | + |
| 6 | + // ... |
5 | 7 | ?>
|
| 8 | + |
6 | 9 | <!DOCTYPE html>
|
7 | 10 | <html lang="en">
|
8 | 11 | <head>
|
|
11 | 14 | <meta name="keywords" content="Anime, unica, creative, html">
|
12 | 15 | <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
13 | 16 | <meta http-equiv="X-UA-Compatible" content="ie=edge">
|
14 |
| - <title><?php echo $pagename." | ".$sitename; ?></title> |
| 17 | + <title>CloudFlix | Home</title> |
15 | 18 |
|
16 | 19 | <!-- Google Font -->
|
17 | 20 | <link href="https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
|
126 | 129 | echo ' </div>
|
127 | 130 | </div>';
|
128 | 131 | ?>
|
129 |
| - <?php |
130 |
| - if (isset($_SESSION['user_id'])) { |
131 |
| - // User is logged in, display avatar and link to user page |
132 |
| - $user_id = $_SESSION['user_id']; |
133 |
| - $users_json = file_get_contents('./db/users.json'); |
134 |
| - $users = json_decode($users_json, true); |
135 |
| - $avatar = $users[$user_id]['avatar']; |
136 |
| - $age = $users[$user_id]['age']; |
137 |
| - $gender = $users[$user_id]['gender']; |
138 |
| - // Rest of the code to recommend animes based on age and gender |
139 |
| - } |
140 |
| - ?> |
141 |
| - <?php |
142 |
| -// Leer el archivo JSON |
143 |
| -$json = file_get_contents('./db/detailsDB.json'); |
144 |
| - |
145 |
| -// Decodificar el archivo JSON en un array de PHP |
146 |
| -$data = json_decode($json, true); |
147 |
| - |
148 |
| -// Obtener los valores de $age y $gender (suponiendo que los obtienes de alguna manera) |
149 |
| -$age = $_GET['age']; |
150 |
| -$gender = $_GET['gender']; |
151 | 132 |
|
152 |
| -// Función de comparación para ordenar los animes por coincidencia |
153 |
| -function compareAnimes($a, $b) { |
154 |
| - return $b['coincidence'] - $a['coincidence']; |
155 |
| -} |
156 | 133 |
|
157 |
| -// Calcular la coincidencia de cada anime con los valores de $age y $gender |
158 |
| -foreach ($data as &$anime) { |
159 |
| - $coincidence = 0; |
160 |
| - if ($anime['obAge'] == $age) { |
161 |
| - $coincidence += 2; |
162 |
| - } |
163 |
| - if ($anime['obGender'] == $gender) { |
164 |
| - $coincidence += 1; |
| 134 | +<?php |
| 135 | +session_start(); |
| 136 | +if (isset($_SESSION['user_id'])) { |
| 137 | + // El usuario ha iniciado sesión, mostrar avatar y enlace a la página del usuario |
| 138 | + $user_id = $_SESSION['user_id']; |
| 139 | + $users_json = file_get_contents('db/users.json'); |
| 140 | + $users = json_decode($users_json, true); |
| 141 | + $avatar = $users[$user_id]['avatar']; |
| 142 | + $age = $users[$user_id]['age']; |
| 143 | + $gender = $users[$user_id]['gender']; |
| 144 | + // Leer el archivo JSON de detalles de animes |
| 145 | + $json = file_get_contents('db/detailsDB.json'); |
| 146 | + $data = json_decode($json, true); |
| 147 | + // Calcular la coincidencia de cada anime con los valores de $age y $gender |
| 148 | + foreach ($data as $key => $value) { |
| 149 | + $coincidence = 0; |
| 150 | + $age_diff = abs($value['obAge'] - $age); |
| 151 | + if ($age_diff <= 2) { |
| 152 | + $coincidence += 2; |
| 153 | + } else if ($age_diff <= 5) { |
| 154 | + $coincidence += 1; |
| 155 | + } |
| 156 | + $gender_diff = 0; |
| 157 | + if ($value['obGender'] == "Female") { |
| 158 | + $gender_diff = 1; |
| 159 | + } |
| 160 | + if ($gender_diff == 0) { |
| 161 | + $coincidence += 1; |
| 162 | + } else if ($gender_diff == 1) { |
| 163 | + $coincidence += 0.5; |
| 164 | + } |
| 165 | + $data[$key]['coincidence'] = $coincidence; |
165 | 166 | }
|
166 |
| - $anime['coincidence'] = $coincidence; |
167 |
| -} |
168 |
| - |
169 |
| -// Ordenar los animes por coincidencia |
170 |
| -usort($data, 'compareAnimes'); |
171 |
| - |
172 |
| -// Mostrar los 5 animes con mayor coincidencia en la estructura HTML dada |
173 |
| -echo '<div class="trending__product"> |
| 167 | + // Ordenar los animes por coincidencia |
| 168 | + usort($data, function($a, $b) { |
| 169 | + return $b['coincidence'] - $a['coincidence']; |
| 170 | + }); |
| 171 | + // Mostrar los 5 animes con mayor coincidencia en la estructura HTML dada |
| 172 | + echo '<div class="trending__product"> |
174 | 173 | <div class="row">
|
175 | 174 | <div class="col-lg-8 col-md-8 col-sm-8">
|
176 | 175 | <div class="section-title">
|
177 |
| - <h4>For You</h4> |
| 176 | + <h4>Para ti</h4> |
178 | 177 | </div>
|
179 | 178 | </div>
|
180 | 179 | <div class="col-lg-4 col-md-4 col-sm-4">
|
181 | 180 | <div class="btn__all">
|
182 |
| - <a href="#" class="primary-btn">View All <span class="arrow_right"></span></a> |
183 |
| - </div> |
| 181 | + <a href="#" class="primary-btn">Ver todos <span class="arrow_right"></span></a></div> |
184 | 182 | </div>
|
185 | 183 | </div>
|
186 | 184 | <div class="row">';
|
187 |
| -$count = 0; |
188 |
| -foreach ($data as $anime) { |
189 |
| - if ($anime['coincidence'] > 0) { |
190 |
| - echo '<div class="col-lg-4 col-md-6 col-sm-6"> |
| 185 | + $count = 0; |
| 186 | + foreach ($data as $key => $value) { |
| 187 | + if ($value['coincidence'] > 0) { |
| 188 | + echo '<div class="col-lg-4 col-md-6 col-sm-6"> |
191 | 189 | <div class="product__item">
|
192 |
| - <div class="product__item__pic set-bg" data-setbg="' . $anime['image'] . '"> |
193 |
| - <div class="ep">' . $anime['episodes'] . '</div> |
| 190 | + <div class="product__item__pic set-bg" data-setbg="' . $value['Cover Link'] . '"> |
| 191 | + <div class="ep">' . $value['Temporadas'][0]['Episodes'] . '</div> |
194 | 192 | <div class="comment"><i class="fa fa-comments"></i> 11</div>
|
195 | 193 | <div class="view"><i class="fa fa-eye"></i> 9141</div>
|
196 | 194 | </div>
|
197 | 195 | <div class="product__item__text">
|
198 | 196 | <ul>
|
199 |
| - <li>Active</li> |
200 |
| - <li>' . $anime['category'] . '</li> |
| 197 | + <li>Activo</li> |
| 198 | + <li>' . $value['Genre'] . '</li> |
201 | 199 | </ul>
|
202 |
| - <h5><a href="' . $anime['link'] . '">Ver ' . $anime['title'] . '</a></h5> |
| 200 | + <h5><a href="' . $value['TrailerLink'] . '">Ver ' . $value['title'] . '</a></h5> |
203 | 201 | </div>
|
204 | 202 | </div>
|
205 | 203 | </div>';
|
206 |
| - $count++; |
207 |
| - if ($count >= 5) { |
208 |
| - break; |
| 204 | + $count++; |
| 205 | + if ($count >= 5) { |
| 206 | + break; |
| 207 | + } |
209 | 208 | }
|
210 | 209 | }
|
| 210 | + echo '</div></div>'; |
211 | 211 | }
|
212 |
| -echo '</div></div>'; |
213 |
| - ?> |
214 |
| - <!-- trending Area end --> |
215 |
| - |
216 |
| - <div class="product__sidebar__comment"> |
217 |
| - <div class="section-title"> |
218 |
| - <h5>New Blogs</h5> |
219 |
| - </div> |
220 |
| - <?php |
221 |
| - // Lee el archivo JSON de blogs |
222 |
| - $json = file_get_contents('db/blogs.json'); |
223 |
| - $data = json_decode($json, true); |
224 |
| - |
225 |
| - // Obtén los últimos 4 blogs |
226 |
| - $lastFourBlogs = array_slice($data['blogs'], -4); |
| 212 | +?> |
| 213 | + <!-- trending Area end --> |
| 214 | + <div class="product__sidebar__comment"> |
| 215 | + <div class="section-title"> |
| 216 | + <h5>New Blogs</h5> |
| 217 | + </div> |
| 218 | + <?php |
| 219 | + // Lee el archivo JSON de blogs |
| 220 | + $json = file_get_contents('db/blogs.json'); |
| 221 | + $data = json_decode($json, true); |
| 222 | + // Obtener los ultimos 4 blogs |
| 223 | + $lastFourBlogs = array_slice($data['blogs'], -4); |
227 | 224 |
|
228 |
| - // Muestra los blogs en el formato proporcionado |
229 |
| - foreach ($lastFourBlogs as $blog) { |
230 |
| - echo '<div class="product__sidebar__comment__item">'; |
231 |
| - echo '<div class="product__sidebar__comment__item__pic">'; |
232 |
| - echo '<img class="col-md-12 col-sm-12 col-lg-12" src="' . $blog['banner'] . '" alt="">'; |
233 |
| - echo '</div>'; |
234 |
| - echo '<div class="product__sidebar__comment__item__text">'; |
235 |
| - echo '<ul>'; |
236 |
| - echo '<li>' . $blog['anime'] . '</li>'; |
237 |
| - foreach ($blog['tags'] as $tag) { |
238 |
| - echo '<li>' . $tag . '</li>'; |
| 225 | + // Muestra los blogs en el formato proporcionado |
| 226 | + foreach ($lastFourBlogs as $blog) { |
| 227 | + echo '<div class="product__sidebar__comment__item">'; |
| 228 | + echo '<div class="product__sidebar__comment__item__pic">'; |
| 229 | + echo '<img class="col-md-12 col-sm-12 col-lg-12" src="' . $blog['banner'] . '" alt="">'; |
| 230 | + echo '</div>'; |
| 231 | + echo '<div class="product__sidebar__comment__item__text">'; |
| 232 | + echo '<ul>'; |
| 233 | + echo '<li>' . $blog['anime'] . '</li>'; |
| 234 | + foreach ($blog['tags'] as $tag) { |
| 235 | + echo '<li>' . $tag . '</li>'; |
| 236 | + } |
| 237 | + echo '</ul>'; |
| 238 | + echo '<h5><a href="blog/index.php?id=' . $blog['blog-id'] . '">' . $blog['title'] . '</a></h5>'; |
| 239 | + echo '<span><i class="fa fa-clock-o"></i> ' . $blog['time'] . '</span>'; |
| 240 | + echo '</div>'; |
| 241 | + echo '</div>'; |
239 | 242 | }
|
240 |
| - echo '</ul>'; |
241 |
| - echo '<h5><a href="blog/index.php?id=' . $blog['blog-id'] . '">' . $blog['title'] . '</a></h5>'; |
242 |
| - echo '<span><i class="fa fa-clock-o"></i> ' . $blog['time'] . '</span>'; |
243 |
| - echo '</div>'; |
244 |
| - echo '</div>'; |
245 |
| - } |
246 |
| - ?> |
| 243 | + ?> |
| 244 | + </div> |
247 | 245 | </div>
|
248 | 246 | </div>
|
249 | 247 | </div>
|
250 |
| - </div> |
251 |
| - </div> |
252 |
| -</section> |
253 |
| -<!-- Product Section End --> |
| 248 | + </section> |
| 249 | + <!-- Product Section End --> |
254 | 250 |
|
255 |
| -<!-- Footer Section Begin --> |
256 |
| -<footer class="footer"> |
257 |
| - <div class="page-up"> |
258 |
| - <a href="#" id="scrollToTopButton"><span class="arrow_carrot-up"></span></a> |
259 |
| - </div> |
260 |
| - <div class="container"> |
261 |
| - <div class="row"> |
262 |
| - <div class="col-lg-3"> |
263 |
| - <div class="footer__logo"> |
264 |
| - <a href="./index.html"><img src="img/logo.png" alt=""></a> |
| 251 | + <!-- Footer Section Begin --> |
| 252 | + <footer class="footer"> |
| 253 | + <div class="page-up"> |
| 254 | + <a href="#" id="scrollToTopButton"><span class="arrow_carrot-up"></span></a> |
| 255 | + </div> |
| 256 | + <div class="container"> |
| 257 | + <div class="row"> |
| 258 | + <div class="col-lg-3"> |
| 259 | + <div class="footer__logo"> |
| 260 | + <a href="./index.html"><img src="img/logo.png" alt=""></a> |
| 261 | + </div> |
265 | 262 | </div>
|
266 |
| - </div> |
267 |
| - <div class="col-lg-6"> |
268 |
| - <div class="footer__nav"> |
269 |
| - <ul> |
270 |
| - <li class="active"><a href="./index.html">Homepage</a></li> |
271 |
| - <li><a href="./categories.html">Categories</a></li> |
272 |
| - <li><a href="./blog.html">Our Blog</a></li> |
273 |
| - <li><a href="#">Contacts</a></li> |
274 |
| - </ul> |
| 263 | + <div class="col-lg-6"> |
| 264 | + <div class="footer__nav"> |
| 265 | + <ul> |
| 266 | + <li class="active"><a href="./index.html">Homepage</a></li> |
| 267 | + <li><a href="./categories.html">Categories</a></li> |
| 268 | + <li><a href="./blog.html">Our Blog</a></li> |
| 269 | + <li><a href="#">Contacts</a></li> |
| 270 | + </ul> |
| 271 | + </div> |
275 | 272 | </div>
|
276 |
| - </div> |
277 |
| - <div class="col-lg-3"> |
278 |
| - <p> |
279 |
| - <!-- Link back to Colorlib can't be removed. Template is licensed under CC BY 3.0. --> |
280 |
| - Copyright ©<script> |
281 |
| - document.write(new Date().getFullYear()); |
282 |
| - </script> |
283 |
| - All rights reserved | This template is made with <i class="fa fa-heart" aria-hidden="true"></i> by <a href="https://colorlib.com" target="_blank">Colorlib</a> |
284 |
| - <!-- Link back to Colorlib can't be removed. Template is licensed under CC BY 3.0. --> |
285 |
| - </p> |
| 273 | + <div class="col-lg-3"> |
| 274 | + <p> |
| 275 | + <!-- Link back to Colorlib can't be removed. Template is licensed under CC BY 3.0. --> |
| 276 | + Copyright ©<script> |
| 277 | + document.write(new Date().getFullYear()); |
| 278 | + </script> |
| 279 | + All rights reserved | This template is made with <i class="fa fa-heart" aria-hidden="true"></i> by <a href="https://colorlib.com" target="_blank">Colorlib</a> |
| 280 | + <!-- Link back to Colorlib can't be removed. Template is licensed under CC BY 3.0. --> |
| 281 | + </p> |
286 | 282 |
|
| 283 | + </div> |
287 | 284 | </div>
|
288 | 285 | </div>
|
289 |
| - </div> |
290 |
| -</footer> |
291 |
| -<!-- Footer Section End --> |
| 286 | + </footer> |
| 287 | + <!-- Footer Section End --> |
292 | 288 |
|
293 |
| -<!-- Search model Begin --> |
294 |
| -<div class="search-model"> |
295 |
| - <div class="h-100 d-flex align-items-center justify-content-center"> |
296 |
| - <div class="search-close-switch"> |
297 |
| - <i class="icon_close"></i> |
| 289 | + <!-- Search model Begin --> |
| 290 | + <div class="search-model"> |
| 291 | + <div class="h-100 d-flex align-items-center justify-content-center"> |
| 292 | + <div class="search-close-switch"> |
| 293 | + <i class="icon_close"></i> |
| 294 | + </div> |
| 295 | + <form class="search-model-form"> |
| 296 | + <input type="text" id="search-input" placeholder="Search here....."> |
| 297 | + </form> |
298 | 298 | </div>
|
299 |
| - <form class="search-model-form"> |
300 |
| - <input type="text" id="search-input" placeholder="Search here....."> |
301 |
| - </form> |
302 | 299 | </div>
|
303 |
| -</div> |
304 |
| -<!-- Search model end --> |
| 300 | + <!-- Search model end --> |
305 | 301 |
|
306 |
| -<!-- Js Plugins --> |
307 |
| -<script src="assets/js/jquery-3.3.1.min.js"></script> |
308 |
| -<script src="assets/js/bootstrap.min.js"></script> |
309 |
| -<script src="assets/js/player.js"></script> |
310 |
| -<script src="assets/js/jquery.nice-select.min.js"></script> |
311 |
| -<script src="assets/js/mixitup.min.js"></script> |
312 |
| -<script src="assets/js/jquery.slicknav.js"></script> |
313 |
| -<script src="assets/js/owl.carousel.min.js"></script> |
314 |
| -<script src="assets/js/main.js"></script> |
| 302 | + <!-- Js Plugins --> |
| 303 | + <script src="assets/js/jquery-3.3.1.min.js"></script> |
| 304 | + <script src="assets/js/bootstrap.min.js"></script> |
| 305 | + <script src="assets/js/player.js"></script> |
| 306 | + <script src="assets/js/jquery.nice-select.min.js"></script> |
| 307 | + <script src="assets/js/mixitup.min.js"></script> |
| 308 | + <script src="assets/js/jquery.slicknav.js"></script> |
| 309 | + <script src="assets/js/owl.carousel.min.js"></script> |
| 310 | + <script src="assets/js/main.js"></script> |
315 | 311 |
|
316 | 312 |
|
317 | 313 | </body>
|
|
0 commit comments