I have joomla installed with custom functions, i need to use those custom functions in another php script that i have in the joomla site i have functions in libraries>rvv>factory.php and components>com_customs folder
on the view tmpl page the one of the functions is shown <?php $points = RFactory::getPoint($downLine->agentID); ?>
<th><?php echo $points['left'].' - '.$points['right']; ?></th>
on the component function script file
public function getDownLine($agentId)
{
ini_set('max_execution_time', 600); //300 seconds = 5 minutes
$this->downLinesRecursion($agentId);
function cmp( $a, $b )
{
if( $a->agentID == $b->agentID ){ return 0 ; }
return ($a->agentID < $b->agentID) ? -1 : 1;
}
usort($this->downLine,'cmp');
$this->_total = count($this->downLine);
$endDownLine = array_splice($this->downLine, $this->getState('limitstart'), $this->getState('limit'));
return $endDownLine;
}
protected function downLinesRecursion($agentId)
{
$downLineIDs = RFactory::getDownLines($agentId);
if($downLineIDs){
foreach ($downLineIDs as $downLineID){
$agent = RFactory::getAgent($downLineID->id);
$this->downLine[] = $agent;
$this->downLinesRecursion($agent->agentID);
}
}
}
public function getAgentExisting($agentId)
{
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
$this->subAgentID = $agentId;
$this->existingRecursion($this->agentID);
return $this->agentExisting;
}
protected function existingRecursion($agentId)
{
$downLineIDs = RFactory::getDownLines($agentId);
if($downLineIDs){
foreach ($downLineIDs as $downLineID){
if($downLineID->id == $this->subAgentID){
$this->agentExisting = true;
}else{
$this->existingRecursion($downLineID->id);
}
}
}
}
public function getAgentId($username)
{
$userId = $this->getUserId($username);
if($userId){
$agentIds = RFactory::getAgentIds($userId);
foreach ($agentIds as $AgentId) {
$agentId = $AgentId->id;
break;
}
return $agentId;
}else {
return false;
}
}
ON THE FACTORY FILE:
public static function getAgent($agentId)
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select(' ag.id AS agentID, ag.user_id AS agentUserID, ag.parent_client_id, ag.directe_client_id, ag.position, date(ag.reg_time) AS joinDate, ag.offers_id, ag.cash');
$query->select(' ofr.* ');
$query->select(' usrinf.* ');
$query->select(' usr.name AS agentName, usr.username, usr.email, date(usr.registerDate) AS regDate ');
$query->select(' stk.value AS stockValue ');
$query->from(' #__r_clients AS ag ');
$query->leftJoin(' #__r_offers AS ofr ON ofr.id = ag.offers_id ');
$query->leftJoin(' #__r_clients_info AS usrinf ON usrinf.user_id = ag.user_id ');
$query->leftJoin(' #__users AS usr On usr.id = ag.user_id ');
$query->leftJoin(' #__r_stock AS stk On stk.client_id = ag.id ');
$query->where(' ag.id = '.$agentId);
$db->setQuery((string)$query);
$data = $db->loadObject();
if (!$db->query()) {
JError::raiseError(500, $db->getErrorMsg());
return false;
}else {
if ($db->getNumRows() < 1){
return false;
}else{
return $data;
}
}
}
public static function getAgents()
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select(' ag.id AS agentID, ag.user_id AS agentUserID, ag.parent_client_id, ag.directe_client_id, ag.position, date(ag.reg_time) AS joinDate, ag.offers_id, ag.cash');
$query->select(' ofr.* ');
$query->select(' usr.name AS agetName, usr.username, usr.email, usr.registerDate ');
$query->from(' #__r_clients AS ag ');
$query->leftJoin(' #__r_offers AS ofr ON ofr.id = ag.offers_id ');
$query->leftJoin(' #__users AS usr On usr.id = ag.user_id ');
$db->setQuery((string)$query);
$data = $db->loadObjectList();
if (!$db->query()) {
JError::raiseError(500, $db->getErrorMsg());
return false;
}else {
if ($db->getNumRows() < 1){
return false;
}else{
return $data;
}
}
}
public static function getDownLines($agentId)
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select(' id ');
$query->from(' #__r_clients ');
$query->where(' parent_client_id = '.$agentId);
$db->setQuery((string)$query);
$data = $db->loadObjectList();
if (!$db->query()) {
JError::raiseError(500, $db->getErrorMsg());
return false;
}else {
if ($db->getNumRows() < 1){
return false;
}else{
return $data;
}
}
}
public static function getPoint($agentId)
{
$downLines = self::getDownLines($agentId);
self::$rightPoint = 0;
self::$leftPoint = 0;
if($downLines){
foreach ($downLines as $downLine){
$agent = self::getAgent($downLine->id);
if($agent->position == 'R'){
self::$rightPoint += $agent->point;
self::rightPointRecursion($agent->agentID);
}else {
self::$leftPoint += $agent->point;
self::leftPointRecursion($agent->agentID);
}
}
return $pointArray = array('right' => self::$rightPoint, 'left' => self::$leftPoint);
}else {
return $pointArray = array('right' => 0, 'left' => 0);
}
}
private function rightPointRecursion($agentId)
{
$downLines = self::getDownLines($agentId);
if($downLines){
foreach ($downLines as $downLine){
$agent = self::getAgent($downLine->id);
self::$rightPoint += $agent->point;
self::rightPointRecursion($agent->agentID);
}
}
}
private function leftPointRecursion($agentId)
{
$downLines = self::getDownLines($agentId);
if($downLines){
foreach ($downLines as $downLine){
$agent = self::getAgent($downLine->id);
self::$leftPoint += $agent->point;
self::leftPointRecursion($agent->agentID);
}
}
}
the custom joomla code is inside the components>com_hierarchical>hierarchical.php contains :
JLoader::register('HierarchicalHelper', dirname(__FILE__) . DS . 'helpers'. DS . 'hierarchical.php');
jimport('joomla.application.component.controller');
$document =& JFactory::getDocument();
$script = JURI::base(true).'/components/com_hierarchical/assist/gscript.js';
$style = JURI::base(true).'/components/com_hierarchical/assist/gstyle.css';
$document->addScript($script);
$document->addStyleSheet($style);
$controller = JController::getInstance('Hierarchical');
$controller->execute(JFactory::getApplication()->input->get('task'));
$controller->redirect();
How can i use those functions into another php file outside the joomla script?