Github integration.
This commit is contained in:
parent
9ea3a22864
commit
dfeac39be3
2 changed files with 114 additions and 10 deletions
|
|
@ -23,6 +23,20 @@
|
|||
|
||||
<script>
|
||||
|
||||
<?php
|
||||
$gh = \b8\Registry::getInstance()->get('github_app', null);
|
||||
|
||||
if($gh)
|
||||
{
|
||||
print 'window.github_app_id = ' . json_encode($gh['id']) . ';' . PHP_EOL;
|
||||
}
|
||||
|
||||
if(!empty($token))
|
||||
{
|
||||
print 'window.github_token = ' . json_encode($token) . ';' . PHP_EOL;
|
||||
}
|
||||
?>
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
$('#element-reference').change(function()
|
||||
|
|
@ -39,13 +53,56 @@ $(document).ready(function()
|
|||
'bb_anon': /https\:\/\/bitbucket.org\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)(\.git)?/
|
||||
};
|
||||
|
||||
|
||||
for(var i in acceptable) {
|
||||
if(val.match(acceptable[i])) {
|
||||
el.val(val.replace(acceptable[i], '$1'));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('#element-type').change(function()
|
||||
{
|
||||
if(!window.github_app_id || $(this).val() != 'github' || window.github_token) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Show sign in with Github button.
|
||||
var el = $('#element-reference');
|
||||
var rtn = <?= json_encode((empty($_SERVER['HTTPS']) ? 'http' : 'https') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); ?>;
|
||||
var url = 'https://github.com/login/oauth/authorize?client_id=' + window.github_app_id + '&scope=repo&redirect_uri=' + rtn;
|
||||
var btn = $('<a>').addClass('btn btn-inverse').text('Sign in with Github').attr('href', url);
|
||||
|
||||
el.after(btn);
|
||||
el.remove();
|
||||
});
|
||||
|
||||
$('#element-github').change(function()
|
||||
{
|
||||
var val = $('#element-github').val();
|
||||
|
||||
if(val != 'choose') {
|
||||
$('#element-type').val('github');
|
||||
$('#element-reference').val(val);
|
||||
|
||||
$('label[for=element-reference]').hide();
|
||||
$('label[for=element-type]').hide();
|
||||
$('#element-reference').hide();
|
||||
$('#element-type').hide();
|
||||
$('#element-token').val(window.github_token);
|
||||
|
||||
if(!$('#element-title').val()) {
|
||||
$('#element-title').val(val);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$('label[for=element-reference]').show();
|
||||
$('label[for=element-type]').show();
|
||||
$('#element-reference').show();
|
||||
$('#element-type').show();
|
||||
$('#element-reference').val('');
|
||||
$('#element-token').val('');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
Loading…
Add table
Add a link
Reference in a new issue