pp3/module/Application/view/application/admin/_plugin-listrow.phtml (140 lines of code) (raw):
<?php
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
?>
<?php
/* @var $plugin Application\Entity\Plugin */
$authors = [];
foreach($plugin->getAuthors() as $author) {
$authors[] = htmlspecialchars($author->getName(), ENT_COMPAT, "UTF-8");
}
echo '<tr>
<td style="text-align: center;"><h4><i class="fas '.$plugin->getStatusIconClass().'" title="'.$plugin->getStatusTitle().'"></i></h4></td>
<td>
<h4 class="text-primary">'.$plugin->getName().'</h4>
<p>
<a class="btn btn-default" href="'.$this->url('admin', array('action' => 'edit'),array('query' => array('id'=>$plugin->getId()))).'" role="button" title="Edit">
<i class="fas fa-edit text-primary"></i>
</a>
<a class="btn btn-default" href="'.$this->url('admin',array('action'=>'index'),array('query' => array('id'=>$plugin->getId(), 'act'=>'delete'))).'" role="button" title="Remove">
<i class="fas fa-trash text-danger"></i>
</a>
<a class="btn btn-default" href="'.$this->url('admin',array('action'=>'index'),array('query' => array('id'=>$plugin->getId(), 'act'=>'sync'))).'" role="button" title="Sync with source manifest.">
<i class="fas fa-sync"></i>
</a>
<a class="btn btn-default" href="'.$this->url('admin',array('action'=>'index'),array('query' => array('id'=>$plugin->getId(), 'act'=>'publish'))).'" role="button" title="Approve">
<i class="fas fa-eye color-green"></i> Approve
</a>
<a class="btn btn-default" href="'.$this->url('admin',array('action'=>'index'),array('query' => array('id'=>$plugin->getId(), 'act'=>'hide'))).'" role="button" title="Hide">
<i class="fas fa-eye-slash color-red"></i> Hide
</a>
</p>
<table role="presentation">
<tr><td style="padding-right: 1ex">Status:</td><td><b>'.$plugin->getStatusTitle().'</b></td></tr>
<tr><td style="padding-right: 1ex">GroupId: </td><td><b>'.$plugin->getGroupId().'</b></td></tr>
<tr><td style="padding-right: 1ex">ArtifactId:</td><td><b>'.$plugin->getArtifactId().'</b></td></tr>
<tr><td style="padding-right: 1ex">Author:</td><td><b>'. implode("<br />", $authors) .'</b></td></tr>
</table>
<p>
<i class="fas fa-asterisk"></i> '.$plugin->getAddedAt()->format('Y-m-d').'
<i class="fas fa-edit"></i> '.$plugin->getLastUpdatedAt()->format('Y-m-d').'
<i class="fas fa-download"></i> '.number_format($plugin->getDownloads()).'
</p>
<p>';
foreach ($plugin->getCategories() as $cat) {
echo '<span class="badge badge-blue">'.$cat->getName().'</span> ';
}
echo '</p>
</td>
<td>
<table class="table table-striped">
<thead>
<tr>
<th scope="col" style="width: 170px;">Plugin Version</th>
<th scope="col"></th>
<th scope="col">NB Versions</th>
<th scope="col">Verifications</th>
</tr>
</thead>
<tbody>';
foreach ($plugin->getVersions() as $version) {
/* @var $version Application\Entity\PluginVersion */
printf('<tr>
<td><span class="badge %s">%s%s</span></td>
<td>
<a class="btn btn-default" href="%s" role="button" title="Edit">
<i class="fas fa-edit text-primary"></i>
</a>
</td>
<td>',
$version->getErrorMessage() ? 'badge-red' : '',
$version->getVersion(),
$version->getErrorMessage() ? ' <i class="fas fa-exclamation-triangle"></i>' : '',
$this->url('plugin-version',array('action'=>'edit'),array('query' => array('id'=>$version->getId(), 'search'=>$_GET['search'])))
);
foreach ($version->getNbVersionsPluginVersions() as $nbvPv) {
echo '<span class="badge badge-brown">NB '.$nbvPv->getNbVersion()->getVersion().'</span> ';
}
echo '</td>
<td>';
foreach ($version->getNbVersionsPluginVersions() as $nbvPv) {
if ($nbvPv->getVerificationId()) {
echo '<a data-toggle="modal" data-target="#logModal'.$nbvPv->getVerificationId().'" href="#"><span class="badge '.$nbvPv->getVerification()->getStatusBadgeClass().'" title="'.$nbvPv->getVerification()->getStatusBadgeTitle().'">
NB '.$nbvPv->getNbVersion()->getVersion().' - '.$nbvPv->getVerification()->getStatusBadgeTitle().'</span></a> ';
echo '
<div class="modal fade" id="logModal'.$nbvPv->getVerificationId().'" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Verification Log of '.$version->getVersion().' plugin version to NB '.$nbvPv->getNbVersion()->getVersion().'</h4>
</div>
<div class="modal-body">
<p><b>Verification status: '.$nbvPv->getVerification()->getStatusBadgeTitle().'</b></p>
<p>Requested on: '.$nbvPv->getVerification()->getCreatedAt()->format('Y-m-d').'</p><br/>
<h4>Votes</h4>
<table class="table table-striped">';
foreach($nbvPv->getVerification()->getVerificationRequests() as $vrq) {
echo '<tr>
<td>'
. htmlentities($vrq->getVerifier()->getName(), ENT_HTML5, 'UTF-8')
. ' <'
. htmlentities($vrq->getVerifier()->getEmail(), ENT_HTML5, 'UTF-8')
. '>'
.'</td>
<td><span class="badge '.$vrq->getVoteBadgeClass().'" title="'.$vrq->getVoteBadgeTitle().'">'.$vrq->getVoteBadgeTitle().'</span></td>
<td>'.($vrq->getVotedAt() ? $vrq->getVotedAt()->format('Y-m-d') : '').'</td>
</tr>';
}
echo'</table></div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>';
}
}
}
echo '<td>
</tr>
</tbody>
</table>
</td>
</tr>';