Example Plugin
From CashCrusaderWiki
(Difference between revisions)
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 | ||
- | + | // 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: | ||
} | } | ||
- | + | // 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: | ||
} | } | ||
- | + | // The default public page of your plugin | |
- | { | + | function public_page() { |
- | + | //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 | ||
- | + | // 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; } } ?>