Developing Plugins - Half way there...
7 posts by 3 authors in: Forums > CMS Builder: Plugins & Add-ons
Last Post: March 6, 2013 (RSS)
I have created a simple plugin (my first!) that remembers the username and password of the user if they tick a checkbox on the cmsBuilder login screen.
The problem is that when I install this on a fresh installation of cmsBuilder the "Remember me" checkbox does not display.
The reason is that my filter is not being called from /cmsAdmin/lib/menus/login.php
For example I need to add the following code to login.php to call the filter:
<?php
if(isSet($_COOKIE['username']))
{
parse_str($_COOKIE['username']);
// Register the session
$_SESSION['username'] = $_COOKIE['username'];
$_REQUEST['username'] =$_SESSION['username'];
$_SESSION['password'] = $_COOKIE['password'];
$_REQUEST['password'] =$_SESSION['password'];
$checked='checked="checked"';
}
if(isset($_REQUEST['remember']))
{
$checked='checked="checked"';
}
?>
<?php
echo applyFilters('remember',$checked,translateString('Remember me'));
?>
Can someone please explain how I go about modifying the plugin so that login.php calls the filter automatically?
When I look at the Plugin Hook list I can see my new filter listed:
Hook Name: remember
Where it is called: {{empty}} // this is just blank
Where it is used: plugins/loginRemember/loginRemember.php
I obviously don't want to have to manually modify login.php each time I install the plugin as that kind of defeats the point of having an easy to install plugin.
Any help would be really appreciated.
Regards,
Greg
Re: [gversion] Developing Plugins - Half way there...
I don't think you need to create your own plugin hook for this plugin as there is already a filter in the file cmsAdmin/lib/menus/login.php. If you look at the file you will see that it has a filter called login_content around line 33. In your plugin file you need to call the function addFilter, and use that to amend your checkbox to the login page.
Then to check if your checkbox has been ticked after the user has logged in you will need to use the action hook admin_prelogin to run your cookie creation code. So in your plugin you need to call the function addAction using the admin_prelogin hook as the first variable, and the name of your function that contains the cookie creation code as the second variable.
I would look for other plugins that use the addAction and addFilter functions to understand how they integrate into a plugin.
Thanks!
PHP Programmer - interactivetools.com
Re: [gversion] Developing Plugins - Half way there...
Thanks for your help with this. I have updated the plugin and was wondering if you could try it out?
If it works then I will be pleased to add it as a free plugin for people to use.
Regards,
Greg
Re: [gversion] Developing Plugins - Half way there...
By gversion - January 18, 2013
Dear all,
I was wondering if anyone had tried out this plugin I am working on. I'd be grateful to hear back from anyone that can help make this work well.
Regards,
Greg
Re: [gversion] Developing Plugins - Half way there...
By gkornbluth - March 3, 2013
Hi Greg,
Sorry for the delay in replying,
Did you ever get this working?
When I tried to implement your plugin I got a Notice: Undefined variable: checked in /hsphere/local/home/gkornblu/thecmsbcookbook.com/cmsAdmin/plugins/loginRemember.php on line 30, and never had time to really work it through.
Not sure what I have to do to set up the plugin besides activating it.
Thanks,
Jerry Kornbluth
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php
Re: [gversion] Developing Plugins - Half way there...
By gversion - March 5, 2013
Hi Jerry,
I was trying to create the plugin so that you only need to "activate" it and then it adds the "Remember me" checkbox to the login page. However, I can't seem to get this working without editing some other files. It would be good to hear from the Interactive Tools guys to know if this is actually possible...
Regards,
Greg
Re: [gversion] Developing Plugins - Half way there...
By gkornbluth - March 6, 2013
Hi Greg,
I think the plugin is a great idea.
What other files do you have to edit to make the plugin work?
What fields do you have to add to which editors/viewers with what default values?
Thanks,
Jerry Kornbluth
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php