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 } }
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); }
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(); } } }
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(); }
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 {