Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Sat, Apr 19, 6:00 PM

in-portal

Index: branches/5.1.x/core/units/modules/modules_tag_processor.php
===================================================================
--- branches/5.1.x/core/units/modules/modules_tag_processor.php (revision 13113)
+++ branches/5.1.x/core/units/modules/modules_tag_processor.php (revision 13114)
@@ -1,117 +1,117 @@
<?php
/**
* @version $Id$
* @package In-Portal
* @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!');
class ModulesTagProcessor extends kDBTagProcessor {
function ModuleInstalled($params)
{
return $this->Application->isModuleEnabled($params['name']);
}
function _hasPrivileges()
{
return $this->Application->RecallVar('user_id') == -1;
}
function AlreadyInstalled($params)
{
if (!$this->_hasPrivileges()) {
// don't show licenses status for non-privileged users
return true;
}
$object =& $this->getObject($params);
/* @var $object kDBList */
$modules_helper =& $this->Application->recallObject('ModulesHelper');
/* @var $modules_helper kModulesHelper */
return $modules_helper->moduleInstalled( $object->GetDBField('Name') );
}
function ModuleLicensed($params)
{
if (!$this->_hasPrivileges()) {
// don't show licenses status for non-privileged users
return true;
}
$object =& $this->getObject($params);
/* @var $object kDBList */
$modules_helper =& $this->Application->recallObject('ModulesHelper');
/* @var $modules_helper kModulesHelper */
$licensed_modules = array_map('strtolower', $modules_helper->_GetModules());
return in_array(strtolower($object->GetDBField('Name')), $licensed_modules);
}
function PrerequisitesMet($params)
{
return !$this->_getPrerequisitesErrors($params);
}
function _getPrerequisitesErrors($params)
{
static $errors = Array ();
$object =& $this->getObject($params);
/* @var $object kDBList */
$module_path = strtolower( $object->GetDBField('Name') );
if (!array_key_exists($module_path, $errors)) {
require_once FULL_PATH . '/core/install/install_toolkit.php';
$toolkit = new kInstallToolkit();
$module_version = $toolkit->GetMaxModuleVersion($module_path);
$errors[$module_path] = $toolkit->CheckPrerequisites($module_path . '/', Array ($module_version), 'standalone');
}
return $errors[$module_path];
}
function ListPrerequisites($params)
{
$errors = $this->_getPrerequisitesErrors($params);
$ret = '';
$block_params = $this->prepareTagParams($params);
$block_params['name'] = $params['render_as'];
foreach ($errors as $error) {
$block_params['error'] = $error;
$ret .= $this->Application->ParseBlock($block_params);
}
return $ret;
}
function InstallLink($params)
{
$object =& $this->getObject($params);
/* @var $object kDBList */
- $module_path = strtolower( $object->GetDBField('Name') );
+ $module_path = strtolower( $object->GetDBField('Path') );
$url_params = Array ('redirect' => 1, 'admin' => 1);
- return $this->Application->HREF('dummy', '_FRONT_END_', $url_params, $module_path . '/install.php');
+ return $this->Application->HREF('dummy', '_FRONT_END_', $url_params, $module_path . 'install.php');
}
}
\ No newline at end of file

Event Timeline