Skip to content
Snippets Groups Projects
Select Git revision
  • db830597587288dac93c88db9e0f334780f9db4f
  • master default
  • prereq-parse
  • catalog-rewrite
4 results

index.php

Blame
  • admin.lib.php 15.44 KiB
    <?php
    /* Copyright (C) 2008-2009 Laurent Destailleur  <eldy@users.sourceforge.net>
     * Copyright (C) 2005-2009 Regis Houssin        <regis@dolibarr.fr>
     *
     * 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.
     * or see http://www.gnu.org/
     */
    
    /**
     *	\file			htdocs/lib/admin.lib.php
     *  \brief			Library of admin functions
     *  \version		$Id$
     */
    
    
    /**
     *  \brief      Renvoi une version en chaine depuis une version en tableau
     *  \param	   versionarray        Tableau de version (vermajeur,vermineur,autre)
     *  \return     string              Chaine version
     */
    function versiontostring($versionarray)
    {
    	$string='?';
    	if (isset($versionarray[0])) $string=$versionarray[0];
    	if (isset($versionarray[1])) $string.='.'.$versionarray[1];
    	if (isset($versionarray[2])) $string.='.'.$versionarray[2];
    	return $string;
    }
    
    /**
     *	\brief      Compare 2 versions
     *	\param      versionarray1       Array of version (vermajor,verminor,patch)
     *	\param      versionarray2       Array of version (vermajor,verminor,patch)
     *	\return     int                 -4,-3,-2,-1 if versionarray1<versionarray2 (value depends on level of difference)
     * 									0 if =
     * 									1,2,3,4 if versionarray1>versionarray2 (value depends on level of difference)
     */
    function versioncompare($versionarray1,$versionarray2)
    {
    	$ret=0;
    	$level=0;
    	while ($level < max(sizeof($versionarray1),sizeof($versionarray2)))
    	{
    		$operande1=isset($versionarray1[$level])?$versionarray1[$level]:0;
    		$operande2=isset($versionarray2[$level])?$versionarray2[$level]:0;
    		if (preg_match('/beta|alpha|dev/i',$operande1)) $operande1=-1;
    		if (preg_match('/beta|alpha|dev/i',$operande2)) $operande2=-1;
    		$level++;
    		//print 'level '.$level.' '.$operande1.'-'.$operande2.'<br>';
    		if ($operande1 < $operande2) { $ret = -$level; break; }
    		if ($operande1 > $operande2) { $ret = $level; break; }
    	}
    	//print join('.',$versionarray1).'('.sizeof($versionarray1).') / '.join('.',$versionarray2).'('.sizeof($versionarray2).') => '.$ret;
    	return $ret;
    }
    
    
    /**