Example Plugin

From CashCrusaderWiki

(Difference between revisions)
Jump to: navigation, search
m (tweaking)
(new 3.0 hooks)
Line 17: Line 17:
// If your plugin does not use cronjobs, do not include cron_job function to your plugin.php
// If your plugin does not use cronjobs, do not include cron_job function to your plugin.php
-
function cron_job()//<-- scheduled tasks etc
+
// Scheduled tasks etc, this function is run every time CashCrusader cronjobs are run.
-
{
+
// By default the frequency is every ten minutes. But may vary per sites.
 +
function cron_job() {
//Hint: put script in external file and include() it like below
//Hint: put script in external file and include() it like below
//include('mycron.php'); //would include file /public_html/scripts/plugins/yourpluginfolder/mycron.php
//include('mycron.php'); //would include file /public_html/scripts/plugins/yourpluginfolder/mycron.php
Line 24: Line 25:
}
}
-
function admin_page()//<-- default admin area page of your plugin
+
// The admin area front page of your plugin
-
{
+
function admin_page() {
//This function is loaded after clicking 'YourPlugin name' link on plugins list
//This function is loaded after clicking 'YourPlugin name' link on plugins list
//Direct link: http://domain/scripts/admin/pload.php?p_load=yourpluginclass
//Direct link: http://domain/scripts/admin/pload.php?p_load=yourpluginclass
Line 31: Line 32:
}
}
-
function public_page()//<-- default public page
+
// The default public page of your plugin
-
{
+
function public_page() {
-
//like <?php plugin('yourpluginclass'); //this would be in /pages/somefile.php ?>
+
//like <?php plugin('yourpluginclass'); //this would be in /pages/somefile.php ?>
return 1;
return 1;
}
}
// If your plugin does not use runner, do not include runner function to your plugin.php
// If your plugin does not use runner, do not include runner function to your plugin.php
-
function runner()//<-- called at start up time of runner.php, like when user clicks a link or banner
+
// called at start up time of runner.php, like when user clicks a link or banner
-
{
+
function runner() {
return 1;
return 1;
}
}
-
function yourownpublicfunction()
+
function yourownpublicfunction() {
-
{
+
//another public page function <?php plugin('yourpluginclass', 'yourownpublicfunction'); //this would be in /pages/somefile.php ?>
//another public page function <?php plugin('yourpluginclass', 'yourownpublicfunction'); //this would be in /pages/somefile.php ?>
//you can have many own functions
//you can have many own functions
Line 50: Line 50:
}
}
-
function yourownadminfunction()
+
function yourownadminfunction() {
-
{
+
//another admin page function
//another admin page function
//Link to this function: http://domain/scripts/admin/pload.php?p_load=yourpluginclass&function=yourownadminfunction
//Link to this function: http://domain/scripts/admin/pload.php?p_load=yourpluginclass&function=yourownadminfunction
Line 58: Line 57:
}
}
 +
// Hook to integrate your plugin to the admin panel's user viewer
 +
// Requires CashCrusader 3.0 or later
 +
// You may echo data to browser and it will be shown in /admin/viewuser.php?userid=$user
 +
function admin_viewuser($user) {
 +
return 1;
 +
}
 +
 +
// Hook to integrate your plugin to the admin panel's reminder section
 +
// Requires CashCrusader 3.0 or later
 +
// You may echo data to browser and it will be shown in top right of the admin panel notes
 +
function admin_reminder() {
 +
return 1;
 +
}
 +
 +
// Hook to integrate your plugin to the user login event
 +
// Requires CashCrusader 3.0 or later
 +
// The event is triggered every time a user logins
 +
function user_login($user) {
 +
return 1;
 +
}
 +
 +
// Hook to integrate your plugin to the user signup event
 +
// Requires CashCrusader 3.0 or later
 +
// The event is triggered every time a user registers
 +
function user_signup($user) {
 +
return 1;
 +
}
 +
 +
// Hook to integrate your plugin to the user purged event
 +
// Requires CashCrusader 3.0 or later
 +
// The event is triggered every time a user is purged from database
 +
function user_purged($user) {
 +
return 1;
 +
}
 +
 +
// Hook to integrate your plugin to the user profile updated event
 +
// Requires CashCrusader 3.0 or later
 +
// The event is triggered every time a user is updated
 +
function user_profile_updated($user) {
 +
return 1;
 +
}
}
}
?>
?>
</pre>
</pre>

Revision as of 17:39, 7 October 2012

The most simple plugin example:

/public_html/scripts/plugins/yourpluginfolder/plugin.php

<?php
$plugins[]=array("name"=>"YourPlugin name", "classname"=>"yourpluginclass");

class yourpluginclass extends plugin_base
{
	var $class_name = 'yourpluginclass';
	var $file_name = 'yourpluginfolder/plugin.php';
	var $author = 'You';
	var $web = 'http://yourwebsite.com';
	var $name = 'YourPlugin name';
	var $date = 'Apr-17-2009 (v0.6.1)';

        // If your plugin does not use cronjobs, do not include cron_job function to your plugin.php
        // Scheduled tasks etc, this function is run every time CashCrusader cronjobs are run.
        // By default the frequency is every ten minutes. But may vary per sites.
	function cron_job() {
              //Hint: put script in external file and include() it like below
              //include('mycron.php'); //would include file /public_html/scripts/plugins/yourpluginfolder/mycron.php
		return 1; 
	}

        // The admin area front page of your plugin
	function admin_page() {
              //This function is loaded after clicking 'YourPlugin name' link on plugins list
              //Direct link: http://domain/scripts/admin/pload.php?p_load=yourpluginclass
		return 1;
	}
	
        // The default public page of your plugin
	function public_page() {
                //like <?php plugin('yourpluginclass'); //this would be in /pages/somefile.php ?>
		return 1;
	}

        // If your plugin does not use runner, do not include runner function to your plugin.php
        // called at start up time of runner.php, like when user clicks a link or banner
        function runner() {
		return 1;
 	}

        function yourownpublicfunction() {
              //another public page function <?php plugin('yourpluginclass', 'yourownpublicfunction'); //this would be in /pages/somefile.php ?>
              //you can have many own functions
		return 1;
 	}

        function yourownadminfunction() {
              //another admin page function
              //Link to this function: http://domain/scripts/admin/pload.php?p_load=yourpluginclass&function=yourownadminfunction
              // p_load and function can be POSTed or via GET like above
		return 1;
 	}

        // Hook to integrate your plugin to the admin panel's user viewer
        // Requires CashCrusader 3.0 or later
        // You may echo data to browser and it will be shown in /admin/viewuser.php?userid=$user
	function admin_viewuser($user) {
		return 1;
	}

        // Hook to integrate your plugin to the admin panel's reminder section
        // Requires CashCrusader 3.0 or later
        // You may echo data to browser and it will be shown in top right of the admin panel notes
	function admin_reminder() {
		return 1;
	}

        // Hook to integrate your plugin to the user login event
        // Requires CashCrusader 3.0 or later
        // The event is triggered every time a user logins
	function user_login($user) {
		return 1;
	}

        // Hook to integrate your plugin to the user signup event
        // Requires CashCrusader 3.0 or later
        // The event is triggered every time a user registers
	function user_signup($user) {
		return 1;
	}

        // Hook to integrate your plugin to the user purged event
        // Requires CashCrusader 3.0 or later
        // The event is triggered every time a user is purged from database
	function user_purged($user) {
		return 1;
	}

        // Hook to integrate your plugin to the user profile updated event
        // Requires CashCrusader 3.0 or later
        // The event is triggered every time a user is updated
	function user_profile_updated($user) {
		return 1;
	}

}
?>
Personal tools
Administration manual