b0VIM 8.1      Zj _  root                                    476e8564ef4b                            /opt/uoj/web/app/controllers/subdomain/blog/archive.php                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      utf-8U3210    #"! U                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 tp           -                            =       .                     ;       j                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ad  Z	  *
     -                   O  &                              ~  ]  6  #            p  m  H  G  5        )  
  z
  i
  Y
  *
  	  	  	  	  j	  X	  /	  	  	  
	  	        G  5        J  8  '        y  g  9        P  9  '            ~  X              j  P              x  :            				let summary = extractSummary(divorig.innerHTML);  				const divsummary = post.querySelector('.blog-content-summary'); 				const divorig = post.querySelector('.blog-content-orig'); 				const content = post.querySelector('.blog-content'); 			function collapseArticle(post) {  			} 				return text; 				text = text.replace(/\s+/g, ' ').trim(); 				let text = div.textContent || div.innerText || ''; 				div.innerHTML = html; 				const div = document.createElement('div'); 			function extractSummary(html) {  				hasMore = false; 			if (blogList.querySelectorAll('.blog-item').length < 10)  			const tag = (new URLSearchParams(window.location.search)).get('tag'); 			const itemSelector = '.blog-item'; 			const blogList = document.querySelector('.blog-list'); 			let currentPage = 1, isLoading = false, hasMore = true; 		(function () { 	<script> 	</div> 		<?php endif ?> 			<?php endif ?> 			<?php endforeach ?> 				<?php echoBlog($blog, array('is_preview' => true)) ?> 			<?php foreach ($blogs_pag->get() as $blog): ?> 			</div> 				共找到 <?= $blogs_pag->n_rows ?> 篇包含 “<?= HTML::escape($blog_tag_required) ?>” 标签的博客： 			<div class="alert alert-success" style=""> 			<?php else: ?> 			</div> 				没有找到包含 “<?= HTML::escape($blog_tag_required) ?>” 标签的博客： 			<div class="alert alert-danger"> 			<?php if ($blogs_pag->isEmpty()): ?> 		<?php else: ?> 			<?php endif ?> <div class="text-right text-muted" style="display: none;">共 <?= $blogs_pag->n_rows ?> 篇博客</div> 			<?php endforeach ?> 				<?php echoBlog($blog, array('is_preview' => true)) ?> 			<?php foreach ($blogs_pag->get() as $blog): ?> 			<?php else: ?> 			<div class="text-muted">此人很懒，什么博客也没留下。</div> 			<?php if ($blogs_pag->isEmpty()): ?> 		<?php if (!$blog_tag_required): ?> 	<div class="col-md-9 blog-list"> 	</div> 		</div> 			</div> 			<?php endif ?> 				<div class="text-muted">暂无</div> 			<?php else: ?> 			<?php endforeach ?> 				<?php echoBlogTag($tag['tag']) ?> 			<?php foreach ($all_tags as $tag): ?> 			<?php if ($all_tags): ?> 			<div class="card-body">		<div class="card border-info top-b		<div class="card border-info top-buffer-sm"> 		<div class="" 		<?php endif ?> 		</div> 			<a href="<?=HTML::blog_url(UOJContext::userid(), '/slide/new/write')?>" class="btn btn-primary"><span class="glyphicon glyphicon-edit"></span> 写新幻灯片</a> 			<a href="<?=HTML::blog_url(UOJContext::userid(), '/post/new/write')?>" class="btn btn-primary"><span class="glyphicon glyphicon-edit"></span> 写新博客</a> 		<div class="btn-group d-flex"> 		<?php if (UOJContext::hasBlogPermission()): ?> 	<div class="col-md-3"> <div class="row">  <?php echoUOJPageHeader('日志') ?> ?> 	requireLib('hljs'); 	requireLib('mathjax'); 	 	$all_tags = DB::selectAll("select distinct tag from blogs_tags where blog_id in (select id from blogs where $blogs_cond)"); 	 	)); 		'page_len' => 10 		'tail' => 'order by post_time desc', 		'cond' => $display_blogs_cond, 		'table_name' => 'blogs', 		'col_names' => array('*'), 	$blogs_pag = new Paginator(array( 	 	} 		$blog_tag_required = null; 	} else { 		$display_blogs_cond .= " and '".DB::escape($blog_tag_required)."' in (select tag from blogs_tags where blogs_tags.blog_id = blogs.id)"; 		$blog_tag_required = $_GET['tag']; 	if (isset($_GET['tag'])) { 	 	$display_blogs_cond = $blogs_cond; 	 	} 		$blogs_cond .= " and is_hidden = false"; 	if (!UOJContext::hasBlogPermission()) { 		$blogs_cond = "poster = '".UOJContext::userid()."' and is_draft = false"; 	else 		$blogs_cond = "is_draft = false"; 	if (!UOJContext::userid())  	requirePHPLib('form'); <?php ad    	     ;               g  f  >            u  I  #                o  n  '          s  <              k  j  8    
  
  
  
  
  
  
  a
  '
  	  	  o	  Q	  J	  B	  7	  0	  	  	                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             <?php echoUOJPageFooter() ?> </div> 	</script> 		})(); 			}); 					loadPage(++currentPage); 				if (scrollTop + windowHeight >= docHeight - 200 && !isLoading && hasMore) 				const docHeight = document.documentElement.scrollHeight; 				const windowHeight = window.innerHeight; 				const scrollTop = document.documentElement.scrollTop; 			window.addEventListener('scroll', () => { 			} 				} 					isLoading = false;		 				} finally { 					console.log('加载失败', err); 				} catch (err) { 					$('body').uoj_highlight(); 					hljs.highlightAll(); 					MathJax.Hub.Queue(["Typeset", MathJax.Hub]);  						hasMore = false; 					if (items.length < 10) 					items.forEach(item => { blogList.appendChild(item); collapseArticle(item); }); 					} 						return; 						hasMore = false; 					if (items.length == 0) { 					const items = doc.querySelectorAll(itemSelector); 					const doc = parser.parseFromString(html, 'text/html'); 					const parser = new DOMParser(); 					const html = await resp.text(); 					const resp = await fetch(url); 				try { 				const url = !tag ? `/?page=${page}` : `/?page=${page}&tag=${tag}`;  				isLoading = true; 				if (isLoading || !hasMore) return; 			async function loadPage(page) {  			document.querySelectorAll('.blog-item').forEach(collapseArticle);  			} 				}); 					content.classList.add('expand'); 					content.classList.remove('collapsed'); 					divorig.style.display = 'block'; 					divsummary.style.display = 'none'; 				content.addEventListener('click', () => {  				content.classList.add('collapsed'); 				divorig.style.display = 'none'; 				divsummary.style.display = 'block';  				divsummary.innerHTML = summary; 				summary = summary.slice(0, maxLen) + '……'; 				if (summary.length < maxLen) return;  				const maxLen = 150; ad  x       =             o  I  2                   [          z             K  A  /        R      
  
  
  
  
  
  F
   
  	  	  	  	  	  a	  2	  	            y  @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      				let summary = extractSummary(divorig.innerHTML);  				const divsummary = post.querySelector('.blog-content-summary'); 				const divorig = post.querySelector('.blog-content-orig'); 				const content = post.querySelector('.blog-content'); 			function collapseArticle(post) {  			} 				return text; 				text = text.replace(/\s+/g, ' ').trim(); 				let text = div.textContent || div.innerText || ''; 				div.innerHTML = html; 				const div = document.createElement('div'); 			function extractSummary(html) {  				hasMore = false; 			if (blogList.querySelectorAll('.blog-item').length < 10)  			const tag = (new URLSearchParams(window.location.search)).get('tag'); 			const itemSelector = '.blog-item'; 			const blogList = document.querySelector('.blog-list'); 			let currentPage = 1, isLoading = false, hasMore = true; 		(function () { 	<script> 	</div> 		<?php endif ?> 			<?php endif ?> 			<?php endforeach ?> 				<?php echoBlog($blog, array('is_preview' => true)) ?> 			<?php foreach ($blogs_pag->get() as $blog): ?> 			</div> 				共找到 <?= $blogs_pag->n_rows ?> 篇包含 “<?= HTML::escape($blog_tag_required) ?>” 标签的博客： 			<div class="alert alert-success" style=""> 			<?php else: ?> 			</div> 				没有找到包含 “<?= HTML::escape($blog_tag_required) ?>” 标签的博客： 			<div class="alert alert-danger"> 			<?php if ($blogs_pag->isEmpty()): ?> 		<?php else: ?> 			<?php endif ?> <div class="text-right text-muted" style="display: none;">共 <?= $blogs_pag->n_rows ?> 篇博客</div> 			<?php endforeach ?> 				<?php echoBlog($blog, array('is_preview' => true)) ?> 			<?php foreach ($blogs_pag->get() as $blog): ?> 			<?php else: ?> 			<div class="text-muted">此人很懒，什么博客也没留下。</div> 			<?php if ($blogs_pag->isEmpty()): ?> 		<?php if (!$blog_tag_required): ?> 	<div class="col-md-9 blog-list"> 	</div> 		</div> 			</div> 			<?php endif ?> 				<div class="text-muted">暂无</div> 			<?php else: ?> 			<?php endforeach ?> 				<?php echoBlogTag($tag['tag']) ?> 			<?php foreach ($all_tags as $tag): ?> 			<?php if ($all_tags): ?> 			<div class="card-body"> 			<div class="card-header bg-info">标签</div> 