Skip to content

Commit 74c405e

Browse files
authored
Merge pull request #53 from ggoffy/master
fixed search bugs
2 parents 72f1984 + c2cadf4 commit 74c405e

4 files changed

Lines changed: 153 additions & 76 deletions

File tree

docs/changelog.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
- added new bt4 templates (alain01/goffy)
88
- fixed bug with wrong icon and link (alain01/goffy)
99
- added extended test of API connection (goffy)
10+
- fixed bug in search (alain01/goffy)
11+
- updated template to show single repo (alain01/goffy)
1012

1113
===================================================================
1214
2021/03/31 Version 1.03 Final

include/search.inc.php

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,14 @@ function wggithub_search($queryarray, $andor, $limit, $offset, $userid)
4040
$repositoriesHandler = $helper->getHandler('Repositories');
4141
$directoriesHandler = $helper->getHandler('Directories');
4242

43+
// search in table wggithub_repositories
4344
$directories = [];
4445
$directoriesAll = $directoriesHandler->getAll();
4546
foreach (\array_keys($directoriesAll) as $i) {
4647
$directories[$directoriesAll[$i]->getVar('dir_name')] = $directoriesAll[$i]->getVar('dir_id');
4748
}
4849
unset ($directoriesAll);
4950

50-
// search in table repositories
5151
// search keywords
5252
$elementCount = 0;
5353
if (\is_array($queryarray)) {
@@ -56,8 +56,7 @@ function wggithub_search($queryarray, $andor, $limit, $offset, $userid)
5656
if ($elementCount > 0) {
5757
$crKeywords = new \CriteriaCompo();
5858
for ($i = 0; $i < $elementCount; $i++) {
59-
$crKeyword = new \CriteriaCompo();
60-
unset($crKeyword);
59+
$crKeywords->add(new Criteria('repo_name', '%' . $queryarray[$i] . '%', 'LIKE'), 'OR');
6160
}
6261
}
6362
// search user(s)
@@ -84,12 +83,12 @@ function wggithub_search($queryarray, $andor, $limit, $offset, $userid)
8483
foreach (\array_keys($repositoriesAll) as $i) {
8584
$ret[] = [
8685
'image' => 'assets/icons/16/github.png',
87-
'link' => 'index.php?op=show&amp;menu=' . $directories[$repositoriesAll[$i]->getVar('repo_user')],
88-
'title' => $repositoriesAll[$i]->getVar('repo_name'),
86+
'link' => 'index.php?op=show&amp;dir_id=' . $directories[$repositoriesAll[$i]->getVar('repo_user')] . '&amp;repo_id=' . $i,
87+
'title' => $repositoriesAll[$i]->getVar('repo_name') . ' (' . $repositoriesAll[$i]->getVar('repo_user') . ')',
8988
'time' => $repositoriesAll[$i]->getVar('repo_datecreated')
9089
];
9190
}
92-
unset($crKeywords, $crKeyword, $crUser, $crSearch, $repositoriesAll);
91+
unset($crKeywords, $crUser, $crSearch, $repositoriesAll);
9392

9493
return $ret;
9594

index.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
$op = Request::getCmd('op', 'list');
4545
$filterRelease = Request::getString('frelease', 'any');
4646
$filterSortby = Request::getString('fsortby', 'update');
47+
$repoId = Request::getInt('repo_id', 0);
4748

4849
$GLOBALS['xoopsTpl']->assign('frelease', $filterRelease);
4950
$GLOBALS['xoopsTpl']->assign('fsortby', $filterSortby);
@@ -65,6 +66,34 @@
6566

6667
switch ($op) {
6768
case 'show':
69+
if ($repoId > 0) {
70+
$GLOBALS['xoopsTpl']->assign('showSingle', true);
71+
$repositoriesObj = $repositoriesHandler->get($repoId);
72+
$repo = $repositoriesObj->getValuesRepositories();
73+
$repo['readme_val'] = ['content_clean' => \_MA_WGGITHUB_README_NOFILE];
74+
if ($repositoriesObj->getVar('repo_readme') > 0) {
75+
$crReadmes = new \CriteriaCompo();
76+
$crReadmes->add(new \Criteria('rm_repoid', $repoId));
77+
$readmesAll = $readmesHandler->getAll($crReadmes);
78+
foreach ($readmesAll as $readme) {
79+
$repo['readme_val'] = $readme->getValuesReadmes();
80+
}
81+
unset($crReadmes, $readmesAll);
82+
}
83+
if ($repositoriesObj->getVar('repo_prerelease') > 0 || $repositoriesObj->getVar('repo_release') > 0) {
84+
//$repos[$j]['releases'] = [];
85+
$crReleases = new \CriteriaCompo();
86+
$crReleases->add(new \Criteria('rel_repoid', $repoId));
87+
$releasesAll = $releasesHandler->getAll($crReleases);
88+
foreach ($releasesAll as $release) {
89+
$repo['releases'][] = $release->getValuesReleases();
90+
}
91+
unset($crReleases, $releasesAll);
92+
}
93+
unset($repositoriesAll);
94+
$GLOBALS['xoopsTpl']->assign('repo', $repo);
95+
}
96+
break;
6897
case 'list':
6998
case 'apiexceed':
7099
default:

templates/wggithub_index.tpl

Lines changed: 117 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<div class="errorMsg"><strong><{$error}></strong></div>
55
<{/if}>
66

7+
<!-- show directories in tabs -->
78
<{if $directoriesCount|default:0 > 0}>
89
<!-- filter area -->
910
<div id="filter_bar" class="tab-filter">
@@ -45,86 +46,132 @@
4546
<{/if}>
4647
</div>
4748
<{foreach item=directory from=$directories}>
48-
<div id="menu<{$directory.id}>" class="maintab tab-pane fade <{if $menu == $directory.id}>in active<{/if}>">
49-
<div class="col-xs-12 tab-content-info">
50-
<h4>
51-
<{$directory.countRepos}>
52-
<{if $permGlobalRead && ($directory.dir_autoupdate == 0)}>
53-
<a id="btn_update" class="btn btn-primary btn-sm pull-right" href="index.php?op=update_dir&amp;dir_name=<{$directory.name}>"><{$smarty.const._MA_WGGITHUB_DIRECTORY_UPDATE}> </a>
54-
<{/if}>
55-
</h4>
56-
<p><{$directory.descr}></p>
57-
</div>
58-
<div class="col-xs-3"> <!-- required for floating -->
59-
<!-- Nav tabs for each directory -->
60-
<ul class="nav nav-tabs tabs-left sideways">
61-
<{if $directory.previousRepos|default:''}>
62-
<li class=""><a id="btn_previous" href="index.php?op=list<{$directory.previousOp}>&amp;menu=<{$directory.id}>"> ... </a></li>
63-
<{/if}>
64-
<{foreach name=repo item=repo from=$directory.repos}>
65-
<li class="<{if $smarty.foreach.repo.first}>active<{/if}>"><a href="#tabdetail<{$repo.id}>" data-toggle="tab"><{$repo.name}></a></li>
66-
<{/foreach}>
67-
<{if $directory.nextRepos|default:''}>
68-
<li class="">
69-
<a id="btn_next" href="index.php?op=list<{$directory.nextOp}>&amp;menu=<{$directory.id}>"> ... </a>
70-
</li>
71-
<{/if}>
72-
</ul>
73-
</div>
74-
<div class="col-xs-9">
75-
<!-- Tab panes -->
76-
<div class="tab-content">
77-
<{foreach name=repo item=repo from=$directory.repos}>
78-
<div class="tab-pane<{if $smarty.foreach.repo.first}> active<{/if}>" id="tabdetail<{$repo.id}>">
79-
<div class="col-xs-12 sm-12 tabcontent-headline">
80-
<h3><{$smarty.const._MA_WGGITHUB_REPOSITORY}>: <{$repo.name}></h3>
81-
</div>
82-
<div class="clearfix"></div>
83-
<div class="codixs-12 col-sm-6 tabcontent-headline">
84-
<p><i class="fa fa-calendar"></i> <{$smarty.const._MA_WGGITHUB_REPOSITORY_CREATEDAT}>: <{$repo.createdat}></p>
85-
</div>
86-
<div class="col-xs-12 col-sm-6 tabcontent-headline">
87-
<p><i class="fa fa-calendar"></i> <{$smarty.const._MA_WGGITHUB_REPOSITORY_UPDATEDAT}>: <{$repo.updatedat}></p>
88-
</div>
89-
<{if $repo.releases|default:''}>
90-
<div class="col-xs-12 col-sm-12 tabcontent-headline">
91-
<p class=""><{$smarty.const._MA_WGGITHUB_RELEASES}>:</p>
92-
<{foreach item=release from=$repo.releases}>
93-
<p class="">
94-
<{$release.name}> <span style="font-size: smaller">(<{$release.publishedat}>)</span>
95-
<a class='btn btn-info btn-sm' href="<{$release.zipballurl}>" title="<{$smarty.const._MA_WGGITHUB_RELEASE_ZIP}>"><{$smarty.const._MA_WGGITHUB_RELEASE_ZIP}></a>
96-
<a class='btn btn-info btn-sm' href="<{$release.tarballurl}>" title="<{$smarty.const._MA_WGGITHUB_RELEASE_TAR}>"><{$smarty.const._MA_WGGITHUB_RELEASE_TAR}></a>
97-
</p>
98-
<{/foreach}>
49+
<div id="menu<{$directory.id}>" class="maintab tab-pane fade <{if $menu == $directory.id}>in active<{/if}>">
50+
<div class="col-xs-12 tab-content-info">
51+
<h4>
52+
<{$directory.countRepos}>
53+
<{if $permGlobalRead && ($directory.dir_autoupdate == 0)}>
54+
<a id="btn_update" class="btn btn-primary btn-sm pull-right" href="index.php?op=update_dir&amp;dir_name=<{$directory.name}>"><{$smarty.const._MA_WGGITHUB_DIRECTORY_UPDATE}> </a>
55+
<{/if}>
56+
</h4>
57+
<p><{$directory.descr}></p>
58+
</div>
59+
<div class="col-xs-3"> <!-- required for floating -->
60+
<!-- Nav tabs for each directory -->
61+
<ul class="nav nav-tabs tabs-left sideways">
62+
<{if $directory.previousRepos|default:''}>
63+
<li class=""><a id="btn_previous" href="index.php?op=list<{$directory.previousOp}>&amp;menu=<{$directory.id}>"> ... </a></li>
64+
<{/if}>
65+
<{foreach name=repo item=repo from=$directory.repos}>
66+
<li class="<{if $smarty.foreach.repo.first}>active<{/if}>"><a href="#tabdetail<{$repo.id}>" data-toggle="tab"><{$repo.name}></a></li>
67+
<{/foreach}>
68+
<{if $directory.nextRepos|default:''}>
69+
<li class="">
70+
<a id="btn_next" href="index.php?op=list<{$directory.nextOp}>&amp;menu=<{$directory.id}>"> ... </a>
71+
</li>
72+
<{/if}>
73+
</ul>
74+
</div>
75+
<div class="col-xs-9">
76+
<!-- Tab panes -->
77+
<div class="tab-content">
78+
<{foreach name=repo item=repo from=$directory.repos}>
79+
<div class="tab-pane<{if $smarty.foreach.repo.first}> active<{/if}>" id="tabdetail<{$repo.id}>">
80+
<div class="col-xs-12 sm-12 tabcontent-headline">
81+
<h3><{$smarty.const._MA_WGGITHUB_REPOSITORY}>: <{$repo.name}></h3>
9982
</div>
100-
<{/if}>
101-
<div class="col-xs-12 col-sm-12 tabcontent-headline">
102-
<p class=""><a class='btn btn-primary right' href="<{$repo.htmlurl}>" title="<{$smarty.const._MA_WGGITHUB_REPOSITORY_GOTO}>" target="_blank"><{$smarty.const._MA_WGGITHUB_REPOSITORY_GOTO}></a></p>
103-
</div>
104-
<{if $repo.readme.gitbook_link|default:''}>
83+
<div class="clearfix"></div>
84+
<div class="codixs-12 col-sm-6 tabcontent-headline">
85+
<p><i class="fa fa-calendar"></i> <{$smarty.const._MA_WGGITHUB_REPOSITORY_CREATEDAT}>: <{$repo.createdat}></p>
86+
</div>
87+
<div class="col-xs-12 col-sm-6 tabcontent-headline">
88+
<p><i class="fa fa-calendar"></i> <{$smarty.const._MA_WGGITHUB_REPOSITORY_UPDATEDAT}>: <{$repo.updatedat}></p>
89+
</div>
90+
<{if $repo.releases|default:''}>
91+
<div class="col-xs-12 col-sm-12 tabcontent-headline">
92+
<p class=""><{$smarty.const._MA_WGGITHUB_RELEASES}>:</p>
93+
<{foreach item=release from=$repo.releases}>
94+
<p class="">
95+
<{$release.name}> <span style="font-size: smaller">(<{$release.publishedat}>)</span>
96+
<a class='btn btn-info btn-sm' href="<{$release.zipballurl}>" title="<{$smarty.const._MA_WGGITHUB_RELEASE_ZIP}>"><{$smarty.const._MA_WGGITHUB_RELEASE_ZIP}></a>
97+
<a class='btn btn-info btn-sm' href="<{$release.tarballurl}>" title="<{$smarty.const._MA_WGGITHUB_RELEASE_TAR}>"><{$smarty.const._MA_WGGITHUB_RELEASE_TAR}></a>
98+
</p>
99+
<{/foreach}>
100+
</div>
101+
<{/if}>
105102
<div class="col-xs-12 col-sm-12 tabcontent-headline">
106-
<p class=""><a class='btn btn-warning right' href="<{$repo.readme.gitbook_link}>" title="<{$smarty.const._MA_WGGITHUB_GITBOOK_GOTO}>" target="_blank"><{$smarty.const._MA_WGGITHUB_GITBOOK_GOTO}></a></p>
103+
<p class=""><a class='btn btn-primary right' href="<{$repo.htmlurl}>" title="<{$smarty.const._MA_WGGITHUB_REPOSITORY_GOTO}>" target="_blank"><{$smarty.const._MA_WGGITHUB_REPOSITORY_GOTO}></a></p>
107104
</div>
108-
<{/if}>
109-
<div class="col-xs-12 sm-12 tabcontent-content">
110-
<{if $permReadmeUpdate|default:''}>
111-
<i class="fa fa-re"></i>
112-
<a class='btn btn-primary btn-sm pull-right' href="index.php?op=update_readme&amp;repo_id=<{$repo.id}>&amp;repo_user=<{$repo.user}>&amp;repo_name=<{$repo.name}>" title="<{$smarty.const._MA_WGGITHUB_README_UPDATE}>"><{$smarty.const._MA_WGGITHUB_README_UPDATE}></a></p>
105+
<{if $repo.readme.gitbook_link|default:''}>
106+
<div class="col-xs-12 col-sm-12 tabcontent-headline">
107+
<p class=""><a class='btn btn-warning right' href="<{$repo.readme.gitbook_link}>" title="<{$smarty.const._MA_WGGITHUB_GITBOOK_GOTO}>" target="_blank"><{$smarty.const._MA_WGGITHUB_GITBOOK_GOTO}></a></p>
108+
</div>
113109
<{/if}>
114-
<{$repo.readme.content_clean|default:''}>
110+
<div class="col-xs-12 sm-12 tabcontent-content">
111+
<{if $permReadmeUpdate|default:''}>
112+
<i class="fa fa-re"></i>
113+
<a class='btn btn-primary btn-sm pull-right' href="index.php?op=update_readme&amp;repo_id=<{$repo.id}>&amp;repo_user=<{$repo.user}>&amp;repo_name=<{$repo.name}>" title="<{$smarty.const._MA_WGGITHUB_README_UPDATE}>"><{$smarty.const._MA_WGGITHUB_README_UPDATE}></a></p>
114+
<{/if}>
115+
<{$repo.readme.content_clean|default:''}>
116+
</div>
115117
</div>
116-
</div>
117-
<{/foreach}>
118+
<{/foreach}>
119+
</div>
118120
</div>
121+
<div class="clearfix"></div>
119122
</div>
120-
121-
<div class="clearfix"></div>
122-
123-
</div>
124123
<{/foreach}>
124+
</div>
125+
<{/if}>
126+
<!-- end show directories in tabs -->
125127

128+
<!-- show single repo -->
129+
<{if $showSingle|default:false}>
130+
<div class="tab-content tab-content-main">
131+
<div class="col-xs-12">
132+
<!-- Tab panes -->
133+
<div class="tab-content">
134+
<div class="" id="tabdetail<{$repo.id}>">
135+
<div class="col-xs-12 sm-12 tabcontent-headline">
136+
<h3><{$smarty.const._MA_WGGITHUB_REPOSITORY}>: <{$repo.name}></h3>
137+
</div>
138+
<div class="clearfix"></div>
139+
<div class="codixs-12 col-sm-6 tabcontent-headline">
140+
<p><i class="fa fa-calendar"></i> <{$smarty.const._MA_WGGITHUB_REPOSITORY_CREATEDAT}>: <{$repo.createdat}></p>
141+
</div>
142+
<div class="col-xs-12 col-sm-6 tabcontent-headline">
143+
<p><i class="fa fa-calendar"></i> <{$smarty.const._MA_WGGITHUB_REPOSITORY_UPDATEDAT}>: <{$repo.updatedat}></p>
144+
</div>
145+
<{if $repo.releases|default:''}>
146+
<div class="col-xs-12 col-sm-12 tabcontent-headline">
147+
<p class=""><{$smarty.const._MA_WGGITHUB_RELEASES}>:</p>
148+
<{foreach item=release from=$repo.releases}>
149+
<p class="">
150+
<{$release.name}> <span style="font-size: smaller">(<{$release.publishedat}>)</span>
151+
<a class='btn btn-info btn-sm' href="<{$release.zipballurl}>" title="<{$smarty.const._MA_WGGITHUB_RELEASE_ZIP}>"><{$smarty.const._MA_WGGITHUB_RELEASE_ZIP}></a>
152+
<a class='btn btn-info btn-sm' href="<{$release.tarballurl}>" title="<{$smarty.const._MA_WGGITHUB_RELEASE_TAR}>"><{$smarty.const._MA_WGGITHUB_RELEASE_TAR}></a>
153+
</p>
154+
<{/foreach}>
155+
</div>
156+
<{/if}>
157+
<div class="col-xs-12 col-sm-12 tabcontent-headline">
158+
<p class=""><a class='btn btn-primary right' href="<{$repo.htmlurl}>" title="<{$smarty.const._MA_WGGITHUB_REPOSITORY_GOTO}>" target="_blank"><{$smarty.const._MA_WGGITHUB_REPOSITORY_GOTO}></a></p>
159+
</div>
160+
<{if $repo.readme_val.gitbook_link|default:''}>
161+
<div class="col-xs-12 col-sm-12 tabcontent-headline">
162+
<p class=""><a class='btn btn-warning right' href="<{$repo.readme_val.gitbook_link}>" title="<{$smarty.const._MA_WGGITHUB_GITBOOK_GOTO}>" target="_blank"><{$smarty.const._MA_WGGITHUB_GITBOOK_GOTO}></a></p>
163+
</div>
164+
<{/if}>
165+
<div class="col-xs-12 sm-12 tabcontent-content">
166+
<{$repo.readme_val.content_clean|default:''}>
167+
</div>
168+
</div>
169+
</div>
170+
</div>
171+
<div class="clearfix"></div>
126172
</div>
127-
<{/if}>
173+
<{/if}>
174+
<!-- end show single repo -->
128175

129176
<script type="text/javascript">
130177
var executeClick = function(href)

0 commit comments

Comments
 (0)