A PHP Error was encountered

Severity: 8192

Message: Function create_function() is deprecated

Filename: geshi/geshi.php

Line Number: 4698

Backtrace:

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 4698
Function: _error_handler

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 4621
Function: _optimize_regexp_list_tokens_to_string

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 1655
Function: optimize_regexp_list

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 2029
Function: optimize_keyword_group

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 2168
Function: build_parse_cache

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/Process.php
Line: 45
Function: parse_code

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/models/Pastes.php
Line: 517
Function: syntax

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/controllers/Main.php
Line: 551
Function: getPaste

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/system/core/Exceptions.php:271)

Filename: view/raw.php

Line Number: 2

Backtrace:

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/themes/geocities/views/view/raw.php
Line: 2
Function: header

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/core/MY_Loader.php
Line: 173
Function: include

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/core/MY_Loader.php
Line: 43
Function: _ci_load

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/controllers/Main.php
Line: 558
Function: view

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/index.php
Line: 315
Function: require_once

* @package PHP WSDL generator * @version 1.2.2 */ class PHPParser { /** * Array with all the files to be parsed * * @var array */ private $files = array(); /** * Classes to be ignored on parsing * * @var array */ private $ignoredClasses = array(); /** * Methods to be ignored on parsing * * @var array */ private $ignoredMethods = array(); /** * Auto ignore all public methods * * @var boolean */ private $ignorePublic = false; /** * Auto ignore all protected methods * * @var boolean */ private $ignoreProtected = true; /** * Auto ignore all private methods * * @var boolean */ private $ignorePrivate = true; /** * Auto ignore all static methods * * @var boolean */ private $ignoreStatic = false; /** * Array holding all the classes * * @var array */ private $classes = array(); /** * Array holding found classes but with errors (only classes withoutmethods for now) * * @var array */ private $foundClasses = array(); /** * Array holding all the classes variables * * @var array */ private $classesVars = array(); /** * Array holding all the data * * @var array */ private $allData = array(); /** * Current class that is parsed * * @var string */ private $currentClass; /** * The latest comment found for a method * * @var string */ private $currentMethodComment; /** * The latest type found for a method * * @var string */ private $currentMethodType; /** * The latest method found for a class * * @var string */ private $currentMethod; /** * Latest parameters found for a method * * @var array */ private $currentParams = array(); /** * The variable that holds the XML * * @var XMLCreator */ private $WSDL; /** * Messages for the WSDL * * @var array */ private $WSDLMessages = array(); /** * Bindings for the WSDL * * @var array */ private $bindings = array(); /** * PortTypes for the WSDL * * @var array */ private $portTypes = array(); /** * Services for the WSDL * * @var array */ private $WSDLService = array(); /** * Constructor * */ public function __construct () { } /** * Unignore all. * All ignored items will be removed (including method types) * */ public function ignoreNone () { $this->ignoredClasses = array(); $this->ignoredMethods = array(); $this->ignorePrivate = array(); $this->ignoreProtected = array(); $this->ignorePublic = array(); $this->ignoreStatic = array(); } /** * Ignore or not all public methods * * @param boolean $ignore */ public function ignorePublic ($ignore = false) { if ($ignore === true) { $this->ignorePublic = true; } elseif ($ignore === false) { $this->ignorePublic = false; } } /** * Ignore or not all protected methods * * @param boolean $ignore */ public function ignoreProtected ($ignore = false) { if ($ignore === true) { $this->ignoreProtected = true; } elseif ($ignore === false) { $this->ignoreProtected = false; } } /** * Ignore or not all private methods * * @param boolean $ignore */ public function ignorePrivate ($ignore = false) { if ($ignore === true) { $this->ignorePrivate = true; } elseif ($ignore === false) { $this->ignorePrivate = false; } } /** * Ignore or not all static methods * * @param boolean $ignore */ public function ignoreStatic ($ignore = false) { if ($ignore === true) { $this->ignoreStatic = true; } elseif ($ignore === false) { $this->ignoreStatic = false; } } /** * Add a class name to ignore on parsing * * @param string $class */ public function ignoreClass ($class) { $this->ignoredClasses[] = $class; } /** * Add classes to ignor on parsing * * @param array $classes */ public function ignoreClasses ($classes) { if (is_array($classes)) { foreach ($classes as $class) { $this->ignoreClass($class); } } } /** * Add a method of a class to ignore on parsing * * @param array $method */ public function ignoreMethod ($method) { if (is_array($method)) { $this->ignoredMethods[key($method)][] = $method[key($method)]; } } /** * Add methods of classes to ignore on parsing * * @param array $methods */ public function ignoreMethods ($methods) { if (is_array($methods)) { foreach ($methods as $class=>$method) { if ($class != "" && $method != "") $this->ignoredMethods[$class][] = $method; } } } /** * Add a file to parse * * @param string $file */ public function addFile ($file) { if (file_exists($file)) { $this->files[] = $file; } else { trigger_error("File ".$file." does not exist !!", E_USER_ERROR); } } /** * Return the next token resulted alfter token_get_all() * * @return array */ private function getNextToken () { if (is_array($this->allData)) { while (($c = next($this->allData))) { if (!is_array($c) || $c[0] == T_WHITESPACE) { // 370 continue; } break; } return current($this->allData); } return false; } /** * Return the previous token exept white space * * @return array */ private function getPrevToken () { if (is_array($this->allData)) { while (($c = prev($this->allData))) { if (!is_array($c) || $c[0] == T_WHITESPACE) { // 370 continue; } break; } return current($this->allData); } return false; } /** * Get next token with a type * * @param integer $type * @return array */ private function getNextTokenWithType ($type) { while (($current = $this->getNextToken())) { if($current[0] == $type) { return current($this->allData); } } return array(); } /** * Parse a file * It gets the data from $this->all_data * */ private function parseFile () { $lookForClassVariables = true; // When this will be set as false we will not look for class variables because a function was defined while (($token = $this->getNextToken())) { // print_r($this->allData);exit; if ($token[0] == T_CLASS) { // T_CLASS $className = $this->getNextTokenWithType(T_STRING); $this->currentClass = $className[1]; $this->currentMethodComment = $this->currentMethodType = $this->currentMethod = $this->currentParams = null; continue; } if ($lookForClassVariables === true && $token[0] == T_VARIABLE && $this->currentClass != null) { $varName = substr($token[1], 1); $this->classesVars[$this->currentClass][$varName] = ""; continue; } if ($token[0] == T_DOC_COMMENT) { // T_DOC_COMMENT $nt = $this->getNextToken(); if ($nt[0] == T_FUNCTION || $nt[0] == T_STATIC || $nt[0] == T_ABSTRACT || $nt[0] == T_FINAL || $nt[0] == T_PRIVATE || $nt[0] == T_PROTECTED || $nt[0] == T_PUBLIC) { // public | protected | private | final | abstract | static | function $nnt = $this->getNextToken(); if ($nnt[0] == T_VARIABLE) { $varName = substr($nnt[1], 1); $this->getPrevToken(); $varType = $this->getPrevToken(); if ($varType[0] == T_DOC_COMMENT) { $varType = $this->parseComment($varType[1]); $varType = $varType['params']['type']; $this->classesVars[$this->currentClass][$varName] = $varType; } continue; } else { $this->getPrevToken(); } $this->currentMethodComment = $token[1]; $this->currentMethod = null; $this->currentParams = null; $this->getPrevToken(); continue; } } if (isset($nt) && ($nt[0] == T_STATIC || $nt[0] == T_ABSTRACT || $nt[0] == T_FINAL || $nt[0] == T_PRIVATE || $nt[0] == T_PROTECTED || $nt[0] == T_PUBLIC)) { // public | protected | private | final | abstract | static $this->currentMethodType = $token[1] ? $token[1] : "public"; $this->currentMethod = $this->currentParams = null; $token = $this->getNextToken(); } else { $this->currentMethodType = "public"; } if ($token[0] == T_FUNCTION) { // T_FUNCTION $lookForClassVariables = false; $f = $this->getNextTokenWithType(T_STRING); $this->currentMethod = $f[1]; $this->currentParams = null; if (next($this->allData) == "(") { while (($p = next($this->allData)) != ")") { if ($p[0] == T_VARIABLE) { // T_VARIABLE $this->currentParams[] = $p[1]; } } } } if (!isset($this->classes[$this->currentClass])) { $this->foundClasses[$this->currentClass] = $this->currentClass; } if ($this->currentClass && $this->currentMethod) { $this->classes[$this->currentClass][$this->currentMethod]["comment"] = $this->currentMethodComment; if ($this->currentMethod == null) $this->currentMethod = "public"; $this->classes[$this->currentClass][$this->currentMethod]["type"] = $this->currentMethodType; $this->classes[$this->currentClass][$this->currentMethod]["params"] = $this->currentParams; $this->currentMethodComment = $this->currentMethodType = $this->currentMethod = $this->currentParams = null; } } } /** * Filter classes * Extracts all the ignored classes and methods and methods types * */ private function filterClasses () { foreach ($this->classes as $class=>$methods) { if (in_array($class, $this->ignoredClasses)) { unset($this->classes[$class]); continue; } foreach ($methods as $method=>$attrs) { if (($attrs["type"] == "public" && $this->ignorePublic === true) || ($attrs["type"] == "protected" && $this->ignoreProtected === true) || ($attrs["type"] == "private" && $this->ignorePrivate === true) || ($attrs["type"] == "static" && $this->ignoreStatic === true)) { unset($this->classes[$class][$method]); } if (isset($this->ignoredMethods[$class]) && is_array($this->ignoredMethods[$class])) { if (in_array($method, $this->ignoredMethods[$class])) { unset($this->classes[$class][$method]); } } } } } /** * Parse a comment * Extracts description, parameters type and return type * * @param string $comment * @return array */ private function parseComment ($comment) { $comment = trim($comment); if ($comment == "") return ""; if (strpos($comment, "/*") === 0 && strripos($comment, "*/") === strlen($comment)-2) { $lines = preg_split("(\\n\\r|\\r\\n\\|\\r|\\n)", $comment); $description = ""; $returntype = ""; $params = array(); while (next($lines)) { $line = trim(current($lines)); $line = trim(substr($line, strpos($line, "* ")+2)); if (isset($line[0]) && $line[0] == "@") { $parts = explode(" ", $line); if ($parts[0] == "@return") { $returntype = $parts[1]; } elseif ($parts[0] == "@param") { $params[$parts[2]] = $parts[1]; } elseif ($parts[0] == "@var") { $params['type'] = $parts[1]; } } else { $description .= "\n".trim($line); } } $comment = array("description"=>$description, "params"=>$params, "return"=>$returntype); return $comment; } else { return ""; } } /** * Parse the classes * */ private function parseClasses () { $classes = $this->classes; $this->classes = array(); foreach ($classes as $class=>$methods) { foreach ($methods as $method=>$attributes) { $this->classes[$class][$method]["type"] = $attributes["type"]; $commentParsed = $this->parseComment($attributes["comment"]); $this->classes[$class][$method]["returnType"] = !isset($commentParsed["return"]) ? false : $commentParsed["return"]; $this->classes[$class][$method]["description"] = isset($commentParsed["description"]) ? $commentParsed["description"] : ""; if (is_array($attributes["params"])) { foreach ($attributes["params"] as $param) { $paramName = substr($param, 1); $this->classes[$class][$method]["params"][$paramName]["varName"] = $param; if (isset($commentParsed["params"][$param])) $this->classes[$class][$method]["params"][$paramName]["varType"] = $commentParsed["params"][$param]; } } } } } /** * Get all the parsed classes from the files (filtered) * * @return array */ public function getClasses () { foreach ($this->files as $file) { $this->allData = token_get_all(file_get_contents($file)); $this->parseFile(file_get_contents($file)); } $this->filterClasses(); $this->parseClasses(); return $this->classes; } /** * Get all found classes (after parsing) * * @return array */ public function getFoundClasses () { return $this->foundClasses; } /** * Get all the variables of the classes defined in the files * * @return array */ public function getClassesVars () { return $this->classesVars; } } ?>