54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /*  Copyright 2014-2016 Presslabs SRL <ping@presslabs.com>
 | |
| 
 | |
|     This program is free software; you can redistribute it and/or modify
 | |
|     it under the terms of the GNU General Public License, version 2, as
 | |
|     published by the Free Software Foundation.
 | |
| 
 | |
|     This program is distributed in the hope that it will be useful,
 | |
|     but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|     GNU General Public License for more details.
 | |
| 
 | |
|     You should have received a copy of the GNU General Public License
 | |
|     along with this program; if not, write to the Free Software
 | |
|     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 | |
| */
 | |
| 
 | |
| class Gitium_Admin {
 | |
| 
 | |
| 	public function __construct() {
 | |
| 		global $git;
 | |
| 
 | |
| 		list( , $git_private_key ) = gitium_get_keypair();
 | |
| 		$git->set_key( $git_private_key );
 | |
| 
 | |
| 		if ( current_user_can( GITIUM_MANAGE_OPTIONS_CAPABILITY ) ) {
 | |
| 			$req = new Gitium_Requirements();
 | |
| 			if ( ! $req->get_status() ) {
 | |
| 				return false;
 | |
| 			}
 | |
| 
 | |
| 			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();
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	public function has_configuration() {
 | |
| 		return _gitium_is_status_working() && _gitium_get_remote_tracking_branch();
 | |
| 	}
 | |
| }
 | |
| 
 | |
| if ( ( is_admin() && ! is_multisite() ) || ( is_network_admin() && is_multisite() ) ) {
 | |
| 	add_action( 'init', 'gitium_admin_page' );
 | |
| 	function gitium_admin_page() {
 | |
| 		new Gitium_Admin();
 | |
| 	}
 | |
| }
 |