CLASSNAME: ' . $classname . '
' . endl; if ($extends != '') $html .= 'EXTENDS: ' . $extends . '
' . endl; $html .= '' . endl; //// // Get constants from source code //// $html .= '' . endl; $html .= '' . endl; $html .= '' . endl; $regexp = '/define[(](.*?);/si'; preg_match_all($regexp,$buffer,$const); $const = $const[0]; for($i=0; $i < count($const) ; $i++) { $html .= '' . endl; $html .= '' . endl; $html .= '' . endl; } //// // Get imports from source code //// $html .= '' . endl; $html .= '' . endl; $html .= '' . endl; $regexp = '/((require|include)[(_].*?);/si'; preg_match_all($regexp,$buffer,$imports); $imports = $imports[0]; for($i=0; $i < count($imports) ; $i++) { $html .= '' . endl; $html .= '' . endl; $html .= '' . endl; } //// // Get attributes from class //// $html .= '' . endl; $html .= '' . endl; $html .= '' . endl; $regexp = '|var\\s(.+);\\s*(//!\\s*?(\\S+))?|mi'; preg_match_all($regexp,$buffer,$atr); $vname = $atr[1]; $vtype = $atr[3]; if(!empty($vname)) { $html .= '' . endl; $html .= '' . endl; $html .= '' . endl; $html .= '' . endl; } for($i=0; $i < count($vname) ; $i++) { $html .= '' . endl; $html .= '' . endl; $html .= '' . endl; $html .= '' . endl; } ///// // Get class' methods ///// $html .= '' . endl; $html .= '' . endl; $html .= '' . endl; $regexp = '|function\\s([^)]*)[)].*?(//!.*?)*;|si'; preg_match_all($regexp,$buffer,$func); $funcname = $func[1]; $funccomment = $func[0]; for($i=0; $i < count($funcname) ; $i++) { $html .= '' . endl; $html .= '' . endl; $html .= '' . endl; $desc = ''; $ret = ''; $regexp = '|//!(.*)|mi'; preg_match_all($regexp,$funccomment[$i],$temp); $temp = $temp[1]; if (empty($temp[0])) continue; foreach($temp as $val) { if (strstr($val,'@desc')) { $regexp = '|.*?@desc(.*)|si'; preg_match($regexp,$val,$temp2); $desc = $temp2[1]; } elseif (strstr($val,'@return')) { $regexp = '|.*?@return(.*)|si'; preg_match($regexp,$val,$temp3); $ret = $temp3[1]; } } if ($ret != '' or $desc != '') { $html .= '' . endl; //@return column $html .= '' . endl; //@desc column $html .= '' . endl; $html .= '' . endl; } } ///// $html .= '
' . endl; $html .= 'CONSTANTS' . endl; $html .= '
' . endl; $html .= '' . $const[$i] . '' .endl; $html .= '
' . endl; $html .= 'IMPORTS' . endl; $html .= '
' . endl; $html .= '' . $imports[$i] . '' .endl; $html .= '
' . endl; $html .= 'ATTRIBUTES' . endl; $html .= '
' . endl; $html .= 'TYPE' . endl; $html .= '' . endl; $html .= 'NAME' . endl; $html .= '
' . endl; if (empty($vtype[$i])) $html .= '(???)' . endl; else $html .= '('. $vtype[$i] .')' . endl; $html .= '' . endl; $html .= 'var ' . $vname[$i] . ';' . endl; $html .= '
' . endl; $html .= 'METHODS' . endl; $html .= '
' . endl; $html .= 'function ' . $funcname[$i] . ')' . endl; $html .= '
' . endl; if ($ret == '') $html .= 'Return: ?void?' . endl; else $html .= 'Return: ' . trim($ret) . '' . endl; $html .= '' . endl; if ($desc == '') $html .= 'OBS: ' . endl; else $html .= 'OBS: ' . trim($desc) . '' . endl; $html .= '
'; return $html; } ?>