_classes=unserialize(file_get_contents($dataFile));
if(($className=$this->Request['class'])!==null && isset($this->_classes[$className]))
{
$this->Class=$this->_classes[$className];
$this->Class['Name']=$className;
$this->Title='PRADO - Documentation of '.$className;
}
else
$this->Response->redirect('/docs/classdoc/');
}
public function getAncestors()
{
$ancestors=array();
$thisClass=$this->Class;
while(true)
{
$parentClass=$thisClass['ParentClass'];
if(isset($this->_classes[$parentClass]))
{
$ancestors[]=$parentClass;
$thisClass=$this->_classes[$parentClass];
}
else
break;
}
$ancestors=array_reverse($ancestors);
$s='';
foreach($ancestors as $ancestor)
$s.="$ancestor »\n";
if($s!=='')
$s="
\nInheritance: $s
\n";
return $s;
}
public function getProperties()
{
$class=$this->Class;
$className=$this->Class['Name'];
$s='';
foreach($class['Properties'] as $name=>$property)
{
$inherited=strcasecmp($property['class'],$className)!==0;
$rowclass=$inherited?'doc-inherited':'doc-native';
$s.="\n";
$access='';
if($property['readonly'])
$access.='R';
if($property['protected'])
$access.='P';
if($access==='')
$access=' ';
$s.="$access | \n";
if($inherited)
{
$parentClass=$property['class'];
if(isset($this->_classes[$parentClass]))
{
$url="../manual/CHMdefaultConverter/{$this->_classes[$parentClass]['Package']}/{$parentClass}.html#methodget{$name}";
$s.="$name | \n";
}
else
$s.="$name | \n";
}
else
{
$url="../manual/CHMdefaultConverter/{$class['Package']}/{$className}.html#methodget{$name}";
$s.="$name | \n";
}
$type=$property['type'];
if(isset($this->_classes[$type]))
{
$url="$type.html";
$s.="$type | \n";
}
else
$s.="$type | \n";
$comments=rtrim($property['comments'],'.').'.';
if($inherited)
{
$parentClass=$property['class'];
if(isset($this->_classes[$parentClass]))
{
$url="$parentClass.html";
$comments.=" (inherited from $parentClass)";
}
else
$comments.=" (inherited from {$parentClass})";
}
$s.="$comments | \n";
$s.="
\n";
}
$header="\n | Name | Type | Description | \n
\n";
return $s===''?'':"\n";
}
public function getEvents()
{
$class=$this->Class;
$className=$this->Class['Name'];
$s='';
foreach($class['Events'] as $name=>$event)
{
$inherited=strcasecmp($event['class'],$className)!==0;
$rowclass=$inherited?'doc-inherited':'doc-native';
$s.="\n";
$methodName=$name;
$methodName[0]='o';
if($inherited)
{
$parentClass=$event['class'];
if(isset($this->_classes[$parentClass]))
{
$url="../manual/CHMdefaultConverter/{$this->_classes[$parentClass]['Package']}/{$parentClass}.html#method{$methodName}";
$s.="$name | \n";
}
else
$s.="$name | \n";
}
else
{
$url="../manual/CHMdefaultConverter/{$class['Package']}/{$className}.html#method{$methodName}";
$s.="$name | \n";
}
$comments=rtrim($event['comments'],'.').'.';
if($inherited)
{
$parentClass=$event['class'];
if(isset($this->_classes[$parentClass]))
{
$url="$parentClass.html";
$comments.=" (inherited from $parentClass)";
}
else
$comments.=" (inherited from {$parentClass})";
}
$s.="$comments | \n";
$s.="
\n";
}
$header="\nName | Description | \n
\n";
return $s===''?'':"\n";
}
public function getMethods()
{
$class=$this->Class;
$className=$this->Class['Name'];
$s='';
foreach($class['Methods'] as $name=>$method)
{
$inherited=strcasecmp($method['class'],$className)!==0;
$rowclass=$inherited?'doc-inherited':'doc-native';
$s.="\n";
$access='';
if($method['static'])
$access.='S';
if($method['protected'])
$access.='P';
if($access==='')
$access=' ';
$s.="$access | \n";
if($inherited)
{
$parentClass=$method['class'];
if(isset($this->_classes[$parentClass]))
{
$url="../manual/CHMdefaultConverter/{$this->_classes[$parentClass]['Package']}/{$parentClass}.html#method{$name}";
$s.="$name | \n";
}
else
$s.="$name | \n";
}
else
{
$url="../manual/CHMdefaultConverter/{$class['Package']}/{$className}.html#method{$name}";
$s.="$name | \n";
}
$comments=rtrim($method['comments'],'.').'.';
if($inherited)
{
$parentClass=$method['class'];
if(isset($this->_classes[$parentClass]))
{
$url="$parentClass.html";
$comments.=" (inherited from $parentClass)";
}
else
$comments.=" (inherited from {$parentClass})";
}
$s.="$comments | \n";
$s.="
\n";
}
$header="\n | Name | Description | \n
\n";
return $s===''?'':"\n";
}
public function getDerived()
{
$class=$this->Class;
$s='';
foreach($class['ChildClasses'] as $childName)
$s.="$childName\n";
return $s===''?'':"\n";
}
}
?>