sTEFANs Subversion Web Contol (SWC)
[ class tree: SampleConfig ] [ index: SampleConfig ] [ all elements ]

Source for file tp1_conf.php

Documentation is available at tp1_conf.php

  1. <?php
  2. /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3. SVN Web Control
  4. Copyright ©2006 by sTEFANs
  5. Created on 26.02.2006
  6. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7. This program is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2 of the License, or
  10. (at your option) any later version.
  11.  
  12. This program is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with this program; if not, write to the Free Software
  19. Foundation, Inc., 59 Temple Place - Suite 330,
  20. Boston, MA 02111-1307, USA.
  21. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  22. */
  23.  
  24. /**
  25.  * This file contains sample implementation for a project configuration
  26.  * for Test Project 1, including <i>SwcConfigFactory</i>.
  27.  * <b>Please have a close look to this file for details on <i>SwcConfig</i>
  28.  * and how to configure a standalone project outside SWC</b>. This
  29.  * file is applied as URL-argument to SWC in default.html.
  30.  * 
  31.  * @package SampleConfig
  32.  * @author Stefan Schraml
  33.  * @copyright Copyright ©2006 by sTEFANs
  34.  * @license http://opensource.org/licenses/lgpl-license.php GNU General Public License
  35.  * @version v1.0.0
  36.  * @since v1.0.0
  37.  */
  38.  
  39. /** Interfaces for configuration. */
  40. require_once ('swc/inc/config.inc.php');
  41.  
  42. /** 
  43.  * Returns a factory for the project <b>SwcConfig</b>.
  44.  * This function must be provided to enable SWC
  45.  * to get the <i>SwcConfigFactory</i>.
  46.  * 
  47.  * @since v1.0.0
  48.  */
  49. function GetSwcConfigFactory(){
  50. }
  51.  
  52. /** 
  53.  * Implements the <b>SwcConfigFactory</b> that
  54.  * provides the <b>SwcConfig</b> for Test Project1.
  55.  * 
  56.  * @package SampleConfig
  57.  * @since v1.0.0
  58.  */
  59. class TestProject1ConfigFactory implements SwcConfigFactory {
  60.     
  61.     private static $instance NULL;
  62.     private $configs = NULL;
  63.     
  64.     /** 
  65.      * Returns the single instance of this class.
  66.      * 
  67.      * @since v1.0.0
  68.      */
  69.     public static function GetInstance(){
  70.         if (self::$instance == NULL){
  71.             self::$instance new TestProject1ConfigFactory();
  72.         }
  73.         return self::$instance;
  74.     }
  75.     
  76.     /** 
  77.      * Returns an array having an instance of
  78.      * <b>TestProject1Config</b>.
  79.      * @return array Array with <b>Test1ProjectConfig</b> object.
  80.      * 
  81.      * @since v1.0.0
  82.      */ 
  83.     public function GetSwcConfigs(){
  84.         return $this->configs;
  85.     }
  86.     
  87.     /** 
  88.      * Does nothing but prevent from cloning.
  89.      * 
  90.      * @since v1.0.0
  91.      */
  92.     public function __clone(){
  93.   }
  94.     
  95.     /** 
  96.      * Singleton c'tor that instantiates <i>SwcConfig</i>
  97.      * for Test Project 1.
  98.      * 
  99.      * @since v1.0.0
  100.      */
  101.     private function __construct(){
  102.         $this->configs = array(new TestProject1StandaloneConfig());
  103.     }
  104. }
  105.  
  106. /** 
  107.  * This class implements a sample configuration
  108.  * for Test Project 1.
  109.  * 
  110.  * @package SampleConfig
  111.  * @since v1.0.0
  112.  */
  113.  
  114.     /** 
  115.      * Returns a user friendly name for the project.
  116.      * @return string User friendly project name.
  117.      * 
  118.      * @since v1.0.0
  119.      */
  120.     public function GetProjectName(){
  121.         return 'SVN Web Control';
  122.     }
  123.     
  124.     /** 
  125.      * Returns the relative URL of the Webpage under control.
  126.      * @return string URL of page to display in MainFrame.
  127.      * 
  128.      * @since v1.0.0
  129.      */
  130.     public function GetMainFrame(){
  131.         return '../test_project1/test.html';
  132.     }
  133.     
  134.     /** Returns the URL of the repository for the main frame.
  135.      * @return string URL of repository. Any protocol
  136.      *  (http://, svn://, etc.) is supported.
  137.      *  <br>
  138.      *  <b>Note:</b> <i>public function GetRepositoryRootDir</i> is deprecated
  139.      *  and removed from <i>SwcConfig</i> interface in SWC v1.1.0.
  140.      *  Please use <i>GetRepositoryRoot</i> instead. */
  141.     public function GetRepositoryRoot(){
  142.         return 'http://your-svn-server/svn_web_control';
  143.     }
  144.     
  145.     /** 
  146.      * Returns the absolute path of the repository in the local file system.
  147.      * @return string Absolute path of the repository.
  148.      * @deprecated v1.1.0 Use GetRepositroyRoot() instead to configure the repository root.
  149.      * @see SwcConfig::GetRepositoryRoot
  150.      * @since v1.0.0
  151.      */
  152.     public function GetRepositoryRootDir(){
  153.         return '/path-to-repository/svn_web_control';
  154.     }
  155.     
  156.     /** 
  157.      * Returns the HTTP URL for the workspace where the project
  158.      * is checked out. Used by SVN.
  159.      * @return string URL of Webspace.
  160.      * @deprecated v1.1.0 Use <i>GetWebspaceRootDir</i> instead to configure
  161.      *  webspace.
  162.      * @see SwcConfig::GetWebspaceRootDir
  163.      * @since v1.0.0
  164.      */
  165.     public function GetWebspaceRoot(){
  166.         return 'http://your-webspace/';
  167.     }
  168.     /** Returns the absolute path of the workspace directory in the local file system.
  169.      * @return string Absolute path of the workspace.
  170.      *  <br>
  171.      *  <b>Note:</b> <i>public function GetWebspaceRoot</i> is deprecated
  172.      *  and removed from <i>SwcConfig</i> interface in SWC v1.1.0.
  173.      *  Please use <i>GetWebspaceRootDir</i> instead.
  174.      * @since v1.0.0
  175.      */
  176.     public function GetWebspaceRootDir(){
  177.         return '/path-to-your-webspace/';
  178.     }
  179.     
  180.     /** 
  181.      * Returns the URL of WebSVN view for this project or NULL if WebSVN is not available.
  182.      * 
  183.      * @since v1.0.0
  184.      */
  185.     public function GetWebSvnUrl(){
  186.         return 'http://websvn-location?project-params';
  187.     }
  188. }
  189. ?>

Documentation generated on Fri, 03 Nov 2006 18:45:04 +0100 by phpDocumentor 1.3.0RC6
for sTEFANs POWERED BY eBC.bz