Twitter : changement d'API, mettez à jour vos Drupal !

J'ai constaté aujourd'hui que mon site ne pouvait plus se connecter à Twitter (pour y poster mes articles). Cela date au plus de quelques jours, puisque mon post de mardi concernant le Mont Fuji est passé. En cherchant un peu, j'ai trouvé l'erreur "Basic authentication is not supported" et appris que Twitter devait interdire cette "authentification basique".

Aucun vote pour l'instant.

Un nouveau theme \o/

Et voilà, depuis le temps que je trainais l'infameux thème Bluemarine comme base de travail pour celui de mon site! J'ai franchis le pas, pour de multiples raisons1, et que diable, au bout de deux bonnes heures de travail je suis enfin arrivé à un résultat.

Au programme, tout un tas de nouveautés, même si la différence n'est pas flagrante à première vue.

Dans le gros du travail, un thème mélangeant positions absolues et conteneurs floatants, table-less et fluide. Un header quelque peu particulier, puisqu'il est en réalité rendu non loin du footer, suffisament bas dans la page pour ne pas polluer le html brut.

Pour finir, quelques heures de travail, des découvertes en CSS, un peu de Gimp pour faire le fond zébré (et oui, moi je réinvente la roue, je me fais mal, et j'aime ça), et la place pour de nouveaux modules, à venir, plus tard quand ils seront releasés officiellement.

Votre notation : Aucun Moyenne : 1 (1 vote)

Emulate the CCK form validation process for a given field

Something that you may need to do one day or another is validating a custom form field value as if it was a Content field existing value, outside of the node form context.

There is something quite sad about Content module, that is the API does not seems (in Drupal 6, at least, I'm awaiting for a lot of improvements in D7 Field API) to expose any function for manual field validation. The whole process of validation goes through the numerous iterations in node_form and in hook_nodeapi() content module's implementation.

I found a way, quite ugly, but tested and working, let's analyse the following code (comments are inside the function)...

Aucun vote pour l'instant.

Code snippet: current OG context to node creation links

Simple use case of the day : when you deal with Organic Groups in Drupal, you might want your users to be able to create nodes in their groups without dealing with the infamous audience checkboxes.

A simple solution is to use the links from the Navigation menu. In order for OG to be able to add a node as post in a group, it needs to find the gids[] GET parameter.

An ugly, but really efficient solution is to use the custom_url_rewrite_outbound() function to alter node/add/* links and enforce the gids[] parameter if the user is currently is in a group context.

Votre notation : Aucun Moyenne : 5 (2 votes)

Tip of the day, get a views row primary key value

This is often a problem when you pragmatically manipulate views row's : finding the primary key value of the current row being explored.
Let's have an example : A node base table based view.

// Load the view, and stick to default display for sample purpose.
$view = views_get_view('my_node_view');
// Then, execute it.
// You will set some other options here, like limit, pager, offset.

What then?

Aucun vote pour l'instant.

A simple (and ugly) time-saving line of code

Update on Mai, 28 : Added a new code snippet.

Sometimes, when you are trying to debug PHP code, you'll get an ugly WSOD, without any error messages in PHP error log.

When this happens, it's always really difficult to find out why. The lack of message tells you that you you didn't wrote something that bad, but bad enougth for the framework you are working with to partially catch your error without really crashing.

So, how can you resolve this?

Votre notation : Aucun Moyenne : 5 (2 votes)

Utiliser Drush sous Windows

Pour mon premier post technique, je vais détailler la procédure que j'ai suivie pour faire fonctionner Drush sur mon poste de travail, qui tourne sous Windows XP Pro.

en lire plus

Aucun vote pour l'instant.

Personal reminder about Drupal's settings.php

Because I often duplicate a production site on a local machine in order to do some debugging/bugfixes, I like everything to be ready the sooner as possible without having to do a lot of clicks.

Here is how I override values in my custom settings.php file instead of loosing time clicking into the administration pages or even doing configuration alteration with Drush.

Here is a common production site settings.php $conf variable alteration :

Aucun vote pour l'instant.

WTF is that!? - PHP will drive me crazy; Drupal FAPI too!

What do you think this code will output:

= '7rray';
  echo (int)

If you answered NULL, 0 or '7rray', you're absolutely wrong. The magic with PHP is whatever you use (int) or intval() you get absolutely weird results, because it'll try to parse your string as an integer whatever is in it.

Aucun vote pour l'instant.

MDrush, a Drush python wrapper

Some months ago, I was developing some Drupal modules for my Company, I noticed the time I loose each time I have to run a Drush command (such as clear cache) in order to do basic Drupal developer stuff.

Aucun vote pour l'instant.