Skip to content
Snippets Groups Projects
Select Git revision
  • catalog-rewrite
  • master default
  • develop
3 results

.pear2registry

Blame
  • Forked from Digital Experience Group / UNL_GraduateBulletin
    Source project has a limited visibility.
    modFTP.class.php 5.16 KiB
    <?php
    /* Copyright (C) 2003      Rodolphe Quiedeville <rodolphe@quiedeville.org>
     * Copyright (C) 2004-2008 Laurent Destailleur  <eldy@users.sourceforge.net>
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation; either version 2 of the License, or
     * (at your option) any later version.
     *
     * This program 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 General Public License for more details.
     *
     * You should have received a copy of the GNU General Public License
     * along with this program; if not, write to the Free Software
     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
     */
    
    /**     \defgroup   ftp		Module FTP
     *      \brief      Module for FTP client module
     *		\version	$Id$
     */
    
    /**
     *       \file       htdocs/includes/modules/modFTP.class.php
     *       \ingroup    ftp
     *       \brief      Description and activation file for module FTP
     */
    
    include_once(DOL_DOCUMENT_ROOT ."/includes/modules/DolibarrModules.class.php");
    
    
    /**     \class      modFTP
     *      \brief      Description and activation class for module FTP
     */
    class modFTP extends DolibarrModules
    {
    
       /**
        *   \brief      Constructor. Define names, constants, directories, boxes, permissions
        *   \param      DB      Database handler
        */
    	function modFTP($DB)
    	{
    		$this->db = $DB;
    
    		// Id for module (must be unique).
    		// Use here a free id.
    		$this->numero = 2800;
    
    		// Family can be 'crm','financial','hr','projects','product','ecm','technic','other'
    		// It is used to sort modules in module setup page
    		$this->family = "other";
    		// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
    		$this->name = eregi_replace('^mod','',get_class($this));
    		// Module description used if translation string 'ModuleXXXDesc' not found (XXX is id value)
    		$this->description = "FTP Client";
    		// Possible values for version are: 'development', 'experimental', 'dolibarr' or version
    		$this->version = 'dolibarr';
    		// Key used in llx_const table to save module status enabled/disabled (XXX is id value)
    		$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
    		// Where to store the module in setup page (0=common,1=interface,2=others,3=very specific)
    		$this->special = 1;
    		// Name of png file (without png) used for this module
    		$this->picto='dir';
    
    		// Data directories to create when module is enabled
    		$this->dirs = array("/ftp/temp");
    
    		// Config pages. Put here list of php page names stored in admmin directory used to setup module
    		$this->config_page_url = array('ftpclient.php');
    
    		// Dependencies
    		$this->depends = array();		// List of modules id that must be enabled if this module is enabled
    		$this->requiredby = array();	// List of modules id to disable if this one is disabled
    
    		// Constants
    		$this->const = array();			// List of parameters
    
    		// Boxes
    		$this->boxes = array();			// List of boxes
    		$r=0;
    
    		// Add here list of php file(s) stored in includes/boxes that contains class to show a box.
    		// Example:
            //$this->boxes[$r][1] = "myboxa.php";
        	//$r++;
            //$this->boxes[$r][1] = "myboxb.php";
        	//$r++;
    
    		// Permissions
    		$this->rights_class = 'ftp';	// Permission key
    		$this->rights = array();		// Permission array used by this module
    
    		$r++;
    		$this->rights[$r][0] = 2800;
    		$this->rights[$r][1] = 'Use FTP client in read mode (browse and download only)';
    		$this->rights[$r][2] = 'r';
    		$this->rights[$r][3] = 1;
    		$this->rights[$r][4] = 'read';
    
    		/* Not yet developed
    		$r++;
    		$this->rights[$r][0] = 2801;
    		$this->rights[$r][1] = 'Use FTP client in write mode (can also upload files)';
    		$this->rights[$r][2] = 'w';
    		$this->rights[$r][3] = 0;
    		$this->rights[$r][4] = 'write';
    		*/
    
            // Menus
    		//------
    		$this->menus = array();			// List of menus to add
    		$r=0;
    
    		// Top menu
    		$this->menu[$r]=array('fk_menu'=>0,
    							  'type'=>'top',
    							  'titre'=>'FTP',
    							  'mainmenu'=>'ftp',
    							  'leftmenu'=>'0',		// Use 1 if you also want to add left menu entries using this descriptor. Use 0 if left menu entries are defined in a file pre.inc.php (old school).
    							  'url'=>'/ftp/index.php',
    							  'langs'=>'ftp',
    							  'position'=>100,
    							  'perms'=>'$user->rights->ftp->read || $user->rights->ftp->write || $user->rights->ftp->setup',
    							  'enabled'=>1,
    							  'target'=>'',
    							  'user'=>0);
    		$r++;
    	}
    
    	/**
         *		\brief      Function called when module is enabled.
         *					The init function add previous constants, boxes and permissions into Dolibarr database.
         *					It also creates data directories.
         */
    	function init()
      	{
        	$sql = array();
    
        	return $this->_init($sql);
      	}
    
    	/**
    	 *		\brief		Function called when module is disabled.
     	 *              	Remove from database constants, boxes and permissions from Dolibarr database.
     	 *					Data directories are not deleted.
     	 */
    	function remove()
    	{
        	$sql = array();
    
        	return $this->_remove($sql);
      	}
    
    }
    
    ?>