diff options
Diffstat (limited to 'engine/classes/ElggPluginManifest.php')
| -rw-r--r-- | engine/classes/ElggPluginManifest.php | 48 | 
1 files changed, 45 insertions, 3 deletions
| diff --git a/engine/classes/ElggPluginManifest.php b/engine/classes/ElggPluginManifest.php index 7aa702d47..a4f5bb95d 100644 --- a/engine/classes/ElggPluginManifest.php +++ b/engine/classes/ElggPluginManifest.php @@ -264,7 +264,7 @@ class ElggPluginManifest {  	/**  	 * Returns the license  	 * -	 * @return sting +	 * @return string  	 */  	public function getLicense() {  		// license vs licence.  Use license. @@ -276,6 +276,32 @@ class ElggPluginManifest {  		}  	} +	/** +	 * Returns the repository url +	 * +	 * @return string +	 */ +	public function getRepositoryURL() { +		return $this->parser->getAttribute('repository'); +	} + +	/** +	 * Returns the bug tracker page +	 * +	 * @return string +	 */ +	public function getBugTrackerURL() { +		return $this->parser->getAttribute('bugtracker'); +	} + +	/** +	 * Returns the donations page +	 * +	 * @return string +	 */ +	public function getDonationsPageURL() { +		return $this->parser->getAttribute('donations'); +	}  	/**  	 * Returns the version of the plugin. @@ -319,12 +345,26 @@ class ElggPluginManifest {  	 * @return array  	 */  	public function getCategories() { +		$bundled_plugins = array('blog', 'bookmarks', 'categories', +			'custom_index', 'dashboard', 'developers', 'diagnostics', +			'embed', 'externalpages', 'file', 'garbagecollector', +			'groups', 'htmlawed', 'invitefriends', 'likes', +			'logbrowser', 'logrotate', 'members', 'messageboard', +			'messages', 'notifications', 'oauth_api', 'pages', 'profile', +			'reportedcontent', 'search', 'tagcloud', 'thewire', 'tinymce', +			'twitter', 'twitter_api', 'uservalidationbyemail', 'zaudio', +		); +  		$cats = $this->parser->getAttribute('category');  		if (!$cats) {  			$cats = array();  		} +		if (in_array('bundled', $cats) && !in_array($this->getPluginID(), $bundled_plugins)) { +			unset($cats[array_search('bundled', $cats)]); +		} +  		return $cats;  	} @@ -442,7 +482,7 @@ class ElggPluginManifest {  	 * Normalizes a dependency array using the defined structs.  	 * Can be used with either requires or suggests.  	 * -	 * @param array $dep An dependency array. +	 * @param array $dep A dependency array.  	 * @return array The normalized deps array.  	 */  	private function normalizeDep($dep) { @@ -486,8 +526,10 @@ class ElggPluginManifest {  							break;  					}  				} -  				break; +			default: +				// unrecognized so we just return the raw dependency +				return $dep;  		}  		$normalized_dep = $this->buildStruct($struct, $dep); | 
