ÿØÿà JFIF ÿÛ „ ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /var/www/html/truyentranh/include/functions/ |
<?php function recommendation($limit=50){ global $DB,$func,$memcache; $where = " AND truyen_active_status='Active' AND truyen_sochuong is not NULL "; $key_recommendation = md5(" SELECT truyen_id,truyen_name,truyen_fname,truyen_thumb,truyen_chuong_moinhat_id,truyen_chuong_moinhat_name,truyen_chuong_moinhat_fname,truyen_chuong_moinhat_isnew,truyen_chuong_moinhat_time FROM tb_truyen WHERE 3 ".$where." ORDER BY time_post DESC LIMIT 0,$limit "); $cache_recommendation = $memcache->get($key_recommendation); if($cache_recommendation){ $list = $cache_recommendation; }else{ $query = $DB->query(" SELECT truyen_id,truyen_name,truyen_fname,truyen_thumb,truyen_chuong_moinhat_id,truyen_chuong_moinhat_name,truyen_chuong_moinhat_fname,truyen_chuong_moinhat_isnew,truyen_chuong_moinhat_time,truyen_chuong_moinhat_lock FROM tb_truyen WHERE 1 ".$where." ORDER BY time_post DESC LIMIT 0,$limit "); $list = ''; while ($row = $DB->fetch_row($query)){ $txt_new = '<i class="far fa-clock"></i> '.$func->time_site($row['truyen_chuong_moinhat_time']); if(!empty($row['truyen_chuong_moinhat_lock']) and strtotime($row['truyen_chuong_moinhat_lock'])>time()){ $txt_new = '<span class="text-warning"><i class="fas fa-crown"></i></span>'; } $list .= '<div class="item"> <a href="/'.$row['truyen_fname'].'-'.$row['truyen_id'].'/" title="'.$row['truyen_name'].'"> <img class="lazyOwl center" src="'.$row['truyen_thumb'].'" alt="'.$row['truyen_name'].'"> </a> <div class="slide-caption"> <h3> <a href="/'.$row['truyen_fname'].'-'.$row['truyen_id'].'/" title="'.$row['truyen_name'].'">'.$row['truyen_name'].'</a> </h3> <a href="/'.$row['truyen_fname'].'-'.$row['truyen_id'].'/'.$row['truyen_chuong_moinhat_fname'].'-'.$row['truyen_chuong_moinhat_id'].'/" title="'.$row['truyen_name'].'-'.$row['truyen_chuong_moinhat_name'].'">'.$row['truyen_chuong_moinhat_name'].'</a> <span class="time">'.$txt_new.'</span> </div> </div>'; } $memcache->set($key_recommendation, $list, MEMCACHE_COMPRESSED, 600); } return $list; } function related_manga($arr_genres,$truyen_id,$limit=4){ global $DB,$memcache; $where = " AND truyen_active_status='Active' AND truyen_sochuong is not NULL AND truyen_id!='$truyen_id' "; $list = ''; if(!empty($arr_genres)){ $txt_genres = implode(',',$arr_genres); $key_related_manga = md5("SELECT * FROM tb_truyen WHERE 1 ".$where." AND truyen_id IN (SELECT truyen_id FROM tb_menus_pages WHERE menus_id IN (".$txt_genres.") ) ORDER BY rand() LIMIT 0,4"); if(!$memcache->get($key_related_manga)) { $query = $DB->query("SELECT * FROM tb_truyen WHERE 1 " . $where . " AND truyen_id IN (SELECT truyen_id FROM tb_menus_pages WHERE menus_id IN (" . $txt_genres . ") ) ORDER BY rand() LIMIT 0,4"); while ($row = $DB->fetch_row($query)) { $list .= '<div class="col-lg-3 col-md-4 col-sm-4 col-6 video position-relative mb-2"> <div class="card"> <div class="view clearfix"> <span class="pull-left"> <i class="far fa-eye"> </i> ' . shortNumber($row['truyen_hit']) . ' <i class="far fa-comment"></i> ' . shortNumber($row['truyen_hitcomment']) . ' <i class="far fa-heart"></i> ' . shortNumber($row['truyen_theodoi']) . ' </span> </div> <a href="/' . $row['truyen_fname'] . '-' . $row['truyen_id'] . '/"><img src="' . $row['truyen_thumb'] . '" class="jtip card-img-top" alt="' . $row['truyen_name'] . '" data-jtip="#manga-tooltip-' . $row['truyen_id'] . '"></a> <div class="card-body list-left-8-manga"> <p class="card-text title-manga"><a href="/' . $row['truyen_fname'] . '-' . $row['truyen_id'] . '/" class="jtip text-body" data-jtip="#manga-tooltip-' . $row['truyen_id'] . '">' . $row['truyen_name'] . '</a></p> </div> </div> </div>'; } $memcache->set($key_related_manga, $list, MEMCACHE_COMPRESSED, 500); }else{ $list = $memcache->get($key_related_manga); } } return $list; } function check_have_new_chap_in_follow(){ global $DB,$ob_user; if(isset($ob_user->user_id) and intval($ob_user->user_id)>0){ $where = " b.user_id='".intval($ob_user->user_id)."' "; $q_follow = $DB->query(" SELECT a.truyen_id,a.chuong_id,max(a.chuong_pos) as chuong_pos_max,b.chuong_pos as chuong_pos_follow FROM tb_chuong a, tb_follow b WHERE ".$where." AND a.truyen_id = b.truyen_id GROUP BY b.truyen_id HAVING chuong_pos_max>chuong_pos_follow; "); while($r_follow = $DB->fetch_row($q_follow)){ if($r_follow['chuong_pos_max']>$r_follow['chuong_pos_follow']){ return 1; } } } return 0; } function follow_manga($limit=5){ global $DB,$func,$ob_user,$ip,$memcache; $where = " a.follow_ip='".$ip."' "; if(isset($ob_user->user_id) and intval($ob_user->user_id)>0){ $where = " (a.user_id='".intval($ob_user->user_id)."') "; }else{ return ''; exit(); } $key_follow = "SELECT DISTINCT a.truyen_id, a.chuong_id as chuong_follow_id, b.* FROM tb_follow a LEFT JOIN tb_truyen b ON a.truyen_id=b.truyen_id WHERE ".$where." ORDER BY b.time_update DESC LIMIT 1,$limit"; $cache_follow = $memcache->get($key_follow); // Memcached object if($cache_follow){ $list = $cache_follow; }else { $q_follow = $DB->query(" SELECT DISTINCT a.truyen_id, a.chuong_id as chuong_follow_id, b.* FROM tb_follow a LEFT JOIN tb_truyen b ON a.truyen_id=b.truyen_id WHERE " . $where . " ORDER BY b.time_update DESC LIMIT 0,$limit "); $list = ''; while ($r_follow = $DB->fetch_row($q_follow)) { $txt_new = '<i class="far fa-clock"></i> '.$func->time_site($r_follow['truyen_chuong_moinhat_time']); if(!empty($r_follow['truyen_chuong_moinhat_lock']) and strtotime($r_follow['truyen_chuong_moinhat_lock'])>time()){ $txt_new = '<span class="text-warning"><i class="fas fa-crown"></i></span>'; } $list .= '<li class="clearfix"> <div class="t-item comic-item" data-id="17696"> <a class="thumb" title="' . $r_follow['truyen_name'] . '" href="/' . $r_follow['truyen_fname'] . '-' . $r_follow['truyen_id'] . '/' . $r_follow['truyen_chuong_moinhat_fname'] . '-' . $r_follow['truyen_chuong_moinhat_id'] . '/"> <img class="lazy center" src="' . $r_follow['truyen_thumb'] . '" alt="' . $r_follow['truyen_name'] . '"> </a> <h3 class="title"> <a href="/' . $r_follow['truyen_fname'] . '-' . $r_follow['truyen_id'] . '/">' . $r_follow['truyen_name'] . '</a> </h3> <p class="chapter top"> <a data-id="' . $r_follow['truyen_chuong_moinhat_id'] . '" href="/' . $r_follow['truyen_fname'] . '-' . $r_follow['truyen_id'] . '/' . $r_follow['truyen_chuong_moinhat_fname'] . '-' . $r_follow['truyen_chuong_moinhat_id'] . '/" title="' . $r_follow['truyen_chuong_moinhat_name'] . '">' . $r_follow['truyen_chuong_moinhat_name'] . '</a> <span class="view-top-right pull-right">' . $txt_new . '</span> </p> </div> </li>'; } $memcache->set($key_follow, $list, MEMCACHE_COMPRESSED, 30); } return $list; } function history_manga($limit=5){ global $DB,$ob_user,$ip,$memcache; $where = " history_ip='".$ip."' "; if(isset($ob_user->user_id) and intval($ob_user->user_id)>0){ $where = " (user_id='".intval($ob_user->user_id)."' OR history_ip='".$ip."') "; } $key_cache_history_manga = md5(" SELECT * FROM tb_history WHERE ".$where." ORDER BY time_post DESC LIMIT 2,$limit "); $list = ''; if($memcache->get($key_cache_history_manga)){ $list = $memcache->get($key_cache_history_manga); }else { $q_follow = $DB->query(" SELECT * FROM tb_history WHERE ".$where." ORDER BY time_post DESC LIMIT 0,$limit "); while ($row = $DB->fetch_row($q_follow)) { $list .= ' <li class="clearfix" id="li_hitory_manga_' . $row['truyen_id'] . '"> <div class="t-item comic-item" data-id="' . $row['truyen_id'] . '"> <a class="thumb" title="' . $row['truyen_name'] . '" href="/' . $row['truyen_fname'] . '-' . $row['truyen_id'] . '/' . $row['chuong_fname'] . '-' . $row['chuong_id'] . '/"> <img class="lazy center" src="' . $row['truyen_thumb'] . '" alt="' . $row['truyen_name'] . '"> </a> <h3 class="title"> <a href="/' . $row['truyen_fname'] . '-' . $row['truyen_id'] . '/">' . $row['truyen_name'] . '</a> </h3> <p class="chapter top"> <a href="/' . $row['truyen_fname'] . '-' . $row['truyen_id'] . '/' . $row['chuong_fname'] . '-' . $row['chuong_id'] . '/" title="' . $row['chuong_name'] . '">' . $row['chuong_name'] . '</a> <span class="view-top-right pull-right"> <a href="javascript:void(0);" onclick="deleteHistory(' . $row['chuong_id'] . ');"><i class="far fa-trash-alt"></i> Delete</span></a> </p> </div> </li>'; } $memcache->set($key_cache_history_manga,$list,MEMCACHE_COMPRESSED, 60); } return $list; } function top_manga_month($limit=5){ global $DB,$memcache; $key_cache_top_manga_month = md5('top_manga_month_1_'.$limit); $list_top_manga_month = $memcache->get($key_cache_top_manga_month); if($list_top_manga_month){ $list = $list_top_manga_month; }else{ $q_hitthang = $DB->query(" SELECT * FROM tb_truyen WHERE truyen_active_status='Active' AND truyen_sochuong>0 ORDER BY truyen_hitthang DESC LIMIT 0,$limit "); $i = 1; $list = ''; while($r_hitthang = $DB->fetch_row($q_hitthang)){ $txt_new = ''; if(!empty($r_hitthang['truyen_chuong_moinhat_lock']) and strtotime($r_hitthang['truyen_chuong_moinhat_lock'])>time()){ $txt_new = '<span class="text-warning"><i class="fas fa-crown"></i></span>'; } $list .= '<li class="list-group-item list-group-item-action d-flex justify-content-between align-items-center" id="manga_topmonth_'.$r_hitthang['truyen_id'].'"> <div class="flex-column title-right-top-manga"> <a href="/'.$r_hitthang['truyen_fname'].'-'.$r_hitthang['truyen_id'].'/" title="'.$r_hitthang['truyen_name'].'" class="manga-text-right top-title-'.$i.'">'.$i.') '.$r_hitthang['truyen_name'].'</a> <p class="chap-box-text-view"><small><a href="/'.$r_hitthang['truyen_fname'].'-'.$r_hitthang['truyen_id'].'/'.$r_hitthang['truyen_chuong_moinhat_fname'].'-'.$r_hitthang['truyen_chuong_moinhat_id'].'/" class="manga-read-more">Read more '.$r_hitthang['truyen_chuong_moinhat_name'].'</a> '.$txt_new.'</small></p> <span class="manga-text-view"><i class="far fa-eye"></i> '.$r_hitthang['truyen_hit'].'</span> </div> <div class="image-parent"> <a href="/'.$r_hitthang['truyen_fname'].'-'.$r_hitthang['truyen_id'].'/" title="'.$r_hitthang['truyen_name'].'"><img src="'.$r_hitthang['truyen_thumb'].'" class="img-fluid" alt="'.$r_hitthang['truyen_name'].'"></a> </div> </li>'; $i++; } $memcache->set($key_cache_top_manga_month, $list, MEMCACHE_COMPRESSED, 600); } return $list; } function top_manga_week($limit=5){ global $DB,$memcache; $key_cache_manga_week = md5('top_manga_week_1_'.$limit); $list_top_manga_week = $memcache->get($key_cache_manga_week); if($list_top_manga_week){ $list = $list_top_manga_week; }else { $q_hitweek = $DB->query(" SELECT * FROM tb_truyen WHERE truyen_active_status='Active' AND truyen_sochuong>0 ORDER BY truyen_hittuan DESC LIMIT 0,$limit "); $i = 1; $list = ''; while ($r_hitthang = $DB->fetch_row($q_hitweek)) { $txt_new = ''; if(!empty($r_hitthang['truyen_chuong_moinhat_lock']) and strtotime($r_hitthang['truyen_chuong_moinhat_lock'])>time()){ $txt_new = '<span class="text-warning"><i class="fas fa-crown"></i></span>'; } $list .= '<li class="list-group-item list-group-item-action d-flex justify-content-between align-items-center" id="manga_topmonth_'.$r_hitthang['truyen_id'].'"> <div class="flex-column title-right-top-manga"> <a href="/'.$r_hitthang['truyen_fname'].'-'.$r_hitthang['truyen_id'].'/" title="'.$r_hitthang['truyen_name'].'" class="manga-text-right top-title-'.$i.'">'.$i.') '.$r_hitthang['truyen_name'].'</a> <p class="chap-box-text-view"><small><a href="/'.$r_hitthang['truyen_fname'].'-'.$r_hitthang['truyen_id'].'/'.$r_hitthang['truyen_chuong_moinhat_fname'].'-'.$r_hitthang['truyen_chuong_moinhat_id'].'/" class="manga-read-more">Read more '.$r_hitthang['truyen_chuong_moinhat_name'].'</a> '.$txt_new.'</small></p> <span class="manga-text-view"><i class="far fa-eye"></i> '.$r_hitthang['truyen_hit'].'</span> </div> <div class="image-parent"> <a href="/'.$r_hitthang['truyen_fname'].'-'.$r_hitthang['truyen_id'].'/" title="'.$r_hitthang['truyen_name'].'"><img src="'.$r_hitthang['truyen_thumb'].'" class="img-fluid" alt="'.$r_hitthang['truyen_name'].'"></a> </div> </li>'; $i++; } $memcache->set($key_cache_manga_week, $list, MEMCACHE_COMPRESSED, 600); } return $list; } function top_manga_date($limit=5){ global $DB,$memcache; $key_cache_manga_date = md5('top_manga_date_1_'.$limit); $list_top_manga_date = $memcache->get($key_cache_manga_date); if($list_top_manga_date){ $list = $list_top_manga_date; }else { $q_hitdate = $DB->query(" SELECT * FROM tb_truyen WHERE truyen_active_status='Active' AND truyen_sochuong>0 ORDER BY truyen_hitngay DESC LIMIT 0,$limit "); $i = 1; $list = ''; while ($r_hitthang = $DB->fetch_row($q_hitdate)) { $txt_new = ''; if(!empty($r_hitthang['truyen_chuong_moinhat_lock']) and strtotime($r_hitthang['truyen_chuong_moinhat_lock'])>time()){ $txt_new = '<span class="text-warning"><i class="fas fa-crown"></i></span>'; } $list .= '<li class="list-group-item list-group-item-action d-flex justify-content-between align-items-center" id="manga_topmonth_'.$r_hitthang['truyen_id'].'"> <div class="flex-column title-right-top-manga"> <a href="/'.$r_hitthang['truyen_fname'].'-'.$r_hitthang['truyen_id'].'/" title="'.$r_hitthang['truyen_name'].'" class="manga-text-right top-title-'.$i.'">'.$i.') '.$r_hitthang['truyen_name'].'</a> <p class="chap-box-text-view"><small><a href="/'.$r_hitthang['truyen_fname'].'-'.$r_hitthang['truyen_id'].'/'.$r_hitthang['truyen_chuong_moinhat_fname'].'-'.$r_hitthang['truyen_chuong_moinhat_id'].'/" class="manga-read-more">Read more '.$r_hitthang['truyen_chuong_moinhat_name'].'</a> '.$txt_new.'</small></p> <span class="manga-text-view"><i class="far fa-eye"></i> '.$r_hitthang['truyen_hit'].'</span> </div> <div class="image-parent"> <a href="/'.$r_hitthang['truyen_fname'].'-'.$r_hitthang['truyen_id'].'/" title="'.$r_hitthang['truyen_name'].'"><img src="'.$r_hitthang['truyen_thumb'].'" class="img-fluid" alt="'.$r_hitthang['truyen_name'].'"></a> </div> </li>'; $i++; } $memcache->set($key_cache_manga_date, $list, MEMCACHE_COMPRESSED, 600); } return $list; } ?>