Changes to AgileBill
This commit is contained in:
@@ -1,193 +1,147 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* AgileBill - Open Billing Software
|
||||
*
|
||||
* This body of work is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the Open AgileBill License
|
||||
* License as published at http://www.agileco.com/agilebill/license1-4.txt
|
||||
*
|
||||
* For questions, help, comments, discussion, etc., please join the
|
||||
* Agileco community forums at http://forum.agileco.com/
|
||||
*
|
||||
* Originally authored by Tony Landis, AgileBill LLC
|
||||
*
|
||||
* Recent modifications by Deon George
|
||||
*
|
||||
* @author Deon George <deonATleenooksDOTnet>
|
||||
* @copyright 2009 Deon George
|
||||
* @link http://osb.leenooks.net
|
||||
*
|
||||
* @link http://www.agileco.com/
|
||||
* @copyright 2004-2008 Agileco, LLC.
|
||||
* @license http://www.agileco.com/agilebill/license1-4.txt
|
||||
* @author Tony Landis <tony@agileco.com>
|
||||
* @author Tony Landis <tony@agileco.com>
|
||||
* @package AgileBill
|
||||
* @version 1.4.93
|
||||
* @subpackage Core
|
||||
*/
|
||||
|
||||
class CORE_method
|
||||
{
|
||||
function do_all()
|
||||
{
|
||||
global $C_auth, $C_sess, $C_debug, $C_translate, $VAR;
|
||||
if(empty($VAR['do'])) return;
|
||||
|
||||
for($i=0; $i < count($VAR['do']); $i++)
|
||||
{
|
||||
if(!empty($VAR['do'][$i]))
|
||||
{
|
||||
if(preg_match("/:/", $VAR['do'][$i]))
|
||||
{
|
||||
$identifier = explode(':',$VAR['do'][$i]);
|
||||
$module = $identifier[0];
|
||||
$method = strtolower($identifier[1]);
|
||||
$C_translate->value['core']['module_name'] = '<b><u>'. $module.":".$method . '</u></b>';
|
||||
if (
|
||||
$module != '' &&
|
||||
$method != '' &&
|
||||
gettype($module) == 'string' &&
|
||||
gettype($method) == 'string'
|
||||
)
|
||||
{
|
||||
if($C_auth->auth_method_by_name($module,$method))
|
||||
{
|
||||
if (file_exists(PATH_MODULES . '/' . $module . '/' . $module . '.inc.php'))
|
||||
{
|
||||
include_once(PATH_MODULES . '/' . $module . '/' . $module . '.inc.php');
|
||||
if(class_exists($module))
|
||||
{
|
||||
$eval = '$' . $module . ' = new ' . $module . '(); ';
|
||||
$eval .= '$this_Obj = $' . $module . ';';
|
||||
$eval .= '$this_Obj->' . $method . '($VAR,$this_Obj);';
|
||||
eval ($eval);
|
||||
#call_user_func (array($module, "$method"), $VAR, $this_Obj);
|
||||
}
|
||||
else
|
||||
{
|
||||
$C_debug->alert($C_translate->translate('method_non_existant','core',''));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$C_debug->alert($C_translate->translate('module_non_existant','core',''));
|
||||
/**
|
||||
* The main AgileBill Method Class
|
||||
*
|
||||
* @package AgileBill
|
||||
* @subpackage Core
|
||||
*/
|
||||
class CORE_method {
|
||||
public function do_all() {
|
||||
global $C_auth,$C_sess,$C_debug,$C_translate,$VAR;
|
||||
|
||||
# If we dont have anything to do, we'll return
|
||||
if (empty($VAR['do']))
|
||||
return;
|
||||
|
||||
if (! is_array($VAR['do'])) {
|
||||
$C_debug->alert(sprintf('VAR[do] is NOT an array (%s), how did you get here?',serialize($VAR['do'])));
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($VAR['do'] as $value) {
|
||||
if (preg_match('/:/',$value)) {
|
||||
list($module,$method) = explode(':',$value,2);
|
||||
$C_translate->value['core']['module_name'] = sprintf('<b><u>%s:%s</u></b>',$module,$method);
|
||||
|
||||
if ($module && $method) {
|
||||
if ($C_auth->auth_method_by_name($module,$method)) {
|
||||
if (file_exists($file = sprintf('%s/%s/%s.inc.php',PATH_MODULES,$module,$module))) {
|
||||
include_once($file);
|
||||
|
||||
if (class_exists($module) && method_exists($module,$method)) {
|
||||
eval (sprintf('$%s = new %s();$%s->%s($VAR,$%s);',$module,$module,$module,$method,$module));
|
||||
|
||||
} else {
|
||||
$C_debug->alert($C_translate->translate('method_non_existant','core',''));
|
||||
}
|
||||
|
||||
} else {
|
||||
$C_debug->alert($C_translate->translate('module_non_existant','core',''));
|
||||
}
|
||||
else
|
||||
{
|
||||
$C_debug->alert($C_translate->translate('module_non_auth','core',''));
|
||||
}
|
||||
|
||||
} else {
|
||||
$C_debug->alert($C_translate->translate('module_non_auth','core',''));
|
||||
}
|
||||
else
|
||||
{
|
||||
$C_debug->alert($C_translate->translate('method_invalid','core',''));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
} else {
|
||||
$C_debug->alert($C_translate->translate('method_invalid','core',''));
|
||||
}
|
||||
|
||||
} else {
|
||||
$C_debug->alert($C_translate->translate('method_invalid','core',''));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute a modules method
|
||||
*/
|
||||
public function exe($module,$method) {
|
||||
global $C_auth,$C_sess,$C_debug,$C_translate,$VAR;
|
||||
|
||||
function exe($module,$method)
|
||||
{
|
||||
global $C_auth, $C_sess, $C_debug, $C_translate, $VAR;
|
||||
$C_translate->value['core']['module_name'] = $module.":".$method;
|
||||
if (
|
||||
$module != '' &&
|
||||
$method != '' &&
|
||||
gettype($module) == 'string' &&
|
||||
gettype($method) == 'string'
|
||||
)
|
||||
{
|
||||
if($C_auth->auth_method_by_name($module,$method))
|
||||
{
|
||||
if (file_exists(PATH_MODULES . '/' . $module . '/' . $module . '.inc.php'))
|
||||
{
|
||||
include_once(PATH_MODULES . '/' . $module . '/' . $module . '.inc.php');
|
||||
if(class_exists($module))
|
||||
{
|
||||
$eval = '$' . $module . ' = new ' . $module . '; ';
|
||||
$eval .= '$this_Obj = $' . $module . ';';
|
||||
$eval .= '$this_Obj->' . $method . '($VAR,$this_Obj);';
|
||||
eval ($eval);
|
||||
#call_user_func (array($module, "$method"), $VAR, $this_Obj);
|
||||
global $smarty;
|
||||
$smarty->assign_by_ref("return", $account);
|
||||
$this->result = TRUE;
|
||||
$this->error = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->result = FALSE;
|
||||
$this->error = $C_translate->translate('method_non_existant','core','');
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->result = FALSE;
|
||||
$this->error = $C_translate->translate('module_non_existant','core','');
|
||||
return;
|
||||
}
|
||||
$C_translate->value['core']['module_name'] = sprintf('%s:%s',$module,$method);
|
||||
|
||||
if ($module != '' && $method != '' && gettype($module) == 'string' && gettype($method) == 'string') {
|
||||
if ($C_auth->auth_method_by_name($module,$method)) {
|
||||
$this->exe_noauth($module,$method);
|
||||
|
||||
} else {
|
||||
$this->result = false;
|
||||
$this->error = $C_translate->translate('module_non_auth','core','');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->result = FALSE;
|
||||
$this->error = $C_translate->translate('module_non_auth','core','');
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->result = FALSE;
|
||||
|
||||
} else {
|
||||
$this->result = false;
|
||||
$this->error = $C_translate->translate('method_invalid','core','');
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute a modules method
|
||||
*/
|
||||
public function exe_noauth($module,$method) {
|
||||
global $C_auth,$C_sess,$C_debug,$C_translate,$VAR;
|
||||
|
||||
$args = null;
|
||||
|
||||
function exe_noauth($module,$method)
|
||||
{
|
||||
global $C_auth, $C_sess, $C_debug, $C_translate, $VAR;
|
||||
if (
|
||||
$module != '' &&
|
||||
$method != '' &&
|
||||
gettype($module) == 'string' &&
|
||||
gettype($method) == 'string'
|
||||
)
|
||||
{
|
||||
if (file_exists(PATH_MODULES . '/' . $module . '/' . $module . '.inc.php'))
|
||||
{
|
||||
include_once(PATH_MODULES . '/' . $module . '/' . $module . '.inc.php');
|
||||
if(class_exists($module))
|
||||
{
|
||||
$eval = '$' . $module . ' = new ' . $module . '; ';
|
||||
$eval .= '$this_Obj = $' . $module . ';';
|
||||
$eval .= '$this_Obj->' . $method . '($VAR,$this_Obj);';
|
||||
eval ($eval);
|
||||
#call_user_func (array($module, "$method"), $VAR, $this_Obj);
|
||||
global $smarty;
|
||||
$smarty->assign_by_ref("return", $account);
|
||||
$this->result = TRUE;
|
||||
$this->error = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->result = FALSE;
|
||||
$this->error = $C_translate->translate('method_non_existant','','');
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->result = FALSE;
|
||||
$this->error = $C_translate->translate('module_non_existant','','');
|
||||
return;
|
||||
if (count(func_get_args())>2) {
|
||||
$args = func_get_args();
|
||||
array_shift($args);
|
||||
array_shift($args);
|
||||
}
|
||||
|
||||
$C_translate->value['core']['module_name'] = sprintf('%s:%s',$module,$method);
|
||||
|
||||
if ($module != '' && $method != '' && gettype($module) == 'string' && gettype($method) == 'string') {
|
||||
if (file_exists($file = sprintf('%s/%s/%s.inc.php',PATH_MODULES,$module,$module))) {
|
||||
include_once($file);
|
||||
|
||||
if (class_exists($module) && method_exists($module,$method)) {
|
||||
eval (sprintf('$%s = new %s();$%s->%s($VAR,$%s,$args);',$module,$module,$module,$method,$module));
|
||||
|
||||
global $smarty;
|
||||
|
||||
$smarty->assign_by_ref('return',$account);
|
||||
$this->result = true;
|
||||
$this->error = false;
|
||||
|
||||
} else {
|
||||
$this->result = false;
|
||||
$this->error = $C_translate->translate('method_non_existant','core','');
|
||||
}
|
||||
|
||||
} else {
|
||||
$this->result = false;
|
||||
$this->error = $C_translate->translate('module_non_existant','core','');
|
||||
}
|
||||
|
||||
} else {
|
||||
$this->result = false;
|
||||
$this->error = $C_translate->translate('method_invalid','core','');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->result = FALSE;
|
||||
$this->error = $C_translate->translate('method_invalid','','');
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
Reference in New Issue
Block a user