Add search function to member scrap list

This commit is contained in:
Kijin Sung 2019-09-23 17:06:01 +09:00
parent 1ac14a6964
commit 3c9e99967d
5 changed files with 69 additions and 9 deletions

View file

@ -9,10 +9,21 @@
</a>
</li>
</ul>
<form class="search" action="{Context::getRequestUri()}" method="get" no-error-return-url="true">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="act" value="{$act}" />
<select name="search_target" title="{$lang->search_target}">
<option value="title" selected="selected"|cond="$search_target == 'title'">{$lang->title}</option>
<option value="title_content" selected="selected"|cond="$search_target == 'title_content'">{$lang->title_content}</option>
<option value="content" selected="selected"|cond="$search_target == 'content'">{$lang->content}</option>
</select>
<input type="search" name="search_keyword" value="{escape($search_keyword, false)}">
<button type="submit">{$lang->cmd_search}</button>
</form>
<div class="pn">
<a cond="$page != 1" href="{getUrl('page',$page-1,'module_srl','','document_srl','')}" class="prev">{$lang->cmd_prev}</a>
<strong>{$page} / {$page_navigation->last_page}</strong>
<a cond="$page != $page_navigation->last_page" href="{getUrl('page',$page+1,'module_srl','','document_srl','')}" class="next">{$lang->cmd_next}</a>
</div>
</div>
<include target="./common_footer.html" />
<include target="./common_footer.html" />

View file

@ -23,6 +23,17 @@
</div>
</section>
<div class="pagination pagination-centered">
<form class="search" action="{Context::getRequestUri()}" method="get" no-error-return-url="true">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="act" value="{$act}" />
<select name="search_target" title="{$lang->search_target}">
<option value="title" selected="selected"|cond="$search_target == 'title'">{$lang->title}</option>
<option value="title_content" selected="selected"|cond="$search_target == 'title_content'">{$lang->title_content}</option>
<option value="content" selected="selected"|cond="$search_target == 'content'">{$lang->content}</option>
</select>
<input type="search" name="search_keyword" value="{escape($search_keyword, false)}">
<button type="submit">{$lang->cmd_search}</button>
</form>
<ul>
{@$rx_prn = FALSE}
<!--@while($page_no = $page_navigation->getNextPage())-->

View file

@ -378,7 +378,7 @@ class memberView extends member
if(in_array(Context::get('search_target'), array('title', 'title_content', 'content')))
{
$args->search_target = Context::get('search_target');
$args->search_keyword = Context::get('search_keyword');
$args->search_keyword = escape(trim(utf8_normalize_spaces(Context::get('search_keyword'))));
}
$args->member_srl = array($this->user->member_srl, $this->user->member_srl * -1);
$args->module_srl = intval(Context::get('selected_module_srl')) ?: null;
@ -423,7 +423,7 @@ class memberView extends member
if(Context::get('search_keyword'))
{
$args->search_target = 'content';
$args->search_keyword = Context::get('search_keyword');
$args->search_keyword = escape(trim(utf8_normalize_spaces(Context::get('search_keyword'))));
}
$args->member_srl = array($this->user->member_srl, $this->user->member_srl * -1);
$args->module_srl = intval(Context::get('selected_module_srl')) ?: null;
@ -506,7 +506,24 @@ class memberView extends member
$args->member_srl = $logged_info->member_srl;
$args->folder_srl = $folder_srl;
$args->page = Context::get('page');
$search_keyword = str_replace(' ', '_', escape(trim(utf8_normalize_spaces(Context::get('search_keyword')))));
switch (Context::get('search_target'))
{
case 'title':
$args->s_title = $search_keyword;
break;
case 'title_content':
$args->s_title = $search_keyword;
$args->s_content = $search_keyword;
break;
case 'content':
$args->s_content = $search_keyword;
break;
default:
break;
}
$output = executeQueryArray('member.getScrapDocumentList', $args);
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);

View file

@ -1,16 +1,26 @@
<query id="getScrapDocumentList" action="select">
<tables>
<table name="member_scrap" />
<table name="documents" type="left join">
<conditions>
<condition operation="equal" column="member_scrap.document_srl" default="documents.document_srl" />
</conditions>
</table>
</tables>
<columns>
<column name="*" />
<column name="member_scrap.*" />
</columns>
<conditions>
<condition operation="equal" column="member_srl" var="member_srl" filter="number" />
<condition operation="equal" column="folder_srl" var="folder_srl" filter="number" pipe="and" />
<condition operation="equal" column="member_scrap.member_srl" var="member_srl" filter="number" />
<condition operation="equal" column="member_scrap.folder_srl" var="folder_srl" filter="number" pipe="and" />
<group pipe="and">
<condition operation="like" column="member_scrap.title" var="s_title" />
<condition operation="like" column="documents.title" var="s_title" pipe="or" />
<condition operation="like" column="documents.content" var="s_content" pipe="or" />
</group>
</conditions>
<navigation>
<index var="sort_index" default="list_order" order="desc" />
<index var="sort_index" default="member_scrap.list_order" order="desc" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />

View file

@ -51,8 +51,19 @@
</tbody>
</table>
<div class="pagination pagination-centered">
<ul>
<div class="pagination">
<form action="{Context::getRequestUri()}" method="get" no-error-return-url="true" style="float:left">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="act" value="{$act}" />
<select name="search_target" title="{$lang->search_target}">
<option value="title" selected="selected"|cond="$search_target == 'title'">{$lang->title}</option>
<option value="title_content" selected="selected"|cond="$search_target == 'title_content'">{$lang->title_content}</option>
<option value="content" selected="selected"|cond="$search_target == 'content'">{$lang->content}</option>
</select>
<input type="text" name="search_keyword" value="{escape($search_keyword, false)}">
<button type="submit" class="btn">{$lang->cmd_search}</button>
</form>
<ul style="float:right;margin:0;padding:0">
<li><a href="{getUrl('page','','module_srl','')}">&laquo; {$lang->first_page}</a></li>
<!--@while($page_no = $page_navigation->getNextPage())-->
<li class="active"|cond="$page == $page_no"><a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a></li>