cleanup, prepare localization, show tokens
This commit is contained in:
parent
4bd2231777
commit
2a47c356ee
2 changed files with 53 additions and 60 deletions
|
|
@ -40,7 +40,7 @@ class Gitea_Options {
|
||||||
function options_page() {
|
function options_page() {
|
||||||
$options = (array)get_option('gitea_options');
|
$options = (array)get_option('gitea_options');
|
||||||
$repositories = $this->get_repositories();
|
$repositories = $this->get_repositories();
|
||||||
$titles = array(
|
$types = array(
|
||||||
'plugin' => __('Plugins'),
|
'plugin' => __('Plugins'),
|
||||||
'theme' => __('Themes'),
|
'theme' => __('Themes'),
|
||||||
);
|
);
|
||||||
|
|
@ -52,21 +52,24 @@ class Gitea_Options {
|
||||||
<?php if (isset($_POST['gitea_install'])) : ?>
|
<?php if (isset($_POST['gitea_install'])) : ?>
|
||||||
<div class="box install">
|
<div class="box install">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<h3>Install Results</h3>
|
<h3><?=__('Install Results', 'gitea')?></h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<?php $this->install($_POST['gitea_install']); ?>
|
<?php $this->install($_POST['gitea_install']); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php else : ?>
|
<?php else : ?>
|
||||||
|
|
||||||
|
<a href="#" id="show-tokens"><?=__('Show Tokens', 'gitea')?></a>
|
||||||
|
|
||||||
<form action="<?=admin_url('options-general.php?page=gitea-updater')?>" method="post" class="box access">
|
<form action="<?=admin_url('options-general.php?page=gitea-updater')?>" method="post" class="box access">
|
||||||
|
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<h3>Access Tokens</h3>
|
<h3><?=__('Access Tokens', 'gitea')?></h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
|
|
||||||
<p>The access token from a repository always have priority over the global.</p>
|
<p><?=__('The access token from a repository always have priority over the global.', 'gitea')?></p>
|
||||||
|
|
||||||
<?php foreach ($repositories as $repository => $packages) : ?>
|
<?php foreach ($repositories as $repository => $packages) : ?>
|
||||||
<br>
|
<br>
|
||||||
|
|
@ -76,7 +79,7 @@ class Gitea_Options {
|
||||||
<a href="<?=$repository?>"><strong><?=parse_url($repository)['host']?></strong></a>
|
<a href="<?=$repository?>"><strong><?=parse_url($repository)['host']?></strong></a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="password" name="gitea_options[host_token][<?=$repository?>]" value="<?=@$options['host_token'][$repository]?>" placeholder="Global Access Token">
|
<input type="password" class="token" name="gitea_options[host_token][<?=$repository?>]" value="<?=@$options['host_token'][$repository]?>" placeholder="<?=__('Global Access Token', 'gitea')?>">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|
@ -84,7 +87,7 @@ class Gitea_Options {
|
||||||
<tr>
|
<tr>
|
||||||
<td class="empty"></td>
|
<td class="empty"></td>
|
||||||
<td colspan="3" class="type">
|
<td colspan="3" class="type">
|
||||||
<?=$titles[$type]?>
|
<?=$types[$type]?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php foreach ($items as $slug => $package) : ?>
|
<?php foreach ($items as $slug => $package) : ?>
|
||||||
|
|
@ -95,7 +98,7 @@ class Gitea_Options {
|
||||||
<a href="<?=$package['url']?>"><?=$package['name']?></a>
|
<a href="<?=$package['url']?>"><?=$package['name']?></a>
|
||||||
</td>
|
</td>
|
||||||
<td class="input">
|
<td class="input">
|
||||||
<input type="password" name="gitea_options[repo_token][<?=$package['url']?>]" value="<?=@$options['repo_token'][$package['url']]?>" placeholder="Access Token">
|
<input type="password" class="token" name="gitea_options[repo_token][<?=$package['url']?>]" value="<?=@$options['repo_token'][$package['url']]?>" placeholder="<?=__('Access Token', 'gitea')?>">
|
||||||
</td>
|
</td>
|
||||||
</li>
|
</li>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
|
@ -105,8 +108,8 @@ class Gitea_Options {
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
|
||||||
<p class="submit">
|
<p class="submit">
|
||||||
<input type="submit" name="submit" id="submit" class="button button-primary" value="<?=__('Save Changes')?>">
|
<input type="submit" name="submit" id="submit" class="button button-primary" value="<?=__('Save Changes', 'gitea')?>">
|
||||||
<a href="<?=admin_url('options-general.php?page=gitea-updater&force-check=1')?>" class="button button-primary"><?=__('Reset Cache')?></a>
|
<a href="<?=admin_url('options-general.php?page=gitea-updater&force-check=1')?>" class="button button-primary"><?=__('Reset Cache', 'gitea')?></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -115,42 +118,44 @@ class Gitea_Options {
|
||||||
|
|
||||||
<form action="<?=admin_url('options-general.php?page=gitea-updater')?>" method="post" class="box install">
|
<form action="<?=admin_url('options-general.php?page=gitea-updater')?>" method="post" class="box install">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<h3>Install from URL</h3>
|
<h3><?=__('Install from URL', 'gitea')?></h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
|
|
||||||
|
<p><?=__('Only with <code>http://</code> or <code>https://</code> links, It\'s not working with <code>ssh://</code> links!', 'gitea')?></p>
|
||||||
|
|
||||||
<table class="form-table">
|
<table class="form-table">
|
||||||
<tr>
|
<tr>
|
||||||
<th>
|
<th>
|
||||||
<label>Type</label>
|
<label><?=__('Type', 'gitea')?></label>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<select name="gitea_install[type]">
|
<select name="gitea_install[type]">
|
||||||
<option value="plugin"><?=__('Plugins')?></option>
|
<option value="plugin"><?=__('Plugins', 'gitea')?></option>
|
||||||
<option value="theme"><?=__('Themes')?></option>
|
<option value="theme"><?=__('Themes', 'gitea')?></option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>
|
<th>
|
||||||
<label>Repository URL</label>
|
<label><?=__('Repository URL', 'gitea')?></label>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="gitea_install[url]" value="https://git.paucapo.com/wp/pau-cleanwordpress.git">
|
<input type="text" name="gitea_install[url]" placeholder="https://host/org/repo or https://host/org/repo.git">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>
|
<th>
|
||||||
<label>Access Token</label>
|
<label><?=__('Access Token', 'gitea')?></label>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="gitea_install[access_token]" value="9ebc78834767d2ce0f95ec8a5ab597bc1fbc9ed6">
|
<input type="password" class="token" name="gitea_install[access_token]">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th></th>
|
<th></th>
|
||||||
<td>
|
<td>
|
||||||
<input type="submit" name="submit" id="submit" class="button button-primary" value="<?=__('Install Now')?>">
|
<input type="submit" name="submit" id="submit" class="button button-primary" value="<?=__('Install Now', 'gitea')?>">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
@ -165,12 +170,15 @@ class Gitea_Options {
|
||||||
themes: <?=date('d/m/Y H:i:s', get_option('gitea_themes_updated'))?>
|
themes: <?=date('d/m/Y H:i:s', get_option('gitea_themes_updated'))?>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<textarea style="width:100%" rows="2" onfocus="this.rows=30;" onblur="this.rows=2;" readonly><?php var_dump($repositories); ?></textarea>
|
<?php /*<textarea style="width:100%" rows="2" onfocus="this.rows=30;" onblur="this.rows=2;" readonly><?php var_dump($repositories); ?></textarea> */ ?>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.wrap {
|
.wrap {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
#show-tokens {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
.box {
|
.box {
|
||||||
margin: 20px 0;
|
margin: 20px 0;
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
|
|
@ -235,10 +243,23 @@ class Gitea_Options {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
.form-table input[type=text] {
|
.form-table input[type=text],
|
||||||
|
.form-table input[type=password] {
|
||||||
width: 75%;
|
width: 75%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
jQuery('#show-tokens').on('click', function() {
|
||||||
|
if (jQuery('input.token').attr('type') == 'password') {
|
||||||
|
jQuery('input.token').attr('type', 'text');
|
||||||
|
jQuery(this).html('<?=__('Hide Tokens', 'gitea')?>');
|
||||||
|
} else {
|
||||||
|
jQuery('input.token').attr('type', 'password');
|
||||||
|
jQuery(this).html('<?=__('Show Tokens', 'gitea')?>');
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
</script>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -276,34 +297,31 @@ class Gitea_Options {
|
||||||
|
|
||||||
if ($data['type'] == 'plugin') {
|
if ($data['type'] == 'plugin') {
|
||||||
|
|
||||||
add_filter('install_plugin_complete_actions', array($this, 'installed'), 10, 3);
|
add_filter('install_plugin_complete_actions', array($this, 'install_actions'));
|
||||||
|
|
||||||
$upgrader = new Plugin_Upgrader( new Plugin_Installer_Skin( compact('title', 'url', 'nonce', 'plugin', 'api') ) );
|
$upgrader = new Plugin_Upgrader( new Plugin_Installer_Skin( compact('title', 'url', 'nonce', 'plugin', 'api') ) );
|
||||||
$upgrader->install($package);
|
$upgrader->install($package);
|
||||||
|
|
||||||
remove_filter('install_plugin_complete_actions', array($this, 'installed'), 10, 3);
|
remove_filter('install_plugin_complete_actions', array($this, 'install_actions'));
|
||||||
|
|
||||||
} elseif ($data['type'] == 'theme') {
|
} elseif ($data['type'] == 'theme') {
|
||||||
|
|
||||||
add_filter('install_theme_complete_actions', array($this, 'installed'), 10, 3);
|
add_filter('install_theme_complete_actions', array($this, 'install_actions'));
|
||||||
|
|
||||||
$upgrader = new Theme_Upgrader( new Theme_Installer_Skin( compact('title', 'url', 'nonce', 'theme', 'api') ) );
|
$upgrader = new Theme_Upgrader( new Theme_Installer_Skin( compact('title', 'url', 'nonce', 'theme', 'api') ) );
|
||||||
$upgrader->install($package);
|
$upgrader->install($package);
|
||||||
|
|
||||||
remove_filter('install_theme_complete_actions', array($this, 'installed'), 10, 3);
|
remove_filter('install_theme_complete_actions', array($this, 'install_actions'));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function installed($install_actions, $api, $file) {
|
function install_actions($install_actions) {
|
||||||
$return = '<a href="' . admin_url('options-general.php?page=gitea-updater') . '" target="_parent">' . __( 'Return' ) . '</a>';
|
unset($install_actions['plugins_page'], $install_actions['themes_page']);
|
||||||
|
$install_actions['gitea_page'] = '<a href="' . admin_url('options-general.php?page=gitea-updater') . '" target="_parent">' . __( 'Return', 'gitea' ) . '</a>';
|
||||||
if (isset($install_actions['plugins_page'])) $install_actions['plugins_page'] = $return;
|
|
||||||
if (isset($install_actions['themes_page'])) $install_actions['themes_page'] = $return;
|
|
||||||
|
|
||||||
|
|
||||||
return $install_actions;
|
return $install_actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,6 @@ class Gitea_Updater {
|
||||||
public $themes = array();
|
public $themes = array();
|
||||||
public $remote_managemnet = true;
|
public $remote_managemnet = true;
|
||||||
|
|
||||||
|
|
||||||
function __construct() {
|
function __construct() {
|
||||||
|
|
||||||
Gitea_Options::getInstance();
|
Gitea_Options::getInstance();
|
||||||
|
|
@ -50,9 +49,6 @@ class Gitea_Updater {
|
||||||
// themes checks
|
// themes checks
|
||||||
add_filter('pre_set_site_transient_update_themes', array($this, 'pre_set_site_transient_update_themes'));
|
add_filter('pre_set_site_transient_update_themes', array($this, 'pre_set_site_transient_update_themes'));
|
||||||
|
|
||||||
// rename directories
|
|
||||||
// add_filter('upgrader_source_selection', array($this, 'upgrader_source_selection'), 10, 4);
|
|
||||||
|
|
||||||
// extra plugins and themes headers (Gitea Host and Gitea URI)
|
// extra plugins and themes headers (Gitea Host and Gitea URI)
|
||||||
add_filter('extra_plugin_headers', array($this, 'extra_headers'));
|
add_filter('extra_plugin_headers', array($this, 'extra_headers'));
|
||||||
add_filter('extra_theme_headers', array($this, 'extra_headers'));
|
add_filter('extra_theme_headers', array($this, 'extra_headers'));
|
||||||
|
|
@ -182,10 +178,10 @@ class Gitea_Updater {
|
||||||
|
|
||||||
function get_gitea_url($host, $repo, $args = '', $access_token = false) {
|
function get_gitea_url($host, $repo, $args = '', $access_token = false) {
|
||||||
|
|
||||||
if ($access_token === false)
|
if ($access_token === false) {
|
||||||
$access_token = $this->get_gitea_token($host, $repo);
|
$access_token = $this->get_gitea_token($host, $repo);
|
||||||
|
if (!$access_token) return false;
|
||||||
if (!$access_token) return false;
|
}
|
||||||
|
|
||||||
return $host.'api/v1/repos/'.$repo.$args.'?access_token='.$access_token;
|
return $host.'api/v1/repos/'.$repo.$args.'?access_token='.$access_token;
|
||||||
}
|
}
|
||||||
|
|
@ -238,7 +234,7 @@ class Gitea_Updater {
|
||||||
}
|
}
|
||||||
|
|
||||||
function pre_set_site_transient_update_plugins($transient) {
|
function pre_set_site_transient_update_plugins($transient) {
|
||||||
// check if some plugin needs update using the cached data
|
// check if some plugin needs update
|
||||||
|
|
||||||
$this->get_gitea_plugins();
|
$this->get_gitea_plugins();
|
||||||
|
|
||||||
|
|
@ -247,14 +243,6 @@ class Gitea_Updater {
|
||||||
if (isset($transient->response[$git_plugin['plugin']]))
|
if (isset($transient->response[$git_plugin['plugin']]))
|
||||||
unset($transient->response[$git_plugin['plugin']]);
|
unset($transient->response[$git_plugin['plugin']]);
|
||||||
if (version_compare($git_plugin['local_version'], $git_plugin['new_version'], '<')) {
|
if (version_compare($git_plugin['local_version'], $git_plugin['new_version'], '<')) {
|
||||||
|
|
||||||
// $object = new stdClass;
|
|
||||||
// $object->slug = $git_plugin['slug'];
|
|
||||||
// $object->plugin = $git_plugin['plugin'];
|
|
||||||
// $object->new_version = $git_plugin['new_version'];
|
|
||||||
// $object->url = $git_plugin['url'];
|
|
||||||
// $object->package = $git_plugin['package'];
|
|
||||||
|
|
||||||
$transient->response[$git_plugin['plugin']] = (object)$git_plugin;
|
$transient->response[$git_plugin['plugin']] = (object)$git_plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -281,19 +269,6 @@ class Gitea_Updater {
|
||||||
return $transient;
|
return $transient;
|
||||||
}
|
}
|
||||||
|
|
||||||
function upgrader_source_selection($source, $remote_source, $upgrader, $hook_extra = null) {
|
|
||||||
global $wp_filesystem;
|
|
||||||
|
|
||||||
$plugin = isset($hook_extra['plugin']) ? $hook_extra['plugin'] : false;
|
|
||||||
if (isset($this->plugins[$plugin]) && $plugin) {
|
|
||||||
$new_source = trailingslashit($remote_source).dirname($plugin);
|
|
||||||
$wp_filesystem->move($source, $new_source);
|
|
||||||
return trailingslashit($new_source);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $source;
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_file_headers($contents, $type) {
|
function get_file_headers($contents, $type) {
|
||||||
|
|
||||||
$gitea_headers = array(
|
$gitea_headers = array(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue