cotonti.com : cross plugin code or data https://www.cotonti.com Laatste forum onderwerpen Cotonti en Tue, 03 Mar 2026 04:17:29 -0000 ez LOL... i am still working Genoa... so didnt see that

]]>
Zo, 02 Okt 2011 08:20:33 -0000
Trustmaster In Siena you just do this:

require_once cot_incfile('module_name', 'module');

or to reuse plugin functions:

require_once cot_incfile('plugin_name', 'plug');

You can also detect if that module or plugin is loaded on site:

if (cot_plugin_active('plugin_name'))
{
    require_once cot_incfile('plugin_name', 'plug');
    // ...
}

if (cot_module_active('module_name'))
{
    require_once cot_incfile('module_name', 'module');
    // ...
}
]]>
Zo, 02 Okt 2011 08:09:10 -0000
ez I sometimes need code or data that is cross plugin, so i want to use functions or I want to get data that come from other plugins.
And because I want all code for a plugin in one place, I made the 'custom' function below:

You can make what I call modules and they must be in the modules folder of any plugin.

 

/*======================================================================
	Function:   cf_load_module
	
		With this function we can load any code (called modules) from other plugins.
		In this way we can get/set any value from any plugin via functions that
		belong to that specific plugin.
		There can be separate modules that we can use... so we can devide functionality
	
		parameters:
						pluginname		should be the pluginname
						modulename		empty will load the default
											pluginname.module.php
										value will load
											pluginname.module.<value>.php
		
		return values:
						false if the file was not found or the plugin is inactive
						true if the file was found and loaded
		
======================================================================*/	
function cf_load_module($pluginname='',$modulename='') {
    global $cfg,$sed_plugins;
    $ret=false;
    $pluginactive=false;
    
    if ($pluginname!="") {
        // check if plugin is active
        if (is_array($sed_plugins))
        {
            foreach($sed_plugins as $i => $k)
            {
                if($k['pl_code']==$pluginname)
                {
                    $pluginactive=true;
                    break;
                }
            }
        }
        if (!$pluginactive) {
            // plugin is not installed
            return false;
        }
    
    
        if ($modulename!='') {
            $filename = $cfg['plugins_dir'].'/'.$pluginname.'/modules/'.$pluginname.'.module.'.$modulename.'.php';
        } else {
            $filename = $cfg['plugins_dir'].'/'.$pluginname.'/modules/'.$pluginname.'.module.php';
        }        
        if (file_exists($filename)) {
            require_once($filename);
            $ret=true;
        }
    }    
    return $ret;
}

 

How to use it:

	if (cf_load_module("myproject","users")) {
		// 0 = current logged in user
		$ret=mod_mpr_users_getProjectRights('STRING',$userid,$projectid);
	}	


In this example it loads the 'users' part from the myproject plugin (i am working on)

Hope somebody can use the idea :D

]]>
Zo, 02 Okt 2011 07:46:53 -0000