summaryrefslogtreecommitdiff
path: root/buildscripts/PhpDocumentor/phpDocumentor/LinkClasses.inc
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/PhpDocumentor/phpDocumentor/LinkClasses.inc')
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/LinkClasses.inc361
1 files changed, 361 insertions, 0 deletions
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/LinkClasses.inc b/buildscripts/PhpDocumentor/phpDocumentor/LinkClasses.inc
new file mode 100755
index 00000000..ceeca4ad
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/LinkClasses.inc
@@ -0,0 +1,361 @@
+<?php
+/**
+ * Linking to element documentation is performed by the classes in this file.
+ *
+ * abstractLink descendants contain enough information to differentiate every
+ * documentable element, and so can be converted to a link string by
+ * {@link Converter::returnSee()}
+ *
+ * phpDocumentor :: automatic documentation generator
+ *
+ * PHP versions 4 and 5
+ *
+ * Copyright (c) 2002-2008 Gregory Beaver
+ *
+ * LICENSE:
+ *
+ * This library is free software; you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General
+ * Public License as published by the Free Software Foundation;
+ * either version 2.1 of the License, or (at your option) any
+ * later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Links
+ * @author Gregory Beaver <cellog@php.net>
+ * @copyright 2002-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version CVS: $Id: LinkClasses.inc 253641 2008-02-24 02:35:44Z ashnazg $
+ * @filesource
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @since 1.2.0
+ * @todo CS cleanup - change package to PhpDocumentor
+ */
+
+/**
+ * linking classes parent
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Links
+ * @author Gregory Beaver <cellog@php.net>
+ * @copyright 2002-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ * @todo CS cleanup - change classname to PhpDocumentor_*
+ */
+class abstractLink
+{
+ /**#@+
+ * @var string
+ */
+ var $path;
+ /**
+ * phpdoc alias _phpdoc_inc for phpdoc.inc
+ */
+ var $fileAlias = '';
+ /**
+ * element type linked to.
+ * can only be a documentable element
+ */
+ var $type = '';
+ var $name = '';
+ var $category = '';
+ var $package = '';
+ var $subpackage = '';
+ /**#@-*/
+
+ /**
+ * sets up the link
+ *
+ * @param string $path full path to file containing element
+ * @param string $fileAlias page name, as configured by {@link Parser::parse}
+ * @param string $name element name
+ * @param string $package package element is in
+ * @param string $subpackage subpackage element is in
+ * @param string $category optional category that documentation is in
+ *
+ * @return void
+ */
+ function addLink($path, $fileAlias, $name, $package, $subpackage,
+ $category = false)
+ {
+ $this->path = $path;
+ $this->fileAlias = $fileAlias;
+ $this->name = $name;
+ $this->category = $category;
+ $this->package = $package;
+ $this->subpackage = $subpackage;
+ }
+}
+
+/**
+ * procedural page link
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Links
+ * @author Gregory Beaver <cellog@php.net>
+ * @copyright 2002-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ * @todo CS cleanup - change classname to PhpDocumentor_*
+ */
+class pageLink extends abstractLink
+{
+ /**
+ * @var string
+ */
+ var $type = 'page';
+}
+
+/**
+ * function link
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Links
+ * @author Gregory Beaver <cellog@php.net>
+ * @copyright 2002-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ * @todo CS cleanup - change classname to PhpDocumentor_*
+ */
+class functionLink extends abstractLink
+{
+ /**
+ * @var string
+ */
+ var $type = 'function';
+}
+
+/**
+ * define link
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Links
+ * @author Gregory Beaver <cellog@php.net>
+ * @copyright 2002-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ * @todo CS cleanup - change classname to PhpDocumentor_*
+ */
+class defineLink extends abstractLink
+{
+ /**
+ * @var string
+ */
+ var $type = 'define';
+}
+
+/**
+ * global variable link
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Links
+ * @author Gregory Beaver <cellog@php.net>
+ * @copyright 2002-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ * @todo CS cleanup - change classname to PhpDocumentor_*
+ */
+class globalLink extends abstractLink
+{
+ /**
+ * @var string
+ */
+ var $type = 'global';
+}
+
+/**
+ * class link
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Links
+ * @author Gregory Beaver <cellog@php.net>
+ * @copyright 2002-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ * @todo CS cleanup - change classname to PhpDocumentor_*
+ */
+class classLink extends abstractLink
+{
+ /**
+ * @var string
+ */
+ var $type = 'class';
+}
+
+/**
+ * method link
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Links
+ * @author Gregory Beaver <cellog@php.net>
+ * @copyright 2002-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ * @todo CS cleanup - change classname to PhpDocumentor_*
+ */
+class methodLink extends abstractLink
+{
+ /**
+ * @var string
+ */
+ var $type = 'method';
+ /**
+ * @var string
+ */
+ var $class = '';
+
+ /**
+ * sets up the link
+ *
+ * @param string $class class name
+ * @param string $path full path to file containing element
+ * @param string $fileAlias page name, as configured by {@link Parser::parse}
+ * @param string $name element name
+ * @param string $package package element is in
+ * @param string $subpackage subpackage element is in
+ * @param string $category optional category that documentation is in
+ *
+ * @return void
+ */
+ function addLink($class, $path , $fileAlias, $name, $package, $subpackage,
+ $category = false)
+ {
+ $this->class = $class;
+ abstractLink::addLink($path, $fileAlias, $name, $package, $subpackage,
+ $category);
+ }
+}
+
+/**
+ * class variable link
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Links
+ * @author Gregory Beaver <cellog@php.net>
+ * @copyright 2002-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ * @todo CS cleanup - change classname to PhpDocumentor_*
+ */
+class varLink extends methodLink
+{
+ /**
+ * @var string
+ */
+ var $type = 'var';
+}
+
+/**
+ * class constant link
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Links
+ * @author Gregory Beaver <cellog@php.net>
+ * @copyright 2002-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ * @todo CS cleanup - change classname to PhpDocumentor_*
+ */
+class constLink extends methodLink
+{
+ /**
+ * @var string
+ */
+ var $type = 'const';
+}
+
+/**
+ * tutorial link
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Links
+ * @author Gregory Beaver <cellog@php.net>
+ * @copyright 2002-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ * @todo CS cleanup - change classname to PhpDocumentor_*
+ */
+class tutorialLink extends abstractLink
+{
+ /**#@+
+ * @var string
+ */
+ var $type = 'tutorial';
+ var $section = '';
+ var $title = false;
+ /**#@-*/
+
+ /**
+ * sets up the link
+ *
+ * @param string $section section/subsection name
+ * @param string $path full path to file containing element
+ * @param string $name page name, as configured by {@link Parser::parse}
+ * @param string $package package element is in
+ * @param string $subpackage subpackage element is in
+ * @param string $title title of tutorial
+ * @param string $category optional category that documentation is in
+ *
+ * @return void
+ */
+ function addLink($section, $path, $name, $package, $subpackage, $title = false,
+ $category = false)
+ {
+ $this->section = $section;
+ $this->title = $title;
+ parent::addLink($path, '', $name, $package, $subpackage, $category);
+ }
+}
+?>