Icarez’s Blog

Articles étiquettés ‘Drupal’

Drupal : tâche CRON (ou CRON job) sur un serveur mutualisé

décembre 1, 2008 · Un commentaire

Drupal nécessite d’executer assez souvent une tâche cron. Cela permet de mettre à jour le module de recherche, de vérifier les mises à jour de sécurité, etc.

Malheureusement, la plupart des petits serveurs mutualisés ne proposent pas la programmation de tâches CRON.

On peut maintenant contourner ce problème avec un petit module Drupal : Poormanscron accessible à l’adresse :

http://drupal.org/project/poormanscron

Catégories : Drupal
Tagué :

Drupal : Memory Limit php

décembre 1, 2008 · Un commentaire

Certain hébergeur limite la mémoire allouée à php (memory_limit), et cela pose donc problème avec des cms. Bien que Drupal soit un CMS relativement léger, une installation de Drupal 5, avec CCk, Contemplate, et un éditeur de textes comme TinyMCE ou FCKeditor (que je recommande par rapport à TinyMCE), demande au minimum 13 – 14 Mo de mémoire php.

Sous Apache, vous pouvez changer ce memory_limit directement dans php.ini :

memory_limit = 16M

Ou dans un htaccess à la racine du site :

php_value memory_limit 16M

Malheureusement il arrive que cette modification ne soit pas possible (comme par exemple chez celeonet). Il convient alors de désactiver tous les modules inutiles, et d’activer le module throttle de drupal.

Activation du module throttle dans drupal

Activation du module throttle dans drupal

Ce module, throttle, permet de cocher une seconde croix pour chaque module (régulation en francais). Cela permet, une fois un nombre de visiteurs dépassé de réguler certain module. J’ai ainsi pu contourner la limite imposé par mon hébergeur (même si ce n’est pas une solution miracle).

Catégories : Drupal · Développement web
Tagué :

Drupal : désactiver / activer Tinymce avec le bouton : “disable rich-text”

novembre 30, 2008 · Laisser un commentaire

De base le bouton qui permet de désactiver / activer tinymce ne fonctionne pas !
Afin de rendre fonctionnel le bouton  de tinymce “disable rich text”, il faut modifier le fichier tinymce.module :

--- tinymce.module	2008-04-08 09:53:01.000000000 -0400
+++ tinymce.fixed.module	2008-04-08 09:46:29.000000000 -0400
@@ -161,8 +161,8 @@
     link = document.getElementById(linkid);
     img_assist = document.getElementById('img_assist-link-'+ id);

-    if (tinyMCE.getEditorId(element.id) == null) {
-      tinyMCE.addMCEControl(element, element.id);
+    if (tinyMCE.get(element.id) == null) {
+      tinyMCE.execCommand('mceAddControl',false,element.id);
       element.togg = 'on';
       link.innerHTML = '$disable';
       link.href = "javascript:mceToggle('" +id+ "', '" +linkid+ "');";
@@ -171,7 +171,7 @@
       link.blur();
     }
     else {
-      tinyMCE.removeMCEControl(tinyMCE.getEditorId(element.id));
+      tinyMCE.execCommand('mceRemoveControl',false,element.id);
       element.togg = 'off';
       link.innerHTML = '$enable';
       link.href = "javascript:mceToggle('" +id+ "', '" +linkid+ "');";
@@ -195,10 +195,10 @@
   if (img_assist) {
     var img_assist_default_link = img_assist.innerHTML;
     if ('$img_assist_link' == 'yes') {
-      img_assist.innerHTML = tinyMCE.getEditorId('edit-$textarea_name') == null ? '' : img_assist_default_link;
+      img_assist.innerHTML = tinyMCE.get('edit-$textarea_name') == null ? '' : img_assist_default_link;
     }
     else {
-      img_assist.innerHTML = tinyMCE.getEditorId('edit-$textarea_name') == null ? img_assist_default_link : '';
+      img_assist.innerHTML = tinyMCE.get('edit-$textarea_name') == null ? img_assist_default_link : '';
     }
   }
   if (typeof(document.execCommand) == 'undefined') {
@@ -245,6 +245,12 @@
     // Load a TinyMCE init for each textarea.
     if ($init) drupal_add_js($tinymce_invoke, 'inline');

+		//settings are saved as strings, not booleans
+    if ($profile->settings['show_toggle'] == 'true') {
+      // Make sure to append to #suffix so it isn't completely overwritten
+      $element['#suffix'] .= $wysiwyg_link;
+    }
+
     // Set resizable to false to avoid drupal.js resizable function from taking control of the textarea
     $element['#resizable'] = FALSE;
   }

source : http://drupal.org/node/244066

Catégories : Drupal · Développement web
Tagué : ,

Drupal : TinyMce : Alignement des images

novembre 30, 2008 · Laisser un commentaire

Pour rendre l’alignement des images fonctionnel (ne fonctionnait pas chez moi à la base), il faut éditer le fichier plugin_reg.php du dossier tinymce (dans modules)

Il faut alors changer la ligne :

$plugins['advimage'] = array();
$plugins['advimage']['extended_valid_elements'] = array(‘img[class|src|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]‘);

en :

$plugins['advimage'] = array();
$plugins['advimage']['extended_valid_elements'] = array(‘img[class|src|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|style]‘);

(soit rajouter style à la fin).

Catégories : Drupal · Développement web
Tagué : ,