private function show_webhook_table_public_key()
    {
        list($git_public_key, ) = gitium_get_keypair();
        if (!defined('GIT_KEY_FILE') || GIT_KEY_FILE == '') {
            ?>
			<tr>
				<th><label for="public-key"><?php 
            _e('Public Key', 'gitium');
            ?>
:</label></th>
				<td>
					<p><input type="text" class="regular-text" name="public_key" id="public-key" value="<?php 
            echo esc_attr($git_public_key);
            ?>
" readonly="readonly">
					<input type="submit" name="GitiumSubmitRegeneratePublicKey" class="button" value="<?php 
            _e('Regenerate Key', 'gitium');
            ?>
" /></p>
					<p class="description"><?php 
            _e('If your code use ssh keybased authentication for git you need to allow write access to your repository using this key.', 'gitium');
            ?>
<br />
					<?php 
            _e('Checkout instructions for <a href="https://help.github.com/articles/generating-ssh-keys#step-3-add-your-ssh-key-to-github" target="_blank">github</a> or <a href="https://confluence.atlassian.com/display/BITBUCKET/Add+an+SSH+key+to+an+account#AddanSSHkeytoanaccount-HowtoaddakeyusingSSHforOSXorLinux" target="_blank">bitbucket</a>.', 'gitium');
            ?>
					</p>
				</td>
			</tr>
		<?php 
        }
    }
Esempio n. 2
0
function _gitium_commit_changes($message, $dir = '.')
{
    global $git;
    list(, $git_private_key) = gitium_get_keypair();
    $git->set_key($git_private_key);
    $git->add($dir);
    gitium_update_versions();
    $current_user = wp_get_current_user();
    return $git->commit($message, $current_user->display_name, $current_user->user_email);
}
Esempio n. 3
0
 public function __construct()
 {
     global $git;
     list(, $git_private_key) = gitium_get_keypair();
     $git->set_key($git_private_key);
     if (current_user_can('manage_options')) {
         // admin actions
         if ($this->has_configuration()) {
             new Gitium_Submenu_Status();
             new Gitium_Submenu_Commits();
             new Gitium_Submenu_Settings();
             new Gitium_Menu_Bubble();
         } else {
             new Gitium_Submenu_Configure();
         }
     }
 }
Esempio n. 4
0
function gitium_auto_push($msg_prepend = '')
{
    global $git;
    list(, $git_private_key) = gitium_get_keypair();
    $git->set_key($git_private_key);
    $commits = gitium_group_commit_modified_plugins_and_themes($msg_prepend);
    gitium_merge_and_push($commits);
    gitium_update_versions();
}
Esempio n. 5
0
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/
header('Content-Type: text/html');
define('SHORTINIT', true);
$wordpress_loader = $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php';
require_once $wordpress_loader;
require_once __DIR__ . '/gitium.php';
function exit_with_error($message)
{
    gitium_disable_maintenance_mode();
    wp_die($message);
}
$webhook_key = get_option('gitium_webhook_key', '');
if (!empty($webhook_key) && isset($_GET['key']) && $webhook_key == $_GET['key']) {
    '1.7' <= substr($git->get_version(), 0, 3) or wp_die('Gitium plugin require minimum `git version 1.7`!');
    list($git_public_key, $git_private_key) = gitium_get_keypair();
    $git->set_key($git_private_key);
    gitium_enable_maintenance_mode() or wp_die('Could not enable the maintenance mode!...');
    $commitmsg = sprintf('Merged changes from %s on %s', $_SERVER['SERVER_NAME'], date('m.d.Y'));
    $commits = array();
    if ($git->is_dirty() && $git->add() > 0) {
        $commits[] = $git->commit($commitmsg) or wp_die('Could not commit local changes!');
    }
    $git->fetch_ref() or exit_with_error('Cound not fetch from remote repo.');
    $git->merge_with_accept_mine($commits) or exit_with_error('Could not merge changes.');
    gitium_disable_maintenance_mode();
    if (!$git->push()) {
        wp_die('Push failed!' . ' <pre>' . $git->get_last_error() . '</pre>');
    }
    wp_die($commitmsg, 'Pull done!', array('response' => 200));
} else {