Page MenuHomeIn-Portal Phabricator

prerequisites.php
No OneTemporary

File Metadata

Created
Sat, Feb 1, 11:31 AM

prerequisites.php

<?php
/**
* @version $Id: prerequisites.php 14704 2011-10-26 11:43:50Z alex $
* @package In-News
* @copyright Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
* @license GNU/GPL
* In-Portal is Open Source software.
* This means that this software may have been modified pursuant
* the GNU General Public License, and as distributed it includes
* or is derivative of works licensed under the GNU General Public License
* or other free or open source software licenses.
* See http://www.in-portal.org/license for copyright notices and details.
*/
defined('FULL_PATH') or die('restricted access!');
$prerequisite_class = 'InNewsPrerequisites';
/**
* Class, that holds all prerequisite scripts for "In-News" module
*
*/
class InNewsPrerequisites extends kHelper {
/**
* Install toolkit instance
*
* @var kInstallToolkit
*/
var $_toolkit = null;
/**
* Sets common instance of installator toolkit
*
* @param kInstallToolkit $instance
*/
function setToolkit(&$instance)
{
$this->_toolkit =& $instance;
}
/**
* Checks minimal version, that could be upgradeable
*
* @param Array $versions
* @param string $mode when called mode {install, upgrade, standalone)
* @return Array
*/
function CheckPrerequisites($versions, $mode)
{
$errors = Array ();
if ($mode == 'standalone') {
if (!$this->Application->isModuleEnabled('In-Portal')) {
$errors[] = 'Please install or enable "In-Portal" module first';
}
}
if ($mode == 'upgrade') {
$sql = 'SELECT Version
FROM ' . TABLE_PREFIX . 'Modules
WHERE Name = "In-Portal"';
$inportal_version = $this->Conn->GetOne($sql);
if ($inportal_version === false) {
// only, when In-Portal was installed
return $errors;
}
$min_version = '4.3.1';
$current_version = $this->_toolkit->ConvertModuleVersion($inportal_version);
$needed_version = $this->_toolkit->ConvertModuleVersion($min_version);
if ($current_version < $needed_version) {
$errors[] = 'Please upgrade "In-Portal" to version ' . $min_version;
}
}
return $errors;
}
}

Event Timeline