85 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * WPSEO plugin file.
 | |
|  *
 | |
|  * @package WPSEO\Admin
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * Generates the HTML for a metabox tab.
 | |
|  */
 | |
| class WPSEO_Metabox_Collapsible implements WPSEO_Metabox_Tab {
 | |
| 
 | |
| 	/**
 | |
| 	 * The collapsible's unique identifier.
 | |
| 	 *
 | |
| 	 * @var string
 | |
| 	 */
 | |
| 	private $name;
 | |
| 
 | |
| 	/**
 | |
| 	 * The content to be displayed inside the collapsible.
 | |
| 	 *
 | |
| 	 * @var string
 | |
| 	 */
 | |
| 	private $content;
 | |
| 
 | |
| 	/**
 | |
| 	 * The label.
 | |
| 	 *
 | |
| 	 * @var string
 | |
| 	 */
 | |
| 	private $link_content;
 | |
| 
 | |
| 	/**
 | |
| 	 * Constructor.
 | |
| 	 *
 | |
| 	 * @param string $name         The name of the tab, used as an identifier in the html.
 | |
| 	 * @param string $content      The tab content.
 | |
| 	 * @param string $link_content The text content of the tab link.
 | |
| 	 */
 | |
| 	public function __construct( $name, $content, $link_content ) {
 | |
| 		$this->name         = $name;
 | |
| 		$this->content      = $content;
 | |
| 		$this->link_content = $link_content;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Returns the html for the tab link.
 | |
| 	 *
 | |
| 	 * @return string
 | |
| 	 */
 | |
| 	public function link() {
 | |
| 		return $this->link_content;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Returns the html for the tab content.
 | |
| 	 *
 | |
| 	 * @return string
 | |
| 	 */
 | |
| 	public function content() {
 | |
| 		$collapsible_paper = new WPSEO_Paper_Presenter(
 | |
| 			$this->link(),
 | |
| 			null,
 | |
| 			[
 | |
| 				'content'      => $this->content,
 | |
| 				'collapsible'  => true,
 | |
| 				'class'        => 'metabox wpseo-form wpseo-collapsible-container',
 | |
| 				'paper_id'     => 'collapsible-' . $this->name,
 | |
| 			]
 | |
| 		);
 | |
| 
 | |
| 		return $collapsible_paper->get_output();
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Returns the collapsible's unique identifier.
 | |
| 	 *
 | |
| 	 * @return string
 | |
| 	 */
 | |
| 	public function get_name() {
 | |
| 		return $this->name;
 | |
| 	}
 | |
| }
 |