Skip to content

Commit

Permalink
Sort lists alphabetically
Browse files Browse the repository at this point in the history
* #35
+ Implements checks for archived repos and null hooks
+ Relaxed CSP
  • Loading branch information
tigerw committed Mar 28, 2020
1 parent c63a49e commit 957768a
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 11 deletions.
45 changes: 36 additions & 9 deletions Environment Interfaces/GitHub API/Repositories.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,42 @@ final class Repositories
{
use GitHubAPIProvider;

private static function SanitiseRepositories($Repositories)
{
$Repositories = array_filter(
$Repositories,
function($Repository)
{
//echo var_dump(Repositories::CustomRequest('repositories', $Repository['id'], 'collaborators/' . $_SESSION['User']['Login'] . '/permission'));
// Can't change webhooks in archived repositories
return !($Repository['archived'] || $Repository['disabled']);
}
);

usort(
$Repositories,
function($Lhs, $Rhs)
{
return strcasecmp($Lhs['name'], $Rhs['name']);
}
);

return $Repositories;
}

public static function GetAllCurrentUserRepositories()
{
$Repositories = array('❣ me :)' => Repositories::GetInstance()->getReceiver(\FlexyProject\GitHub\Client::REPOSITORIES)->listYourRepositories());
$Repositories = array(
'❣ me :)' => Repositories::SanitiseRepositories(
Repositories::GetInstance()->getReceiver(\FlexyProject\GitHub\Client::REPOSITORIES)->listYourRepositories()
)
);

foreach (Repositories::CustomRequest('user', Repositories::GetInstance()->getReceiver(\FlexyProject\GitHub\Client::USERS)->getUser()['id'], 'orgs') as $Organisation)
{
$RepositoryGroup = Repositories::GetInstance()->getReceiver(\FlexyProject\GitHub\Client::REPOSITORIES)->listOrganizationRepositories($Organisation['login']);
usort(
$RepositoryGroup,
function($Lhs, $Rhs)
{
return strcasecmp($Lhs['name'], $Rhs['name']);
}
$Repositories['🏢 ' . $Organisation['login']] = Repositories::SanitiseRepositories(
Repositories::GetInstance()->getReceiver(\FlexyProject\GitHub\Client::REPOSITORIES)->listOrganizationRepositories($Organisation['login'])
);
$Repositories['🏢 ' . $Organisation['login']] = $RepositoryGroup;
}

return $Repositories;
Expand Down Expand Up @@ -143,6 +164,12 @@ public static function CreateUpdateHook($RepositoryId)

public static function DeleteUpdateHook($RepositoryId, $HookId)
{
if ($HookId === null)
{
// TODO: temporary until all hooks refreshed
return;
}

Repositories::GetInstance()->request('/repositories/' . $RepositoryId . '/hooks/' . $HookId, \Symfony\Component\HttpFoundation\Request::METHOD_DELETE);
}
}
Expand Down
3 changes: 2 additions & 1 deletion Environment Interfaces/GitHub API/Users.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ public static function PurgeOldUpdateHooks()

foreach ($Hooks as $Hook)
{
if ($Hook['config']['url'] === "https://cuberiteplugins.azurewebsites.net/processhook")
$Config = $Hook['config'];
if (isset($Config['url']) && ($Config['url'] === "https://cuberiteplugins.azurewebsites.net/processhook"))
{
Repositories::DeleteUpdateHook($Repository['id'], $Hook['id']);
$HookId = Repositories::CreateUpdateHook($Repository['id']);
Expand Down
6 changes: 6 additions & 0 deletions Images/Stylesheet.css
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,12 @@ Also serves to vertically-centre page content. */
animation: CondensedEntryDisplay 300ms;
}

/* The condensed plugin cards uses <h3> which adds a margin, delet. */
.cuberite-condensed-plugin > .content > .header
{
margin-bottom: 0;
}

/* Provide a slide in animation for plugin pages. */
@keyframes ExpandedEntryDisplay
{
Expand Down
4 changes: 3 additions & 1 deletion web.config
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@
<!-- appcmd list config /section:httpProtocol lists only this entry, so okay to clear. -->
<clear />

<add name="Content-Security-Policy" value="default-src 'none' image-src data: https://*.githubusercontent.com style-src 'self' 'unsafe-inline'" />
<add name="Content-Security-Policy"
value="default-src 'none'; font-src 'self' data:; img-src 'self' data: https://*.githubusercontent.com; style-src 'self' 'unsafe-inline'"
/>
</customHeaders>
</httpProtocol>

Expand Down

0 comments on commit 957768a

Please sign in to comment.