Recent ramblings... on PHP


Get the subpages of a node in Drupal 7

Recently I have been doing a lot a Drupal 7 development for a new project, this project required quite a bit a custom programming to achieve the functionality that was needed.

I wanted a function that would pull out all of the menu items when a certain page or node template is called. A lot of seasoned Drupal developers first choice would be to use a module called Views to pull out the data but because I needed editable text (for the client to access easily) and images it was not going to be an option.


Get the current menu level for in Drupal 7

As part of a big Drupal 7 development I needed the ability to find out the level a node (page) is on a menu tree, Drupal doesn't associate a node in menu trees by default so it can't be queried from the page or node variables.

this function will identify the menu position based on the active trail flag in the given menu, just add the function to your template.php file and include the machine name of the menu that you want to query as the first parameter.


Flexible themes and layouts in CodeIginter

I still love CodeIgniter, the simplicity and robust core keeps me coming back even if it has fallen out of favour with the web community recently (I'm not going to get into that right now) but there has always been a few libraries that I felt were missing, a decent Auth library for one, but also a nicer way of dealing with views, layouts and themes. I can of course understand the reasons for leaving them out as both are not an every day need but I alway seem get to a road block in my projects where I suddenly have a need for them, especially the layout library.


Testing for Cookies in CodeIgniter

Almost all the website made nowadays utilise cookies in some way, not always to track but just simply to pass data from page to page or to keep a login session active. With the recent misinformation about cookies in Europe more and more web users are blocking vitial cookies that are needed to run websites. This leads to confusion when the sites don’t work as expected and is especially irritating when trying to login to secure areas.

I recently made this little CodeIgniter helper which will test if a user has cookies enabled. This will work nicely in CodeIgniter and integrate with a callback on form validation. It works by first setting a test cookie and on form submit (Usually on the login form) will test that the test cookie exists in our form validation.