multi-line extension descriptions
git-svn-id: file:///home/shish/svn/shimmie2/trunk@824 7f39781d-f577-437e-ae19-be835c7a54ca
This commit is contained in:
		
							parent
							
								
									4621b5e16f
								
							
						
					
					
						commit
						09079f6e72
					
				@ -12,28 +12,40 @@ class ExtensionInfo { // {{{
 | 
			
		||||
 | 
			
		||||
	function ExtensionInfo($main) {
 | 
			
		||||
		$matches = array();
 | 
			
		||||
		$data = file_get_contents($main);
 | 
			
		||||
		$lines = file($main);
 | 
			
		||||
		preg_match("#contrib/(.*)/main.php#", $main, $matches);
 | 
			
		||||
		$this->ext_name = $matches[1];
 | 
			
		||||
		$this->name = $matches[1];
 | 
			
		||||
 | 
			
		||||
		if(preg_match("/Name: (.*)/", $data, $matches)) {
 | 
			
		||||
			$this->name = $matches[1];
 | 
			
		||||
		}
 | 
			
		||||
		if(preg_match("/Link: (.*)/", $data, $matches)) {
 | 
			
		||||
			$this->link = $matches[1];
 | 
			
		||||
		}
 | 
			
		||||
		if(preg_match("/Author: (.*) [<\(](.*@.*)[>\)]/", $data, $matches)) {
 | 
			
		||||
			$this->author = $matches[1];
 | 
			
		||||
			$this->email = $matches[2];
 | 
			
		||||
		}
 | 
			
		||||
		else if(preg_match("/Author: (.*)/", $data, $matches)) {
 | 
			
		||||
			$this->author = $matches[1];
 | 
			
		||||
		}
 | 
			
		||||
		if(preg_match("/Description: (.*)/", $data, $matches)) {
 | 
			
		||||
			$this->description = $matches[1];
 | 
			
		||||
		}
 | 
			
		||||
		$this->name = $this->ext_name;
 | 
			
		||||
		$this->enabled = $this->is_enabled($this->ext_name);
 | 
			
		||||
 | 
			
		||||
		for($i=0; $i<count($lines); $i++) {
 | 
			
		||||
			$line = $lines[$i];
 | 
			
		||||
			if(preg_match("/Name: (.*)/", $line, $matches)) {
 | 
			
		||||
				$this->name = $matches[1];
 | 
			
		||||
			}
 | 
			
		||||
			if(preg_match("/Link: (.*)/", $line, $matches)) {
 | 
			
		||||
				$this->link = $matches[1];
 | 
			
		||||
			}
 | 
			
		||||
			if(preg_match("/Author: (.*) [<\(](.*@.*)[>\)]/", $line, $matches)) {
 | 
			
		||||
				$this->author = $matches[1];
 | 
			
		||||
				$this->email = $matches[2];
 | 
			
		||||
			}
 | 
			
		||||
			else if(preg_match("/Author: (.*)/", $line, $matches)) {
 | 
			
		||||
				$this->author = $matches[1];
 | 
			
		||||
			}
 | 
			
		||||
			if(preg_match("/(.*)Description: (.*)/", $line, $matches)) {
 | 
			
		||||
				$this->description = $matches[2];
 | 
			
		||||
				$start = $matches[1]." ";
 | 
			
		||||
				$start_len = strlen($start);
 | 
			
		||||
				while(substr($lines[$i+1], 0, $start_len) == $start) {
 | 
			
		||||
					$this->description .= substr($lines[$i+1], $start_len);
 | 
			
		||||
					$i++;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			if(preg_match("/\*\//", $line, $matches)) {
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private function is_enabled($fname) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user